From b5d5658282684ff9406307606679eec3ddd511d2 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Tue, 8 Sep 2020 12:39:50 +0100 Subject: [PATCH 001/252] new permissions --- packages/itmat-commons/src/permissions.ts | 55 +++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/packages/itmat-commons/src/permissions.ts b/packages/itmat-commons/src/permissions.ts index f7086ebe0..6092b48a8 100644 --- a/packages/itmat-commons/src/permissions.ts +++ b/packages/itmat-commons/src/permissions.ts @@ -1,3 +1,58 @@ +export const permissions_new = { + dataset_specific: { + files: { + upload_files: 'upload_files', + download_files: 'download_files', + delete_files: 'delete_files', + edit_files: 'edit_files' + }, + roles: { + create_dataset_roles: 'create_dataset_roles', + add_users_to_dataset_roles: 'add_users_to_dataset_roles', + edit_dataset_role_permissions: 'edit_dataset_role_permissions', + delete_dataset_roles: 'delete_dataset_roles' + }, + organisations: { + add_associated_organisation_to_dataset: 'add_associated_organisation_to_dataset', + remove_associated_organisation_to_dataset: 'remove_associated_organisation_to_dataset', + }, + data: { + upload_new_clinical_data: 'upload_new_clinical_data', + select_current_dataversion: 'select_current_dataversion', + edit_staging_dataversion: 'edit_staging_dataversion', + commit_staging_dataversion_to_production: 'commit_staging_dataversion_to_production' + }, + projects: { + create_new_projects: 'create_new_projects', + delete_projects: 'delete_projects' + } + }, + project_specific: { + files: { + download_files: 'download_files' + }, + data: { + view_data: 'view_data' + }, + roles: { + create_project_roles: 'create_project_roles', + add_users_to_project_roles: 'add_users_to_project_roles', + edit_project_role_permissions: 'edit_project_role_permissions', + delete_project_roles: 'delete_project_roles' + } + }, + app_wide: { + users: { + delete_users: 'delete_users', + edit_users: 'edit_users' + }, + datasets: { + create_new_datasets: 'create_new_datasets', + delete_datasets: 'delete_datasets' + } + } +}; + export const permissions = { all_user: { systemwide_user_management: 'systemwide_user_management' // create, delete, edit all users From 8d75dbe44afbb967a1f10933a24fc5b5131e5615 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Sun, 20 Sep 2020 19:56:50 +0100 Subject: [PATCH 002/252] permissions class (WIP)_ --- packages/itmat-commons/src/permissions.ts | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/packages/itmat-commons/src/permissions.ts b/packages/itmat-commons/src/permissions.ts index 6092b48a8..b01e91ae6 100644 --- a/packages/itmat-commons/src/permissions.ts +++ b/packages/itmat-commons/src/permissions.ts @@ -4,6 +4,7 @@ export const permissions_new = { upload_files: 'upload_files', download_files: 'download_files', delete_files: 'delete_files', + delete_own_files: 'delete_own_files', edit_files: 'edit_files' }, roles: { @@ -49,10 +50,48 @@ export const permissions_new = { datasets: { create_new_datasets: 'create_new_datasets', delete_datasets: 'delete_datasets' + }, + organisations: { + create_new_organisations: 'create_new_organisations', + delete_organisations: 'delete_organisations', + add_users_to_organisations: 'add_users_to_organisations' } } }; +class UserPermissions { + constructor() { + + } + + static public newFromSerialisedString(str: string): UserPermissions { + } + + public serialisePermissionsForMongo(): string { + + } + + add(permissions: string | string[]): UserPermissions { + if (permissions instanceof Array) { + + } else { + + } + } + + remove(): UserPermissions { + if (permissions instanceof Array) { + + } else { + + } + } + + userHasTheNeccessaryPermissionFor(neededPermission: string): boolean { + + } +} + export const permissions = { all_user: { systemwide_user_management: 'systemwide_user_management' // create, delete, edit all users From d06d5bc1c93da07a2684b04ee6f8579772addd26 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 21 Sep 2020 18:57:25 +0100 Subject: [PATCH 003/252] finished permission clas --- packages/itmat-commons/src/permissions.ts | 161 +++++++--------------- 1 file changed, 52 insertions(+), 109 deletions(-) diff --git a/packages/itmat-commons/src/permissions.ts b/packages/itmat-commons/src/permissions.ts index b01e91ae6..9ee32a805 100644 --- a/packages/itmat-commons/src/permissions.ts +++ b/packages/itmat-commons/src/permissions.ts @@ -1,158 +1,101 @@ -export const permissions_new = { +export const permissions = { dataset_specific: { files: { - upload_files: 'upload_files', - download_files: 'download_files', - delete_files: 'delete_files', - delete_own_files: 'delete_own_files', - edit_files: 'edit_files' + upload_files: 'dataset_specific@files@upload_files', + download_files: 'dataset_specific@files@download_files', + delete_files: 'dataset_specific@files@delete_files', + edit_files: 'dataset_specific@files@edit_files' }, roles: { - create_dataset_roles: 'create_dataset_roles', - add_users_to_dataset_roles: 'add_users_to_dataset_roles', - edit_dataset_role_permissions: 'edit_dataset_role_permissions', - delete_dataset_roles: 'delete_dataset_roles' - }, - organisations: { - add_associated_organisation_to_dataset: 'add_associated_organisation_to_dataset', - remove_associated_organisation_to_dataset: 'remove_associated_organisation_to_dataset', + create_dataset_roles: 'dataset_specific@roles@create_dataset_roles', + add_users_to_dataset_roles: 'dataset_specific@roles@add_users_to_dataset_roles', + edit_dataset_role_permissions: 'dataset_specific@roles@edit_dataset_role_permissions', + delete_dataset_roles: 'dataset_specific@roles@delete_dataset_roles' }, data: { - upload_new_clinical_data: 'upload_new_clinical_data', - select_current_dataversion: 'select_current_dataversion', - edit_staging_dataversion: 'edit_staging_dataversion', - commit_staging_dataversion_to_production: 'commit_staging_dataversion_to_production' + upload_new_clinical_data: 'dataset_specific@data@upload_new_clinical_data', + select_current_dataversion: 'dataset_specific@data@select_current_dataversion', + edit_staging_dataversion: 'dataset_specific@data@edit_staging_dataversion', + commit_staging_dataversion_to_production: 'dataset_specific@data@commit_staging_dataversion_to_production' }, projects: { - create_new_projects: 'create_new_projects', - delete_projects: 'delete_projects' + create_new_projects: 'dataset_specific@projects@create_new_projects', + delete_projects: 'dataset_specific@projects@delete_projects' } }, project_specific: { files: { - download_files: 'download_files' + download_files: 'project_specific@files@download_files' }, data: { - view_data: 'view_data' + view_data: 'project_specific@data@view_data' }, roles: { - create_project_roles: 'create_project_roles', - add_users_to_project_roles: 'add_users_to_project_roles', - edit_project_role_permissions: 'edit_project_role_permissions', - delete_project_roles: 'delete_project_roles' + create_project_roles: 'project_specific@roles@create_project_roles', + add_users_to_project_roles: 'project_specific@roles@add_users_to_project_roles', + edit_project_role_permissions: 'project_specific@roles@edit_project_role_permissions', + delete_project_roles: 'project_specific@roles@delete_project_roles' } }, app_wide: { users: { - delete_users: 'delete_users', - edit_users: 'edit_users' + delete_users: 'app_wide@users@delete_users', + edit_users: 'app_wide@users@edit_users' }, datasets: { - create_new_datasets: 'create_new_datasets', - delete_datasets: 'delete_datasets' - }, - organisations: { - create_new_organisations: 'create_new_organisations', - delete_organisations: 'delete_organisations', - add_users_to_organisations: 'add_users_to_organisations' + create_new_datasets: 'app_wide@datasets@create_new_datasets', + delete_datasets: 'app_wide@datasets@delete_datasets' } } }; class UserPermissions { + private _permissions: string[]; constructor() { - + this._permissions = []; } - static public newFromSerialisedString(str: string): UserPermissions { + public static newFromSerialisedString(str: string): UserPermissions { + const allPermissions = str.split('|'); + const userPermissions = new UserPermissions(); + userPermissions.add(allPermissions); + return userPermissions; } public serialisePermissionsForMongo(): string { - + return this._permissions.join('|'); } add(permissions: string | string[]): UserPermissions { if (permissions instanceof Array) { - + const set = new Set(this._permissions); + for (const each of permissions) { + set.add(each); + } + this._permissions = Array.from(set); + return this; } else { - + if (!this._permissions.includes(permissions)) { + this._permissions.push(permissions); + } + return this; } } - remove(): UserPermissions { + remove(permissions: string | string[]): UserPermissions { + const set = new Set(this._permissions); if (permissions instanceof Array) { - + for (const each of permissions) { + set.delete(each); + } } else { - + set.delete(permissions); } + this._permissions = Array.from(set); + return this; } userHasTheNeccessaryPermissionFor(neededPermission: string): boolean { - + return this._permissions.includes(neededPermission); } } - -export const permissions = { - all_user: { - systemwide_user_management: 'systemwide_user_management' // create, delete, edit all users - }, - all_study: { - systemwide_study_existence_management: 'systemwide_study_existence_management', // create, delete, edit study - all_studies_user_management: 'all_studies_user_management', // add or delete users from all studies - all_studies_data_access: 'all_studies_data_access', // query data from all studies - all_studies_data_management: 'all_studies_data_management', // upload data from all studies - all_studies_role_management: 'all_studies_role_management', // create, edit and delete roles and manage permissions and users in those roles - all_studies_manage_projects: 'all_studies_manage_projects', // allows to create, delete, edit projects within a specific study - all_projects_data_access: 'all_projects_data_access', // query data from all projects (eid is mapped, fields and patients subset) - all_projects_role_management: 'all_projects_role_management' // create, edit and delete roles and manage permissions and users in those roles - }, - specific_study: { - specific_study_readonly_access: 'specific_study_readonly_access', - specific_study_data_management: 'specific_study_data_management', // allows to upload / edit data - specific_study_role_management: 'specific_study_role_management', // create, edit and delete roles and manage permissions and users in those roles - specific_study_projects_management: 'specific_study_projects_management' // allows to create, delete, edit projects within a specific study - }, - specific_project: { - specific_project_readonly_access: 'specific_project_readonly_access', - specific_project_role_management: 'specific_project_role_management' // create, edit and delete roles and manage permissions and users in those roles - } -}; - -export const task_required_permissions = { - create_new_study: [ - permissions.all_study.systemwide_study_existence_management - ], - delete_study: [ - permissions.all_study.systemwide_study_existence_management - ], - manage_study_roles: [ - permissions.all_study.all_studies_role_management, - permissions.specific_study.specific_study_role_management - ], - manage_study_data: [ - permissions.all_study.all_studies_data_management, - permissions.specific_study.specific_study_data_management - ], - manage_study_projects: [ - permissions.all_study.all_studies_manage_projects, - permissions.specific_study.specific_study_projects_management - ], - access_study_data: [ - permissions.all_study.all_studies_data_management, - permissions.specific_study.specific_study_projects_management, - permissions.specific_study.specific_study_data_management, - permissions.specific_study.specific_study_readonly_access - ], - access_project_data: [ - permissions.all_study.all_studies_data_management, - permissions.specific_study.specific_study_readonly_access, - permissions.specific_study.specific_study_projects_management, - permissions.specific_study.specific_study_data_management, - permissions.specific_project.specific_project_readonly_access - ], - manage_project_roles: [ - permissions.all_study.all_projects_role_management, - permissions.specific_study.specific_study_role_management, - permissions.specific_project.specific_project_role_management - ] -}; From f2f940c11797315db1cfb6fa1ceb83171a763950 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 21 Sep 2020 21:42:16 +0100 Subject: [PATCH 004/252] permissions update --- packages/itmat-commons/src/helperFunctions.ts | 21 +++ packages/itmat-commons/src/index.ts | 5 +- packages/itmat-commons/src/permissions.ts | 123 ++++++++++-------- 3 files changed, 91 insertions(+), 58 deletions(-) create mode 100644 packages/itmat-commons/src/helperFunctions.ts diff --git a/packages/itmat-commons/src/helperFunctions.ts b/packages/itmat-commons/src/helperFunctions.ts new file mode 100644 index 000000000..1e7a5ba1e --- /dev/null +++ b/packages/itmat-commons/src/helperFunctions.ts @@ -0,0 +1,21 @@ +export function flattenObjectToArray(entry: any) { + const arr: string[] = []; + const nestedArray = flattenObjectToArrayHelper(entry); + const helper = (el: any) => { + if (typeof el === 'string') { + arr.push(el); + } else { + el.forEach(helper); + } + } + nestedArray.forEach(helper); + return arr; +} +function flattenObjectToArrayHelper(entry: any): any { + if (typeof entry === 'string') { + return entry; + } else { + const values = Object.values(entry); + return values.map(flattenObjectToArrayHelper); + } +} diff --git a/packages/itmat-commons/src/index.ts b/packages/itmat-commons/src/index.ts index 3780955e8..f542c3899 100644 --- a/packages/itmat-commons/src/index.ts +++ b/packages/itmat-commons/src/index.ts @@ -1,10 +1,11 @@ -import { permissions, task_required_permissions } from './permissions'; +import { permissions } from './permissions'; import * as Models from './models'; -export { permissions, task_required_permissions }; +export { permissions }; export { GQLRequests } from './graphql'; export { Models }; export * from './graphql'; export * from './utils'; export * from './models'; +export * from './helperFunctions'; diff --git a/packages/itmat-commons/src/permissions.ts b/packages/itmat-commons/src/permissions.ts index 9ee32a805..1e97c5f40 100644 --- a/packages/itmat-commons/src/permissions.ts +++ b/packages/itmat-commons/src/permissions.ts @@ -1,5 +1,13 @@ export const permissions = { dataset_specific: { + //view_dataset: { + // view_files: 'dataset_specific@view_dataset@view_files', + // view_roles: 'dataset_specific@view_dataset@view_roles', + // view_data: 'dataset_specific@view_dataset@view_data', + // view_fields: 'dataset_specific@view_dataset@view_fields', + // view_projects: 'dataset_specific@view_dataset@view_projects' + //}, + view_dataset: 'view_dataset', files: { upload_files: 'dataset_specific@files@upload_files', download_files: 'dataset_specific@files@download_files', @@ -8,7 +16,7 @@ export const permissions = { }, roles: { create_dataset_roles: 'dataset_specific@roles@create_dataset_roles', - add_users_to_dataset_roles: 'dataset_specific@roles@add_users_to_dataset_roles', + edit_dataset_role_users: 'dataset_specific@roles@edit_dataset_role_users', edit_dataset_role_permissions: 'dataset_specific@roles@edit_dataset_role_permissions', delete_dataset_roles: 'dataset_specific@roles@delete_dataset_roles' }, @@ -18,21 +26,24 @@ export const permissions = { edit_staging_dataversion: 'dataset_specific@data@edit_staging_dataversion', commit_staging_dataversion_to_production: 'dataset_specific@data@commit_staging_dataversion_to_production' }, + fields: { + upload_new_fields: 'dataset_specific@fields@upload_new_fields' + }, projects: { create_new_projects: 'dataset_specific@projects@create_new_projects', - delete_projects: 'dataset_specific@projects@delete_projects' + delete_projects: 'dataset_specific@projects@delete_projects', + manage_project_approved_files: 'dataset_specific@projects@manage_project_approved_files', + manage_project_approved_fields: 'dataset_specific@projects@manage_project_approved_fields', } }, project_specific: { + view_project: 'view_project', files: { download_files: 'project_specific@files@download_files' }, - data: { - view_data: 'project_specific@data@view_data' - }, roles: { create_project_roles: 'project_specific@roles@create_project_roles', - add_users_to_project_roles: 'project_specific@roles@add_users_to_project_roles', + edit_project_role_users: 'project_specific@roles@edit_project_role_users', edit_project_role_permissions: 'project_specific@roles@edit_project_role_permissions', delete_project_roles: 'project_specific@roles@delete_project_roles' } @@ -49,53 +60,53 @@ export const permissions = { } }; -class UserPermissions { - private _permissions: string[]; - constructor() { - this._permissions = []; - } - - public static newFromSerialisedString(str: string): UserPermissions { - const allPermissions = str.split('|'); - const userPermissions = new UserPermissions(); - userPermissions.add(allPermissions); - return userPermissions; - } - - public serialisePermissionsForMongo(): string { - return this._permissions.join('|'); - } - - add(permissions: string | string[]): UserPermissions { - if (permissions instanceof Array) { - const set = new Set(this._permissions); - for (const each of permissions) { - set.add(each); - } - this._permissions = Array.from(set); - return this; - } else { - if (!this._permissions.includes(permissions)) { - this._permissions.push(permissions); - } - return this; - } - } - - remove(permissions: string | string[]): UserPermissions { - const set = new Set(this._permissions); - if (permissions instanceof Array) { - for (const each of permissions) { - set.delete(each); - } - } else { - set.delete(permissions); - } - this._permissions = Array.from(set); - return this; - } - - userHasTheNeccessaryPermissionFor(neededPermission: string): boolean { - return this._permissions.includes(neededPermission); - } -} +//class UserPermissions { +// private _permissions: string[]; +// constructor() { +// this._permissions = []; +// } +// +// public static newFromSerialisedString(str: string): UserPermissions { +// const allPermissions = str.split('|'); +// const userPermissions = new UserPermissions(); +// userPermissions.add(allPermissions); +// return userPermissions; +// } +// +// public serialisePermissionsForMongo(): string { +// return this._permissions.join('|'); +// } +// +// add(permissions: string | string[]): UserPermissions { +// if (permissions instanceof Array) { +// const set = new Set(this._permissions); +// for (const each of permissions) { +// set.add(each); +// } +// this._permissions = Array.from(set); +// return this; +// } else { +// if (!this._permissions.includes(permissions)) { +// this._permissions.push(permissions); +// } +// return this; +// } +// } +// +// remove(permissions: string | string[]): UserPermissions { +// const set = new Set(this._permissions); +// if (permissions instanceof Array) { +// for (const each of permissions) { +// set.delete(each); +// } +// } else { +// set.delete(permissions); +// } +// this._permissions = Array.from(set); +// return this; +// } +// +// userHasTheNeccessaryPermissionFor(neededPermission: string): boolean { +// return this._permissions.includes(neededPermission); +// } +//} From 2bd7507b2fb2bcdd26f4668d13006d309f395056 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 21 Sep 2020 21:43:09 +0100 Subject: [PATCH 005/252] updating permission core --- .../itmat-interface/src/graphql/core/permissionCore.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/itmat-interface/src/graphql/core/permissionCore.ts b/packages/itmat-interface/src/graphql/core/permissionCore.ts index b1eeacee1..705115562 100644 --- a/packages/itmat-interface/src/graphql/core/permissionCore.ts +++ b/packages/itmat-interface/src/graphql/core/permissionCore.ts @@ -17,7 +17,7 @@ export class PermissionCore { return db.collections!.roles_collection.find({ studyId, projectId }).toArray(); } - public async userHasTheNeccessaryPermission(needAnyOneOfThesePermissions: string[], user: IUser, studyId: string, projectId?: string): Promise { + public async userHasTheNeccessaryPermission(neededPermission: string, user: IUser, studyId: string, projectId?: string): Promise { if (user === undefined) { return false; } @@ -44,10 +44,8 @@ export class PermissionCore { const hisPrivileges = result[0].arrPrivileges; // example: [permissions.specific_project_data_access, permissions.specific_project_user_management] /* checking privileges */ - for (let i = 0, length = needAnyOneOfThesePermissions.length; i < length; i++) { - if (hisPrivileges.includes(needAnyOneOfThesePermissions[i])) { - return true; - } + if (hisPrivileges.includes(neededPermission)) { + return true; } return false; } From 1108500e1810e5077ef6f4f16fd1af01b7f0c8ca Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 21 Sep 2020 21:43:24 +0100 Subject: [PATCH 006/252] updating all resolvers --- .../src/graphql/resolvers/fileResolvers.ts | 6 +-- .../src/graphql/resolvers/jobResolvers.ts | 6 +-- .../graphql/resolvers/permissionResolvers.ts | 39 ++++++++++++------- .../src/graphql/resolvers/studyResolvers.ts | 25 ++++++------ .../itmat-interface/src/rest/fileDownload.ts | 4 +- .../roleControlSection/roleControlSection.tsx | 5 ++- 6 files changed, 48 insertions(+), 37 deletions(-) diff --git a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts index 5ad32223b..e87532657 100644 --- a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts @@ -1,5 +1,5 @@ import { ApolloError } from 'apollo-server-express'; -import { Models, task_required_permissions, IFile, Logger } from 'itmat-commons'; +import { Models, permissions, IFile, Logger } from 'itmat-commons'; import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; import { objStore } from '../../objStore/objStore'; @@ -16,7 +16,7 @@ export const fileResolvers = { const requester: Models.UserModels.IUser = context.req.user; const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_data, + permissions.dataset_specific.files.upload_files, requester, args.studyId ); @@ -71,7 +71,7 @@ export const fileResolvers = { throw new ApolloError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_data, + permissions.dataset_specific.files.delete_files, requester, file.studyId ); diff --git a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts index 7c2912e96..036ec5130 100644 --- a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts @@ -1,5 +1,5 @@ import { ApolloError, withFilter } from 'apollo-server-express'; -import { Models, task_required_permissions } from 'itmat-commons'; +import { Models, permissions } from 'itmat-commons'; import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; import { errorCodes } from '../errors'; @@ -22,7 +22,7 @@ export const jobResolvers = { /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_data, + permissions.dataset_specific.data.upload_new_clinical_data, requester, args.studyId ); @@ -80,7 +80,7 @@ export const jobResolvers = { /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_data, + permissions.dataset_specific.fields.upload_new_fields, requester, args.studyId ); diff --git a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts index c3de735c9..43a987be0 100644 --- a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts @@ -1,11 +1,10 @@ import { ApolloError } from 'apollo-server-express'; -import { IUser, IRole } from 'itmat-commons'; import { db } from '../../database/database'; import { permissionCore } from '../core/permissionCore'; import { studyCore } from '../core/studyCore'; import { errorCodes } from '../errors'; import { IGenericResponse, makeGenericReponse } from '../responses'; -import { task_required_permissions, permissions } from 'itmat-commons'; +import { permissions, flattenObjectToArray, IUser, IRole } from 'itmat-commons'; export const permissionResolvers = { StudyOrProjectUserRole: { @@ -26,7 +25,7 @@ export const permissionResolvers = { /* check the requester has privilege */ const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - args.projectId ? task_required_permissions.manage_project_roles : task_required_permissions.manage_study_roles, + args.projectId ? permissions.project_specific.roles.create_project_roles : permissions.dataset_specific.roles.create_dataset_roles, requester, args.studyId, args.projectId @@ -58,21 +57,33 @@ export const permissionResolvers = { } /* check the requester has privilege */ - const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - role.projectId ? task_required_permissions.manage_project_roles : task_required_permissions.manage_study_roles, - requester, - role.studyId, - role.projectId - ); - if (!hasPermission) { throw new ApolloError(errorCodes.NO_PERMISSION_ERROR); } + if (permissionChanges) { + const hasPermission = await permissionCore.userHasTheNeccessaryPermission( + role.projectId ? permissions.project_specific.roles.edit_project_role_permissions : permissions.dataset_specific.roles.edit_dataset_role_permissions, + requester, + role.studyId, + role.projectId + ); + if (!hasPermission) { throw new ApolloError(errorCodes.NO_PERMISSION_ERROR); } + } + if (userChanges) { + const hasPermission = await permissionCore.userHasTheNeccessaryPermission( + role.projectId ? permissions.project_specific.roles.edit_project_role_users: permissions.dataset_specific.roles.edit_dataset_role_users, + requester, + role.studyId, + role.projectId + ); + if (!hasPermission) { throw new ApolloError(errorCodes.NO_PERMISSION_ERROR); } + } /* check whether all the permissions are valid */ if (permissionChanges) { const allRequestedPermissionChanges: string[] = [...permissionChanges.add, ...permissionChanges.remove]; - const permittedPermissions: string[] = role.projectId ? - Object.values(permissions.specific_project) + + const permittedPermissions: string[] = []; role.projectId ? + flattenObjectToArray(permissions.project_specific) : - Object.values(permissions.specific_study); + flattenObjectToArray(permissions.dataset_specific); for (const each of allRequestedPermissionChanges) { if (!permittedPermissions.includes(each)) { throw new ApolloError(errorCodes.CLIENT_MALFORMED_INPUT); @@ -111,7 +122,7 @@ export const permissionResolvers = { /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - role.projectId ? task_required_permissions.manage_project_roles : task_required_permissions.manage_study_roles, + role.projectId ? permissions.project_specific.roles.delete_project_roles : permissions.dataset_specific.roles.delete_dataset_roles, requester, role.studyId, role.projectId diff --git a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts index f7ba9c349..22f57ca5b 100644 --- a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts @@ -2,7 +2,6 @@ import { ApolloError } from 'apollo-server-express'; import { permissions, Models, - task_required_permissions, IProject, IStudy, IStudyDataVersion, @@ -24,7 +23,7 @@ export const studyResolvers = { /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - [permissions.specific_study.specific_study_readonly_access], + permissions.dataset_specific.view_dataset, requester, studyId ); @@ -49,14 +48,14 @@ export const studyResolvers = { /* check if user has permission */ const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryPermission( - [permissions.specific_project.specific_project_readonly_access], + permissions.project_specific.view_project, requester, project.studyId, projectId ); const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryPermission( - [permissions.specific_study.specific_study_readonly_access], + permissions.dataset_specific.view_dataset, requester, project.studyId ); @@ -70,7 +69,7 @@ export const studyResolvers = { /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - [permissions.specific_study.specific_study_readonly_access], + permissions.dataset_specific.view_dataset, requester, studyId ); @@ -126,7 +125,7 @@ export const studyResolvers = { const requester: IUser = context.req.user; /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.access_study_data, // patientMapping is not visible to project users; only to study users. + permissions.dataset_specific.view_dataset, // patientMapping is not visible to project users; only to study users. requester, project.studyId ))) { @@ -150,7 +149,7 @@ export const studyResolvers = { /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_projects, + permissions.dataset_specific.projects.manage_project_approved_fields, requester, project.studyId ))) { @@ -164,7 +163,7 @@ export const studyResolvers = { /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_projects, + permissions.dataset_specific.projects.manage_project_approved_files, requester, project.studyId ))) { @@ -203,7 +202,7 @@ export const studyResolvers = { /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_projects, + permissions.dataset_specific.projects.create_new_projects, requester, studyId ))) { @@ -224,7 +223,7 @@ export const studyResolvers = { /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_projects, + permissions.dataset_specific.projects.delete_projects, requester, project.studyId ))) { @@ -262,7 +261,7 @@ export const studyResolvers = { /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_projects, + permissions.dataset_specific.projects.manage_project_approved_fields, requester, project.studyId ))) { @@ -295,7 +294,7 @@ export const studyResolvers = { /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_projects, + permissions.dataset_specific.projects.manage_project_approved_files, requester, project.studyId ))) { @@ -317,7 +316,7 @@ export const studyResolvers = { /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_data, + permissions.dataset_specific.data.select_current_dataversion, requester, studyId ))) { diff --git a/packages/itmat-interface/src/rest/fileDownload.ts b/packages/itmat-interface/src/rest/fileDownload.ts index 0a3d13280..5dab72745 100644 --- a/packages/itmat-interface/src/rest/fileDownload.ts +++ b/packages/itmat-interface/src/rest/fileDownload.ts @@ -2,7 +2,7 @@ import { Request, Response } from 'express'; import { db } from '../database/database'; import { objStore } from '../objStore/objStore'; import { permissionCore } from '../graphql/core/permissionCore'; -import { Models, task_required_permissions, IFile } from 'itmat-commons'; +import { Models, IFile, permissions } from 'itmat-commons'; export const fileDownloadController = async (req: Request, res: Response): Promise => { const requester = req.user as Models.UserModels.IUser; @@ -23,7 +23,7 @@ export const fileDownloadController = async (req: Request, res: Response): Promi /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.access_project_data, + permissions.dataset_specific.files.download_files, requester, file.studyId ); diff --git a/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx b/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx index 68564c1ec..62ce90093 100644 --- a/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx +++ b/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx @@ -9,7 +9,8 @@ import { REMOVE_ROLE, GET_USERS, GET_PROJECT, - GET_STUDY + GET_STUDY, + flattenObjectToArray } from 'itmat-commons'; import { LoadingBalls } from '../icons/loadingBalls'; import css from './roleControlSection.module.css'; @@ -18,7 +19,7 @@ import { UserListPicker } from '../userSelectionList/userListPicker'; export const RoleControlSection: React.FunctionComponent<{ studyId: string; projectId?: string; roles: Models.Study.IRole[] }> = ({ roles, studyId, projectId }) => { return
{ - roles.map((el) => ) + roles.map((el) => ) }
; From 99594403ee2647034a9bd661e38f9588e4dda206 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 5 Oct 2020 12:01:12 +0100 Subject: [PATCH 007/252] adding role_name_edit to permission checks --- packages/itmat-commons/src/permissions.ts | 4 +++- .../src/graphql/resolvers/permissionResolvers.ts | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/itmat-commons/src/permissions.ts b/packages/itmat-commons/src/permissions.ts index 1e97c5f40..a16c1f686 100644 --- a/packages/itmat-commons/src/permissions.ts +++ b/packages/itmat-commons/src/permissions.ts @@ -16,9 +16,10 @@ export const permissions = { }, roles: { create_dataset_roles: 'dataset_specific@roles@create_dataset_roles', + edit_dataset_role_name: 'dataset_specific@roles@edit_dataset_role_name', edit_dataset_role_users: 'dataset_specific@roles@edit_dataset_role_users', edit_dataset_role_permissions: 'dataset_specific@roles@edit_dataset_role_permissions', - delete_dataset_roles: 'dataset_specific@roles@delete_dataset_roles' + delete_dataset_roles: 'dataset_specific@roles@delete_dataset_roles', }, data: { upload_new_clinical_data: 'dataset_specific@data@upload_new_clinical_data', @@ -43,6 +44,7 @@ export const permissions = { }, roles: { create_project_roles: 'project_specific@roles@create_project_roles', + edit_project_role_name: 'project_specific@roles@edit_project_role_name', edit_project_role_users: 'project_specific@roles@edit_project_role_users', edit_project_role_permissions: 'project_specific@roles@edit_project_role_permissions', delete_project_roles: 'project_specific@roles@delete_project_roles' diff --git a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts index 43a987be0..0b2c25716 100644 --- a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts @@ -57,6 +57,15 @@ export const permissionResolvers = { } /* check the requester has privilege */ + if (name) { + const hasPermission = await permissionCore.userHasTheNeccessaryPermission( + role.projectId ? permissions.project_specific.roles.edit_project_role_name : permissions.dataset_specific.roles.edit_dataset_role_name, + requester, + role.studyId, + role.projectId + ); + if (!hasPermission) { throw new ApolloError(errorCodes.NO_PERMISSION_ERROR); } + } if (permissionChanges) { const hasPermission = await permissionCore.userHasTheNeccessaryPermission( role.projectId ? permissions.project_specific.roles.edit_project_role_permissions : permissions.dataset_specific.roles.edit_dataset_role_permissions, From 30cac62afb680a315fa4460c0b1c85ab2c3383d3 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 5 Oct 2020 12:02:06 +0100 Subject: [PATCH 008/252] fixing a typo bug --- .../src/graphql/resolvers/permissionResolvers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts index 0b2c25716..8bc430bac 100644 --- a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts @@ -89,7 +89,7 @@ export const permissionResolvers = { if (permissionChanges) { const allRequestedPermissionChanges: string[] = [...permissionChanges.add, ...permissionChanges.remove]; - const permittedPermissions: string[] = []; role.projectId ? + const permittedPermissions: string[] = role.projectId ? flattenObjectToArray(permissions.project_specific) : flattenObjectToArray(permissions.dataset_specific); From 4c260aad4544547f26a768e93370533f5ecae2ed Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 5 Oct 2020 12:03:37 +0100 Subject: [PATCH 009/252] fixed permission tests --- .../test/serverTests/permission.test.ts | 121 +++++++++--------- 1 file changed, 57 insertions(+), 64 deletions(-) diff --git a/packages/itmat-interface/test/serverTests/permission.test.ts b/packages/itmat-interface/test/serverTests/permission.test.ts index 503e9a1a4..284b9ba10 100644 --- a/packages/itmat-interface/test/serverTests/permission.test.ts +++ b/packages/itmat-interface/test/serverTests/permission.test.ts @@ -55,7 +55,7 @@ beforeAll(async () => { // eslint-disable-line no-undef }); describe('ROLE API', () => { - let adminId; + let adminId: string; beforeAll(async () => { /* setup: first retrieve the generated user id */ @@ -182,7 +182,7 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_study.specific_study_role_management + permissions.dataset_specific.roles.create_dataset_roles ], users: [authorisedUserProfile.id], deleted: null @@ -289,7 +289,7 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_project.specific_project_role_management + permissions.project_specific.roles.create_project_roles ], users: [authorisedUserProfile.id], deleted: null @@ -324,7 +324,7 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_project.specific_project_role_management + permissions.project_specific.roles.create_project_roles ], users: [authorisedUserProfile.id], deleted: null @@ -369,16 +369,16 @@ describe('ROLE API', () => { await mongoClient.collection(config.database.collections.roles_collection).findOneAndUpdate({ name: roleName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); }); - test('Creating a new role for project (user with privilege for the study)', async () => { + test('Creating a new role for project (user with privilege for the study) (should fail)', async () => { /* setup: giving authorised user privilege */ const roleId = uuid(); const newRole = { id: roleId, - projectId: null, + projectId: setupProject.id, studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_study.specific_study_role_management + permissions.dataset_specific.roles.create_dataset_roles ], users: [authorisedUserProfile.id], deleted: null @@ -396,31 +396,8 @@ describe('ROLE API', () => { } }); expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - - const createdRole = await mongoClient.collection(config.database.collections.roles_collection).findOne({ name: roleName }); - expect(createdRole).toEqual({ - _id: createdRole._id, - id: createdRole.id, - projectId: setupProject.id, - studyId: setupStudy.id, - name: roleName, - permissions: [], - createdBy: authorisedUserProfile.id, - users: [], - deleted: null - }); - expect(res.body.data.addRoleToStudyOrProject).toEqual({ - id: createdRole.id, - name: roleName, - permissions: [], - studyId: setupStudy.id, - projectId: setupProject.id, - users: [] - }); - - /* cleanup */ - await mongoClient.collection(config.database.collections.roles_collection).findOneAndUpdate({ name: roleName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + expect(res.body.errors).toHaveLength(1); + expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); }); test('Creating a new role for project (user without privilege) (should fail)', async () => { @@ -490,7 +467,9 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: `${roleId[0]}_rolename`, permissions: [ - permissions.specific_study.specific_study_role_management + permissions.dataset_specific.roles.edit_dataset_role_users, + permissions.dataset_specific.roles.edit_dataset_role_permissions, + permissions.dataset_specific.roles.edit_dataset_role_name ], createdBy: adminId, users: [authorisedUserProfile.id], @@ -953,8 +932,8 @@ describe('ROLE API', () => { roleId: setupRole.id, permissionChanges: { add: [ - permissions.specific_study.specific_study_projects_management, - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.projects.create_new_projects, + permissions.dataset_specific.view_dataset ], remove: [] } @@ -968,8 +947,8 @@ describe('ROLE API', () => { studyId: setupRole.studyId, projectId: null, permissions: [ - permissions.specific_study.specific_study_projects_management, - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.projects.create_new_projects, + permissions.dataset_specific.view_dataset ], users: [] }); @@ -981,8 +960,8 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: setupRole.name, permissions: [ - permissions.specific_study.specific_study_projects_management, - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.projects.create_new_projects, + permissions.dataset_specific.view_dataset ], createdBy: adminId, users: [], @@ -995,14 +974,14 @@ describe('ROLE API', () => { const role = await mongoClient.collection(config.database.collections.roles_collection).findOneAndUpdate({ id: setupRole.id, deleted: null - }, { $push: { permissions: permissions.specific_study.specific_study_readonly_access } }, { returnOriginal: false }); + }, { $push: { permissions: permissions.dataset_specific.view_dataset } }, { returnOriginal: false }); expect(role.value).toEqual({ _id: setupRole._id, id: setupRole.id, projectId: null, studyId: setupStudy.id, name: setupRole.name, - permissions: [permissions.specific_study.specific_study_readonly_access], + permissions: [ permissions.dataset_specific.view_dataset ], createdBy: adminId, users: [], deleted: null @@ -1015,7 +994,7 @@ describe('ROLE API', () => { roleId: setupRole.id, permissionChanges: { add: [ - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.view_dataset ], remove: [] } @@ -1029,7 +1008,7 @@ describe('ROLE API', () => { studyId: setupRole.studyId, projectId: null, permissions: [ - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.view_dataset ], users: [] }); @@ -1041,7 +1020,7 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: setupRole.name, permissions: [ - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.view_dataset ], createdBy: adminId, users: [], @@ -1074,8 +1053,8 @@ describe('ROLE API', () => { roleId: setupRole.id, permissionChanges: { add: [ - permissions.specific_study.specific_study_readonly_access, - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.view_dataset, + permissions.dataset_specific.view_dataset ], remove: [] } @@ -1089,7 +1068,7 @@ describe('ROLE API', () => { studyId: setupRole.studyId, projectId: null, permissions: [ - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.view_dataset ], users: [] }); @@ -1101,7 +1080,7 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: setupRole.name, permissions: [ - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.view_dataset ], createdBy: adminId, users: [], @@ -1183,7 +1162,7 @@ describe('ROLE API', () => { roleId: setupRole.id, permissionChanges: { add: [ - permissions.specific_project.specific_project_role_management + permissions.project_specific.roles.edit_project_role_permissions ], remove: [] } @@ -1212,14 +1191,14 @@ describe('ROLE API', () => { const role = await mongoClient.collection(config.database.collections.roles_collection).findOneAndUpdate({ id: setupRole.id, deleted: null - }, { $push: { permissions: permissions.specific_study.specific_study_readonly_access } }, { returnOriginal: false }); + }, { $push: { permissions: permissions.dataset_specific.view_dataset } }, { returnOriginal: false }); expect(role.value).toEqual({ _id: setupRole._id, id: setupRole.id, projectId: null, studyId: setupStudy.id, name: setupRole.name, - permissions: [permissions.specific_study.specific_study_readonly_access], + permissions: [permissions.dataset_specific.view_dataset], createdBy: adminId, users: [], deleted: null @@ -1233,7 +1212,7 @@ describe('ROLE API', () => { permissionChanges: { add: [], remove: [ - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.view_dataset ] } } @@ -1288,7 +1267,7 @@ describe('ROLE API', () => { permissionChanges: { add: [], remove: [ - permissions.specific_study.specific_study_readonly_access, + permissions.dataset_specific.view_dataset ] } } @@ -1339,14 +1318,14 @@ describe('ROLE API', () => { const role = await mongoClient.collection(config.database.collections.roles_collection).findOneAndUpdate({ id: setupRole.id, deleted: null - }, { $push: { permissions: permissions.specific_study.specific_study_readonly_access, users: newUser.id } }, { returnOriginal: false }); + }, { $push: { permissions: permissions.dataset_specific.view_dataset, users: newUser.id } }, { returnOriginal: false }); expect(role.value).toEqual({ _id: setupRole._id, id: setupRole.id, projectId: null, studyId: setupStudy.id, name: setupRole.name, - permissions: [permissions.specific_study.specific_study_readonly_access], + permissions: [permissions.dataset_specific.view_dataset], createdBy: adminId, users: [newUser.id], deleted: null @@ -1359,11 +1338,11 @@ describe('ROLE API', () => { roleId: setupRole.id, permissionChanges: { add: [ - permissions.specific_study.specific_study_projects_management, - permissions.specific_study.specific_study_projects_management + permissions.dataset_specific.projects.create_new_projects, + permissions.dataset_specific.projects.create_new_projects ], remove: [ - permissions.specific_study.specific_study_readonly_access + permissions.dataset_specific.view_dataset ] }, userChanges: { @@ -1380,7 +1359,8 @@ describe('ROLE API', () => { studyId: setupRole.studyId, projectId: null, permissions: [ - permissions.specific_study.specific_study_projects_management + permissions.dataset_specific.projects.create_new_projects, + ], users: [{ id: adminId, @@ -1396,7 +1376,7 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: setupRole.name, permissions: [ - permissions.specific_study.specific_study_projects_management + permissions.dataset_specific.projects.create_new_projects, ], users: [adminId], createdBy: adminId, @@ -1468,7 +1448,11 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: `${roleId[0]}_rolename`, permissions: [ - permissions.specific_project.specific_project_role_management + permissions.project_specific.roles.create_project_roles, + permissions.project_specific.roles.edit_project_role_name, + permissions.project_specific.roles.edit_project_role_users, + permissions.project_specific.roles.edit_project_role_permissions, + permissions.project_specific.roles.delete_project_roles, ], createdBy: adminId, users: [authorisedUserProfile.id], @@ -1758,7 +1742,7 @@ describe('ROLE API', () => { roleId: setupRole.id, permissionChanges: { add: [ - permissions.specific_study.specific_study_role_management + permissions.dataset_specific.roles.create_dataset_roles ], remove: [] } @@ -1831,7 +1815,12 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: `${roleId[0]}_rolename`, permissions: [ - permissions.specific_study.specific_study_role_management + permissions.dataset_specific.roles.create_dataset_roles, + permissions.dataset_specific.roles.delete_dataset_roles, + permissions.dataset_specific.roles.edit_dataset_role_users, + permissions.dataset_specific.roles.edit_dataset_role_name, + permissions.dataset_specific.roles.edit_dataset_role_permissions, + ], createdBy: adminId, users: [authorisedUserProfile.id], @@ -1973,7 +1962,11 @@ describe('ROLE API', () => { studyId: setupStudy.id, name: `${roleId[0]}_rolename`, permissions: [ - permissions.specific_project.specific_project_role_management + permissions.project_specific.roles.create_project_roles, + permissions.project_specific.roles.edit_project_role_users, + permissions.project_specific.roles.edit_project_role_permissions, + permissions.project_specific.roles.edit_project_role_name, + permissions.project_specific.roles.delete_project_roles, ], createdBy: adminId, users: [authorisedUserProfile.id], From 4c5f315453f0fab8d1216db8c0432e7cf3a7bdac Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 5 Oct 2020 12:13:40 +0100 Subject: [PATCH 010/252] updated file tests --- packages/itmat-interface/test/serverTests/file.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/itmat-interface/test/serverTests/file.test.ts b/packages/itmat-interface/test/serverTests/file.test.ts index 095e8afc6..7cb4fa715 100644 --- a/packages/itmat-interface/test/serverTests/file.test.ts +++ b/packages/itmat-interface/test/serverTests/file.test.ts @@ -121,7 +121,7 @@ if (global.hasMinio) { studyId: createdStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_study.specific_study_data_management + permissions.dataset_specific.files.upload_files ], users: [authorisedUserProfile.id], deleted: null @@ -309,7 +309,7 @@ if (global.hasMinio) { studyId: createdStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_study.specific_study_data_management + permissions.dataset_specific.files.download_files ], users: [authorisedUserProfile.id], deleted: null @@ -448,7 +448,7 @@ if (global.hasMinio) { studyId: createdStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_study.specific_study_data_management + permissions.dataset_specific.files.delete_files ], users: [authorisedUserProfile.id], deleted: null From a1a697a92bc724d7f20dad2321d8ac56708e1e34 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 5 Oct 2020 12:16:13 +0100 Subject: [PATCH 011/252] updated job tests --- packages/itmat-interface/test/serverTests/job.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/itmat-interface/test/serverTests/job.test.ts b/packages/itmat-interface/test/serverTests/job.test.ts index 01fb8c4ae..e83ad7023 100644 --- a/packages/itmat-interface/test/serverTests/job.test.ts +++ b/packages/itmat-interface/test/serverTests/job.test.ts @@ -205,7 +205,7 @@ describe('JOB API', () => { studyId: createdStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_study.specific_study_data_management + permissions.dataset_specific.data.upload_new_clinical_data ], users: [authorisedUserProfile.id], deleted: null From b4fb810ed58faddc1cfd811b57ac4bb51129ce40 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Mon, 5 Oct 2020 12:46:34 +0100 Subject: [PATCH 012/252] updated study tests --- packages/itmat-commons/src/graphql/study.ts | 1 - .../test/serverTests/study.test.ts | 46 ++++++++++++------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/packages/itmat-commons/src/graphql/study.ts b/packages/itmat-commons/src/graphql/study.ts index 777cdcad5..a0250e924 100644 --- a/packages/itmat-commons/src/graphql/study.ts +++ b/packages/itmat-commons/src/graphql/study.ts @@ -79,7 +79,6 @@ export const CREATE_PROJECT = gql` id studyId name - approvedFields } } `; diff --git a/packages/itmat-interface/test/serverTests/study.test.ts b/packages/itmat-interface/test/serverTests/study.test.ts index 95ae4efd3..6c119bb6f 100644 --- a/packages/itmat-interface/test/serverTests/study.test.ts +++ b/packages/itmat-interface/test/serverTests/study.test.ts @@ -424,7 +424,6 @@ describe('STUDY API', () => { id: createdProject.id, studyId: setupStudy.id, name: projectName, - approvedFields: {} }); /* cleanup: delete project */ @@ -473,7 +472,7 @@ describe('STUDY API', () => { studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_study.specific_study_projects_management + permissions.dataset_specific.projects.create_new_projects, ], users: [authorisedUserProfile.id], deleted: null @@ -511,7 +510,6 @@ describe('STUDY API', () => { id: createdProject.id, studyId: setupStudy.id, name: projectName, - approvedFields: {} }); /* cleanup: delete project */ @@ -576,7 +574,7 @@ describe('STUDY API', () => { studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: [ - permissions.specific_study.specific_study_projects_management + permissions.dataset_specific.projects.delete_projects ], users: [authorisedUserProfile.id], deleted: null @@ -798,7 +796,6 @@ describe('STUDY API', () => { id: createdProject.id, studyId: createdStudy.id, name: projectName, - approvedFields: {} }); } @@ -942,7 +939,7 @@ describe('STUDY API', () => { remove: [] }, permissionChanges: { - add: [permissions.specific_project.specific_project_readonly_access], + add: [permissions.project_specific.view_project], remove: [] } } @@ -954,7 +951,7 @@ describe('STUDY API', () => { name: createdRole_project.name, studyId: createdStudy.id, projectId: createdProject.id, - permissions: [permissions.specific_project.specific_project_readonly_access], + permissions: [permissions.project_specific.view_project], users: [{ id: createdUserAuthorised.id, organisation: 'DSI', @@ -1024,7 +1021,7 @@ describe('STUDY API', () => { remove: [] }, permissionChanges: { - add: [permissions.specific_study.specific_study_readonly_access], + add: [permissions.dataset_specific.view_dataset], remove: [] } } @@ -1036,7 +1033,7 @@ describe('STUDY API', () => { name: createdRole_study.name, studyId: createdStudy.id, projectId: null, - permissions: [permissions.specific_study.specific_study_readonly_access], + permissions: [permissions.dataset_specific.view_dataset], users: [{ id: createdUserAuthorisedStudy.id, organisation: 'DSI', @@ -1110,7 +1107,12 @@ describe('STUDY API', () => { remove: [] }, permissionChanges: { - add: [permissions.specific_study.specific_study_projects_management], + add: [ + permissions.dataset_specific.projects.create_new_projects, + permissions.dataset_specific.projects.delete_projects, + permissions.dataset_specific.projects.manage_project_approved_files, + permissions.dataset_specific.projects.manage_project_approved_fields + ], remove: [] } } @@ -1122,7 +1124,12 @@ describe('STUDY API', () => { name: createdRole_study_manageProject.name, studyId: createdStudy.id, projectId: null, - permissions: [permissions.specific_study.specific_study_projects_management], + permissions: [ + permissions.dataset_specific.projects.create_new_projects, + permissions.dataset_specific.projects.delete_projects, + permissions.dataset_specific.projects.manage_project_approved_files, + permissions.dataset_specific.projects.manage_project_approved_fields + ], users: [{ id: createdUserAuthorisedStudyManageProjects.id, organisation: 'DSI', @@ -1319,7 +1326,9 @@ describe('STUDY API', () => { { id: createdRole_study.id, name: createdRole_study.name, - permissions: [permissions.specific_study.specific_study_readonly_access], + permissions: [ + permissions.dataset_specific.view_dataset + ], projectId: null, studyId: createdStudy.id, users: [{ @@ -1332,7 +1341,12 @@ describe('STUDY API', () => { { id: createdRole_study_manageProject.id, name: createdRole_study_manageProject.name, - permissions: [permissions.specific_study.specific_study_projects_management], + permissions: [ + permissions.dataset_specific.projects.create_new_projects, + permissions.dataset_specific.projects.delete_projects, + permissions.dataset_specific.projects.manage_project_approved_files, + permissions.dataset_specific.projects.manage_project_approved_fields + ], projectId: null, studyId: createdStudy.id, users: [{ @@ -1396,7 +1410,7 @@ describe('STUDY API', () => { { id: createdRole_project.id, name: createdRole_project.name, - permissions: [permissions.specific_project.specific_project_readonly_access], + permissions: [permissions.project_specific.view_project], projectId: createdProject.id, studyId: createdStudy.id, users: [{ @@ -1990,7 +2004,7 @@ describe('STUDY API', () => { .updateOne({ id: createdStudy.id }, { $set: { dataVersions: [mockDataVersion], currentDataVersion: 0 } }); }); - test('Set a previous study dataversion as current (user with study "manage data" privilege) (should fail)', async () => { + test('Set a previous study dataversion as current (user with study "manage data" privilege)', async () => { /* setup: create a new user */ const userDataCurator: IUser = { id: uuid(), @@ -2015,7 +2029,7 @@ describe('STUDY API', () => { id: uuid(), studyId: createdStudy.id, name: 'Data Manager', - permissions: [permissions.specific_study.specific_study_data_management], + permissions: [permissions.dataset_specific.data.select_current_dataversion], users: [userDataCurator.id], createdBy: adminId, deleted: null From 87328ece43c67ea20fece2f845dc7e29b6b0f319 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Tue, 6 Oct 2020 13:40:31 +0100 Subject: [PATCH 013/252] lint --- packages/itmat-commons/src/helperFunctions.ts | 2 +- packages/itmat-commons/src/permissions.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/itmat-commons/src/helperFunctions.ts b/packages/itmat-commons/src/helperFunctions.ts index 1e7a5ba1e..678df7c52 100644 --- a/packages/itmat-commons/src/helperFunctions.ts +++ b/packages/itmat-commons/src/helperFunctions.ts @@ -7,7 +7,7 @@ export function flattenObjectToArray(entry: any) { } else { el.forEach(helper); } - } + }; nestedArray.forEach(helper); return arr; } diff --git a/packages/itmat-commons/src/permissions.ts b/packages/itmat-commons/src/permissions.ts index a16c1f686..7f60d1b7d 100644 --- a/packages/itmat-commons/src/permissions.ts +++ b/packages/itmat-commons/src/permissions.ts @@ -74,7 +74,7 @@ export const permissions = { // userPermissions.add(allPermissions); // return userPermissions; // } -// +// // public serialisePermissionsForMongo(): string { // return this._permissions.join('|'); // } From 5866dece45668577f54095c8c42e45ac0a215eb7 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Tue, 6 Oct 2020 13:53:28 +0100 Subject: [PATCH 014/252] delete permission core tests because permissions now are granular --- .../test/unitTests/permissionCore.test.ts | 313 ------------------ 1 file changed, 313 deletions(-) delete mode 100644 packages/itmat-interface/test/unitTests/permissionCore.test.ts diff --git a/packages/itmat-interface/test/unitTests/permissionCore.test.ts b/packages/itmat-interface/test/unitTests/permissionCore.test.ts deleted file mode 100644 index bd29711b4..000000000 --- a/packages/itmat-interface/test/unitTests/permissionCore.test.ts +++ /dev/null @@ -1,313 +0,0 @@ -import { db } from '../../src/database/database'; -import { MongoClient } from 'mongodb'; -import * as itmatCommons from 'itmat-commons'; -import { MongoMemoryServer } from 'mongodb-memory-server'; -import { setupDatabase } from 'itmat-setup'; -import config from '../../config/config.sample.json'; -import { permissionCore } from '../../src/graphql/core/permissionCore'; -const { permissions, task_required_permissions } = itmatCommons; - -let mongodb; -let mongoConnection; -let mongoClient; - -afterAll(async () => { - await db.closeConnection(); - await mongoConnection?.close(); - await mongodb.stop(); -}); - -beforeAll(async () => { // eslint-disable-line no-undef - /* Creating a in-memory MongoDB instance for testing */ - mongodb = new MongoMemoryServer(); - const connectionString = await mongodb.getUri(); - const database = await mongodb.getDbName(); - await setupDatabase(connectionString, database); - - /* Wiring up the backend server */ - config.database.mongo_url = connectionString; - config.database.database = database; - await db.connect(config.database, MongoClient.connect); - - /* Connect mongo client (for test setup later / retrieve info later) */ - mongoConnection = await MongoClient.connect(connectionString, { - useNewUrlParser: true, - useUnifiedTopology: true - }); - mongoClient = mongoConnection.db(database); -}); - -describe('PERMISSION CORE CLASS', () => { - describe('Check userHasTheNeccessaryPermission()', () => { - let user; - let newUsers; - beforeAll(async () => { - /* setup: create new users to be tested on */ - newUsers = [ - { - username : 'new_user_1', - type: 'STANDARD', - realName: 'real_name_1', - password: 'fake_password', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: 'new1@example.com', - description: 'I am a new user.', - emailNotificationsActivated: true, - organisation: 'DSI', - deleted: null, - id: 'new_user_id_1' - }, - { - username: 'new_user_2', - type: 'STANDARD', - realName: 'real_name_2', - password: 'fake_password', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: 'new2@example.com', - description: 'I am a new user.', - emailNotificationsActivated: true, - organisation: 'DSI', - deleted: null, - id: 'new_user_id_2' - }, - { - username : 'new_user_3', - type: 'STANDARD', - realName: 'real_name_3', - password: 'fake_password', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: 'new3@example.com', - description: 'I am a new user.', - emailNotificationsActivated: true, - organisation: 'DSI', - deleted: null, - id: 'new_user_id_3' - }, - { - username : 'new_user_4', - type: 'STANDARD', - realName: 'real_name_4', - password: 'fake_password', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: 'new4@example.com', - description: 'I am a new user.', - emailNotificationsActivated: true, - organisation: 'DSI', - deleted: null, - id: 'new_user_id_4' - }, - { - username : 'new_user_5', - type: 'STANDARD', - realName: 'real_name_5', - password: 'fake_password', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: 'new5@example.com', - description: 'I am a new user.', - emailNotificationsActivated: true, - organisation: 'DSI', - deleted: null, - id: 'new_user_id_5' - } - ]; - await mongoClient.collection(config.database.collections.users_collection).insertMany(newUsers); - - /* setup: first retrieve the generated user id */ - const result = await mongoClient.collection(config.database.collections.users_collection).find({}, { projection: { id: 1, username: 1 } }).toArray(); - user = result.filter(e => e.username === 'standardUser')[0]; - - /* setup: create roles to be tested on */ - await mongoClient.collection(config.database.collections.roles_collection).insertMany([ - // study001 - // role004 (Principle investigator) - // |permissions.specific_study.specific_study_data_management, - // |permissions.specific_study.specific_study_readonly_access, - // |permissions.specific_study.specific_study_role_management, - // |permissions.specific_study.specific_study_projects_management - // |newUsers[3] - // role003 (Data curator) - // |permissions.specific_study.specific_study_data_management, - // |newUsers[2] - // project001 - // role001 (Project researchers) - // |permissions.specific_project.specific_project_readonly_access - // |user newUsers[0] - // project002 - // role002 (Project researchers) - // |permissions.specific_project.specific_project_readonly_access - // |newUsers[1] newUsers[0] - // study002 - // project001 - // role005 (Project Manager) - // |permissions.specific_project.specific_project_role_management, - // |permissions.specific_project.specific_project_readonly_access - // |user newUsers[2] - { - id: 'role001', - projectId: 'project001', - studyId: 'study001', - name: 'Project researchers', - permissions: [ - permissions.specific_project.specific_project_readonly_access - ], - users: [user.id, newUsers[0].id], - deleted: null - }, - { - id: 'role002', - projectId: 'project002', - studyId: 'study001', - name: 'Project researchers', - permissions: [ - permissions.specific_project.specific_project_readonly_access - ], - users: [newUsers[1].id, newUsers[0].id], - deleted: null - }, - { - id: 'role003', - projectId: undefined, - studyId: 'study001', - name: 'Data curator', - permissions: [ - permissions.specific_study.specific_study_data_management, - ], - users: [newUsers[2].id], - deleted: null - }, - { - id: 'role004', - projectId: undefined, - studyId: 'study001', - name: 'Principle Investigator', - permissions: [ - permissions.specific_study.specific_study_data_management, - permissions.specific_study.specific_study_readonly_access, - permissions.specific_study.specific_study_role_management, - permissions.specific_study.specific_study_projects_management - ], - users: [newUsers[3].id], - deleted: null - }, - { - id: 'role005', - projectId: 'project001', - studyId: 'study002', - name: 'Project Manager', - permissions: [ - permissions.specific_project.specific_project_role_management, - permissions.specific_project.specific_project_readonly_access - ], - users: [user.id, newUsers[2].id], - deleted: null - } - ]); - }); - - async function testAllPermissions(user, studyId, projectId) { - return Promise.all([ - permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_roles, - user, - studyId, - projectId - ), - permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_data, - user, - studyId, - projectId - ), - permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_study_projects, - user, - studyId, - projectId - ), - permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.access_study_data, - user, - studyId, - projectId - ), - permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.access_project_data, - user, - studyId, - projectId - ), - permissionCore.userHasTheNeccessaryPermission( - task_required_permissions.manage_project_roles, - user, - studyId, - projectId - ) - ]); - } - - function testUser(user) { - return Promise.all([ - testAllPermissions(user, 'study001', 'project001'), - testAllPermissions(user, 'study001', 'project002'), - testAllPermissions(user, 'study001', undefined), - testAllPermissions(user, 'study002', 'project001'), - testAllPermissions(user, 'study002', undefined), - ]); - } - - test('User belonging to two studies', async () => { - const result = await testUser(user); - expect(result).toEqual([ - [false, false, false, false, true, false], - [false, false, false, false, false, false], - [false, false, false, false, false, false], - [false, false, false, false, true, true], - [false, false, false, false, false, false] - ]); - }); - - test('User belonging to two projects', async () => { - const result = await testUser(newUsers[0]); - expect(result).toEqual([ - [false, false, false, false, true, false], - [false, false, false, false, true, false], - [false, false, false, false, false, false], - [false, false, false, false, false, false], - [false, false, false, false, false, false] - ]); - }); - - test('User belonging to one project', async () => { - const result = await testUser(newUsers[1]); - expect(result).toEqual([ - [false, false, false, false, false, false], - [false, false, false, false, true, false], - [false, false, false, false, false, false], - [false, false, false, false, false, false], - [false, false, false, false, false, false] - ]); - }); - - test('User belonging to one project and one study', async () => { - const result = await testUser(newUsers[2]); - expect(result).toEqual([ - [false, true, false, true, true, false], - [false, true, false, true, true, false], - [false, true, false, true, true, false], - [false, false, false, false, true, true], - [false, false, false, false, false, false] - ]); - }); - - test('User belonging to one study (PI)', async () => { - const result = await testUser(newUsers[3]); - expect(result).toEqual([ - [true, true, true, true, true, true], - [true, true, true, true, true, true], - [true, true, true, true, true, true], - [false, false, false, false, false, false], - [false, false, false, false, false, false] - ]); - }); - }); -}); From 1c4f808b8d5649e2aa137bab648d79fb7cd22577 Mon Sep 17 00:00:00 2001 From: sou-chon Date: Tue, 6 Oct 2020 14:10:04 +0100 Subject: [PATCH 015/252] removing unneeded comments --- packages/itmat-commons/src/permissions.ts | 52 +---------------------- 1 file changed, 1 insertion(+), 51 deletions(-) diff --git a/packages/itmat-commons/src/permissions.ts b/packages/itmat-commons/src/permissions.ts index 7f60d1b7d..6a8e2211f 100644 --- a/packages/itmat-commons/src/permissions.ts +++ b/packages/itmat-commons/src/permissions.ts @@ -1,5 +1,6 @@ export const permissions = { dataset_specific: { + // in the future, if needed //view_dataset: { // view_files: 'dataset_specific@view_dataset@view_files', // view_roles: 'dataset_specific@view_dataset@view_roles', @@ -61,54 +62,3 @@ export const permissions = { } } }; - -//class UserPermissions { -// private _permissions: string[]; -// constructor() { -// this._permissions = []; -// } -// -// public static newFromSerialisedString(str: string): UserPermissions { -// const allPermissions = str.split('|'); -// const userPermissions = new UserPermissions(); -// userPermissions.add(allPermissions); -// return userPermissions; -// } -// -// public serialisePermissionsForMongo(): string { -// return this._permissions.join('|'); -// } -// -// add(permissions: string | string[]): UserPermissions { -// if (permissions instanceof Array) { -// const set = new Set(this._permissions); -// for (const each of permissions) { -// set.add(each); -// } -// this._permissions = Array.from(set); -// return this; -// } else { -// if (!this._permissions.includes(permissions)) { -// this._permissions.push(permissions); -// } -// return this; -// } -// } -// -// remove(permissions: string | string[]): UserPermissions { -// const set = new Set(this._permissions); -// if (permissions instanceof Array) { -// for (const each of permissions) { -// set.delete(each); -// } -// } else { -// set.delete(permissions); -// } -// this._permissions = Array.from(set); -// return this; -// } -// -// userHasTheNeccessaryPermissionFor(neededPermission: string): boolean { -// return this._permissions.includes(neededPermission); -// } -//} From b5ce1c7dada58e9258b0ca1968936ac92dbd66ae Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 2 Nov 2020 16:46:06 +0000 Subject: [PATCH 016/252] fix(deps): update react monorepo to v17 --- packages/itmat-ui-react/package.json | 4 ++-- yarn.lock | 28 +++++++++++++++++----------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 28093f5e8..82d8a9dd1 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -26,8 +26,8 @@ "graphql": "15.3.0", "itmat-commons": "0.6.0", "qrcode": "1.4.4", - "react": "16.13.1", - "react-dom": "16.13.1", + "react": "17.0.1", + "react-dom": "17.0.1", "react-router-dom": "5.2.0", "subscriptions-transport-ws": "0.9.18" }, diff --git a/yarn.lock b/yarn.lock index bdfaaf2b1..ab07bd6d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15851,15 +15851,14 @@ react-dev-utils@^10.2.0: strip-ansi "6.0.0" text-table "0.2.0" -react-dom@16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" - integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== +react-dom@17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6" + integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" + scheduler "^0.20.1" react-error-overlay@^6.0.7: version "6.0.7" @@ -15975,14 +15974,13 @@ react-test-renderer@^16.0.0-0: react-is "^16.8.6" scheduler "^0.19.1" -react@16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== +react@17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127" + integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - prop-types "^15.6.2" read-cmd-shim@^1.0.1: version "1.0.5" @@ -16733,6 +16731,14 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.20.1: + version "0.20.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c" + integrity sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" From e8f9cc03d9589c988dafd92862c33cf9df3ff04f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 7 Nov 2020 02:28:14 +0000 Subject: [PATCH 017/252] chore(deps): update dependency eslint to v7.13.0 --- package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 3233d0cfa..a180d0f61 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", - "eslint": "7.12.1", + "eslint": "7.13.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.2.0", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index ed8fa3ac2..0ababff90 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/mongodb": "3.5.33", "chalk": "4.1.0", - "eslint": "7.12.1", + "eslint": "7.13.0", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/yarn.lock b/yarn.lock index 784c37d38..4b1f6bd29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8901,10 +8901,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.12.1: - version "7.12.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.12.1.tgz#bd9a81fa67a6cfd51656cdb88812ce49ccec5801" - integrity sha512-HlMTEdr/LicJfN08LB3nM1rRYliDXOmfoO4vj39xN6BLpFzF00hbwBoqHk8UcJ2M/3nlARZWy/mslvGEuZFvsg== +eslint@7.13.0: + version "7.13.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.13.0.tgz#7f180126c0dcdef327bfb54b211d7802decc08da" + integrity sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ== dependencies: "@babel/code-frame" "^7.0.0" "@eslint/eslintrc" "^0.2.1" From 0f272b63a82fc0f826308acd34c270c2b2440d86 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 7 Nov 2020 06:38:55 +0000 Subject: [PATCH 018/252] chore(deps): update dependency ts-loader to v8.0.10 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 3be45e1b6..960c26ea8 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -68,7 +68,7 @@ "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", "ts-jest": "26.4.3", - "ts-loader": "8.0.9", + "ts-loader": "8.0.10", "typescript": "4.0.5", "webpack": "5.4.0", "webpack-cli": "4.2.0" diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 980d1a711..58a1e937f 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -53,7 +53,7 @@ "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", "ts-jest": "26.4.3", - "ts-loader": "8.0.9", + "ts-loader": "8.0.10", "typescript": "4.0.5", "webpack": "5.4.0", "webpack-cli": "4.2.0" diff --git a/yarn.lock b/yarn.lock index 784c37d38..f23f124c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18862,10 +18862,10 @@ ts-jest@26.4.3: semver "7.x" yargs-parser "20.x" -ts-loader@8.0.9: - version "8.0.9" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.9.tgz#890fc25f49a99124268f4e738ed22d00f666dc37" - integrity sha512-rQd+iIfz5z4HSVzhhRFP4M2OQ0QmihilWWauYvvowBfnRvr4DW+gqA2om70xp/07EQj1qBkLMWobnXsgmWMbmg== +ts-loader@8.0.10: + version "8.0.10" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.10.tgz#4af4afb8d26847290cd010df93a4c172df92278f" + integrity sha512-5fVbbZldz6LQi6RQ0v1P7lZ98CZGlQyM8b4xGZXw3G/XUqL8GIH+Ib6H01nImPhkHZ9+PVXZgTb+v3fRsaIHlg== dependencies: chalk "^2.3.0" enhanced-resolve "^4.0.0" From 700efa5090e55586354f19545f5faa19e369a50d Mon Sep 17 00:00:00 2001 From: Florian Guitton <2495155+fguitton@users.noreply.github.com> Date: Sat, 7 Nov 2020 13:16:57 +0000 Subject: [PATCH 019/252] Add NodeJS 14 to the build list --- .github/workflows/99_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/99_ci.yml b/.github/workflows/99_ci.yml index 98b2e8e58..4942f011a 100644 --- a/.github/workflows/99_ci.yml +++ b/.github/workflows/99_ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [macOS-latest, windows-latest, ubuntu-latest] - node: [10.x, 12.x] + node: [10.x, 12.x, 14.x] steps: - uses: actions/checkout@v2 From 04c60154a6cd937242a9e4d9e2bb130c455de85e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 8 Nov 2020 14:58:35 +0000 Subject: [PATCH 020/252] chore(deps): update dependency ts-jest to v26.4.4 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 16 ++++------------ 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 6146aaa28..67599f3e2 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -34,7 +34,7 @@ "chalk": "4.1.0", "jest": "26.6.3", "rimraf": "3.0.2", - "ts-jest": "26.4.3", + "ts-jest": "26.4.4", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 960c26ea8..07df35a62 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -67,7 +67,7 @@ "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", - "ts-jest": "26.4.3", + "ts-jest": "26.4.4", "ts-loader": "8.0.10", "typescript": "4.0.5", "webpack": "5.4.0", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 58a1e937f..f738637ce 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -52,7 +52,7 @@ "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", - "ts-jest": "26.4.3", + "ts-jest": "26.4.4", "ts-loader": "8.0.10", "typescript": "4.0.5", "webpack": "5.4.0", diff --git a/yarn.lock b/yarn.lock index 95282c486..8fd826007 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2398,13 +2398,6 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/create-cache-key-function@^26.5.0": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz#04cf439207a4fd12418d8aee551cddc86f9ac5f5" - integrity sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw== - dependencies: - "@jest/types" "^26.6.2" - "@jest/environment@^24.3.0", "@jest/environment@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" @@ -18844,12 +18837,11 @@ ts-invariant@^0.4.0, ts-invariant@^0.4.4: dependencies: tslib "^1.9.3" -ts-jest@26.4.3: - version "26.4.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.3.tgz#d153a616033e7ec8544b97ddbe2638cbe38d53db" - integrity sha512-pFDkOKFGY+nL9v5pkhm+BIFpoAuno96ff7GMnIYr/3L6slFOS365SI0fGEVYx2RKGji5M2elxhWjDMPVcOCdSw== +ts-jest@26.4.4: + version "26.4.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" + integrity sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg== dependencies: - "@jest/create-cache-key-function" "^26.5.0" "@types/jest" "26.x" bs-logger "0.x" buffer-from "1.x" From 7a49d1cd695ad7aaccde2307f65d7cc80a7de027 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 10 Nov 2020 06:11:26 +0000 Subject: [PATCH 021/252] chore(deps): update dependency @cypress/webpack-preprocessor to v5.4.11 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index e8ecb8e40..18d81bb0d 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -34,7 +34,7 @@ "devDependencies": { "@babel/core": "7.12.3", "@babel/preset-env": "7.12.1", - "@cypress/webpack-preprocessor": "5.4.10", + "@cypress/webpack-preprocessor": "5.4.11", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.15", "@types/node": "14.14.6", diff --git a/yarn.lock b/yarn.lock index 95282c486..ca4366e1f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2158,6 +2158,15 @@ debug "^4.1.1" lodash "^4.17.20" +"@cypress/webpack-preprocessor@5.4.11": + version "5.4.11" + resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.11.tgz#77f86e399f04969d5d8692ada96c794c52d38f87" + integrity sha512-6kj0HsaWf1s0UT4qkABuwl676sW8S8lSTai3NUcF3BWj9BqhN4JPd2DdGcHNkNmYRkjpklPeGUHqAOyqMDj5+A== + dependencies: + bluebird "^3.7.1" + debug "^4.1.1" + lodash "^4.17.20" + "@cypress/xvfb@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" From 55c7d346308e06c27cd0ba989ef80214866737db Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 10 Nov 2020 21:20:01 +0000 Subject: [PATCH 022/252] chore(deps): update dependency babel-loader to v8.2.1 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index e8ecb8e40..a4aee83e3 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -41,7 +41,7 @@ "@types/react": "16.9.56", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.6", - "babel-loader": "8.1.0", + "babel-loader": "8.2.1", "cross-env": "7.0.2", "cypress": "5.5.0", "cypress-file-upload": "4.1.1", diff --git a/yarn.lock b/yarn.lock index 95282c486..65fcf7dc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5620,14 +5620,14 @@ babel-loader@8.0.6: mkdirp "^0.5.1" pify "^4.0.1" -babel-loader@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== +babel-loader@8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.1.tgz#e53313254677e86f27536f5071d807e01d24ec00" + integrity sha512-dMF8sb2KQ8kJl21GUjkW1HWmcsL39GOV5vnzjqrCzEPNY0S0UfMLnumidiwIajDSBmKhYf5iRW+HXaM4cvCKBw== dependencies: find-cache-dir "^2.1.0" loader-utils "^1.4.0" - mkdirp "^0.5.3" + make-dir "^2.1.0" pify "^4.0.1" schema-utils "^2.6.5" From 204e875f2af8665f5f59a9d9727d53d1a0af88b4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 14 Nov 2020 21:58:36 +0000 Subject: [PATCH 023/252] chore(deps): update dependency cypress-react-unit-test to v4.17.0 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index e8ecb8e40..7dafc1ae5 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -45,7 +45,7 @@ "cross-env": "7.0.2", "cypress": "5.5.0", "cypress-file-upload": "4.1.1", - "cypress-react-unit-test": "4.16.9", + "cypress-react-unit-test": "4.17.0", "enzyme": "3.11.0", "enzyme-adapter-react-16": "1.15.5", "jest": "26.6.3", diff --git a/yarn.lock b/yarn.lock index 95282c486..bfc964236 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2158,6 +2158,15 @@ debug "^4.1.1" lodash "^4.17.20" +"@cypress/webpack-preprocessor@5.4.11": + version "5.4.11" + resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.11.tgz#77f86e399f04969d5d8692ada96c794c52d38f87" + integrity sha512-6kj0HsaWf1s0UT4qkABuwl676sW8S8lSTai3NUcF3BWj9BqhN4JPd2DdGcHNkNmYRkjpklPeGUHqAOyqMDj5+A== + dependencies: + bluebird "^3.7.1" + debug "^4.1.1" + lodash "^4.17.20" + "@cypress/xvfb@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" @@ -7667,14 +7676,14 @@ cypress-file-upload@4.1.1: dependencies: mime "^2.4.4" -cypress-react-unit-test@4.16.9: - version "4.16.9" - resolved "https://registry.yarnpkg.com/cypress-react-unit-test/-/cypress-react-unit-test-4.16.9.tgz#eaf4dde3830914672cc716bf84f29bc2d24b6e4f" - integrity sha512-oK/N1jTBRgSnPzTAfU4RY1SnXDgwREuCeUq4blld+aY2/H0l4W82bmd/12XcIzJDraz3YbntPEDGAuCvy8KxJg== +cypress-react-unit-test@4.17.0: + version "4.17.0" + resolved "https://registry.yarnpkg.com/cypress-react-unit-test/-/cypress-react-unit-test-4.17.0.tgz#c675613f4ae7ab973fe7d9f30bc70e20362bf592" + integrity sha512-2DytgGygVbp4mx2fJgkiPon8q3AYVFcJxlR6keVAJnkGPrUj7sgRtEHCbypeNVyV9IDiuPhzpwyo4ZYbCUl95w== dependencies: "@babel/plugin-transform-modules-commonjs" "7.12.1" "@cypress/code-coverage" "3.8.3" - "@cypress/webpack-preprocessor" "5.4.10" + "@cypress/webpack-preprocessor" "5.4.11" babel-plugin-istanbul "6.0.0" chalk "4.1.0" cli-highlight "2.1.4" From 0c5bffffb59d08242df51065dd728101e2365604 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 16 Nov 2020 14:24:09 +0000 Subject: [PATCH 024/252] fix(deps): update dependency antd to v4.8.4 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 85 ++++++++++++++++++++-------- 2 files changed, 61 insertions(+), 26 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index e8ecb8e40..8bdcf1e48 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@apollo/client": "3.2.5", - "antd": "4.8.0", + "antd": "4.8.4", "apollo-upload-client": "14.1.2", "graphql": "15.4.0", "itmat-commons": "0.6.0", diff --git a/yarn.lock b/yarn.lock index 95282c486..7ecf7e806 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,12 +9,12 @@ dependencies: tinycolor2 "^1.4.1" -"@ant-design/colors@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-4.0.5.tgz#d7d100d7545cca8f624954604a6892fc48ba5aae" - integrity sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q== +"@ant-design/colors@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-5.0.0.tgz#46b73b4cc6935b35fc8b84555e8e42c8cfc190e6" + integrity sha512-Pe1rYorgVC1v4f+InDXvIlQH715pO1g7BsOhy/ehX/U6ebPKqojmkYJKU3lF+84Zmvyar7ngZ28hesAa1nWjLg== dependencies: - tinycolor2 "^1.4.1" + "@ctrl/tinycolor" "^3.1.6" "@ant-design/css-animation@^1.7.2": version "1.7.3" @@ -26,7 +26,7 @@ resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz#480b025f4b20ef7fe8f47d4a4846e4fee84ea06c" integrity sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ== -"@ant-design/icons@^4.2.1", "@ant-design/icons@^4.2.2": +"@ant-design/icons@^4.2.2": version "4.2.2" resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.2.2.tgz#6533c5a02aec49238ec4748074845ad7d85a4f5e" integrity sha512-DrVV+wcupnHS7PehJ6KiTcJtAR5c25UMgjGECCc6pUT9rsvw0AuYG+a4HDjfxEQuDqKTHwW+oX/nIvCymyLE8Q== @@ -38,6 +38,18 @@ insert-css "^2.0.0" rc-util "^5.0.1" +"@ant-design/icons@^4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.3.0.tgz#420e0cd527486c0fe57f81310d681950fc4cfacf" + integrity sha512-UoIbw4oz/L/msbkgqs2nls2KP7XNKScOxVR54wRrWwnXOzJaGNwwSdYjHQz+5ETf8C53YPpzMOnRX99LFCdeIQ== + dependencies: + "@ant-design/colors" "^5.0.0" + "@ant-design/icons-svg" "^4.0.0" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + insert-css "^2.0.0" + rc-util "^5.0.1" + "@ant-design/react-slick@~0.27.0": version "0.27.10" resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-0.27.10.tgz#84b01288ad1a9b049f1ff537d85b765d397b60c1" @@ -2076,6 +2088,11 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== +"@ctrl/tinycolor@^3.1.6": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.1.7.tgz#1585f67629882002a9f8e15a2941c9a4321bf80c" + integrity sha512-/0C6fjXbCwu22k8mMsKRSAo9zgu61d2p75Or9IuIC0Vu5CWN88t2QHK93LhNnxnqHWf5SFwFU28w9cKfTmnfvg== + "@cypress/browserify-preprocessor@3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@cypress/browserify-preprocessor/-/browserify-preprocessor-3.0.1.tgz#ab86335b0c061d11f5ad7df03f06b1877b836f71" @@ -4968,14 +4985,14 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: "@types/color-name" "^1.1.1" color-convert "^2.0.1" -antd@4.8.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/antd/-/antd-4.8.0.tgz#198dc19028e7ae6e04d0714f6461d86c4812ff8c" - integrity sha512-oqwcdCb9qBqLwcaKq03fOTIbX7fFHjLNoEKKOrHFYdlbxUdbhys1OBljZRyNiYb3V/7YdVKiS0UNvFjm+gil5w== +antd@4.8.4: + version "4.8.4" + resolved "https://registry.yarnpkg.com/antd/-/antd-4.8.4.tgz#48fbf35948eb44ce74263a6c7f9db70c312a3c2d" + integrity sha512-7GlxN/WxJ3cE32echN+6cNgLkwtgU5/4UB1YSzhtENWH1cO8PHIJ+t1/Ba3tfa/BwWUHvA7ku/sKACwptqtw1g== dependencies: - "@ant-design/colors" "^4.0.5" + "@ant-design/colors" "^5.0.0" "@ant-design/css-animation" "^1.7.2" - "@ant-design/icons" "^4.2.1" + "@ant-design/icons" "^4.3.0" "@ant-design/react-slick" "~0.27.0" "@babel/runtime" "^7.11.2" array-tree-filter "^2.1.0" @@ -4992,11 +5009,11 @@ antd@4.8.0: rc-dialog "~8.4.0" rc-drawer "~4.1.0" rc-dropdown "~3.2.0" - rc-field-form "~1.13.0" + rc-field-form "~1.15.0" rc-image "~4.0.0" rc-input-number "~6.1.0" rc-mentions "~1.5.0" - rc-menu "~8.8.2" + rc-menu "~8.10.0" rc-motion "^2.2.0" rc-notification "~4.5.2" rc-pagination "~3.1.0" @@ -5014,7 +5031,6 @@ antd@4.8.0: rc-tooltip "~5.0.0" rc-tree "~3.11.0" rc-tree-select "~4.1.1" - rc-trigger "~5.0.3" rc-upload "~3.3.1" rc-util "^5.1.0" scroll-into-view-if-needed "^2.2.25" @@ -16070,10 +16086,10 @@ rc-dropdown@^3.1.3, rc-dropdown@~3.2.0: classnames "^2.2.6" rc-trigger "^5.0.4" -rc-field-form@~1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.13.0.tgz#817ca00c28690e540b951b373f53b6e9b6bf4a31" - integrity sha512-kxhclPHizffWscGU5w/zkyKAadRHEX0RGm80kE/ULV2Qxof7xF4FaCh/TOownPvUnaH8YrkwapUvvxtBSroJGw== +rc-field-form@~1.15.0: + version "1.15.1" + resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.15.1.tgz#6121dc5e9557967424d38700d5336b6828203273" + integrity sha512-V3Kfryynig7JJichGq/L8yFHpBzmWybWBtI2KjLPCX5S7nibIQPa0J8JNiHmN5kS73apjhKx1do6L7E0EILJ6Q== dependencies: "@babel/runtime" "^7.8.4" async-validator "^3.0.3" @@ -16141,17 +16157,17 @@ rc-menu@^8.6.1: resize-observer-polyfill "^1.5.0" shallowequal "^1.1.0" -rc-menu@~8.8.2: - version "8.8.3" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-8.8.3.tgz#feb8ba0371dd342fbf1052d4fcca7b669b0bf66a" - integrity sha512-C9sT0SBXmUbVWRUseXASousacRVPnOm5aXdyJR569WIvZwbs2IncpGNmAcft1R5ZuFE3Y+SZZ5FYvtGtbCzkIQ== +rc-menu@~8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-8.10.0.tgz#f14ff6456073bcf29603da818774543a73e44e92" + integrity sha512-mafcLoKtVlH9HDW52NmwenQ9vjvgxtR46NfYAexJEIUTZ9Ze2veZUkEKjhOJlzrUHEYtCoNslpqyy4iVN08Glw== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" mini-store "^3.0.1" omit.js "^2.0.0" rc-motion "^2.0.1" - rc-trigger "^5.0.4" + rc-trigger "^5.1.2" rc-util "^5.0.1" resize-observer-polyfill "^1.5.0" shallowequal "^1.1.0" @@ -16392,7 +16408,7 @@ rc-trigger@^4.3.0, rc-trigger@^4.4.0: rc-motion "^1.0.0" rc-util "^5.0.1" -rc-trigger@^5.0.0, rc-trigger@~5.0.3: +rc-trigger@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.0.3.tgz#9b35a005643a658c1b89949ca9494fe2ee030235" integrity sha512-N1SAgo6fDCHDfE5bQDZ2GgijekhhACMR6GeOUtfhPMqWfYyaHDTJQ5fla8OOfgkecU/ge3zvqIEtGIFnURkc9A== @@ -16414,6 +16430,17 @@ rc-trigger@^5.0.4: rc-motion "^2.0.0" rc-util "^5.2.1" +rc-trigger@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.1.2.tgz#f0f89bba2318699e704492bddb20506ecd8f8916" + integrity sha512-A6UdDy95masAEIaNmazPtqHW1EOFDWi2C2bJGDpr9OYpmObDpWKdxyNijVbFb6l1viTkAU9d3FyStgNPddgFzw== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.5.0" + rc-upload@~3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-3.3.1.tgz#ad8658b2a796031930b35d2b07ab312b7cd4c9ed" @@ -16439,6 +16466,14 @@ rc-util@^5.4.0: react-is "^16.12.0" shallowequal "^1.1.0" +rc-util@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.5.0.tgz#76321bcb5c12f01f42bff9b971f170ff19506e5a" + integrity sha512-YJB+zZGvCll/bhxXRVLAekr7lOvTgqMlRIhgINoINfUek7wQvi5sft46NOi3yYUYhocpuW4k8+5okW46sBsZAQ== + dependencies: + react-is "^16.12.0" + shallowequal "^1.1.0" + rc-virtual-list@^3.0.1, rc-virtual-list@^3.0.3: version "3.0.13" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.0.13.tgz#c02b313ebd6bdc20d8115b435569739126392fa8" From 39db74df4e69eaa67ef39812dd73ea309f5eb48d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 19 Nov 2020 06:41:06 +0000 Subject: [PATCH 025/252] chore(deps): update dependency @types/express-session to v1.17.3 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 960c26ea8..3f7d2dfb2 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -41,7 +41,7 @@ "devDependencies": { "@types/bcrypt": "3.0.0", "@types/express": "4.17.8", - "@types/express-session": "1.17.0", + "@types/express-session": "1.17.3", "@types/jest": "26.0.15", "@types/mongodb": "3.5.33", "@types/node": "14.14.6", diff --git a/yarn.lock b/yarn.lock index 95282c486..4ed4a1859 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3838,13 +3838,12 @@ "@types/qs" "*" "@types/range-parser" "*" -"@types/express-session@1.17.0": - version "1.17.0" - resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.0.tgz#770daf81368f6278e3e40dd894e1e52abbdca0cd" - integrity sha512-OQEHeBFE1UhChVIBhRh9qElHUvTp4BzKKHxMDkGHT7WuYk5eL93hPG7D8YAIkoBSbhNEY0RjreF15zn+U0eLjA== +"@types/express-session@1.17.3": + version "1.17.3" + resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.3.tgz#4a37c5c4428b8f922ac8ac1cb4bd9190a4d2b097" + integrity sha512-57DnyxiqClXOIjoCgeKCUYfKxBPOlOY/k+l1TPK+7bSwyiPTrS5FIk1Ycql7twk4wO7P5lfOVy6akDGiaMSLfw== dependencies: "@types/express" "*" - "@types/node" "*" "@types/express@*", "@types/express@4.17.8": version "4.17.8" From 549c48676342929a61fdb92ef01faefa19d17038 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 20 Nov 2020 00:46:13 +0000 Subject: [PATCH 026/252] fix(deps): update dependency apollo-upload-client to v14.1.3 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 48 +++++++++++++++------------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 8c7bf1eec..aea9c61a7 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -22,7 +22,7 @@ "dependencies": { "@apollo/client": "3.2.5", "antd": "4.8.4", - "apollo-upload-client": "14.1.2", + "apollo-upload-client": "14.1.3", "graphql": "15.4.0", "itmat-commons": "0.6.0", "qrcode": "1.4.4", diff --git a/yarn.lock b/yarn.lock index 1c5a9b96f..34286e457 100644 --- a/yarn.lock +++ b/yarn.lock @@ -99,10 +99,10 @@ tslib "^1.10.0" zen-observable "^0.8.14" -"@apollo/client@^3.1.5": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.2.0.tgz#d16ea4384a2126bf60e7d87b0a6c6df00382220b" - integrity sha512-6ISMYW9QpEykJAkN6ZZteTkXXwtYSPGbh+4iBZ478p/Eox1JOMGYlqosGgMGv2oduug9SnsR65y0iCAxKOFGiQ== +"@apollo/client@^3.2.5": + version "3.2.7" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.2.7.tgz#1cae8d2f5e15c5d2135a288a9d18962e60c5194c" + integrity sha512-4G80jvBLqenCFUhwkHAAHi2ox6Ygq35BkE38yxammqykZm6KE3tVlcEKGOZi0jpiuGJPC6LIQ0d1gtI8ADPtmg== dependencies: "@graphql-typed-document-node/core" "^3.0.0" "@types/zen-observable" "^0.8.0" @@ -111,11 +111,10 @@ fast-json-stable-stringify "^2.0.0" graphql-tag "^2.11.0" hoist-non-react-statics "^3.3.2" - optimism "^0.12.1" + optimism "^0.13.0" prop-types "^15.7.2" symbol-observable "^2.0.0" - terser "^5.2.0" - ts-invariant "^0.4.4" + ts-invariant "^0.5.0" tslib "^1.10.0" zen-observable "^0.8.14" @@ -2008,6 +2007,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" + integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.10.4", "@babel/template@^7.3.3", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.8.3", "@babel/template@^7.8.6": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" @@ -2166,15 +2172,6 @@ tunnel-agent "^0.6.0" uuid "^3.3.2" -"@cypress/webpack-preprocessor@5.4.10": - version "5.4.10" - resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.10.tgz#ed0a3ed495f5455899f7c567830b37477c3f26f5" - integrity sha512-6j809mAQcZsAbpIaQFlKwFQPKv1Y+ZyLr9bpW7d2utMGVll0W8Up4RPhIuAf4q9Tx+DOBQoiCpy/n0cRPxporw== - dependencies: - bluebird "^3.7.1" - debug "^4.1.1" - lodash "^4.17.20" - "@cypress/webpack-preprocessor@5.4.11": version "5.4.11" resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.11.tgz#77f86e399f04969d5d8692ada96c794c52d38f87" @@ -5213,13 +5210,13 @@ apollo-tracing@^0.12.0: apollo-server-env "^2.4.5" apollo-server-plugin-base "^0.10.2" -apollo-upload-client@14.1.2: - version "14.1.2" - resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-14.1.2.tgz#7a72b000f1cd67eaf8f12b4bda2796d0898c0dae" - integrity sha512-ozaW+4tnVz1rpfwiQwG3RCdCcZ93RV/37ZQbRnObcQ9mjb+zur58sGDPVg9Ef3fiujLmiE/Fe9kdgvIMA3VOjA== +apollo-upload-client@14.1.3: + version "14.1.3" + resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-14.1.3.tgz#91f39011897bd08e99c0de0164e77ad2f3402247" + integrity sha512-X2T+7pHk5lcaaWnvP9h2tuAAMCzOW6/9juedQ0ZuGp3Ufl81BpDISlCs0o6u29wBV0RRT/QpMU2gbP+3FCfVpQ== dependencies: - "@apollo/client" "^3.1.5" - "@babel/runtime" "^7.11.2" + "@apollo/client" "^3.2.5" + "@babel/runtime" "^7.12.5" extract-files "^9.0.0" apollo-utilities@^1.0.1, apollo-utilities@^1.3.0: @@ -18880,6 +18877,13 @@ ts-invariant@^0.4.0, ts-invariant@^0.4.4: dependencies: tslib "^1.9.3" +ts-invariant@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.5.1.tgz#4171fdb85f72a40381c147afd97c12154ada2abc" + integrity sha512-k3UpDNrBZpqJFnAAkAHNmSHtNuCxcU6xLiziPgalHRKZHme6T6jnKC8CcXDmk1zbHLQM8pc+rNC1Q6FvXMAl+g== + dependencies: + tslib "^1.9.3" + ts-jest@26.4.4: version "26.4.4" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" From 70101d19b8388c6e4bda1ca46edf5430b56ba1d3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 11 Dec 2020 10:38:42 +0000 Subject: [PATCH 027/252] fix(deps): update dependency nodemailer to v6.4.17 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 17 ++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index ca0a94549..f37e3964b 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -32,7 +32,7 @@ "hi-base32": "0.5.0", "itmat-commons": "0.6.0", "mongodb": "3.6.3", - "nodemailer": "6.4.15", + "nodemailer": "6.4.17", "passport": "0.4.1", "passport-local": "1.0.0", "saslprep": "1.0.3", diff --git a/yarn.lock b/yarn.lock index 1c5a9b96f..67678efab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2166,15 +2166,6 @@ tunnel-agent "^0.6.0" uuid "^3.3.2" -"@cypress/webpack-preprocessor@5.4.10": - version "5.4.10" - resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.10.tgz#ed0a3ed495f5455899f7c567830b37477c3f26f5" - integrity sha512-6j809mAQcZsAbpIaQFlKwFQPKv1Y+ZyLr9bpW7d2utMGVll0W8Up4RPhIuAf4q9Tx+DOBQoiCpy/n0cRPxporw== - dependencies: - bluebird "^3.7.1" - debug "^4.1.1" - lodash "^4.17.20" - "@cypress/webpack-preprocessor@5.4.11": version "5.4.11" resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.11.tgz#77f86e399f04969d5d8692ada96c794c52d38f87" @@ -13965,10 +13956,10 @@ node-releases@^1.1.65: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.65.tgz#52d9579176bd60f23eba05c4438583f341944b81" integrity sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA== -nodemailer@6.4.15: - version "6.4.15" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.4.15.tgz#da5dbb78b8376e34c232c6aa3d2d65cfe17440e9" - integrity sha512-2/z13dBTWdgTRlxVMAK6C13dCI22GEShET4+jFLlQsxpblxYhojnucfcTZO1QBu5CsHvABsBj2JCGO3vl0HSQA== +nodemailer@6.4.17: + version "6.4.17" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.4.17.tgz#8de98618028953b80680775770f937243a7d7877" + integrity sha512-89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ== nopt@^4.0.1: version "4.0.3" From 96ce4fa59a9f1768e319603745cf48f43633cd32 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 12 Dec 2020 20:15:14 +0000 Subject: [PATCH 028/252] chore(deps): bump ini from 1.3.5 to 1.3.8 Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] --- yarn.lock | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1c5a9b96f..291eb37ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2166,15 +2166,6 @@ tunnel-agent "^0.6.0" uuid "^3.3.2" -"@cypress/webpack-preprocessor@5.4.10": - version "5.4.10" - resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.10.tgz#ed0a3ed495f5455899f7c567830b37477c3f26f5" - integrity sha512-6j809mAQcZsAbpIaQFlKwFQPKv1Y+ZyLr9bpW7d2utMGVll0W8Up4RPhIuAf4q9Tx+DOBQoiCpy/n0cRPxporw== - dependencies: - bluebird "^3.7.1" - debug "^4.1.1" - lodash "^4.17.20" - "@cypress/webpack-preprocessor@5.4.11": version "5.4.11" resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.11.tgz#77f86e399f04969d5d8692ada96c794c52d38f87" @@ -10781,9 +10772,9 @@ inherits@2.0.3: integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== init-package-json@^1.10.3: version "1.10.3" From 2bc1abc68fa5a29cd220cfd2323397105bbb1ea0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 23 Dec 2020 20:31:57 +0000 Subject: [PATCH 029/252] chore(deps): update dependency @types/node to v14.14.16 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 67599f3e2..8fe921773 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -29,7 +29,7 @@ "@types/jest": "26.0.15", "@types/minio": "7.0.6", "@types/mongodb": "3.5.33", - "@types/node": "14.14.6", + "@types/node": "14.14.16", "@types/supertest": "2.0.10", "chalk": "4.1.0", "jest": "26.6.3", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index ca0a94549..efa511a5f 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -44,7 +44,7 @@ "@types/express-session": "1.17.3", "@types/jest": "26.0.15", "@types/mongodb": "3.5.33", - "@types/node": "14.14.6", + "@types/node": "14.14.16", "@types/node-fetch": "2.5.7", "@types/nodemailer": "6.4.0", "@types/passport": "1.0.4", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index f738637ce..7ef87ad9a 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -40,7 +40,7 @@ "@types/jest": "26.0.15", "@types/json2csv": "5.0.1", "@types/mongodb": "3.5.33", - "@types/node": "14.14.6", + "@types/node": "14.14.16", "@types/node-fetch": "2.5.7", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 8c7bf1eec..5f9f71912 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -37,7 +37,7 @@ "@cypress/webpack-preprocessor": "5.4.11", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.15", - "@types/node": "14.14.6", + "@types/node": "14.14.16", "@types/react": "16.9.56", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.6", diff --git a/yarn.lock b/yarn.lock index 291eb37ff..e48af30a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4061,10 +4061,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== -"@types/node@14.14.6": - version "14.14.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" - integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== +"@types/node@14.14.16": + version "14.14.16" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.16.tgz#3cc351f8d48101deadfed4c9e4f116048d437b4b" + integrity sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw== "@types/node@^10.1.0": version "10.17.29" From 5b49cc2e0b6083b93e6a30439960a1575d99effc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 27 Dec 2020 18:20:59 +0000 Subject: [PATCH 030/252] chore(deps): update babel monorepo --- packages/itmat-job-executor/package.json | 4 +- packages/itmat-ui-react/package.json | 6 +- yarn.lock | 269 +++++++++++++++++------ 3 files changed, 202 insertions(+), 77 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 7ef87ad9a..d2edf72b5 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -33,8 +33,8 @@ "uuid": "8.3.1" }, "devDependencies": { - "@babel/core": "7.12.3", - "@babel/preset-env": "7.12.1", + "@babel/core": "7.12.10", + "@babel/preset-env": "7.12.11", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", "@types/jest": "26.0.15", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 5f9f71912..0fe911363 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -32,8 +32,8 @@ "subscriptions-transport-ws": "0.9.18" }, "devDependencies": { - "@babel/core": "7.12.3", - "@babel/preset-env": "7.12.1", + "@babel/core": "7.12.10", + "@babel/preset-env": "7.12.11", "@cypress/webpack-preprocessor": "5.4.11", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.15", @@ -41,7 +41,7 @@ "@types/react": "16.9.56", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.6", - "babel-loader": "8.2.1", + "babel-loader": "8.2.2", "cross-env": "7.0.2", "cypress": "5.5.0", "cypress-file-upload": "4.1.1", diff --git a/yarn.lock b/yarn.lock index e48af30a2..6b07272d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -166,6 +166,13 @@ dependencies: "@babel/highlight" "^7.10.4" +"@babel/code-frame@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0", "@babel/compat-data@^7.9.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c" @@ -175,30 +182,29 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/compat-data@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" - integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== +"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41" + integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw== -"@babel/core@7.12.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" - integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== +"@babel/core@7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" + integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" + "@babel/generator" "^7.12.10" "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.10" + "@babel/types" "^7.12.10" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" lodash "^4.17.19" - resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" @@ -305,6 +311,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.10", "@babel/generator@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" + integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== + dependencies: + "@babel/types" "^7.12.11" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -348,14 +363,14 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-compilation-targets@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" - integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== +"@babel/helper-compilation-targets@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" + integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== dependencies: - "@babel/compat-data" "^7.12.1" + "@babel/compat-data" "^7.12.5" "@babel/helper-validator-option" "^7.12.1" - browserslist "^4.12.0" + browserslist "^4.14.5" semver "^5.5.0" "@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.3.0", "@babel/helper-create-class-features-plugin@^7.8.3": @@ -424,6 +439,15 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-function-name@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" + integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/types" "^7.12.11" + "@babel/helper-get-function-arity@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" @@ -431,6 +455,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-get-function-arity@^7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" + integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== + dependencies: + "@babel/types" "^7.12.10" + "@babel/helper-hoist-variables@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" @@ -466,6 +497,13 @@ dependencies: "@babel/types" "^7.12.1" +"@babel/helper-module-imports@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== + dependencies: + "@babel/types" "^7.12.5" + "@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0", "@babel/helper-module-transforms@^7.9.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" @@ -588,16 +626,33 @@ dependencies: "@babel/types" "^7.11.0" +"@babel/helper-split-export-declaration@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a" + integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g== + dependencies: + "@babel/types" "^7.12.11" + "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + "@babel/helper-validator-option@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== +"@babel/helper-validator-option@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f" + integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw== + "@babel/helper-wrap-function@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" @@ -617,14 +672,14 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" - integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== +"@babel/helpers@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== dependencies: "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" "@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3": version "7.10.4" @@ -640,11 +695,16 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== -"@babel/parser@^7.12.1", "@babel/parser@^7.12.3": +"@babel/parser@^7.12.1": version "7.12.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== +"@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" + integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== + "@babel/plugin-proposal-async-generator-functions@^7.10.4", "@babel/plugin-proposal-async-generator-functions@^7.2.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" @@ -808,10 +868,10 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-numeric-separator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" - integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== +"@babel/plugin-proposal-numeric-separator@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b" + integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" @@ -875,10 +935,10 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" - integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== +"@babel/plugin-proposal-optional-chaining@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c" + integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" @@ -1109,10 +1169,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-block-scoping@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" - integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== +"@babel/plugin-transform-block-scoping@^7.12.11": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz#d93a567a152c22aea3b1929bb118d1d0a175cdca" + integrity sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -1582,13 +1642,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-regex" "^7.10.4" -"@babel/plugin-transform-sticky-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" - integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== +"@babel/plugin-transform-sticky-regex@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad" + integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-regex" "^7.10.4" "@babel/plugin-transform-template-literals@^7.10.4", "@babel/plugin-transform-template-literals@^7.4.4", "@babel/plugin-transform-template-literals@^7.8.3": version "7.10.5" @@ -1612,10 +1671,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-typeof-symbol@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" - integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== +"@babel/plugin-transform-typeof-symbol@^7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz#de01c4c8f96580bd00f183072b0d0ecdcf0dec4b" + integrity sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -1658,16 +1717,16 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/preset-env@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" - integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== +"@babel/preset-env@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9" + integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw== dependencies: - "@babel/compat-data" "^7.12.1" - "@babel/helper-compilation-targets" "^7.12.1" - "@babel/helper-module-imports" "^7.12.1" + "@babel/compat-data" "^7.12.7" + "@babel/helper-compilation-targets" "^7.12.5" + "@babel/helper-module-imports" "^7.12.5" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.1" + "@babel/helper-validator-option" "^7.12.11" "@babel/plugin-proposal-async-generator-functions" "^7.12.1" "@babel/plugin-proposal-class-properties" "^7.12.1" "@babel/plugin-proposal-dynamic-import" "^7.12.1" @@ -1675,10 +1734,10 @@ "@babel/plugin-proposal-json-strings" "^7.12.1" "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.7" "@babel/plugin-proposal-object-rest-spread" "^7.12.1" "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" "@babel/plugin-proposal-private-methods" "^7.12.1" "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" @@ -1696,7 +1755,7 @@ "@babel/plugin-transform-arrow-functions" "^7.12.1" "@babel/plugin-transform-async-to-generator" "^7.12.1" "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.11" "@babel/plugin-transform-classes" "^7.12.1" "@babel/plugin-transform-computed-properties" "^7.12.1" "@babel/plugin-transform-destructuring" "^7.12.1" @@ -1720,14 +1779,14 @@ "@babel/plugin-transform-reserved-words" "^7.12.1" "@babel/plugin-transform-shorthand-properties" "^7.12.1" "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.7" "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.10" "@babel/plugin-transform-unicode-escapes" "^7.12.1" "@babel/plugin-transform-unicode-regex" "^7.12.1" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.1" - core-js-compat "^3.6.2" + "@babel/types" "^7.12.11" + core-js-compat "^3.8.0" semver "^5.5.0" "@babel/preset-env@7.4.5": @@ -2017,6 +2076,15 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/template@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" + "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.8.4", "@babel/traverse@^7.9.0": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" @@ -2047,6 +2115,21 @@ globals "^11.1.0" lodash "^4.17.19" +"@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" + integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w== + dependencies: + "@babel/code-frame" "^7.12.11" + "@babel/generator" "^7.12.11" + "@babel/helper-function-name" "^7.12.11" + "@babel/helper-split-export-declaration" "^7.12.11" + "@babel/parser" "^7.12.11" + "@babel/types" "^7.12.12" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.8.3", "@babel/types@^7.9.0": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" @@ -2065,6 +2148,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" + integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -5628,15 +5720,14 @@ babel-loader@8.0.6: mkdirp "^0.5.1" pify "^4.0.1" -babel-loader@8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.1.tgz#e53313254677e86f27536f5071d807e01d24ec00" - integrity sha512-dMF8sb2KQ8kJl21GUjkW1HWmcsL39GOV5vnzjqrCzEPNY0S0UfMLnumidiwIajDSBmKhYf5iRW+HXaM4cvCKBw== +babel-loader@8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== dependencies: - find-cache-dir "^2.1.0" + find-cache-dir "^3.3.1" loader-utils "^1.4.0" - make-dir "^2.1.0" - pify "^4.0.1" + make-dir "^3.1.0" schema-utils "^2.6.5" babel-plugin-add-module-exports@1.0.2: @@ -6219,6 +6310,17 @@ browserslist@^4.14.5: escalade "^3.1.1" node-releases "^1.1.65" +browserslist@^4.15.0: + version "4.16.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b" + integrity sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ== + dependencies: + caniuse-lite "^1.0.30001165" + colorette "^1.2.1" + electron-to-chromium "^1.3.621" + escalade "^3.1.1" + node-releases "^1.1.67" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -6531,6 +6633,11 @@ caniuse-lite@^1.0.30001154: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001156.tgz#75c20937b6012fe2b02ab58b30d475bf0718de97" integrity sha512-z7qztybA2eFZTB6Z3yvaQBIoJpQtsewRD74adw2UbRWwsRq3jIPvgrQGawBMbfafekQaD21FWuXNcywtTDGGCw== +caniuse-lite@^1.0.30001165: + version "1.0.30001170" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz#0088bfecc6a14694969e391cc29d7eb6362ca6a7" + integrity sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -7269,6 +7376,14 @@ core-js-compat@^3.1.1, core-js-compat@^3.6.2: browserslist "^4.8.5" semver "7.0.0" +core-js-compat@^3.8.0: + version "3.8.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.1.tgz#8d1ddd341d660ba6194cbe0ce60f4c794c87a36e" + integrity sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ== + dependencies: + browserslist "^4.15.0" + semver "7.0.0" + core-js-pure@^3.0.0: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" @@ -8354,6 +8469,11 @@ electron-to-chromium@^1.3.585: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.589.tgz#bd26183ed8697dde6ac19acbc16a3bf33b1f8220" integrity sha512-rQItBTFnol20HaaLm26UgSUduX7iGerwW7pEYX17MB1tI6LzFajiLV7iZ7LVcUcsN/7HrZUoCLrBauChy/IqEg== +electron-to-chromium@^1.3.621: + version "1.3.633" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe" + integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA== + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -13079,7 +13199,7 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0, make-dir@^3.0.2: +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -13956,6 +14076,11 @@ node-releases@^1.1.65: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.65.tgz#52d9579176bd60f23eba05c4438583f341944b81" integrity sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA== +node-releases@^1.1.67: + version "1.1.67" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" + integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== + nodemailer@6.4.15: version "6.4.15" resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.4.15.tgz#da5dbb78b8376e34c232c6aa3d2d65cfe17440e9" From 9db333aa88c71b44e607a349781acbfbcfb39a8c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 27 Dec 2020 19:29:14 +0000 Subject: [PATCH 031/252] chore(deps): update dependency @types/mongodb to v3.6.3 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 8fe921773..09ef957ff 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -28,7 +28,7 @@ "@types/express": "4.17.8", "@types/jest": "26.0.15", "@types/minio": "7.0.6", - "@types/mongodb": "3.5.33", + "@types/mongodb": "3.6.3", "@types/node": "14.14.16", "@types/supertest": "2.0.10", "chalk": "4.1.0", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index efa511a5f..1d880ef94 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -43,7 +43,7 @@ "@types/express": "4.17.8", "@types/express-session": "1.17.3", "@types/jest": "26.0.15", - "@types/mongodb": "3.5.33", + "@types/mongodb": "3.6.3", "@types/node": "14.14.16", "@types/node-fetch": "2.5.7", "@types/nodemailer": "6.4.0", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 7ef87ad9a..bf5426423 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -39,7 +39,7 @@ "@types/express": "4.17.8", "@types/jest": "26.0.15", "@types/json2csv": "5.0.1", - "@types/mongodb": "3.5.33", + "@types/mongodb": "3.6.3", "@types/node": "14.14.16", "@types/node-fetch": "2.5.7", "@types/supertest": "2.0.10", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index 0ababff90..59d17224e 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -22,7 +22,7 @@ "mongodb": "3.6.3" }, "devDependencies": { - "@types/mongodb": "3.5.33", + "@types/mongodb": "3.6.3", "chalk": "4.1.0", "eslint": "7.13.0", "typescript": "4.0.5" diff --git a/yarn.lock b/yarn.lock index e48af30a2..e4b22c649 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4040,10 +4040,10 @@ dependencies: "@types/node" "*" -"@types/mongodb@3.5.33": - version "3.5.33" - resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.5.33.tgz#1084c3004a426df11b5a985641e7f58d7ceb52a6" - integrity sha512-biMkaYFyUP8jNczbi2BgtvVfiEtPZ+NTf+Jz4LmsQjO+Zk+kx1WNjz8gNArWlA/5DXVwMVWgIFtbj6Tslt1yWw== +"@types/mongodb@3.6.3": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.6.3.tgz#5655af409d9e32d5d5ae9a653abf3e5f9c83eb7a" + integrity sha512-6YNqGP1hk5bjUFaim+QoFFuI61WjHiHE1BNeB41TA00Xd2K7zG4lcWyLLq/XtIp36uMavvS5hoAUJ+1u/GcX2Q== dependencies: "@types/bson" "*" "@types/node" "*" From e96d8a12c957c7fcf153ada33a1cafa578cf42cc Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 27 Dec 2020 19:29:34 +0000 Subject: [PATCH 032/252] chore(deps): update dependency @types/react to v16.14.2 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 5f9f71912..7e5e7ed3d 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -38,7 +38,7 @@ "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.15", "@types/node": "14.14.16", - "@types/react": "16.9.56", + "@types/react": "16.14.2", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.6", "babel-loader": "8.2.1", diff --git a/yarn.lock b/yarn.lock index e48af30a2..cdbec4bd6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4169,10 +4169,10 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.9.56": - version "16.9.56" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.56.tgz#ea25847b53c5bec064933095fc366b1462e2adf0" - integrity sha512-gIkl4J44G/qxbuC6r2Xh+D3CGZpJ+NdWTItAPmZbR5mUS+JQ8Zvzpl0ea5qT/ZT3ZNTUcDKUVqV3xBE8wv/DyQ== +"@types/react@16.14.2": + version "16.14.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.2.tgz#85dcc0947d0645349923c04ccef6018a1ab7538c" + integrity sha512-BzzcAlyDxXl2nANlabtT4thtvbbnhee8hMmH/CcJrISDBVcJS1iOsP1f0OAgSdGE0MsY9tqcrb9YoZcOFv9dbQ== dependencies: "@types/prop-types" "*" csstype "^3.0.2" From 7a5594d1462f501753db0277817958e617a3407c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 15 Jan 2021 17:12:56 +0000 Subject: [PATCH 033/252] chore(deps): update dependency @types/jest to v26.0.20 --- package.json | 2 +- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index a180d0f61..29c243bfc 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ ] }, "devDependencies": { - "@types/jest": "26.0.15", + "@types/jest": "26.0.20", "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 09ef957ff..522dd6913 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@types/express": "4.17.8", - "@types/jest": "26.0.15", + "@types/jest": "26.0.20", "@types/minio": "7.0.6", "@types/mongodb": "3.6.3", "@types/node": "14.14.16", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 1d880ef94..839ce4098 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -42,7 +42,7 @@ "@types/bcrypt": "3.0.0", "@types/express": "4.17.8", "@types/express-session": "1.17.3", - "@types/jest": "26.0.15", + "@types/jest": "26.0.20", "@types/mongodb": "3.6.3", "@types/node": "14.14.16", "@types/node-fetch": "2.5.7", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 0614622cc..ddc656923 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -37,7 +37,7 @@ "@babel/preset-env": "7.12.11", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", - "@types/jest": "26.0.15", + "@types/jest": "26.0.20", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.3", "@types/node": "14.14.16", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 6af5d02c6..ef02b1a4c 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -36,7 +36,7 @@ "@babel/preset-env": "7.12.11", "@cypress/webpack-preprocessor": "5.4.11", "@types/apollo-upload-client": "14.1.0", - "@types/jest": "26.0.15", + "@types/jest": "26.0.20", "@types/node": "14.14.16", "@types/react": "16.14.2", "@types/react-dom": "16.9.9", diff --git a/yarn.lock b/yarn.lock index 56ee7d812..544fbb17d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4046,10 +4046,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.0.15": - version "26.0.15" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.15.tgz#12e02c0372ad0548e07b9f4e19132b834cb1effe" - integrity sha512-s2VMReFXRg9XXxV+CW9e5Nz8fH2K1aEhwgjUqPPbQd7g95T0laAcvLv032EhFHIa5GHsZ8W7iJEQVaJq6k3Gog== +"@types/jest@26.0.20": + version "26.0.20" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" + integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== dependencies: jest-diff "^26.0.0" pretty-format "^26.0.0" From ffaedc0f8d58cbafe4cd8e6e9e91cba507de4ccf Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 15 Jan 2021 22:42:32 +0000 Subject: [PATCH 034/252] chore(deps): update dependency @types/node to v14.14.21 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 21 +++++++++++++-------- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 522dd6913..728914556 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -29,7 +29,7 @@ "@types/jest": "26.0.20", "@types/minio": "7.0.6", "@types/mongodb": "3.6.3", - "@types/node": "14.14.16", + "@types/node": "14.14.21", "@types/supertest": "2.0.10", "chalk": "4.1.0", "jest": "26.6.3", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index d2adfdab3..1a16fce9b 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -44,7 +44,7 @@ "@types/express-session": "1.17.3", "@types/jest": "26.0.20", "@types/mongodb": "3.6.3", - "@types/node": "14.14.16", + "@types/node": "14.14.21", "@types/node-fetch": "2.5.7", "@types/nodemailer": "6.4.0", "@types/passport": "1.0.4", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index ddc656923..5f0866f02 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -40,7 +40,7 @@ "@types/jest": "26.0.20", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.3", - "@types/node": "14.14.16", + "@types/node": "14.14.21", "@types/node-fetch": "2.5.7", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index d4e0d36a1..c676127c1 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -37,7 +37,7 @@ "@cypress/webpack-preprocessor": "5.4.11", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", - "@types/node": "14.14.16", + "@types/node": "14.14.21", "@types/react": "16.14.2", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.6", diff --git a/yarn.lock b/yarn.lock index 8df50a1f6..98a94bb03 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4159,10 +4159,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== -"@types/node@14.14.16": - version "14.14.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.16.tgz#3cc351f8d48101deadfed4c9e4f116048d437b4b" - integrity sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw== +"@types/node@14.14.21": + version "14.14.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz#d934aacc22424fe9622ebf6857370c052eae464e" + integrity sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A== "@types/node@^10.1.0": version "10.17.29" @@ -14077,16 +14077,21 @@ node-releases@^1.1.52, node-releases@^1.1.60: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== -nodemailer@6.4.17: - version "6.4.17" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.4.17.tgz#8de98618028953b80680775770f937243a7d7877" - integrity sha512-89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ== +node-releases@^1.1.65: + version "1.1.69" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.69.tgz#3149dbde53b781610cd8b486d62d86e26c3725f6" + integrity sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA== node-releases@^1.1.67: version "1.1.67" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== +nodemailer@6.4.17: + version "6.4.17" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.4.17.tgz#8de98618028953b80680775770f937243a7d7877" + integrity sha512-89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ== + nopt@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" From 713701edf7a1bdedc37510d51852522c27586370 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 17 Jan 2021 13:03:04 +0000 Subject: [PATCH 035/252] chore(deps): update dependency @types/react-router-dom to v5.1.7 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index c676127c1..b494ba6ea 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -40,7 +40,7 @@ "@types/node": "14.14.21", "@types/react": "16.14.2", "@types/react-dom": "16.9.9", - "@types/react-router-dom": "5.1.6", + "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", "cross-env": "7.0.2", "cypress": "5.5.0", diff --git a/yarn.lock b/yarn.lock index 98a94bb03..eb20aac99 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4242,10 +4242,10 @@ dependencies: "@types/react" "*" -"@types/react-router-dom@5.1.6": - version "5.1.6" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.6.tgz#07b14e7ab1893a837c8565634960dc398564b1fb" - integrity sha512-gjrxYqxz37zWEdMVvQtWPFMFj1dRDb4TGOcgyOfSXTrEXdF92L00WE3C471O3TV/RF1oskcStkXsOU0Ete4s/g== +"@types/react-router-dom@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.7.tgz#a126d9ea76079ffbbdb0d9225073eb5797ab7271" + integrity sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg== dependencies: "@types/history" "*" "@types/react" "*" From 3b71ffee823c8eb5b3996ce368c17d193f60147f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 17 Jan 2021 14:37:10 +0000 Subject: [PATCH 036/252] chore(deps): update dependency @types/node-fetch to v2.5.8 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 1a16fce9b..e09ac9e10 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -45,7 +45,7 @@ "@types/jest": "26.0.20", "@types/mongodb": "3.6.3", "@types/node": "14.14.21", - "@types/node-fetch": "2.5.7", + "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.0", "@types/passport": "1.0.4", "@types/passport-local": "1.0.33", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 5f0866f02..c6809a810 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -41,7 +41,7 @@ "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.3", "@types/node": "14.14.21", - "@types/node-fetch": "2.5.7", + "@types/node-fetch": "2.5.8", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", "@typescript-eslint/parser": "4.0.1", diff --git a/yarn.lock b/yarn.lock index 98a94bb03..59e02f57d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4154,6 +4154,14 @@ "@types/node" "*" form-data "^3.0.0" +"@types/node-fetch@2.5.8": + version "2.5.8" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.8.tgz#e199c835d234c7eb0846f6618012e558544ee2fb" + integrity sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + "@types/node@*", "@types/node@>= 8": version "14.6.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" From 04b120f3f7678a7aaffe8da07188915427145cee Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 18 Jan 2021 09:52:31 +0000 Subject: [PATCH 037/252] fix(deps): update apollo graphql packages --- packages/itmat-interface/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 221 ++++++++++++++++---------- 3 files changed, 139 insertions(+), 86 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 1a16fce9b..f26d7c8be 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -20,7 +20,7 @@ "prepublishOnly": "yarn run build" }, "dependencies": { - "apollo-server-express": "2.19.0", + "apollo-server-express": "2.19.2", "bcrypt": "5.0.0", "body-parser": "1.19.0", "connect-mongo": "3.2.0", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index c676127c1..366eea3a3 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -20,7 +20,7 @@ "prepublishOnly": "yarn run build" }, "dependencies": { - "@apollo/client": "3.2.5", + "@apollo/client": "3.3.7", "antd": "4.8.4", "apollo-upload-client": "14.1.3", "graphql": "15.4.0", diff --git a/yarn.lock b/yarn.lock index 98a94bb03..fa3777c38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -61,22 +61,22 @@ lodash "^4.17.15" resize-observer-polyfill "^1.5.0" -"@apollo/client@3.2.5": - version "3.2.5" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.2.5.tgz#24e0a6faa1d231ab44807af237c6227410c75c4d" - integrity sha512-zpruxnFMz6K94gs2pqc3sidzFDbQpKT5D6P/J/I9s8ekHZ5eczgnRp6pqXC86Bh7+44j/btpmOT0kwiboyqTnA== +"@apollo/client@3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.3.7.tgz#f15bf961dc0c2bee37a47bf86b8881fdc6183810" + integrity sha512-Cb0OqqvlehlRHtHIXRIS/Pe5WYU4hHl1FznXTRSxBAN42WmBUM3zy/Unvw183RdWMyV6Kc2pFKOEuaG1K7JTAQ== dependencies: "@graphql-typed-document-node/core" "^3.0.0" "@types/zen-observable" "^0.8.0" "@wry/context" "^0.5.2" - "@wry/equality" "^0.2.0" + "@wry/equality" "^0.3.0" fast-json-stable-stringify "^2.0.0" graphql-tag "^2.11.0" hoist-non-react-statics "^3.3.2" - optimism "^0.13.0" + optimism "^0.14.0" prop-types "^15.7.2" symbol-observable "^2.0.0" - ts-invariant "^0.4.4" + ts-invariant "^0.6.0" tslib "^1.10.0" zen-observable "^0.8.14" @@ -3937,10 +3937,10 @@ "@types/qs" "*" "@types/range-parser" "*" -"@types/express-serve-static-core@4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.13.tgz#d9af025e925fc8b089be37423b8d1eac781be084" - integrity sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA== +"@types/express-serve-static-core@4.17.17": + version "4.17.17" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz#6ba02465165b6c9c3d8db3a28def6b16fc9b70f5" + integrity sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ== dependencies: "@types/node" "*" "@types/qs" "*" @@ -4323,6 +4323,11 @@ resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.0.tgz#e3f52b4d7397eaa9193592ef3fdd44dc0af4298c" integrity sha512-flgpHJjntpBAdJD43ShRosQvNC0ME97DCfGvZEDlAThQmnerRXrLbX6YgzRBQCZTthET9eAWFAMaYP0m0Y4HzQ== +"@types/ungap__global-this@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@types/ungap__global-this/-/ungap__global-this-0.3.1.tgz#18ce9f657da556037a29d50604335614ce703f4c" + integrity sha512-+/DsiV4CxXl6ZWefwHZDXSe1Slitz21tom38qPCaG0DYCS1NnDPIQDTKcmQ/tvK/edJUKkmuIDBJbmKDiB0r/g== + "@types/uuid@8.3.0": version "8.3.0" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" @@ -4477,6 +4482,11 @@ "@typescript-eslint/types" "4.0.1" eslint-visitor-keys "^2.0.0" +"@ungap/global-this@^0.4.2": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@ungap/global-this/-/global-this-0.4.3.tgz#44cb668b03e7c4bc88cb6e6f9329d381131878ee" + integrity sha512-MuHEpDBurNVeD6mV9xBcAN2wfTwuaFQhHuhWkJuXmyVJ5P5sBCw+nnFpdfb0tAvgWkfefWCsAoAsh7MTUr3LPg== + "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -4801,6 +4811,20 @@ dependencies: tslib "^1.9.3" +"@wry/equality@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.3.1.tgz#81080cdc2e0d8265cd303faa0c64b38a77884e06" + integrity sha512-8/Ftr3jUZ4EXhACfSwPIfNsE8V6WKesdjp+Dxi78Bej6qlasAxiz0/F8j0miACRj9CL4vC5Y5FsfwwEYAuhWbg== + dependencies: + tslib "^1.14.1" + +"@wry/trie@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.2.1.tgz#4191e1d4a85dd77dfede383d65563138ed82fc47" + integrity sha512-sYkuXZqArky2MLQCv4tLW6hX3N8AfTZ5ZMBc8jC6Yy35WYr82UYLLtjS7k/uRGHOA0yTSjuNadG6QQ6a5CS5hQ== + dependencies: + tslib "^1.14.1" + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -5152,21 +5176,21 @@ anymatch@^3.0.3, anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -apollo-cache-control@^0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.11.4.tgz#06d57d728e6f928e03b9cc3b993f6102f305c32e" - integrity sha512-FUKE8ASr8GxVq5rmky/tY8bsf++cleGT591lfLiqnPsP1fo3kAfgRfWA2QRHTCKFNlQxzUhVOEDv+PaysqiOjw== +apollo-cache-control@^0.11.6: + version "0.11.6" + resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.11.6.tgz#f7bdf924272af47ac474cf3f3f35cfc038cc9485" + integrity sha512-YZ+uuIG+fPy+mkpBS2qKF0v1qlzZ3PW6xZVaDukeK3ed3iAs4L/2YnkTqau3OmoF/VPzX2FmSkocX/OVd59YSw== dependencies: - apollo-server-env "^2.4.5" - apollo-server-plugin-base "^0.10.2" + apollo-server-env "^3.0.0" + apollo-server-plugin-base "^0.10.4" -apollo-datasource@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.7.2.tgz#1662ee93453a9b89af6f73ce561bde46b41ebf31" - integrity sha512-ibnW+s4BMp4K2AgzLEtvzkjg7dJgCaw9M5b5N0YKNmeRZRnl/I/qBTQae648FsRKgMwTbRQIvBhQ0URUFAqFOw== +apollo-datasource@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.7.3.tgz#c824eb1457bdee5a3173ced0e35e594547e687a0" + integrity sha512-PE0ucdZYjHjUyXrFWRwT02yLcx2DACsZ0jm1Mp/0m/I9nZu/fEkvJxfsryXB6JndpmQO77gQHixf/xGCN976kA== dependencies: - apollo-server-caching "^0.5.2" - apollo-server-env "^2.4.5" + apollo-server-caching "^0.5.3" + apollo-server-env "^3.0.0" apollo-env@^0.6.5: version "0.6.5" @@ -5196,56 +5220,56 @@ apollo-link@^1.2.14: tslib "^1.9.3" zen-observable-ts "^0.8.21" -apollo-reporting-protobuf@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.6.1.tgz#09294e5f5f6b2285eb94b40621ed42113eaabea3" - integrity sha512-qr4DheFP154PGZsd93SSIS9RkqHnR5b6vT+eCloWjy3UIpY+yZ3cVLlttlIjYvOG4xTJ25XEwcHiAExatQo/7g== +apollo-reporting-protobuf@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.6.2.tgz#5572866be9b77f133916532b10e15fbaa4158304" + integrity sha512-WJTJxLM+MRHNUxt1RTl4zD0HrLdH44F2mDzMweBj1yHL0kSt8I1WwoiF/wiGVSpnG48LZrBegCaOJeuVbJTbtw== dependencies: "@apollo/protobufjs" "^1.0.3" -apollo-server-caching@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.5.2.tgz#bef5d5e0d48473a454927a66b7bb947a0b6eb13e" - integrity sha512-HUcP3TlgRsuGgeTOn8QMbkdx0hLPXyEJehZIPrcof0ATz7j7aTPA4at7gaiFHCo8gk07DaWYGB3PFgjboXRcWQ== +apollo-server-caching@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.5.3.tgz#cf42a77ad09a46290a246810075eaa029b5305e1" + integrity sha512-iMi3087iphDAI0U2iSBE9qtx9kQoMMEWr6w+LwXruBD95ek9DWyj7OeC2U/ngLjRsXM43DoBDXlu7R+uMjahrQ== dependencies: - lru-cache "^5.0.0" + lru-cache "^6.0.0" -apollo-server-core@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.19.0.tgz#ff14e788f228c2d6739478a68cf93f46a16e5bfa" - integrity sha512-2aMKUVPyNbomJQaG2tkpfqvp1Tfgxgkdr7nX5zHudYNSzsPrHw+CcYlCbIVFFI/mTZsjoK9czNq1qerFRxZbJw== +apollo-server-core@^2.19.2: + version "2.19.2" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.19.2.tgz#9a5651be233aceab6b062e82eef4c8072f6ac230" + integrity sha512-liLgLhTIGWZtdQbxuxo3/Yv8j+faKQcI60kOL+uwfByGhoKLZEQp5nqi2IdMK6JXt1VuyKwKu7lTzj02a9S3jA== dependencies: "@apollographql/apollo-tools" "^0.4.3" "@apollographql/graphql-playground-html" "1.6.26" "@types/graphql-upload" "^8.0.0" "@types/ws" "^7.0.0" - apollo-cache-control "^0.11.4" - apollo-datasource "^0.7.2" + apollo-cache-control "^0.11.6" + apollo-datasource "^0.7.3" apollo-graphql "^0.6.0" - apollo-reporting-protobuf "^0.6.1" - apollo-server-caching "^0.5.2" - apollo-server-env "^2.4.5" + apollo-reporting-protobuf "^0.6.2" + apollo-server-caching "^0.5.3" + apollo-server-env "^3.0.0" apollo-server-errors "^2.4.2" - apollo-server-plugin-base "^0.10.2" - apollo-server-types "^0.6.1" - apollo-tracing "^0.12.0" + apollo-server-plugin-base "^0.10.4" + apollo-server-types "^0.6.3" + apollo-tracing "^0.12.2" async-retry "^1.2.1" fast-json-stable-stringify "^2.0.0" - graphql-extensions "^0.12.6" - graphql-tag "^2.9.2" + graphql-extensions "^0.12.8" + graphql-tag "^2.11.0" graphql-tools "^4.0.0" graphql-upload "^8.0.2" loglevel "^1.6.7" - lru-cache "^5.0.0" + lru-cache "^6.0.0" sha.js "^2.4.11" subscriptions-transport-ws "^0.9.11" uuid "^8.0.0" ws "^6.0.0" -apollo-server-env@^2.4.5: - version "2.4.5" - resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.4.5.tgz#73730b4f0439094a2272a9d0caa4079d4b661d5f" - integrity sha512-nfNhmGPzbq3xCEWT8eRpoHXIPNcNy3QcEoBlzVMjeglrBGryLG2LXwBSPnVmTRRrzUYugX0ULBtgE3rBFNoUgA== +apollo-server-env@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-3.0.0.tgz#0157c51f52b63aee39af190760acf789ffc744d9" + integrity sha512-tPSN+VttnPsoQAl/SBVUpGbLA97MXG990XIwq6YUnJyAixrrsjW1xYG7RlaOqetxm80y5mBZKLrRDiiSsW/vog== dependencies: node-fetch "^2.1.2" util.promisify "^1.0.0" @@ -5255,20 +5279,20 @@ apollo-server-errors@^2.4.2: resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.4.2.tgz#1128738a1d14da989f58420896d70524784eabe5" integrity sha512-FeGxW3Batn6sUtX3OVVUm7o56EgjxDlmgpTLNyWcLb0j6P8mw9oLNyAm3B+deHA4KNdNHO5BmHS2g1SJYjqPCQ== -apollo-server-express@2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.19.0.tgz#a8735e854e2da20e624583bef3c2e54b0cdd6a9b" - integrity sha512-3rgSrTme1SlLoecAYtSa8ThH6vYvz29QecgZCigq5Vdc6bFP2SZrCk0ls6BAdD8OZbVKUtizzRxd0yd/uREPAw== +apollo-server-express@2.19.2: + version "2.19.2" + resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.19.2.tgz#8b185e8fb3b71cde09ca3d5a5d5af340b0421e7b" + integrity sha512-1v2H6BgDkS4QzRbJ9djn2o0yv5m/filbpiupxAsCG9f+sAoSlY3eYSj84Sbex2r5+4itAvT9y84WI7d9RBYs/Q== dependencies: "@apollographql/graphql-playground-html" "1.6.26" "@types/accepts" "^1.3.5" "@types/body-parser" "1.19.0" "@types/cors" "2.8.8" "@types/express" "4.17.7" - "@types/express-serve-static-core" "4.17.13" + "@types/express-serve-static-core" "4.17.17" accepts "^1.3.5" - apollo-server-core "^2.19.0" - apollo-server-types "^0.6.1" + apollo-server-core "^2.19.2" + apollo-server-types "^0.6.3" body-parser "^1.18.3" cors "^2.8.4" express "^4.17.1" @@ -5278,29 +5302,29 @@ apollo-server-express@2.19.0: subscriptions-transport-ws "^0.9.16" type-is "^1.6.16" -apollo-server-plugin-base@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.10.2.tgz#185aea98ba22afe275fb01659070edeb480a89a7" - integrity sha512-uM5uL1lOxbXdgvt/aEIbgs40fV9xA45Y3Mmh0VtQ/ddqq0MXR5aG92nnf8rM+URarBCUfxKJKaYzJJ/CXAnEdA== +apollo-server-plugin-base@^0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.10.4.tgz#fbf73f64f95537ca9f9639dd7c535eb5eeb95dcd" + integrity sha512-HRhbyHgHFTLP0ImubQObYhSgpmVH4Rk1BinnceZmwudIVLKrqayIVOELdyext/QnSmmzg5W7vF3NLGBcVGMqDg== dependencies: - apollo-server-types "^0.6.1" + apollo-server-types "^0.6.3" -apollo-server-types@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.6.1.tgz#61486980b44cacee2cb4939f0b369a0eb661a098" - integrity sha512-IEQ37aYvMLiTUzsySVLOSuvvhxuyYdhI05f3cnH6u2aN1HgGp7vX6bg+U3Ue8wbHfdcifcGIk5UEU+Q+QO6InA== +apollo-server-types@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.6.3.tgz#f7aa25ff7157863264d01a77d7934aa6e13399e8" + integrity sha512-aVR7SlSGGY41E1f11YYz5bvwA89uGmkVUtzMiklDhZ7IgRJhysT5Dflt5IuwDxp+NdQkIhVCErUXakopocFLAg== dependencies: - apollo-reporting-protobuf "^0.6.1" - apollo-server-caching "^0.5.2" - apollo-server-env "^2.4.5" + apollo-reporting-protobuf "^0.6.2" + apollo-server-caching "^0.5.3" + apollo-server-env "^3.0.0" -apollo-tracing@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.12.0.tgz#26250d7789c28aa89d63226eb674706dd69a568a" - integrity sha512-cMUYGE6mOEwb9HDqhf4fiPEo2JMhjPIqEprAQEC57El76avRpRig5NM0bnqMZcYJZR5QmLlNcttNccOwf9WrNg== +apollo-tracing@^0.12.2: + version "0.12.2" + resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.12.2.tgz#a261c3970bb421b6dadf50cd85d75b2567a7e52c" + integrity sha512-SYN4o0C0wR1fyS3+P0FthyvsQVHFopdmN3IU64IaspR/RZScPxZ3Ae8uu++fTvkQflAkglnFM0aX6DkZERBp6w== dependencies: - apollo-server-env "^2.4.5" - apollo-server-plugin-base "^0.10.2" + apollo-server-env "^3.0.0" + apollo-server-plugin-base "^0.10.4" apollo-upload-client@14.1.3: version "14.1.3" @@ -10241,14 +10265,14 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -graphql-extensions@^0.12.6: - version "0.12.6" - resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.12.6.tgz#c66be43035662a8cfb0b8efe9df96595338bd13c" - integrity sha512-EUNw+OIRXYTPxToSoJjhJvS5aGa94KkdkZnL1I9DCZT64/+rzQNeLeGj+goj2RYuYvoQe1Bmcx0CNZ1GqwBhng== +graphql-extensions@^0.12.8: + version "0.12.8" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.12.8.tgz#9cdc2c43d8fe5e0f6c3177a004ac011da2a8aa0f" + integrity sha512-xjsSaB6yKt9jarFNNdivl2VOx52WySYhxPgf8Y16g6GKZyAzBoIFiwyGw5PJDlOSUa6cpmzn6o7z8fVMbSAbkg== dependencies: "@apollographql/apollo-tools" "^0.4.3" - apollo-server-env "^2.4.5" - apollo-server-types "^0.6.1" + apollo-server-env "^3.0.0" + apollo-server-types "^0.6.3" graphql-subscriptions@^1.0.0: version "1.1.0" @@ -10257,7 +10281,7 @@ graphql-subscriptions@^1.0.0: dependencies: iterall "^1.2.1" -graphql-tag@2.11.0, graphql-tag@^2.11.0, graphql-tag@^2.9.2: +graphql-tag@2.11.0, graphql-tag@^2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.11.0.tgz#1deb53a01c46a7eb401d6cb59dec86fa1cccbffd" integrity sha512-VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA== @@ -13178,13 +13202,20 @@ lower-case@^2.0.1: dependencies: tslib "^1.10.0" -lru-cache@^5.0.0, lru-cache@^5.1.1: +lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + macos-release@^2.2.0: version "2.4.1" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" @@ -14480,6 +14511,14 @@ optimism@^0.13.0: dependencies: "@wry/context" "^0.5.2" +optimism@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.14.0.tgz#256fb079a3428585b40a3a8462f907e0abd2fc49" + integrity sha512-ygbNt8n4DOCVpkwiLF+IrKKeNHOjtr9aXLWGP9HNJGoblSGsnVbJLstcH6/nE9Xy5ZQtlkSioFQNnthmENW6FQ== + dependencies: + "@wry/context" "^0.5.2" + "@wry/trie" "^0.2.1" + optimize-css-assets-webpack-plugin@5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" @@ -19009,6 +19048,15 @@ ts-invariant@^0.5.0: dependencies: tslib "^1.9.3" +ts-invariant@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.6.0.tgz#44066ecfeb7a806ff1c3b0b283408a337a885412" + integrity sha512-caoafsfgb8QxdrKzFfjKt627m4i8KTtfAiji0DYJfWI4A/S9ORNNpzYuD9br64kyKFgxn9UNaLLbSupam84mCA== + dependencies: + "@types/ungap__global-this" "^0.3.1" + "@ungap/global-this" "^0.4.2" + tslib "^1.9.3" + ts-jest@26.4.4: version "26.4.4" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" @@ -19062,6 +19110,11 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" From 0fc2368f2e324989034b214e871ee398322e144e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 18 Jan 2021 14:17:52 +0000 Subject: [PATCH 038/252] chore(deps): update dependency @types/webpack-env to v1.16.0 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 1a16fce9b..c785ac646 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -51,7 +51,7 @@ "@types/passport-local": "1.0.33", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", - "@types/webpack-env": "1.15.3", + "@types/webpack-env": "1.16.0", "@typescript-eslint/parser": "4.0.1", "@typescript-eslint/eslint-plugin": "4.0.1", "chalk": "4.1.0", diff --git a/yarn.lock b/yarn.lock index eb20aac99..3e7d7ec36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4328,10 +4328,10 @@ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== -"@types/webpack-env@1.15.3": - version "1.15.3" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.3.tgz#fb602cd4c2f0b7c0fb857e922075fdf677d25d84" - integrity sha512-5oiXqR7kwDGZ6+gmzIO2lTC+QsriNuQXZDWNYRV3l2XRN/zmPgnC21DLSx2D05zvD8vnXW6qUg7JnXZ4I6qLVQ== +"@types/webpack-env@1.16.0": + version "1.16.0" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.16.0.tgz#8c0a9435dfa7b3b1be76562f3070efb3f92637b4" + integrity sha512-Fx+NpfOO0CpeYX2g9bkvX8O5qh9wrU1sOF4g8sft4Mu7z+qfe387YlyY8w8daDyDsKY5vUxM0yxkAYnbkRbZEw== "@types/ws@^7.0.0": version "7.2.6" From 7de376b54bcc55f3c72b25d818fe38dbe1a3998f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 18 Jan 2021 14:19:01 +0000 Subject: [PATCH 039/252] chore(deps): update dependency cross-env to v7.0.3 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index d694f67fd..4f82e2113 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -56,7 +56,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "chalk": "4.1.0", "cors": "2.8.5", - "cross-env": "7.0.2", + "cross-env": "7.0.3", "cross-spawn": "7.0.3", "get-port": "5.1.1", "graphql": "15.4.0", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index c6809a810..d00e56fb9 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -46,7 +46,7 @@ "@types/uuid": "8.3.0", "@typescript-eslint/parser": "4.0.1", "@typescript-eslint/eslint-plugin": "4.0.1", - "cross-env": "7.0.2", + "cross-env": "7.0.3", "jest": "26.6.3", "node-fetch": "2.6.1", "rimraf": "3.0.2", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index b1dd5692d..cd7034bb7 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -42,7 +42,7 @@ "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", - "cross-env": "7.0.2", + "cross-env": "7.0.3", "cypress": "5.5.0", "cypress-file-upload": "4.1.1", "cypress-react-unit-test": "4.17.0", diff --git a/yarn.lock b/yarn.lock index b94978069..af5fecc8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7513,10 +7513,10 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-env@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.2.tgz#bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9" - integrity sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw== +cross-env@7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== dependencies: cross-spawn "^7.0.1" From 212943343b10f8c31b8e0251fc1e22e02ac53356 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 18 Jan 2021 14:20:52 +0000 Subject: [PATCH 040/252] chore(deps): update dependency cypress-react-unit-test to v4.17.2 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 46 +++++++++++++++++++--------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index b1dd5692d..126cb9201 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -45,7 +45,7 @@ "cross-env": "7.0.2", "cypress": "5.5.0", "cypress-file-upload": "4.1.1", - "cypress-react-unit-test": "4.17.0", + "cypress-react-unit-test": "4.17.2", "enzyme": "3.11.0", "enzyme-adapter-react-16": "1.15.5", "jest": "26.6.3", diff --git a/yarn.lock b/yarn.lock index b94978069..2ed8b7660 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2215,13 +2215,13 @@ through2 "^2.0.0" watchify "3.11.1" -"@cypress/code-coverage@3.8.3": - version "3.8.3" - resolved "https://registry.yarnpkg.com/@cypress/code-coverage/-/code-coverage-3.8.3.tgz#4bda76bbf07a01036ad58a60b6f9f86d6cb8c156" - integrity sha512-4R9bDS4CivckXaJudL5lKxXtB99LkO2RWE4a5M/P7VXGrXynQQDYbP07O9Jyjw/VjELWBV+xC3AOfYaU+wCHNQ== +"@cypress/code-coverage@3.8.6": + version "3.8.6" + resolved "https://registry.yarnpkg.com/@cypress/code-coverage/-/code-coverage-3.8.6.tgz#a210751693ed7cb5ba0eb77774ac268b25cb820b" + integrity sha512-KXTOEsca64BG/SR/N1HDUwZMe3KazyVcFDhtiHLDklu3v73PUDztIPsGAnBkqOa6vHqrjlPuC3lCVM53/F3pBA== dependencies: "@cypress/browserify-preprocessor" "3.0.1" - debug "4.2.0" + debug "4.3.1" execa "4.1.0" globby "11.0.1" istanbul-lib-coverage "3.0.0" @@ -2273,6 +2273,15 @@ debug "^4.1.1" lodash "^4.17.20" +"@cypress/webpack-preprocessor@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.5.0.tgz#e7010b2ee7449691cc16a9d5d1956af17ea175fd" + integrity sha512-iqwPygSNZ1u6bM3r5QRVv6qYngkcgI2xCzi9Jmo4mrkcofwX08UaItJq7xlB2/dHbB2aryQYOsfe4xNKtQIm3A== + dependencies: + bluebird "^3.7.1" + debug "^4.1.1" + lodash "^4.17.20" + "@cypress/xvfb@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" @@ -7828,14 +7837,14 @@ cypress-file-upload@4.1.1: dependencies: mime "^2.4.4" -cypress-react-unit-test@4.17.0: - version "4.17.0" - resolved "https://registry.yarnpkg.com/cypress-react-unit-test/-/cypress-react-unit-test-4.17.0.tgz#c675613f4ae7ab973fe7d9f30bc70e20362bf592" - integrity sha512-2DytgGygVbp4mx2fJgkiPon8q3AYVFcJxlR6keVAJnkGPrUj7sgRtEHCbypeNVyV9IDiuPhzpwyo4ZYbCUl95w== +cypress-react-unit-test@4.17.2: + version "4.17.2" + resolved "https://registry.yarnpkg.com/cypress-react-unit-test/-/cypress-react-unit-test-4.17.2.tgz#a7ce8b2b20b56f347c575db4e729edbf72394040" + integrity sha512-xTSilbzcr6+rDnAwvho7xwM+B9ZY9HmY7J1LouBx9xpGy0P3fxinOeo8HaG5s8ecQMbXQqxJprM0i4NdhkR+Fw== dependencies: "@babel/plugin-transform-modules-commonjs" "7.12.1" - "@cypress/code-coverage" "3.8.3" - "@cypress/webpack-preprocessor" "5.4.11" + "@cypress/code-coverage" "3.8.6" + "@cypress/webpack-preprocessor" "5.5.0" babel-plugin-istanbul "6.0.0" chalk "4.1.0" cli-highlight "2.1.4" @@ -7982,10 +7991,10 @@ debug@4, debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -debug@4.2.0, debug@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" @@ -7996,6 +8005,13 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: dependencies: ms "^2.1.1" +debug@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + dependencies: + ms "2.1.2" + debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" From 15949e4f1231e322f2cfc118a55018ac55aaf1e2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 31 Jan 2021 04:55:32 +0000 Subject: [PATCH 041/252] chore(deps): update dependency eslint to v7.19.0 --- package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 108 +++++++++++++++++++++++++----- 3 files changed, 95 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 29c243bfc..fc69df9ad 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", - "eslint": "7.13.0", + "eslint": "7.19.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.2.0", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index 59d17224e..2ab8dfe6a 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/mongodb": "3.6.3", "chalk": "4.1.0", - "eslint": "7.13.0", + "eslint": "7.19.0", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/yarn.lock b/yarn.lock index 4a85b68a5..a47e3f8c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2290,10 +2290,10 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@eslint/eslintrc@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" - integrity sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA== +"@eslint/eslintrc@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" + integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -2302,7 +2302,7 @@ ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" - lodash "^4.17.19" + lodash "^4.17.20" minimatch "^3.0.4" strip-json-comments "^3.1.1" @@ -4908,6 +4908,11 @@ acorn-jsx@^5.2.0: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== +acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + acorn-node@^1.2.0, acorn-node@^1.3.0, acorn-node@^1.5.2, acorn-node@^1.6.1: version "1.8.2" resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" @@ -5044,6 +5049,16 @@ ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" + integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -5603,6 +5618,11 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -9083,13 +9103,13 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.13.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.13.0.tgz#7f180126c0dcdef327bfb54b211d7802decc08da" - integrity sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ== +eslint@7.19.0: + version "7.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.19.0.tgz#6719621b196b5fad72e43387981314e5d0dc3f41" + integrity sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg== dependencies: "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.2.1" + "@eslint/eslintrc" "^0.3.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -9099,10 +9119,10 @@ eslint@7.13.0: eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" - espree "^7.3.0" + espree "^7.3.1" esquery "^1.2.0" esutils "^2.0.2" - file-entry-cache "^5.0.1" + file-entry-cache "^6.0.0" functional-red-black-tree "^1.0.1" glob-parent "^5.0.0" globals "^12.1.0" @@ -9113,7 +9133,7 @@ eslint@7.13.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.19" + lodash "^4.17.20" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -9122,7 +9142,7 @@ eslint@7.13.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^5.2.3" + table "^6.0.4" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -9187,6 +9207,15 @@ espree@^7.3.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" +espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -9606,6 +9635,13 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" +file-entry-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== + dependencies: + flat-cache "^3.0.4" + file-loader@4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" @@ -9757,11 +9793,24 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + flatted@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flatted@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" + integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + flatten@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" @@ -12602,6 +12651,11 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -17284,6 +17338,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" @@ -17473,7 +17532,7 @@ rimraf@2.6.3: dependencies: glob "^7.1.3" -rimraf@3.0.2, rimraf@^3.0.0: +rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -17934,6 +17993,15 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + slide@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -18690,6 +18758,16 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" +table@^6.0.4: + version "6.0.7" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== + dependencies: + ajv "^7.0.2" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" From 78b55ff0db4dda21f08d94aeca82a06198269f45 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 3 Feb 2021 16:02:20 +0000 Subject: [PATCH 042/252] fix(deps): update dependency json2csv to v5.0.6 --- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index c6809a810..7b364e6d1 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -25,7 +25,7 @@ "csv-parse": "4.12.0", "deepmerge": "4.2.2", "express": "4.17.1", - "json2csv": "5.0.3", + "json2csv": "5.0.6", "itmat-commons": "0.6.0", "mongodb": "3.6.3", "saslprep": "1.0.3", diff --git a/yarn.lock b/yarn.lock index 4a85b68a5..1f4519718 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12636,10 +12636,10 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json2csv@5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/json2csv/-/json2csv-5.0.3.tgz#7a819a4c88a4e9f769745200dedc97eab93a4bbe" - integrity sha512-e3gEZU/4fp8CVQMHlwT77RayAR7nylCzCYN7jTIbPTEqk0oTaE8GTcBudLgXrHt4ltOs9SAsbveMJT0YK/QUSg== +json2csv@5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/json2csv/-/json2csv-5.0.6.tgz#590e0e1b9579e59baa53bda0c0d840f4d8009687" + integrity sha512-0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A== dependencies: commander "^6.1.0" jsonparse "^1.3.1" From 75ede14dcf9e223e7eadeae590d673543b1bc91c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 3 Feb 2021 21:45:21 +0000 Subject: [PATCH 043/252] chore(deps): update babel monorepo to v7.12.13 --- packages/itmat-job-executor/package.json | 4 +- packages/itmat-ui-react/package.json | 4 +- yarn.lock | 942 +++++++++++++---------- 3 files changed, 526 insertions(+), 424 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index c6809a810..719eb4067 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -33,8 +33,8 @@ "uuid": "8.3.1" }, "devDependencies": { - "@babel/core": "7.12.10", - "@babel/preset-env": "7.12.11", + "@babel/core": "7.12.13", + "@babel/preset-env": "7.12.13", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", "@types/jest": "26.0.20", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 126cb9201..2510e8fcd 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -32,8 +32,8 @@ "subscriptions-transport-ws": "0.9.18" }, "devDependencies": { - "@babel/core": "7.12.10", - "@babel/preset-env": "7.12.11", + "@babel/core": "7.12.13", + "@babel/preset-env": "7.12.13", "@cypress/webpack-preprocessor": "5.4.11", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", diff --git a/yarn.lock b/yarn.lock index a47e3f8c7..6253104f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -165,12 +165,12 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== +"@babel/code-frame@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== dependencies: - "@babel/highlight" "^7.10.4" + "@babel/highlight" "^7.12.13" "@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0", "@babel/compat-data@^7.9.0": version "7.11.0" @@ -181,24 +181,24 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41" - integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw== - -"@babel/core@7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" - integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.10" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.10" +"@babel/compat-data@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.13.tgz#27e19e0ed3726ccf54067ced4109501765e7e2e8" + integrity sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg== + +"@babel/core@7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.13.tgz#b73a87a3a3e7d142a66248bf6ad88b9ceb093425" + integrity sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.12.13" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helpers" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" @@ -310,12 +310,12 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.12.10", "@babel/generator@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" - integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== +"@babel/generator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.13.tgz#5f6ebe6c85db99886db2d7b044409196f872a503" + integrity sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw== dependencies: - "@babel/types" "^7.12.11" + "@babel/types" "^7.12.13" jsesc "^2.5.1" source-map "^0.5.0" @@ -326,6 +326,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-annotate-as-pure@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" + integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" @@ -334,6 +341,14 @@ "@babel/helper-explode-assignable-expression" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" + integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.12.13" + "@babel/types" "^7.12.13" + "@babel/helper-builder-react-jsx-experimental@^7.10.4", "@babel/helper-builder-react-jsx-experimental@^7.11.5": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz#4ea43dd63857b0a35cd1f1b161dc29b43414e79f" @@ -362,13 +377,13 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-compilation-targets@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" - integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== +"@babel/helper-compilation-targets@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz#d689cdef88810aa74e15a7a94186f26a3d773c98" + integrity sha512-dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw== dependencies: - "@babel/compat-data" "^7.12.5" - "@babel/helper-validator-option" "^7.12.1" + "@babel/compat-data" "^7.12.13" + "@babel/helper-validator-option" "^7.12.11" browserslist "^4.14.5" semver "^5.5.0" @@ -384,16 +399,16 @@ "@babel/helper-replace-supers" "^7.10.4" "@babel/helper-split-export-declaration" "^7.10.4" -"@babel/helper-create-class-features-plugin@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" - integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== +"@babel/helper-create-class-features-plugin@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz#0f1707c2eec1a4604f2a22a6fb209854ef2a399a" + integrity sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q== dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" "@babel/helper-create-regexp-features-plugin@^7.10.4": version "7.10.4" @@ -404,13 +419,12 @@ "@babel/helper-regex" "^7.10.4" regexpu-core "^4.7.0" -"@babel/helper-create-regexp-features-plugin@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" - integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== +"@babel/helper-create-regexp-features-plugin@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz#0996d370a92896c612ae41a4215544bd152579c0" + integrity sha512-XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-regex" "^7.10.4" + "@babel/helper-annotate-as-pure" "^7.12.13" regexpu-core "^4.7.1" "@babel/helper-define-map@^7.10.4": @@ -429,6 +443,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-explode-assignable-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz#0e46990da9e271502f77507efa4c9918d3d8634a" + integrity sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-function-name@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" @@ -438,14 +459,14 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-function-name@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" - integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA== +"@babel/helper-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" + integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== dependencies: - "@babel/helper-get-function-arity" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/types" "^7.12.11" + "@babel/helper-get-function-arity" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/types" "^7.12.13" "@babel/helper-get-function-arity@^7.10.4": version "7.10.4" @@ -454,12 +475,12 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-get-function-arity@^7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" - integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== +"@babel/helper-get-function-arity@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" + integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== dependencies: - "@babel/types" "^7.12.10" + "@babel/types" "^7.12.13" "@babel/helper-hoist-variables@^7.10.4": version "7.10.4" @@ -468,6 +489,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-hoist-variables@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz#13aba58b7480b502362316ea02f52cca0e9796cd" + integrity sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" @@ -482,6 +510,13 @@ dependencies: "@babel/types" "^7.12.1" +"@babel/helper-member-expression-to-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz#c5715695b4f8bab32660dbdcdc2341dec7e3df40" + integrity sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" @@ -496,12 +531,12 @@ dependencies: "@babel/types" "^7.12.1" -"@babel/helper-module-imports@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" - integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== +"@babel/helper-module-imports@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" + integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== dependencies: - "@babel/types" "^7.12.5" + "@babel/types" "^7.12.13" "@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0", "@babel/helper-module-transforms@^7.9.0": version "7.11.0" @@ -531,6 +566,21 @@ "@babel/types" "^7.12.1" lodash "^4.17.19" +"@babel/helper-module-transforms@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz#01afb052dcad2044289b7b20beb3fa8bd0265bea" + integrity sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-simple-access" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" + lodash "^4.17.19" + "@babel/helper-optimise-call-expression@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" @@ -538,11 +588,23 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-optimise-call-expression@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" + integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== +"@babel/helper-plugin-utils@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb" + integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA== + "@babel/helper-regex@^7.10.4": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" @@ -560,14 +622,14 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-remap-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" - integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== +"@babel/helper-remap-async-to-generator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz#170365f4140e2d20e5c88f8ba23c24468c296878" + integrity sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/types" "^7.12.1" + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-wrap-function" "^7.12.13" + "@babel/types" "^7.12.13" "@babel/helper-replace-supers@^7.10.4": version "7.10.4" @@ -589,6 +651,16 @@ "@babel/traverse" "^7.12.1" "@babel/types" "^7.12.1" +"@babel/helper-replace-supers@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz#00ec4fb6862546bd3d0aff9aac56074277173121" + integrity sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" + "@babel/helper-simple-access@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" @@ -604,6 +676,13 @@ dependencies: "@babel/types" "^7.12.1" +"@babel/helper-simple-access@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4" + integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-skip-transparent-expression-wrappers@^7.11.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" @@ -625,12 +704,12 @@ dependencies: "@babel/types" "^7.11.0" -"@babel/helper-split-export-declaration@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a" - integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g== +"@babel/helper-split-export-declaration@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" + integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== dependencies: - "@babel/types" "^7.12.11" + "@babel/types" "^7.12.13" "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" @@ -642,11 +721,6 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/helper-validator-option@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" - integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== - "@babel/helper-validator-option@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f" @@ -662,6 +736,16 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-wrap-function@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz#e3ea8cb3ee0a16911f9c1b50d9e99fe8fe30f9ff" + integrity sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" + "@babel/helpers@^7.10.4", "@babel/helpers@^7.4.4", "@babel/helpers@^7.8.4", "@babel/helpers@^7.9.0": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" @@ -671,14 +755,14 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" - integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== +"@babel/helpers@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.13.tgz#3c75e993632e4dadc0274eae219c73eb7645ba47" + integrity sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ== dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.12.13" + "@babel/types" "^7.12.13" "@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3": version "7.10.4" @@ -689,6 +773,15 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.4.3", "@babel/parser@^7.4.5", "@babel/parser@^7.7.0", "@babel/parser@^7.8.4", "@babel/parser@^7.9.0": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" @@ -699,10 +792,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== -"@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" - integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== +"@babel/parser@^7.12.13": + version "7.12.14" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.14.tgz#4adb7c5eef1d437ef965ad1569cd826db8c11dc9" + integrity sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ== "@babel/plugin-proposal-async-generator-functions@^7.10.4", "@babel/plugin-proposal-async-generator-functions@^7.2.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.10.5" @@ -713,13 +806,13 @@ "@babel/helper-remap-async-to-generator" "^7.10.4" "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-async-generator-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" - integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== +"@babel/plugin-proposal-async-generator-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz#d1c6d841802ffb88c64a2413e311f7345b9e66b5" + integrity sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-remap-async-to-generator" "^7.12.13" "@babel/plugin-syntax-async-generators" "^7.8.0" "@babel/plugin-proposal-class-properties@7.3.0": @@ -746,13 +839,13 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" - integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== +"@babel/plugin-proposal-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz#3d2ce350367058033c93c098e348161d6dc0d8c8" + integrity sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-proposal-decorators@7.8.3": version "7.8.3" @@ -787,12 +880,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" - integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== +"@babel/plugin-proposal-export-namespace-from@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" + integrity sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.10.4", "@babel/plugin-proposal-json-strings@^7.2.0", "@babel/plugin-proposal-json-strings@^7.8.3": @@ -803,12 +896,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-json-strings@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" - integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== +"@babel/plugin-proposal-json-strings@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz#ced7888a2db92a3d520a2e35eb421fdb7fcc9b5d" + integrity sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-json-strings" "^7.8.0" "@babel/plugin-proposal-logical-assignment-operators@^7.11.0": @@ -819,12 +912,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" - integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== +"@babel/plugin-proposal-logical-assignment-operators@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz#575b5d9a08d8299eeb4db6430da6e16e5cf14350" + integrity sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": @@ -843,12 +936,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz#24867307285cee4e1031170efd8a7ac807deefde" + integrity sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" "@babel/plugin-proposal-numeric-separator@7.8.3": @@ -867,12 +960,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-numeric-separator@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b" - integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ== +"@babel/plugin-proposal-numeric-separator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db" + integrity sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@7.3.2": @@ -892,14 +985,14 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" - integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== +"@babel/plugin-proposal-object-rest-spread@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz#f93f3116381ff94bc676fdcb29d71045cd1ec011" + integrity sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.13" "@babel/plugin-proposal-optional-catch-binding@^7.10.4", "@babel/plugin-proposal-optional-catch-binding@^7.2.0", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": version "7.10.4" @@ -909,12 +1002,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-catch-binding@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" - integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== +"@babel/plugin-proposal-optional-catch-binding@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz#4640520afe57728af14b4d1574ba844f263bcae5" + integrity sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-proposal-optional-chaining@7.9.0": @@ -934,12 +1027,12 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c" - integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA== +"@babel/plugin-proposal-optional-chaining@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz#63a7d805bc8ce626f3234ee5421a2a7fb23f66d9" + integrity sha512-0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" @@ -951,13 +1044,13 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-private-methods@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" - integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== +"@babel/plugin-proposal-private-methods@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz#ea78a12554d784ecf7fc55950b752d469d9c4a71" + integrity sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": version "7.10.4" @@ -967,13 +1060,13 @@ "@babel/helper-create-regexp-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-unicode-property-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" - integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== +"@babel/plugin-proposal-unicode-property-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" + integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -996,12 +1089,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" - integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-decorators@^7.8.3": version "7.10.4" @@ -1101,12 +1194,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-top-level-await@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" - integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== +"@babel/plugin-syntax-top-level-await@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" + integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-typescript@^7.10.4": version "7.10.4" @@ -1122,12 +1215,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-arrow-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" - integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== +"@babel/plugin-transform-arrow-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz#eda5670b282952100c229f8a3bd49e0f6a72e9fe" + integrity sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-async-to-generator@^7.10.4", "@babel/plugin-transform-async-to-generator@^7.4.4", "@babel/plugin-transform-async-to-generator@^7.8.3": version "7.10.4" @@ -1138,14 +1231,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-remap-async-to-generator" "^7.10.4" -"@babel/plugin-transform-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" - integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== +"@babel/plugin-transform-async-to-generator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz#fed8c69eebf187a535bfa4ee97a614009b24f7ae" + integrity sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A== dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-remap-async-to-generator" "^7.12.13" "@babel/plugin-transform-block-scoped-functions@^7.10.4", "@babel/plugin-transform-block-scoped-functions@^7.2.0", "@babel/plugin-transform-block-scoped-functions@^7.8.3": version "7.10.4" @@ -1154,12 +1247,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-block-scoped-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" - integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== +"@babel/plugin-transform-block-scoped-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" + integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-block-scoping@^7.10.4", "@babel/plugin-transform-block-scoping@^7.4.4", "@babel/plugin-transform-block-scoping@^7.8.3": version "7.11.1" @@ -1168,12 +1261,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-block-scoping@^7.12.11": - version "7.12.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz#d93a567a152c22aea3b1929bb118d1d0a175cdca" - integrity sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ== +"@babel/plugin-transform-block-scoping@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61" + integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-classes@^7.10.4", "@babel/plugin-transform-classes@^7.4.4", "@babel/plugin-transform-classes@^7.9.0": version "7.10.4" @@ -1189,18 +1282,17 @@ "@babel/helper-split-export-declaration" "^7.10.4" globals "^11.1.0" -"@babel/plugin-transform-classes@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" - integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" +"@babel/plugin-transform-classes@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz#9728edc1838b5d62fc93ad830bd523b1fcb0e1f6" + integrity sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.10.4", "@babel/plugin-transform-computed-properties@^7.2.0", "@babel/plugin-transform-computed-properties@^7.8.3": @@ -1210,12 +1302,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-computed-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" - integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== +"@babel/plugin-transform-computed-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz#6a210647a3d67f21f699cfd2a01333803b27339d" + integrity sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-destructuring@^7.10.4", "@babel/plugin-transform-destructuring@^7.4.4", "@babel/plugin-transform-destructuring@^7.8.3": version "7.10.4" @@ -1224,12 +1316,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-destructuring@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" - integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== +"@babel/plugin-transform-destructuring@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz#fc56c5176940c5b41735c677124d1d20cecc9aeb" + integrity sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": version "7.10.4" @@ -1239,13 +1331,13 @@ "@babel/helper-create-regexp-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-dotall-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" - integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== +"@babel/plugin-transform-dotall-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" + integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-duplicate-keys@^7.10.4", "@babel/plugin-transform-duplicate-keys@^7.2.0", "@babel/plugin-transform-duplicate-keys@^7.8.3": version "7.10.4" @@ -1254,12 +1346,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-duplicate-keys@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" - integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== +"@babel/plugin-transform-duplicate-keys@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" + integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-exponentiation-operator@^7.10.4", "@babel/plugin-transform-exponentiation-operator@^7.2.0", "@babel/plugin-transform-exponentiation-operator@^7.8.3": version "7.10.4" @@ -1269,13 +1361,13 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-exponentiation-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" - integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== +"@babel/plugin-transform-exponentiation-operator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" + integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-flow-strip-types@7.9.0": version "7.9.0" @@ -1292,12 +1384,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-for-of@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" - integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== +"@babel/plugin-transform-for-of@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz#561ff6d74d9e1c8879cb12dbaf4a14cd29d15cf6" + integrity sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-function-name@^7.10.4", "@babel/plugin-transform-function-name@^7.4.4", "@babel/plugin-transform-function-name@^7.8.3": version "7.10.4" @@ -1307,13 +1399,13 @@ "@babel/helper-function-name" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-function-name@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" - integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== +"@babel/plugin-transform-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" + integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-literals@^7.10.4", "@babel/plugin-transform-literals@^7.2.0", "@babel/plugin-transform-literals@^7.8.3": version "7.10.4" @@ -1322,12 +1414,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" - integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== +"@babel/plugin-transform-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" + integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-member-expression-literals@^7.10.4", "@babel/plugin-transform-member-expression-literals@^7.2.0", "@babel/plugin-transform-member-expression-literals@^7.8.3": version "7.10.4" @@ -1336,12 +1428,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" - integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== +"@babel/plugin-transform-member-expression-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" + integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-modules-amd@^7.10.4", "@babel/plugin-transform-modules-amd@^7.2.0", "@babel/plugin-transform-modules-amd@^7.9.0": version "7.10.5" @@ -1352,16 +1444,16 @@ "@babel/helper-plugin-utils" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-amd@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" - integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== +"@babel/plugin-transform-modules-amd@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz#43db16249b274ee2e551e2422090aa1c47692d56" + integrity sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA== dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@7.12.1", "@babel/plugin-transform-modules-commonjs@^7.12.1": +"@babel/plugin-transform-modules-commonjs@7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== @@ -1381,6 +1473,16 @@ "@babel/helper-simple-access" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz#5043b870a784a8421fa1fd9136a24f294da13e50" + integrity sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ== + dependencies: + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-simple-access" "^7.12.13" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-systemjs@^7.10.4", "@babel/plugin-transform-modules-systemjs@^7.4.4", "@babel/plugin-transform-modules-systemjs@^7.9.0": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" @@ -1391,15 +1493,15 @@ "@babel/helper-plugin-utils" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" - integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== +"@babel/plugin-transform-modules-systemjs@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz#351937f392c7f07493fc79b2118201d50404a3c5" + integrity sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA== dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-identifier" "^7.10.4" + "@babel/helper-hoist-variables" "^7.12.13" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-umd@^7.10.4", "@babel/plugin-transform-modules-umd@^7.2.0", "@babel/plugin-transform-modules-umd@^7.9.0": @@ -1410,13 +1512,13 @@ "@babel/helper-module-transforms" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-modules-umd@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" - integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== +"@babel/plugin-transform-modules-umd@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz#26c66f161d3456674e344b4b1255de4d530cfb37" + integrity sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w== dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-named-capturing-groups-regex@^7.10.4", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": version "7.10.4" @@ -1425,12 +1527,12 @@ dependencies: "@babel/helper-create-regexp-features-plugin" "^7.10.4" -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" - integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" + integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" "@babel/plugin-transform-new-target@^7.10.4", "@babel/plugin-transform-new-target@^7.4.4", "@babel/plugin-transform-new-target@^7.8.3": version "7.10.4" @@ -1439,12 +1541,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-new-target@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" - integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== +"@babel/plugin-transform-new-target@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" + integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-object-super@^7.10.4", "@babel/plugin-transform-object-super@^7.2.0", "@babel/plugin-transform-object-super@^7.8.3": version "7.10.4" @@ -1454,13 +1556,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-replace-supers" "^7.10.4" -"@babel/plugin-transform-object-super@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" - integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== +"@babel/plugin-transform-object-super@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" + integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" "@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.4.4", "@babel/plugin-transform-parameters@^7.8.7": version "7.10.5" @@ -1470,12 +1572,12 @@ "@babel/helper-get-function-arity" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-parameters@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" - integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== +"@babel/plugin-transform-parameters@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz#461e76dfb63c2dfd327b8a008a9e802818ce9853" + integrity sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-property-literals@^7.10.4", "@babel/plugin-transform-property-literals@^7.2.0", "@babel/plugin-transform-property-literals@^7.8.3": version "7.10.4" @@ -1484,12 +1586,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-property-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" - integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== +"@babel/plugin-transform-property-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" + integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-react-constant-elements@^7.0.0": version "7.10.4" @@ -1562,10 +1664,10 @@ dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-regenerator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" - integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== +"@babel/plugin-transform-regenerator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz#b628bcc9c85260ac1aeb05b45bde25210194a2f5" + integrity sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA== dependencies: regenerator-transform "^0.14.2" @@ -1576,12 +1678,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-reserved-words@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" - integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== +"@babel/plugin-transform-reserved-words@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" + integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-runtime@7.2.0": version "7.2.0" @@ -1610,12 +1712,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-shorthand-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" - integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== +"@babel/plugin-transform-shorthand-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" + integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-spread@^7.11.0", "@babel/plugin-transform-spread@^7.2.0", "@babel/plugin-transform-spread@^7.8.3": version "7.11.0" @@ -1625,12 +1727,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" -"@babel/plugin-transform-spread@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" - integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== +"@babel/plugin-transform-spread@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz#ca0d5645abbd560719c354451b849f14df4a7949" + integrity sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-transform-sticky-regex@^7.10.4", "@babel/plugin-transform-sticky-regex@^7.2.0", "@babel/plugin-transform-sticky-regex@^7.8.3": @@ -1641,12 +1743,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-regex" "^7.10.4" -"@babel/plugin-transform-sticky-regex@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad" - integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg== +"@babel/plugin-transform-sticky-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" + integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-template-literals@^7.10.4", "@babel/plugin-transform-template-literals@^7.4.4", "@babel/plugin-transform-template-literals@^7.8.3": version "7.10.5" @@ -1656,12 +1758,12 @@ "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-template-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" - integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== +"@babel/plugin-transform-template-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz#655037b07ebbddaf3b7752f55d15c2fd6f5aa865" + integrity sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-typeof-symbol@^7.10.4", "@babel/plugin-transform-typeof-symbol@^7.2.0", "@babel/plugin-transform-typeof-symbol@^7.8.4": version "7.10.4" @@ -1670,12 +1772,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-typeof-symbol@^7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz#de01c4c8f96580bd00f183072b0d0ecdcf0dec4b" - integrity sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA== +"@babel/plugin-transform-typeof-symbol@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" + integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-typescript@^7.9.0": version "7.11.0" @@ -1693,12 +1795,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-unicode-escapes@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" - integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== +"@babel/plugin-transform-unicode-escapes@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" + integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-transform-unicode-regex@^7.10.4", "@babel/plugin-transform-unicode-regex@^7.4.4", "@babel/plugin-transform-unicode-regex@^7.8.3": version "7.10.4" @@ -1708,39 +1810,39 @@ "@babel/helper-create-regexp-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-unicode-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" - integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== +"@babel/plugin-transform-unicode-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" + integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/preset-env@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9" - integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw== +"@babel/preset-env@7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.13.tgz#3aa2d09cf7d255177538dff292ac9af29ad46525" + integrity sha512-JUVlizG8SoFTz4LmVUL8++aVwzwxcvey3N0j1tRbMAXVEy95uQ/cnEkmEKHN00Bwq4voAV3imQGnQvpkLAxsrw== dependencies: - "@babel/compat-data" "^7.12.7" - "@babel/helper-compilation-targets" "^7.12.5" - "@babel/helper-module-imports" "^7.12.5" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/compat-data" "^7.12.13" + "@babel/helper-compilation-targets" "^7.12.13" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/helper-validator-option" "^7.12.11" - "@babel/plugin-proposal-async-generator-functions" "^7.12.1" - "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-async-generator-functions" "^7.12.13" + "@babel/plugin-proposal-class-properties" "^7.12.13" "@babel/plugin-proposal-dynamic-import" "^7.12.1" - "@babel/plugin-proposal-export-namespace-from" "^7.12.1" - "@babel/plugin-proposal-json-strings" "^7.12.1" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.7" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.7" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.13" + "@babel/plugin-proposal-json-strings" "^7.12.13" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.13" + "@babel/plugin-proposal-numeric-separator" "^7.12.13" + "@babel/plugin-proposal-object-rest-spread" "^7.12.13" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" + "@babel/plugin-proposal-optional-chaining" "^7.12.13" + "@babel/plugin-proposal-private-methods" "^7.12.13" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.12.1" + "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-dynamic-import" "^7.8.0" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" @@ -1750,41 +1852,41 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.12.1" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-async-to-generator" "^7.12.1" - "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.11" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-computed-properties" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-dotall-regex" "^7.12.1" - "@babel/plugin-transform-duplicate-keys" "^7.12.1" - "@babel/plugin-transform-exponentiation-operator" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-function-name" "^7.12.1" - "@babel/plugin-transform-literals" "^7.12.1" - "@babel/plugin-transform-member-expression-literals" "^7.12.1" - "@babel/plugin-transform-modules-amd" "^7.12.1" - "@babel/plugin-transform-modules-commonjs" "^7.12.1" - "@babel/plugin-transform-modules-systemjs" "^7.12.1" - "@babel/plugin-transform-modules-umd" "^7.12.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" - "@babel/plugin-transform-new-target" "^7.12.1" - "@babel/plugin-transform-object-super" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-property-literals" "^7.12.1" - "@babel/plugin-transform-regenerator" "^7.12.1" - "@babel/plugin-transform-reserved-words" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.7" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.10" - "@babel/plugin-transform-unicode-escapes" "^7.12.1" - "@babel/plugin-transform-unicode-regex" "^7.12.1" + "@babel/plugin-syntax-top-level-await" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.12.13" + "@babel/plugin-transform-async-to-generator" "^7.12.13" + "@babel/plugin-transform-block-scoped-functions" "^7.12.13" + "@babel/plugin-transform-block-scoping" "^7.12.13" + "@babel/plugin-transform-classes" "^7.12.13" + "@babel/plugin-transform-computed-properties" "^7.12.13" + "@babel/plugin-transform-destructuring" "^7.12.13" + "@babel/plugin-transform-dotall-regex" "^7.12.13" + "@babel/plugin-transform-duplicate-keys" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.12.13" + "@babel/plugin-transform-function-name" "^7.12.13" + "@babel/plugin-transform-literals" "^7.12.13" + "@babel/plugin-transform-member-expression-literals" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.12.13" + "@babel/plugin-transform-modules-commonjs" "^7.12.13" + "@babel/plugin-transform-modules-systemjs" "^7.12.13" + "@babel/plugin-transform-modules-umd" "^7.12.13" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" + "@babel/plugin-transform-new-target" "^7.12.13" + "@babel/plugin-transform-object-super" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.12.13" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.12.13" + "@babel/plugin-transform-reserved-words" "^7.12.13" + "@babel/plugin-transform-shorthand-properties" "^7.12.13" + "@babel/plugin-transform-spread" "^7.12.13" + "@babel/plugin-transform-sticky-regex" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.12.13" + "@babel/plugin-transform-typeof-symbol" "^7.12.13" + "@babel/plugin-transform-unicode-escapes" "^7.12.13" + "@babel/plugin-transform-unicode-regex" "^7.12.13" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.11" + "@babel/types" "^7.12.13" core-js-compat "^3.8.0" semver "^5.5.0" @@ -2082,14 +2184,14 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/template@^7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" - integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== +"@babel/template@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.12.7" - "@babel/types" "^7.12.7" + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.8.4", "@babel/traverse@^7.9.0": version "7.11.5" @@ -2121,17 +2223,17 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5": - version "7.12.12" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" - integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w== - dependencies: - "@babel/code-frame" "^7.12.11" - "@babel/generator" "^7.12.11" - "@babel/helper-function-name" "^7.12.11" - "@babel/helper-split-export-declaration" "^7.12.11" - "@babel/parser" "^7.12.11" - "@babel/types" "^7.12.12" +"@babel/traverse@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.13.tgz#689f0e4b4c08587ad26622832632735fb8c4e0c0" + integrity sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.12.13" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" @@ -2154,10 +2256,10 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7": - version "7.12.12" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" - integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== +"@babel/types@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.13.tgz#8be1aa8f2c876da11a9cf650c0ecf656913ad611" + integrity sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ== dependencies: "@babel/helper-validator-identifier" "^7.12.11" lodash "^4.17.19" From fcb0bcfe9ac8735cf0936c41479ec8fbca5f3903 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 4 Feb 2021 19:48:37 +0000 Subject: [PATCH 044/252] chore(deps): update dependency @types/react to v16.14.3 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 2510e8fcd..5cc469c73 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -38,7 +38,7 @@ "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", "@types/node": "14.14.21", - "@types/react": "16.14.2", + "@types/react": "16.14.3", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", diff --git a/yarn.lock b/yarn.lock index 299eca18c..241165d31 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4386,10 +4386,10 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.14.2": - version "16.14.2" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.2.tgz#85dcc0947d0645349923c04ccef6018a1ab7538c" - integrity sha512-BzzcAlyDxXl2nANlabtT4thtvbbnhee8hMmH/CcJrISDBVcJS1iOsP1f0OAgSdGE0MsY9tqcrb9YoZcOFv9dbQ== +"@types/react@16.14.3": + version "16.14.3" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.3.tgz#f5210f5deecf35d8794845549c93c2c3ad63aa9c" + integrity sha512-zPrXn03hmPYqh9DznqSFQsoRtrQ4aHgnZDO+hMGvsE/PORvDTdJCHQ6XvJV31ic+0LzF73huPFXUb++W6Kri0Q== dependencies: "@types/prop-types" "*" csstype "^3.0.2" From 94e7f0c4e5f82bfa28d2d73e2c6b68fbf670e512 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 5 Feb 2021 20:26:30 +0000 Subject: [PATCH 045/252] chore(deps): update dependency @types/node to v14.14.25 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 728914556..9fae63119 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -29,7 +29,7 @@ "@types/jest": "26.0.20", "@types/minio": "7.0.6", "@types/mongodb": "3.6.3", - "@types/node": "14.14.21", + "@types/node": "14.14.25", "@types/supertest": "2.0.10", "chalk": "4.1.0", "jest": "26.6.3", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index c37bca7a0..d870e8b86 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -44,7 +44,7 @@ "@types/express-session": "1.17.3", "@types/jest": "26.0.20", "@types/mongodb": "3.6.3", - "@types/node": "14.14.21", + "@types/node": "14.14.25", "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.0", "@types/passport": "1.0.4", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index efd74a78b..3e6f46ce8 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -40,7 +40,7 @@ "@types/jest": "26.0.20", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.3", - "@types/node": "14.14.21", + "@types/node": "14.14.25", "@types/node-fetch": "2.5.8", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 5cc469c73..91e10af6e 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -37,7 +37,7 @@ "@cypress/webpack-preprocessor": "5.4.11", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", - "@types/node": "14.14.21", + "@types/node": "14.14.25", "@types/react": "16.14.3", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.7", diff --git a/yarn.lock b/yarn.lock index 241165d31..fd1757ea6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4278,10 +4278,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== -"@types/node@14.14.21": - version "14.14.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz#d934aacc22424fe9622ebf6857370c052eae464e" - integrity sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A== +"@types/node@14.14.25": + version "14.14.25" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.25.tgz#15967a7b577ff81383f9b888aa6705d43fbbae93" + integrity sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ== "@types/node@^10.1.0": version "10.17.29" From 237b9f1ad20e53ee8d94fa497b5cfd85c2795e67 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 6 Feb 2021 17:51:57 +0000 Subject: [PATCH 046/252] chore(deps): update dependency husky to v4.3.8 --- package.json | 2 +- yarn.lock | 39 +++++++++++++++++++++++---------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index fc69df9ad..c633b87be 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-react": "7.21.5", "eslint-plugin-react-hooks": "4.1.2", - "husky": "4.3.0", + "husky": "4.3.8", "jest-environment-node": "26.6.2", "lerna": "3.22.1", "typescript": "4.0.5" diff --git a/yarn.lock b/yarn.lock index fd1757ea6..92e0f76e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9832,7 +9832,7 @@ find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-up@5.0.0: +find-up@5.0.0, find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== @@ -9862,12 +9862,12 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-versions@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" - integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== +find-versions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" + integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== dependencies: - semver-regex "^2.0.0" + semver-regex "^3.1.2" find-webpack@2.2.0: version "2.2.0" @@ -10914,18 +10914,18 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.0.tgz#0b2ec1d66424e9219d359e26a51c58ec5278f0de" - integrity sha512-tTMeLCLqSBqnflBZnlVDhpaIMucSGaYyX6855jM4AguGeWCeSzNdb1mfyWduTZ3pe3SJVvVWGL0jO1iKZVPfTA== +husky@4.3.8: + version "4.3.8" + resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d" + integrity sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow== dependencies: chalk "^4.0.0" ci-info "^2.0.0" compare-versions "^3.6.0" cosmiconfig "^7.0.0" - find-versions "^3.2.0" + find-versions "^4.0.0" opencollective-postinstall "^2.0.2" - pkg-dir "^4.2.0" + pkg-dir "^5.0.0" please-upgrade-node "^3.2.0" slash "^3.0.0" which-pm-runs "^1.0.0" @@ -15288,6 +15288,13 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-dir@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== + dependencies: + find-up "^5.0.0" + pkg-up@3.1.0, pkg-up@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" @@ -17836,10 +17843,10 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -semver-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" - integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== +semver-regex@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807" + integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA== "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" From 00fac743815ab76228e865b46db9fb7c24e9bc3a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 7 Feb 2021 12:04:26 +0000 Subject: [PATCH 047/252] chore(deps): update dependency mongodb-memory-server to v6.9.3 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index d870e8b86..3a3903637 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -62,7 +62,7 @@ "graphql": "15.4.0", "itmat-setup": "0.0.1", "jest": "26.6.3", - "mongodb-memory-server": "6.9.2", + "mongodb-memory-server": "6.9.3", "node-fetch": "2.6.1", "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", diff --git a/yarn.lock b/yarn.lock index 92e0f76e4..b6184a0ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13938,10 +13938,10 @@ moment@2.29.1, moment@^2.24.0, moment@^2.25.3, moment@^2.27.0: resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== -mongodb-memory-server-core@6.9.2: - version "6.9.2" - resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-6.9.2.tgz#a064602e85c065c63776cef20ec7311d2b2da206" - integrity sha512-0naMEESKsJNBg4/djN9qc+Argmg5UElJ/EFP9M4opTH//GZ1Rn6SI5S43NFHJrizOPGojAAp21gn7rNOru7Ypw== +mongodb-memory-server-core@6.9.3: + version "6.9.3" + resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-6.9.3.tgz#1c5f7d339e8ac66290b5f1363a49efb40a32e3c5" + integrity sha512-9ZaWemIQLbu9VG553ksMiV7TNnzICqXhSSQv/7Io6dnuO8VpoLLdd1wIz+r2YuWFP7U159JPWQc8QG9jIL27og== dependencies: "@types/tmp" "^0.2.0" camelcase "^6.0.0" @@ -13962,12 +13962,12 @@ mongodb-memory-server-core@6.9.2: optionalDependencies: mongodb "3.6.2" -mongodb-memory-server@6.9.2: - version "6.9.2" - resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-6.9.2.tgz#75880bf5f485deceba2d7df20659b2796ff703cf" - integrity sha512-+8axA5PlO+C3H+kgsxt6+6edcKAaY56YjYt+MWj9t1ZiKsEr+7SPsQfJcEoX+Kiz802jt1BOOIbYQVLX+08Hag== +mongodb-memory-server@6.9.3: + version "6.9.3" + resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-6.9.3.tgz#1ea342531603625ef501fa12217f447d0ecea6b3" + integrity sha512-VU2ey+fknmZflHltPCznZr9fja8T6K7DTG5m7wSxmQC/Qf/kkKmRGqIPcZoEU5znRR/8m/EaOe+hFWkjmh1W5A== dependencies: - mongodb-memory-server-core "6.9.2" + mongodb-memory-server-core "6.9.3" mongodb@3.6.2: version "3.6.2" From ca09064c5adf1646d8222b0401faeb09efc028e6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 7 Feb 2021 19:45:43 +0000 Subject: [PATCH 048/252] chore(deps): update dependency webpack to v5.21.2 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 329 +++++++++++------------ 4 files changed, 166 insertions(+), 169 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index d870e8b86..06ce9a92f 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -70,7 +70,7 @@ "ts-jest": "26.4.4", "ts-loader": "8.0.10", "typescript": "4.0.5", - "webpack": "5.4.0", + "webpack": "5.21.2", "webpack-cli": "4.2.0" }, "resolutions": { diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 3e6f46ce8..79f4b39d3 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -55,7 +55,7 @@ "ts-jest": "26.4.4", "ts-loader": "8.0.10", "typescript": "4.0.5", - "webpack": "5.4.0", + "webpack": "5.21.2", "webpack-cli": "4.2.0" }, "eslintConfig": { diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 91e10af6e..1910380a9 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -54,7 +54,7 @@ "rimraf": "3.0.2", "typescript": "4.0.5", "uuid": "8.3.1", - "webpack": "5.4.0" + "webpack": "5.21.2" }, "resolutions": { "**/moment": "2.29.1" diff --git a/yarn.lock b/yarn.lock index 92e0f76e4..142e2c69a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4034,11 +4034,16 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.45": +"@types/estree@*": version "0.0.45" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== +"@types/estree@^0.0.46": + version "0.0.46" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" + integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== + "@types/express-serve-static-core@*": version "4.17.12" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.12.tgz#9a487da757425e4f267e7d1c5720226af7f89591" @@ -4606,6 +4611,14 @@ resolved "https://registry.yarnpkg.com/@ungap/global-this/-/global-this-0.4.3.tgz#44cb668b03e7c4bc88cb6e6f9329d381131878ee" integrity sha512-MuHEpDBurNVeD6mV9xBcAN2wfTwuaFQhHuhWkJuXmyVJ5P5sBCw+nnFpdfb0tAvgWkfefWCsAoAsh7MTUr3LPg== +"@webassemblyjs/ast@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" + integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -4615,45 +4628,36 @@ "@webassemblyjs/helper-wasm-bytecode" "1.8.5" "@webassemblyjs/wast-parser" "1.8.5" -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" +"@webassemblyjs/floating-point-hex-parser@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c" + integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA== "@webassemblyjs/floating-point-hex-parser@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== +"@webassemblyjs/helper-api-error@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4" + integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w== "@webassemblyjs/helper-api-error@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== +"@webassemblyjs/helper-buffer@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642" + integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA== "@webassemblyjs/helper-buffer@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - "@webassemblyjs/helper-code-frame@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" @@ -4661,23 +4665,11 @@ dependencies: "@webassemblyjs/wast-printer" "1.8.5" -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - "@webassemblyjs/helper-fsm@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - "@webassemblyjs/helper-module-context@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" @@ -4686,22 +4678,34 @@ "@webassemblyjs/ast" "1.8.5" mamacro "^0.0.3" -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== +"@webassemblyjs/helper-numbers@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9" + integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ== dependencies: - "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.11.0" + "@webassemblyjs/helper-api-error" "1.11.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1" + integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA== "@webassemblyjs/helper-wasm-bytecode@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== +"@webassemblyjs/helper-wasm-section@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b" + integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" "@webassemblyjs/helper-wasm-section@1.8.5": version "1.8.5" @@ -4713,15 +4717,12 @@ "@webassemblyjs/helper-wasm-bytecode" "1.8.5" "@webassemblyjs/wasm-gen" "1.8.5" -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== +"@webassemblyjs/ieee754@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf" + integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" + "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/ieee754@1.8.5": version "1.8.5" @@ -4730,12 +4731,12 @@ dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== +"@webassemblyjs/leb128@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b" + integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g== dependencies: - "@xtuc/ieee754" "^1.2.0" + "@xtuc/long" "4.2.2" "@webassemblyjs/leb128@1.8.5": version "1.8.5" @@ -4744,22 +4745,29 @@ dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" +"@webassemblyjs/utf8@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf" + integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw== "@webassemblyjs/utf8@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== +"@webassemblyjs/wasm-edit@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78" + integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/helper-wasm-section" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/wasm-opt" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + "@webassemblyjs/wast-printer" "1.11.0" "@webassemblyjs/wasm-edit@1.8.5": version "1.8.5" @@ -4775,19 +4783,16 @@ "@webassemblyjs/wasm-parser" "1.8.5" "@webassemblyjs/wast-printer" "1.8.5" -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" +"@webassemblyjs/wasm-gen@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe" + integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ieee754" "1.11.0" + "@webassemblyjs/leb128" "1.11.0" + "@webassemblyjs/utf8" "1.11.0" "@webassemblyjs/wasm-gen@1.8.5": version "1.8.5" @@ -4800,16 +4805,15 @@ "@webassemblyjs/leb128" "1.8.5" "@webassemblyjs/utf8" "1.8.5" -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== +"@webassemblyjs/wasm-opt@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978" + integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" "@webassemblyjs/wasm-opt@1.8.5": version "1.8.5" @@ -4821,15 +4825,17 @@ "@webassemblyjs/wasm-gen" "1.8.5" "@webassemblyjs/wasm-parser" "1.8.5" -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== +"@webassemblyjs/wasm-parser@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754" + integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-api-error" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ieee754" "1.11.0" + "@webassemblyjs/leb128" "1.11.0" + "@webassemblyjs/utf8" "1.11.0" "@webassemblyjs/wasm-parser@1.8.5": version "1.8.5" @@ -4843,18 +4849,6 @@ "@webassemblyjs/leb128" "1.8.5" "@webassemblyjs/utf8" "1.8.5" -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - "@webassemblyjs/wast-parser@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" @@ -4867,16 +4861,12 @@ "@webassemblyjs/helper-fsm" "1.8.5" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" +"@webassemblyjs/wast-printer@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e" + integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.8.5": @@ -4888,15 +4878,6 @@ "@webassemblyjs/wast-parser" "1.8.5" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - "@webpack-cli/info@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.1.0.tgz#c596d5bc48418b39df00c5ed7341bf0f102dbff1" @@ -8726,13 +8707,13 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.3.1.tgz#3f988d0d7775bdc2d96ede321dc81f8249492f57" - integrity sha512-G1XD3MRGrGfNcf6Hg0LVZG7GIKcYkbfHa5QMxt1HDUTdYoXH0JR1xXyg+MaKLF73E9A27uWNVxvFivNRYeUB6w== +enhanced-resolve@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" + integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== dependencies: graceful-fs "^4.2.4" - tapable "^2.0.0" + tapable "^2.2.0" enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" @@ -8894,6 +8875,11 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" +es-module-lexer@^0.3.26: + version "0.3.26" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.26.tgz#7b507044e97d5b03b01d4392c74ffeb9c177a83b" + integrity sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA== + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -12578,7 +12564,7 @@ jest-worker@^25.1.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.6.1, jest-worker@^26.6.2: +jest-worker@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -13131,10 +13117,10 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-runner@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.1.0.tgz#f70bc0c29edbabdf2043e7ee73ccc3fe1c96b42d" - integrity sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA== +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== loader-utils@1.2.3: version "1.2.3" @@ -14838,6 +14824,13 @@ p-limit@^3.0.2: dependencies: p-try "^2.0.0" +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -18882,10 +18875,10 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tapable@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.0.0.tgz#a49c3d6a8a2bb606e7db372b82904c970d537a08" - integrity sha512-bjzn0C0RWoffnNdTzNi7rNDhs1Zlwk2tRXgk8EiHKAOX1Mag3d6T0Y5zNa7l9CJ+EoUne/0UHdwS8tMbkh9zDg== +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" + integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== tar-stream@^2.1.4: version "2.1.4" @@ -18966,17 +18959,17 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser-webpack-plugin@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz#ec60542db2421f45735c719d2e17dabfbb2e3e42" - integrity sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ== +terser-webpack-plugin@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" + integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== dependencies: - jest-worker "^26.6.1" - p-limit "^3.0.2" + jest-worker "^26.6.2" + p-limit "^3.1.0" schema-utils "^3.0.0" serialize-javascript "^5.0.1" source-map "^0.6.1" - terser "^5.3.8" + terser "^5.5.1" terser@^4.1.2, terser@^4.4.3, terser@^4.6.3: version "4.8.0" @@ -18996,10 +18989,10 @@ terser@^5.2.0: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.3.8: - version "5.3.8" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.8.tgz#991ae8ba21a3d990579b54aa9af11586197a75dd" - integrity sha512-zVotuHoIfnYjtlurOouTazciEfL7V38QMAOhGqpXDEg6yT13cF4+fEP9b0rrCEQTn+tT46uxgFsTZzhygk+CzQ== +terser@^5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" + integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -20014,33 +20007,32 @@ webpack@4.41.5: watchpack "^1.6.0" webpack-sources "^1.4.1" -webpack@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.4.0.tgz#4fdc6ec8a0ff9160701fb8f2eb8d06b33ecbae0f" - integrity sha512-udpYTyqz8toTTdaOsL2QKPLeZLt2IEm9qY7yTXuFEQhKu5bk0yQD9BtAdVQksmz4jFbbWOiWmm3NHarO0zr/ng== +webpack@5.21.2: + version "5.21.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.21.2.tgz#647507e50d3637695be28af58a6a8246050394e7" + integrity sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg== dependencies: "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.45" - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" + "@types/estree" "^0.0.46" + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/wasm-edit" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" acorn "^8.0.4" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.3.1" + enhanced-resolve "^5.7.0" + es-module-lexer "^0.3.26" eslint-scope "^5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" graceful-fs "^4.2.4" json-parse-better-errors "^1.0.2" - loader-runner "^4.1.0" + loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - pkg-dir "^4.2.0" schema-utils "^3.0.0" - tapable "^2.0.0" - terser-webpack-plugin "^5.0.3" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.1" watchpack "^2.0.0" webpack-sources "^2.1.1" @@ -20606,6 +20598,11 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + zen-observable-ts@^0.8.21: version "0.8.21" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" From 7a6c6f24441c193c90e226ba7d4b64a238d48785 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 10 Feb 2021 18:26:38 +0000 Subject: [PATCH 049/252] chore(deps): update dependency ts-loader to v8.0.17 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 32 ++++++++++++++++++------ 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 3a3903637..f8b5313c4 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -68,7 +68,7 @@ "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", "ts-jest": "26.4.4", - "ts-loader": "8.0.10", + "ts-loader": "8.0.17", "typescript": "4.0.5", "webpack": "5.4.0", "webpack-cli": "4.2.0" diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 3e6f46ce8..dbc976c5a 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -53,7 +53,7 @@ "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", "ts-jest": "26.4.4", - "ts-loader": "8.0.10", + "ts-loader": "8.0.17", "typescript": "4.0.5", "webpack": "5.4.0", "webpack-cli": "4.2.0" diff --git a/yarn.lock b/yarn.lock index b6184a0ad..b49ac2347 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6824,7 +6824,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -13154,6 +13154,15 @@ loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4 emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -17868,6 +17877,13 @@ semver@7.3.2, semver@7.x, semver@^7.2.1, semver@^7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@^7.3.4: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -19285,16 +19301,16 @@ ts-jest@26.4.4: semver "7.x" yargs-parser "20.x" -ts-loader@8.0.10: - version "8.0.10" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.10.tgz#4af4afb8d26847290cd010df93a4c172df92278f" - integrity sha512-5fVbbZldz6LQi6RQ0v1P7lZ98CZGlQyM8b4xGZXw3G/XUqL8GIH+Ib6H01nImPhkHZ9+PVXZgTb+v3fRsaIHlg== +ts-loader@8.0.17: + version "8.0.17" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.17.tgz#98f2ccff9130074f4079fd89b946b4c637b1f2fc" + integrity sha512-OeVfSshx6ot/TCxRwpBHQ/4lRzfgyTkvi7ghDVrLXOHzTbSK413ROgu/xNqM72i3AFeAIJgQy78FwSMKmOW68w== dependencies: - chalk "^2.3.0" + chalk "^4.1.0" enhanced-resolve "^4.0.0" - loader-utils "^1.0.2" + loader-utils "^2.0.0" micromatch "^4.0.0" - semver "^6.0.0" + semver "^7.3.4" ts-pnp@1.1.5: version "1.1.5" From cdc15e99d11fc3e12e94d57dad1ec21a7b20ee5e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 12 Feb 2021 21:56:28 +0000 Subject: [PATCH 050/252] chore(deps): update babel monorepo to v7.12.16 --- packages/itmat-job-executor/package.json | 4 +- packages/itmat-ui-react/package.json | 4 +- yarn.lock | 78 ++++++++++++++---------- 3 files changed, 50 insertions(+), 36 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 8016ed66e..55384a6d7 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -33,8 +33,8 @@ "uuid": "8.3.1" }, "devDependencies": { - "@babel/core": "7.12.13", - "@babel/preset-env": "7.12.13", + "@babel/core": "7.12.16", + "@babel/preset-env": "7.12.16", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", "@types/jest": "26.0.20", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 1910380a9..48be30d74 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -32,8 +32,8 @@ "subscriptions-transport-ws": "0.9.18" }, "devDependencies": { - "@babel/core": "7.12.13", - "@babel/preset-env": "7.12.13", + "@babel/core": "7.12.16", + "@babel/preset-env": "7.12.16", "@cypress/webpack-preprocessor": "5.4.11", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", diff --git a/yarn.lock b/yarn.lock index 699148f16..9db6e2fce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -186,16 +186,16 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.13.tgz#27e19e0ed3726ccf54067ced4109501765e7e2e8" integrity sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg== -"@babel/core@7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.13.tgz#b73a87a3a3e7d142a66248bf6ad88b9ceb093425" - integrity sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw== +"@babel/core@7.12.16": + version "7.12.16" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.16.tgz#8c6ba456b23b680a6493ddcfcd9d3c3ad51cab7c" + integrity sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw== dependencies: "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.12.13" + "@babel/generator" "^7.12.15" "@babel/helper-module-transforms" "^7.12.13" "@babel/helpers" "^7.12.13" - "@babel/parser" "^7.12.13" + "@babel/parser" "^7.12.16" "@babel/template" "^7.12.13" "@babel/traverse" "^7.12.13" "@babel/types" "^7.12.13" @@ -319,6 +319,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.15": + version "7.12.15" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz#4617b5d0b25cc572474cc1aafee1edeaf9b5368f" + integrity sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ== + dependencies: + "@babel/types" "^7.12.13" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -377,13 +386,13 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-compilation-targets@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz#d689cdef88810aa74e15a7a94186f26a3d773c98" - integrity sha512-dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw== +"@babel/helper-compilation-targets@^7.12.16": + version "7.12.16" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.16.tgz#6905238b4a5e02ba2d032c1a49dd1820fe8ce61b" + integrity sha512-dBHNEEaZx7F3KoUYqagIhRIeqyyuI65xMndMZ3WwGwEBI609I4TleYQHcrS627vbKyNTXqShoN+fvYD9HuQxAg== dependencies: "@babel/compat-data" "^7.12.13" - "@babel/helper-validator-option" "^7.12.11" + "@babel/helper-validator-option" "^7.12.16" browserslist "^4.14.5" semver "^5.5.0" @@ -721,10 +730,10 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/helper-validator-option@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f" - integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw== +"@babel/helper-validator-option@^7.12.16": + version "7.12.16" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.16.tgz#f73cbd3bbba51915216c5dea908e9b206bb10051" + integrity sha512-uCgsDBPUQDvzr11ePPo4TVEocxj8RXjUVSC/Y8N1YpVAI/XDdUwGJu78xmlGhTxj2ntaWM7n9LQdRtyhOzT2YQ== "@babel/helper-wrap-function@^7.10.4": version "7.10.4" @@ -797,6 +806,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.14.tgz#4adb7c5eef1d437ef965ad1569cd826db8c11dc9" integrity sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ== +"@babel/parser@^7.12.16": + version "7.12.16" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz#cc31257419d2c3189d394081635703f549fc1ed4" + integrity sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw== + "@babel/plugin-proposal-async-generator-functions@^7.10.4", "@babel/plugin-proposal-async-generator-functions@^7.2.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" @@ -864,12 +878,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-dynamic-import@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" - integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== +"@babel/plugin-proposal-dynamic-import@^7.12.16": + version "7.12.16" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.16.tgz#b9f33b252e3406d492a15a799c9d45a9a9613473" + integrity sha512-yiDkYFapVxNOCcBfLnsb/qdsliroM+vc3LHiZwS4gh7pFjo5Xq3BDhYBNn3H3ao+hWPvqeeTdU+s+FIvokov+w== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-dynamic-import" "^7.8.0" "@babel/plugin-proposal-export-namespace-from@^7.10.4": @@ -1027,10 +1041,10 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz#63a7d805bc8ce626f3234ee5421a2a7fb23f66d9" - integrity sha512-0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q== +"@babel/plugin-proposal-optional-chaining@^7.12.16": + version "7.12.16" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.16.tgz#600c7531f754186b0f2096e495a92da7d88aa139" + integrity sha512-O3ohPwOhkwji5Mckb7F/PJpJVJY3DpPsrt/F0Bk40+QMk9QpAIqeGusHWqu/mYqsM8oBa6TziL/2mbERWsUZjg== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" @@ -1818,19 +1832,19 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.13" "@babel/helper-plugin-utils" "^7.12.13" -"@babel/preset-env@7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.13.tgz#3aa2d09cf7d255177538dff292ac9af29ad46525" - integrity sha512-JUVlizG8SoFTz4LmVUL8++aVwzwxcvey3N0j1tRbMAXVEy95uQ/cnEkmEKHN00Bwq4voAV3imQGnQvpkLAxsrw== +"@babel/preset-env@7.12.16": + version "7.12.16" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.16.tgz#16710e3490e37764b2f41886de0a33bc4ae91082" + integrity sha512-BXCAXy8RE/TzX416pD2hsVdkWo0G+tYd16pwnRV4Sc0fRwTLRS/Ssv8G5RLXUGQv7g4FG7TXkdDJxCjQ5I+Zjg== dependencies: "@babel/compat-data" "^7.12.13" - "@babel/helper-compilation-targets" "^7.12.13" + "@babel/helper-compilation-targets" "^7.12.16" "@babel/helper-module-imports" "^7.12.13" "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-validator-option" "^7.12.11" + "@babel/helper-validator-option" "^7.12.16" "@babel/plugin-proposal-async-generator-functions" "^7.12.13" "@babel/plugin-proposal-class-properties" "^7.12.13" - "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.16" "@babel/plugin-proposal-export-namespace-from" "^7.12.13" "@babel/plugin-proposal-json-strings" "^7.12.13" "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" @@ -1838,7 +1852,7 @@ "@babel/plugin-proposal-numeric-separator" "^7.12.13" "@babel/plugin-proposal-object-rest-spread" "^7.12.13" "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" - "@babel/plugin-proposal-optional-chaining" "^7.12.13" + "@babel/plugin-proposal-optional-chaining" "^7.12.16" "@babel/plugin-proposal-private-methods" "^7.12.13" "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" "@babel/plugin-syntax-async-generators" "^7.8.0" From f962e2da543e315b854610aff789a852e7ff3fb9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 14 Feb 2021 21:10:08 +0000 Subject: [PATCH 051/252] chore(deps): update dependency @cypress/webpack-preprocessor to v5.5.0 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 48be30d74..974a195f0 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -34,7 +34,7 @@ "devDependencies": { "@babel/core": "7.12.16", "@babel/preset-env": "7.12.16", - "@cypress/webpack-preprocessor": "5.4.11", + "@cypress/webpack-preprocessor": "5.5.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", "@types/node": "14.14.25", diff --git a/yarn.lock b/yarn.lock index 9db6e2fce..2b6981800 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2380,15 +2380,6 @@ tunnel-agent "^0.6.0" uuid "^3.3.2" -"@cypress/webpack-preprocessor@5.4.11": - version "5.4.11" - resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.4.11.tgz#77f86e399f04969d5d8692ada96c794c52d38f87" - integrity sha512-6kj0HsaWf1s0UT4qkABuwl676sW8S8lSTai3NUcF3BWj9BqhN4JPd2DdGcHNkNmYRkjpklPeGUHqAOyqMDj5+A== - dependencies: - bluebird "^3.7.1" - debug "^4.1.1" - lodash "^4.17.20" - "@cypress/webpack-preprocessor@5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.5.0.tgz#e7010b2ee7449691cc16a9d5d1956af17ea175fd" From 0feb4061b888d9121745f94fb46af67cd350307e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 15 Feb 2021 09:45:04 +0000 Subject: [PATCH 052/252] chore(deps): update dependency @types/react to v16.14.4 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 974a195f0..730937ce7 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -38,7 +38,7 @@ "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", "@types/node": "14.14.25", - "@types/react": "16.14.3", + "@types/react": "16.14.4", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", diff --git a/yarn.lock b/yarn.lock index 2b6981800..0570fd259 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4396,10 +4396,10 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.14.3": - version "16.14.3" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.3.tgz#f5210f5deecf35d8794845549c93c2c3ad63aa9c" - integrity sha512-zPrXn03hmPYqh9DznqSFQsoRtrQ4aHgnZDO+hMGvsE/PORvDTdJCHQ6XvJV31ic+0LzF73huPFXUb++W6Kri0Q== +"@types/react@16.14.4": + version "16.14.4" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.4.tgz#365f6a1e117d1eec960ba792c7e1e91ecad38e6f" + integrity sha512-ETj7GbkPGjca/A4trkVeGvoIakmLV6ZtX3J8dcmOpzKzWVybbrOxanwaIPG71GZwImoMDY6Fq4wIe34lEqZ0FQ== dependencies: "@types/prop-types" "*" csstype "^3.0.2" From 22fd04bef0bd52a9cf01aa0c88a8ee99520fe188 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 16 Feb 2021 13:22:18 +0000 Subject: [PATCH 053/252] chore(deps): update dependency @cypress/webpack-preprocessor to v5.6.0 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 730937ce7..7a370c5e5 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -34,7 +34,7 @@ "devDependencies": { "@babel/core": "7.12.16", "@babel/preset-env": "7.12.16", - "@cypress/webpack-preprocessor": "5.5.0", + "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", "@types/node": "14.14.25", diff --git a/yarn.lock b/yarn.lock index 0570fd259..74adc3a7f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2389,6 +2389,15 @@ debug "^4.1.1" lodash "^4.17.20" +"@cypress/webpack-preprocessor@5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.6.0.tgz#9648ae22d2e52f17a604e2a493af27a9c96568bd" + integrity sha512-kSelTDe6gs3Skp4vPP2vfTvAl+Ua+9rR/AMTir7bgJihDvzFESqnjWtF6N1TrPo+vCFVGx0VUA6JUvDkhvpwhA== + dependencies: + bluebird "^3.7.1" + debug "4.3.2" + lodash "^4.17.20" + "@cypress/xvfb@^1.2.4": version "1.2.4" resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" @@ -8106,6 +8115,13 @@ debug@4.3.1: dependencies: ms "2.1.2" +debug@4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" From 61d518704f4106ce32aef36acd6f5df82dd89033 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 16 Feb 2021 14:43:19 +0000 Subject: [PATCH 054/252] chore(deps): update dependency @types/node to v14.14.28 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 9fae63119..1b12548b1 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -29,7 +29,7 @@ "@types/jest": "26.0.20", "@types/minio": "7.0.6", "@types/mongodb": "3.6.3", - "@types/node": "14.14.25", + "@types/node": "14.14.28", "@types/supertest": "2.0.10", "chalk": "4.1.0", "jest": "26.6.3", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 5d0cf57e2..6cb19776c 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -44,7 +44,7 @@ "@types/express-session": "1.17.3", "@types/jest": "26.0.20", "@types/mongodb": "3.6.3", - "@types/node": "14.14.25", + "@types/node": "14.14.28", "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.0", "@types/passport": "1.0.4", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 55384a6d7..fe418eb3f 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -40,7 +40,7 @@ "@types/jest": "26.0.20", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.3", - "@types/node": "14.14.25", + "@types/node": "14.14.28", "@types/node-fetch": "2.5.8", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 730937ce7..1f79912c9 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -37,7 +37,7 @@ "@cypress/webpack-preprocessor": "5.5.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", - "@types/node": "14.14.25", + "@types/node": "14.14.28", "@types/react": "16.14.4", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.7", diff --git a/yarn.lock b/yarn.lock index 0570fd259..5cabbe19c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4288,10 +4288,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== -"@types/node@14.14.25": - version "14.14.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.25.tgz#15967a7b577ff81383f9b888aa6705d43fbbae93" - integrity sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ== +"@types/node@14.14.28": + version "14.14.28" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.28.tgz#cade4b64f8438f588951a6b35843ce536853f25b" + integrity sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g== "@types/node@^10.1.0": version "10.17.29" From 2b6f8f5224330fc346885bee121726b93e799d6d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 17 Feb 2021 05:20:25 +0000 Subject: [PATCH 055/252] chore(deps): update dependency eslint-plugin-jest to v24.1.5 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c633b87be..f52e7134a 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.2.0", "eslint-plugin-import": "2.22.1", - "eslint-plugin-jest": "24.1.0", + "eslint-plugin-jest": "24.1.5", "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-react": "7.21.5", "eslint-plugin-react-hooks": "4.1.2", diff --git a/yarn.lock b/yarn.lock index 0570fd259..943f0d52b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9067,10 +9067,10 @@ eslint-plugin-import@2.22.1: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-plugin-jest@24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.1.0.tgz#6708037d7602e5288ce877fd0103f329dc978361" - integrity sha512-827YJ+E8B9PvXu/0eiVSNFfxxndbKv+qE/3GSMhdorCaeaOehtqHGX2YDW9B85TEOre9n/zscledkFW/KbnyGg== +eslint-plugin-jest@24.1.5: + version "24.1.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.1.5.tgz#1e866a9f0deac587d0a3d5d7cefe99815a580de2" + integrity sha512-FIP3lwC8EzEG+rOs1y96cOJmMVpdFNreoDJv29B5vIupVssRi8zrSY3QadogT0K3h1Y8TMxJ6ZSAzYUmFCp2hg== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" From 9cb2f6e205f958b47cad36c8cdc42984323bb8a5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 18 Feb 2021 14:00:13 +0000 Subject: [PATCH 056/252] chore(deps): update dependency eslint to v7.20.0 --- package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 28 +++++++++++++++++++++------- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index c633b87be..872d2e103 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", - "eslint": "7.19.0", + "eslint": "7.20.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.2.0", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index 2ab8dfe6a..94d658215 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/mongodb": "3.6.3", "chalk": "4.1.0", - "eslint": "7.19.0", + "eslint": "7.20.0", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/yarn.lock b/yarn.lock index 74adc3a7f..babaad67d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -151,6 +151,13 @@ dependencies: xss "^1.0.6" +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/code-frame@7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" @@ -9212,12 +9219,12 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.19.0: - version "7.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.19.0.tgz#6719621b196b5fad72e43387981314e5d0dc3f41" - integrity sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg== +eslint@7.20.0: + version "7.20.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" + integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw== dependencies: - "@babel/code-frame" "^7.0.0" + "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.3.0" ajv "^6.10.0" chalk "^4.0.0" @@ -9229,7 +9236,7 @@ eslint@7.19.0: eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" - esquery "^1.2.0" + esquery "^1.4.0" esutils "^2.0.2" file-entry-cache "^6.0.0" functional-red-black-tree "^1.0.1" @@ -9330,13 +9337,20 @@ esprima@^4.0.0, esprima@^4.0.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.1, esquery@^1.2.0: +esquery@^1.0.1: version "1.3.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== dependencies: estraverse "^5.1.0" +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + esrecurse@^4.1.0, esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" From 432f36fa9b1d9b54ee6a96f3c47894b0f6dac74f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 18 Feb 2021 21:44:46 +0000 Subject: [PATCH 057/252] chore(deps): update dependency eslint-plugin-flowtype to v5.2.2 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c633b87be..e1c94f501 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "eslint": "7.19.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", - "eslint-plugin-flowtype": "5.2.0", + "eslint-plugin-flowtype": "5.2.2", "eslint-plugin-import": "2.22.1", "eslint-plugin-jest": "24.1.0", "eslint-plugin-jsx-a11y": "6.4.1", diff --git a/yarn.lock b/yarn.lock index 613898011..f530746a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9038,10 +9038,10 @@ eslint-plugin-flowtype@4.6.0: dependencies: lodash "^4.17.15" -eslint-plugin-flowtype@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.0.tgz#a4bef5dc18f9b2bdb41569a4ab05d73805a3d261" - integrity sha512-z7ULdTxuhlRJcEe1MVljePXricuPOrsWfScRXFhNzVD5dmTHWjIF57AxD0e7AbEoLSbjSsaA5S+hCg43WvpXJQ== +eslint-plugin-flowtype@5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.2.tgz#c6e5dd2fad4e757a1c63e652da6cff597659554f" + integrity sha512-C4PlPYpszr9h1cBfUbTNRI1IdxUCF0qrXAHkXS2+bESp7WUUCnvb3UBBnYlaQLvJYJ2lRz+2SPQQ/WyV7p/Tow== dependencies: lodash "^4.17.15" string-natural-compare "^3.0.1" From 9a0b8ff96837cf66cb02833dffa3579c0c1b2d3f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 23 Feb 2021 23:57:24 +0000 Subject: [PATCH 058/252] chore(deps): update dependency ts-jest to v26.5.2 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 17 +++++++++++------ 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 1b12548b1..9966d20a9 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -34,7 +34,7 @@ "chalk": "4.1.0", "jest": "26.6.3", "rimraf": "3.0.2", - "ts-jest": "26.4.4", + "ts-jest": "26.5.2", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 6cb19776c..a3590c387 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -67,7 +67,7 @@ "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", - "ts-jest": "26.4.4", + "ts-jest": "26.5.2", "ts-loader": "8.0.17", "typescript": "4.0.5", "webpack": "5.21.2", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index fe418eb3f..59201f136 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -52,7 +52,7 @@ "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", - "ts-jest": "26.4.4", + "ts-jest": "26.5.2", "ts-loader": "8.0.17", "typescript": "4.0.5", "webpack": "5.21.2", diff --git a/yarn.lock b/yarn.lock index 02cb110f6..99681a3b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13307,7 +13307,7 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" -lodash.memoize@4.x, lodash.memoize@^4.1.2: +lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= @@ -13352,6 +13352,11 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= +lodash@4.x: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + "lodash@>=3.5 <5", lodash@^4.14.2, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5, lodash@^4.2.1: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" @@ -19312,10 +19317,10 @@ ts-invariant@^0.6.0: "@ungap/global-this" "^0.4.2" tslib "^1.9.3" -ts-jest@26.4.4: - version "26.4.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.4.4.tgz#61f13fb21ab400853c532270e52cc0ed7e502c49" - integrity sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg== +ts-jest@26.5.2: + version "26.5.2" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.2.tgz#5281d6b44c2f94f71205728a389edc3d7995b0c4" + integrity sha512-bwyJ2zJieSugf7RB+o8fgkMeoMVMM2KPDE0UklRLuACxjwJsOrZNo6chrcScmK33YavPSwhARffy8dZx5LJdUQ== dependencies: "@types/jest" "26.x" bs-logger "0.x" @@ -19323,7 +19328,7 @@ ts-jest@26.4.4: fast-json-stable-stringify "2.x" jest-util "^26.1.0" json5 "2.x" - lodash.memoize "4.x" + lodash "4.x" make-error "1.x" mkdirp "1.x" semver "7.x" From 382bc5318f347db51a1c04b25b2b993ab3f12b0d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 24 Feb 2021 21:53:46 +0000 Subject: [PATCH 059/252] chore(deps): update dependency eslint-plugin-flowtype to v5.3.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 0ff3caeb8..57d203890 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "eslint": "7.20.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", - "eslint-plugin-flowtype": "5.2.2", + "eslint-plugin-flowtype": "5.3.1", "eslint-plugin-import": "2.22.1", "eslint-plugin-jest": "24.1.0", "eslint-plugin-jsx-a11y": "6.4.1", diff --git a/yarn.lock b/yarn.lock index 99681a3b2..6d34fc03f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9045,10 +9045,10 @@ eslint-plugin-flowtype@4.6.0: dependencies: lodash "^4.17.15" -eslint-plugin-flowtype@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.2.tgz#c6e5dd2fad4e757a1c63e652da6cff597659554f" - integrity sha512-C4PlPYpszr9h1cBfUbTNRI1IdxUCF0qrXAHkXS2+bESp7WUUCnvb3UBBnYlaQLvJYJ2lRz+2SPQQ/WyV7p/Tow== +eslint-plugin-flowtype@5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.3.1.tgz#df6227e28c61d967b825c1327a27818bbb2ad325" + integrity sha512-mziJD+zw+VTwLtF9qLIxYac0GJCbSEDyqMLP5ENzQeNY5EOxbAfitMFLo+UItjYOISQdh1BCobwE2d4i1o+9Rw== dependencies: lodash "^4.17.15" string-natural-compare "^3.0.1" From d5430f80e98645c9cea0b6fd2d1dbc5f08c09e5c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 28 Feb 2021 19:35:59 +0000 Subject: [PATCH 060/252] chore(deps): update dependency eslint to v7.21.0 --- package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 29 ++++++++++++++--------------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index c67bb741f..5bbeeaa51 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", - "eslint": "7.20.0", + "eslint": "7.21.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.3.1", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index 94d658215..f746238e5 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/mongodb": "3.6.3", "chalk": "4.1.0", - "eslint": "7.20.0", + "eslint": "7.21.0", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/yarn.lock b/yarn.lock index 24f95c03c..53c6c5895 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2413,10 +2413,10 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@eslint/eslintrc@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" - integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== +"@eslint/eslintrc@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" + integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -2425,7 +2425,6 @@ ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" - lodash "^4.17.20" minimatch "^3.0.4" strip-json-comments "^3.1.1" @@ -9219,13 +9218,13 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.20.0: - version "7.20.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" - integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw== +eslint@7.21.0: + version "7.21.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.21.0.tgz#4ecd5b8c5b44f5dedc9b8a110b01bbfeb15d1c83" + integrity sha512-W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.3.0" + "@eslint/eslintrc" "^0.4.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -9238,7 +9237,7 @@ eslint@7.20.0: espree "^7.3.1" esquery "^1.4.0" esutils "^2.0.2" - file-entry-cache "^6.0.0" + file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" glob-parent "^5.0.0" globals "^12.1.0" @@ -9758,10 +9757,10 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-entry-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" - integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" From 7644de3d17c6d071e368351a43212cd15c1f1464 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 1 Mar 2021 12:54:12 +0000 Subject: [PATCH 061/252] chore(deps): update dependency webpack to v5.24.2 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 18 +++++++++--------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index a3590c387..69a0d3f2e 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -70,7 +70,7 @@ "ts-jest": "26.5.2", "ts-loader": "8.0.17", "typescript": "4.0.5", - "webpack": "5.21.2", + "webpack": "5.24.2", "webpack-cli": "4.2.0" }, "resolutions": { diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 59201f136..8c7d62445 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -55,7 +55,7 @@ "ts-jest": "26.5.2", "ts-loader": "8.0.17", "typescript": "4.0.5", - "webpack": "5.21.2", + "webpack": "5.24.2", "webpack-cli": "4.2.0" }, "eslintConfig": { diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 6a777a431..f7b5f05d4 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -54,7 +54,7 @@ "rimraf": "3.0.2", "typescript": "4.0.5", "uuid": "8.3.1", - "webpack": "5.21.2" + "webpack": "5.24.2" }, "resolutions": { "**/moment": "2.29.1" diff --git a/yarn.lock b/yarn.lock index 53c6c5895..8d7249e80 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8902,10 +8902,10 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-module-lexer@^0.3.26: - version "0.3.26" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.26.tgz#7b507044e97d5b03b01d4392c74ffeb9c177a83b" - integrity sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA== +es-module-lexer@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.0.tgz#21f4181cc8b7eee06855f1c59e6087c7bc4f77b0" + integrity sha512-iuEGihqqhKWFgh72Q/Jtch7V2t/ft8w8IPP2aEN8ArYKO+IWyo6hsi96hCdgyeEDQIV3InhYQ9BlwUFPGXrbEQ== es-to-primitive@^1.2.1: version "1.2.1" @@ -20062,10 +20062,10 @@ webpack@4.41.5: watchpack "^1.6.0" webpack-sources "^1.4.1" -webpack@5.21.2: - version "5.21.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.21.2.tgz#647507e50d3637695be28af58a6a8246050394e7" - integrity sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg== +webpack@5.24.2: + version "5.24.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.24.2.tgz#33790dad631e8b639f4246d762e257720875fe54" + integrity sha512-uxxKYEY4kMNjP+D2Y+8aw5Vd7ar4pMuKCNemxV26ysr1nk0YDiQTylg9U3VZIdkmI0YHa0uC8ABxL+uGxGWWJg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.46" @@ -20076,7 +20076,7 @@ webpack@5.21.2: browserslist "^4.14.5" chrome-trace-event "^1.0.2" enhanced-resolve "^5.7.0" - es-module-lexer "^0.3.26" + es-module-lexer "^0.4.0" eslint-scope "^5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" From 2f2f2fac1f7b80187f6d8fe500b831d59bf81db6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 1 Mar 2021 21:52:24 +0000 Subject: [PATCH 062/252] chore(deps): update babel monorepo --- packages/itmat-job-executor/package.json | 4 +- packages/itmat-ui-react/package.json | 4 +- yarn.lock | 652 +++++++++++++---------- 3 files changed, 380 insertions(+), 280 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 59201f136..6c9a4b9a3 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -33,8 +33,8 @@ "uuid": "8.3.1" }, "devDependencies": { - "@babel/core": "7.12.16", - "@babel/preset-env": "7.12.16", + "@babel/core": "7.13.8", + "@babel/preset-env": "7.13.9", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", "@types/jest": "26.0.20", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 6a777a431..7f6f4dd69 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -32,8 +32,8 @@ "subscriptions-transport-ws": "0.9.18" }, "devDependencies": { - "@babel/core": "7.12.16", - "@babel/preset-env": "7.12.16", + "@babel/core": "7.13.8", + "@babel/preset-env": "7.13.9", "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", diff --git a/yarn.lock b/yarn.lock index 53c6c5895..aaed9e690 100644 --- a/yarn.lock +++ b/yarn.lock @@ -188,30 +188,31 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/compat-data@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.13.tgz#27e19e0ed3726ccf54067ced4109501765e7e2e8" - integrity sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg== +"@babel/compat-data@^7.13.0", "@babel/compat-data@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.8.tgz#5b783b9808f15cef71547f1b691f34f8ff6003a6" + integrity sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog== -"@babel/core@7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.16.tgz#8c6ba456b23b680a6493ddcfcd9d3c3ad51cab7c" - integrity sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw== +"@babel/core@7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.8.tgz#c191d9c5871788a591d69ea1dc03e5843a3680fb" + integrity sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg== dependencies: "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.12.15" - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helpers" "^7.12.13" - "@babel/parser" "^7.12.16" + "@babel/generator" "^7.13.0" + "@babel/helper-compilation-targets" "^7.13.8" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helpers" "^7.13.0" + "@babel/parser" "^7.13.4" "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" convert-source-map "^1.7.0" debug "^4.1.0" - gensync "^1.0.0-beta.1" + gensync "^1.0.0-beta.2" json5 "^2.1.2" lodash "^4.17.19" - semver "^5.4.1" + semver "^6.3.0" source-map "^0.5.0" "@babel/core@7.4.5": @@ -326,12 +327,12 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.12.15": - version "7.12.15" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz#4617b5d0b25cc572474cc1aafee1edeaf9b5368f" - integrity sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ== +"@babel/generator@^7.13.0": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz#3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39" + integrity sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw== dependencies: - "@babel/types" "^7.12.13" + "@babel/types" "^7.13.0" jsesc "^2.5.1" source-map "^0.5.0" @@ -393,15 +394,15 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-compilation-targets@^7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.16.tgz#6905238b4a5e02ba2d032c1a49dd1820fe8ce61b" - integrity sha512-dBHNEEaZx7F3KoUYqagIhRIeqyyuI65xMndMZ3WwGwEBI609I4TleYQHcrS627vbKyNTXqShoN+fvYD9HuQxAg== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz#02bdb22783439afb11b2f009814bdd88384bd468" + integrity sha512-pBljUGC1y3xKLn1nrx2eAhurLMA8OqBtBP/JwG4U8skN7kf8/aqwwxpV1N6T0e7r6+7uNitIa/fUxPFagSXp3A== dependencies: - "@babel/compat-data" "^7.12.13" - "@babel/helper-validator-option" "^7.12.16" + "@babel/compat-data" "^7.13.8" + "@babel/helper-validator-option" "^7.12.17" browserslist "^4.14.5" - semver "^5.5.0" + semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.3.0", "@babel/helper-create-class-features-plugin@^7.8.3": version "7.10.5" @@ -415,15 +416,15 @@ "@babel/helper-replace-supers" "^7.10.4" "@babel/helper-split-export-declaration" "^7.10.4" -"@babel/helper-create-class-features-plugin@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz#0f1707c2eec1a4604f2a22a6fb209854ef2a399a" - integrity sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q== +"@babel/helper-create-class-features-plugin@^7.13.0": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.8.tgz#0367bd0a7505156ce018ca464f7ac91ba58c1a04" + integrity sha512-qioaRrKHQbn4hkRKDHbnuQ6kAxmmOF+kzKGnIfxPK4j2rckSJCpKzr/SSTlohSCiE3uAQpNDJ9FIh4baeE8W+w== dependencies: "@babel/helper-function-name" "^7.12.13" - "@babel/helper-member-expression-to-functions" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.13.0" "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" "@babel/helper-split-export-declaration" "^7.12.13" "@babel/helper-create-regexp-features-plugin@^7.10.4": @@ -452,6 +453,20 @@ "@babel/types" "^7.10.5" lodash "^4.17.19" +"@babel/helper-define-polyfill-provider@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.4.tgz#b618b087c6a0328127e5d53576df818bcee2b15f" + integrity sha512-K5V2GaQZ1gpB+FTXM4AFVG2p1zzhm67n9wrQCJYNzvuLzQybhJyftW7qeDd2uUxPDNdl5Rkon1rOAeUeNDZ28Q== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + "@babel/helper-explode-assignable-expression@^7.10.4": version "7.11.4" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b" @@ -505,12 +520,13 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-hoist-variables@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz#13aba58b7480b502362316ea02f52cca0e9796cd" - integrity sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw== +"@babel/helper-hoist-variables@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz#5d5882e855b5c5eda91e0cadc26c6e7a2c8593d8" + integrity sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g== dependencies: - "@babel/types" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" "@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": version "7.11.0" @@ -533,6 +549,13 @@ dependencies: "@babel/types" "^7.12.13" +"@babel/helper-member-expression-to-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz#6aa4bb678e0f8c22f58cdb79451d30494461b091" + integrity sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ== + dependencies: + "@babel/types" "^7.13.0" + "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" @@ -582,19 +605,19 @@ "@babel/types" "^7.12.1" lodash "^4.17.19" -"@babel/helper-module-transforms@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz#01afb052dcad2044289b7b20beb3fa8bd0265bea" - integrity sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA== +"@babel/helper-module-transforms@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz#42eb4bd8eea68bab46751212c357bfed8b40f6f1" + integrity sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw== dependencies: "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" "@babel/helper-simple-access" "^7.12.13" "@babel/helper-split-export-declaration" "^7.12.13" "@babel/helper-validator-identifier" "^7.12.11" "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" lodash "^4.17.19" "@babel/helper-optimise-call-expression@^7.10.4": @@ -621,6 +644,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb" integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA== +"@babel/helper-plugin-utils@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" + integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== + "@babel/helper-regex@^7.10.4": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" @@ -638,14 +666,14 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-remap-async-to-generator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz#170365f4140e2d20e5c88f8ba23c24468c296878" - integrity sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA== +"@babel/helper-remap-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" + integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg== dependencies: "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-wrap-function" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/helper-wrap-function" "^7.13.0" + "@babel/types" "^7.13.0" "@babel/helper-replace-supers@^7.10.4": version "7.10.4" @@ -677,6 +705,16 @@ "@babel/traverse" "^7.12.13" "@babel/types" "^7.12.13" +"@babel/helper-replace-supers@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz#6034b7b51943094cb41627848cb219cb02be1d24" + integrity sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.13.0" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + "@babel/helper-simple-access@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" @@ -737,10 +775,10 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/helper-validator-option@^7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.16.tgz#f73cbd3bbba51915216c5dea908e9b206bb10051" - integrity sha512-uCgsDBPUQDvzr11ePPo4TVEocxj8RXjUVSC/Y8N1YpVAI/XDdUwGJu78xmlGhTxj2ntaWM7n9LQdRtyhOzT2YQ== +"@babel/helper-validator-option@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" + integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== "@babel/helper-wrap-function@^7.10.4": version "7.10.4" @@ -752,15 +790,15 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-wrap-function@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz#e3ea8cb3ee0a16911f9c1b50d9e99fe8fe30f9ff" - integrity sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw== +"@babel/helper-wrap-function@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4" + integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA== dependencies: "@babel/helper-function-name" "^7.12.13" "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" "@babel/helpers@^7.10.4", "@babel/helpers@^7.4.4", "@babel/helpers@^7.8.4", "@babel/helpers@^7.9.0": version "7.10.4" @@ -771,14 +809,14 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.13.tgz#3c75e993632e4dadc0274eae219c73eb7645ba47" - integrity sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ== +"@babel/helpers@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.0.tgz#7647ae57377b4f0408bf4f8a7af01c42e41badc0" + integrity sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ== dependencies: "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" "@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3": version "7.10.4" @@ -813,10 +851,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.14.tgz#4adb7c5eef1d437ef965ad1569cd826db8c11dc9" integrity sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ== -"@babel/parser@^7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz#cc31257419d2c3189d394081635703f549fc1ed4" - integrity sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw== +"@babel/parser@^7.13.0", "@babel/parser@^7.13.4": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" + integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== "@babel/plugin-proposal-async-generator-functions@^7.10.4", "@babel/plugin-proposal-async-generator-functions@^7.2.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.10.5" @@ -827,14 +865,14 @@ "@babel/helper-remap-async-to-generator" "^7.10.4" "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-async-generator-functions@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz#d1c6d841802ffb88c64a2413e311f7345b9e66b5" - integrity sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA== +"@babel/plugin-proposal-async-generator-functions@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz#87aacb574b3bc4b5603f6fe41458d72a5a2ec4b1" + integrity sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-remap-async-to-generator" "^7.12.13" - "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@7.3.0": version "7.3.0" @@ -860,13 +898,13 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz#3d2ce350367058033c93c098e348161d6dc0d8c8" - integrity sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA== +"@babel/plugin-proposal-class-properties@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37" + integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-proposal-decorators@7.8.3": version "7.8.3" @@ -885,13 +923,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-dynamic-import@^7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.16.tgz#b9f33b252e3406d492a15a799c9d45a9a9613473" - integrity sha512-yiDkYFapVxNOCcBfLnsb/qdsliroM+vc3LHiZwS4gh7pFjo5Xq3BDhYBNn3H3ao+hWPvqeeTdU+s+FIvokov+w== +"@babel/plugin-proposal-dynamic-import@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz#876a1f6966e1dec332e8c9451afda3bebcdf2e1d" + integrity sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-proposal-export-namespace-from@^7.10.4": version "7.10.4" @@ -917,13 +955,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-json-strings@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz#ced7888a2db92a3d520a2e35eb421fdb7fcc9b5d" - integrity sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg== +"@babel/plugin-proposal-json-strings@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz#bf1fb362547075afda3634ed31571c5901afef7b" + integrity sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.11.0": version "7.11.0" @@ -933,12 +971,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-logical-assignment-operators@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz#575b5d9a08d8299eeb4db6430da6e16e5cf14350" - integrity sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ== +"@babel/plugin-proposal-logical-assignment-operators@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz#93fa78d63857c40ce3c8c3315220fd00bfbb4e1a" + integrity sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": @@ -957,13 +995,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz#24867307285cee4e1031170efd8a7ac807deefde" - integrity sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz#3730a31dafd3c10d8ccd10648ed80a2ac5472ef3" + integrity sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@7.8.3": version "7.8.3" @@ -1006,14 +1044,16 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz#f93f3116381ff94bc676fdcb29d71045cd1ec011" - integrity sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg== +"@babel/plugin-proposal-object-rest-spread@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz#5d210a4d727d6ce3b18f9de82cc99a3964eed60a" + integrity sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.13" + "@babel/compat-data" "^7.13.8" + "@babel/helper-compilation-targets" "^7.13.8" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.13.0" "@babel/plugin-proposal-optional-catch-binding@^7.10.4", "@babel/plugin-proposal-optional-catch-binding@^7.2.0", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": version "7.10.4" @@ -1023,13 +1063,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-catch-binding@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz#4640520afe57728af14b4d1574ba844f263bcae5" - integrity sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg== +"@babel/plugin-proposal-optional-catch-binding@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz#3ad6bd5901506ea996fc31bdcf3ccfa2bed71107" + integrity sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@7.9.0": version "7.9.0" @@ -1048,14 +1088,14 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.16.tgz#600c7531f754186b0f2096e495a92da7d88aa139" - integrity sha512-O3ohPwOhkwji5Mckb7F/PJpJVJY3DpPsrt/F0Bk40+QMk9QpAIqeGusHWqu/mYqsM8oBa6TziL/2mbERWsUZjg== +"@babel/plugin-proposal-optional-chaining@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz#e39df93efe7e7e621841babc197982e140e90756" + integrity sha512-hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.10.4": version "7.10.4" @@ -1065,13 +1105,13 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-private-methods@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz#ea78a12554d784ecf7fc55950b752d469d9c4a71" - integrity sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg== +"@babel/plugin-proposal-private-methods@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787" + integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": version "7.10.4" @@ -1124,7 +1164,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-dynamic-import@^7.8.0": +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== @@ -1236,12 +1276,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-arrow-functions@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz#eda5670b282952100c229f8a3bd49e0f6a72e9fe" - integrity sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg== +"@babel/plugin-transform-arrow-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae" + integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-transform-async-to-generator@^7.10.4", "@babel/plugin-transform-async-to-generator@^7.4.4", "@babel/plugin-transform-async-to-generator@^7.8.3": version "7.10.4" @@ -1252,14 +1292,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-remap-async-to-generator" "^7.10.4" -"@babel/plugin-transform-async-to-generator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz#fed8c69eebf187a535bfa4ee97a614009b24f7ae" - integrity sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A== +"@babel/plugin-transform-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f" + integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg== dependencies: "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-remap-async-to-generator" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" "@babel/plugin-transform-block-scoped-functions@^7.10.4", "@babel/plugin-transform-block-scoped-functions@^7.2.0", "@babel/plugin-transform-block-scoped-functions@^7.8.3": version "7.10.4" @@ -1303,16 +1343,16 @@ "@babel/helper-split-export-declaration" "^7.10.4" globals "^11.1.0" -"@babel/plugin-transform-classes@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz#9728edc1838b5d62fc93ad830bd523b1fcb0e1f6" - integrity sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA== +"@babel/plugin-transform-classes@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz#0265155075c42918bf4d3a4053134176ad9b533b" + integrity sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g== dependencies: "@babel/helper-annotate-as-pure" "^7.12.13" "@babel/helper-function-name" "^7.12.13" "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-replace-supers" "^7.13.0" "@babel/helper-split-export-declaration" "^7.12.13" globals "^11.1.0" @@ -1323,12 +1363,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-computed-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz#6a210647a3d67f21f699cfd2a01333803b27339d" - integrity sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA== +"@babel/plugin-transform-computed-properties@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed" + integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-transform-destructuring@^7.10.4", "@babel/plugin-transform-destructuring@^7.4.4", "@babel/plugin-transform-destructuring@^7.8.3": version "7.10.4" @@ -1337,12 +1377,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-destructuring@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz#fc56c5176940c5b41735c677124d1d20cecc9aeb" - integrity sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ== +"@babel/plugin-transform-destructuring@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz#c5dce270014d4e1ebb1d806116694c12b7028963" + integrity sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": version "7.10.4" @@ -1405,12 +1445,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-for-of@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz#561ff6d74d9e1c8879cb12dbaf4a14cd29d15cf6" - integrity sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ== +"@babel/plugin-transform-for-of@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062" + integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-transform-function-name@^7.10.4", "@babel/plugin-transform-function-name@^7.4.4", "@babel/plugin-transform-function-name@^7.8.3": version "7.10.4" @@ -1465,13 +1505,13 @@ "@babel/helper-plugin-utils" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-amd@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz#43db16249b274ee2e551e2422090aa1c47692d56" - integrity sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA== +"@babel/plugin-transform-modules-amd@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz#19f511d60e3d8753cc5a6d4e775d3a5184866cc3" + integrity sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ== dependencies: - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-commonjs@7.12.1": @@ -1494,13 +1534,13 @@ "@babel/helper-simple-access" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz#5043b870a784a8421fa1fd9136a24f294da13e50" - integrity sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ== +"@babel/plugin-transform-modules-commonjs@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz#7b01ad7c2dcf2275b06fa1781e00d13d420b3e1b" + integrity sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw== dependencies: - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/helper-simple-access" "^7.12.13" babel-plugin-dynamic-import-node "^2.3.3" @@ -1514,14 +1554,14 @@ "@babel/helper-plugin-utils" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz#351937f392c7f07493fc79b2118201d50404a3c5" - integrity sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA== +"@babel/plugin-transform-modules-systemjs@^7.13.8": + version "7.13.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3" + integrity sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A== dependencies: - "@babel/helper-hoist-variables" "^7.12.13" - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-hoist-variables" "^7.13.0" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/helper-validator-identifier" "^7.12.11" babel-plugin-dynamic-import-node "^2.3.3" @@ -1533,13 +1573,13 @@ "@babel/helper-module-transforms" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-modules-umd@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz#26c66f161d3456674e344b4b1255de4d530cfb37" - integrity sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w== +"@babel/plugin-transform-modules-umd@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz#8a3d96a97d199705b9fd021580082af81c06e70b" + integrity sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw== dependencies: - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-transform-named-capturing-groups-regex@^7.10.4", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": version "7.10.4" @@ -1593,12 +1633,12 @@ "@babel/helper-get-function-arity" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-parameters@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz#461e76dfb63c2dfd327b8a008a9e802818ce9853" - integrity sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA== +"@babel/plugin-transform-parameters@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz#8fa7603e3097f9c0b7ca1a4821bc2fb52e9e5007" + integrity sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-transform-property-literals@^7.10.4", "@babel/plugin-transform-property-literals@^7.2.0", "@babel/plugin-transform-property-literals@^7.8.3": version "7.10.4" @@ -1748,12 +1788,12 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" -"@babel/plugin-transform-spread@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz#ca0d5645abbd560719c354451b849f14df4a7949" - integrity sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg== +"@babel/plugin-transform-spread@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd" + integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-transform-sticky-regex@^7.10.4", "@babel/plugin-transform-sticky-regex@^7.2.0", "@babel/plugin-transform-sticky-regex@^7.8.3": @@ -1779,12 +1819,12 @@ "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-template-literals@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz#655037b07ebbddaf3b7752f55d15c2fd6f5aa865" - integrity sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg== +"@babel/plugin-transform-template-literals@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d" + integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/plugin-transform-typeof-symbol@^7.10.4", "@babel/plugin-transform-typeof-symbol@^7.2.0", "@babel/plugin-transform-typeof-symbol@^7.8.4": version "7.10.4" @@ -1839,77 +1879,79 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.13" "@babel/helper-plugin-utils" "^7.12.13" -"@babel/preset-env@7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.16.tgz#16710e3490e37764b2f41886de0a33bc4ae91082" - integrity sha512-BXCAXy8RE/TzX416pD2hsVdkWo0G+tYd16pwnRV4Sc0fRwTLRS/Ssv8G5RLXUGQv7g4FG7TXkdDJxCjQ5I+Zjg== - dependencies: - "@babel/compat-data" "^7.12.13" - "@babel/helper-compilation-targets" "^7.12.16" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-validator-option" "^7.12.16" - "@babel/plugin-proposal-async-generator-functions" "^7.12.13" - "@babel/plugin-proposal-class-properties" "^7.12.13" - "@babel/plugin-proposal-dynamic-import" "^7.12.16" +"@babel/preset-env@7.13.9": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.9.tgz#3ee5f233316b10d066d7f379c6d1e13a96853654" + integrity sha512-mcsHUlh2rIhViqMG823JpscLMesRt3QbMsv1+jhopXEb3W2wXvQ9QoiOlZI9ZbR3XqPtaFpZwEZKYqGJnGMZTQ== + dependencies: + "@babel/compat-data" "^7.13.8" + "@babel/helper-compilation-targets" "^7.13.8" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-proposal-async-generator-functions" "^7.13.8" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-dynamic-import" "^7.13.8" "@babel/plugin-proposal-export-namespace-from" "^7.12.13" - "@babel/plugin-proposal-json-strings" "^7.12.13" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.13" + "@babel/plugin-proposal-json-strings" "^7.13.8" + "@babel/plugin-proposal-logical-assignment-operators" "^7.13.8" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" "@babel/plugin-proposal-numeric-separator" "^7.12.13" - "@babel/plugin-proposal-object-rest-spread" "^7.12.13" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" - "@babel/plugin-proposal-optional-chaining" "^7.12.16" - "@babel/plugin-proposal-private-methods" "^7.12.13" + "@babel/plugin-proposal-object-rest-spread" "^7.13.8" + "@babel/plugin-proposal-optional-catch-binding" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.8" + "@babel/plugin-proposal-private-methods" "^7.13.0" "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" - "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.12.13" - "@babel/plugin-transform-arrow-functions" "^7.12.13" - "@babel/plugin-transform-async-to-generator" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.13.0" + "@babel/plugin-transform-async-to-generator" "^7.13.0" "@babel/plugin-transform-block-scoped-functions" "^7.12.13" "@babel/plugin-transform-block-scoping" "^7.12.13" - "@babel/plugin-transform-classes" "^7.12.13" - "@babel/plugin-transform-computed-properties" "^7.12.13" - "@babel/plugin-transform-destructuring" "^7.12.13" + "@babel/plugin-transform-classes" "^7.13.0" + "@babel/plugin-transform-computed-properties" "^7.13.0" + "@babel/plugin-transform-destructuring" "^7.13.0" "@babel/plugin-transform-dotall-regex" "^7.12.13" "@babel/plugin-transform-duplicate-keys" "^7.12.13" "@babel/plugin-transform-exponentiation-operator" "^7.12.13" - "@babel/plugin-transform-for-of" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.13.0" "@babel/plugin-transform-function-name" "^7.12.13" "@babel/plugin-transform-literals" "^7.12.13" "@babel/plugin-transform-member-expression-literals" "^7.12.13" - "@babel/plugin-transform-modules-amd" "^7.12.13" - "@babel/plugin-transform-modules-commonjs" "^7.12.13" - "@babel/plugin-transform-modules-systemjs" "^7.12.13" - "@babel/plugin-transform-modules-umd" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.13.0" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/plugin-transform-modules-systemjs" "^7.13.8" + "@babel/plugin-transform-modules-umd" "^7.13.0" "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" "@babel/plugin-transform-new-target" "^7.12.13" "@babel/plugin-transform-object-super" "^7.12.13" - "@babel/plugin-transform-parameters" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.13.0" "@babel/plugin-transform-property-literals" "^7.12.13" "@babel/plugin-transform-regenerator" "^7.12.13" "@babel/plugin-transform-reserved-words" "^7.12.13" "@babel/plugin-transform-shorthand-properties" "^7.12.13" - "@babel/plugin-transform-spread" "^7.12.13" + "@babel/plugin-transform-spread" "^7.13.0" "@babel/plugin-transform-sticky-regex" "^7.12.13" - "@babel/plugin-transform-template-literals" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.13.0" "@babel/plugin-transform-typeof-symbol" "^7.12.13" "@babel/plugin-transform-unicode-escapes" "^7.12.13" "@babel/plugin-transform-unicode-regex" "^7.12.13" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.13" - core-js-compat "^3.8.0" - semver "^5.5.0" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.13.0" + babel-plugin-polyfill-corejs2 "^0.1.4" + babel-plugin-polyfill-corejs3 "^0.1.3" + babel-plugin-polyfill-regenerator "^0.1.2" + core-js-compat "^3.9.0" + semver "^6.3.0" "@babel/preset-env@7.4.5": version "7.4.5" @@ -2105,7 +2147,7 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/preset-modules@^0.1.3": +"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.4": version "0.1.4" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== @@ -2259,6 +2301,21 @@ globals "^11.1.0" lodash "^4.17.19" +"@babel/traverse@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.0.tgz#6d95752475f86ee7ded06536de309a65fc8966cc" + integrity sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.13.0" + "@babel/types" "^7.13.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.8.3", "@babel/types@^7.9.0": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" @@ -2286,6 +2343,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.0.tgz#74424d2816f0171b4100f0ab34e9a374efdf7f80" + integrity sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -5966,6 +6032,30 @@ babel-plugin-named-asset-import@^0.3.6: resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be" integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA== +babel-plugin-polyfill-corejs2@^0.1.4: + version "0.1.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.8.tgz#54ef37b1c4b2311e515029e8f1f07bbd4d7a5321" + integrity sha512-kB5/xNR9GYDuRmVlL9EGfdKBSUVI/9xAU7PCahA/1hbC2Jbmks9dlBBYjHF9IHMNY2jV/G2lIG7z0tJIW27Rog== + dependencies: + "@babel/compat-data" "^7.13.0" + "@babel/helper-define-polyfill-provider" "^0.1.4" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.1.3: + version "0.1.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.6.tgz#ed1b02fba4885e0892e06094e27865f499758d27" + integrity sha512-IkYhCxPrjrUWigEmkMDXYzM5iblzKCdCD8cZrSAkQOyhhJm26DcG+Mxbx13QT//Olkpkg/AlRdT2L+Ww4Ciphw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.4" + core-js-compat "^3.8.1" + +babel-plugin-polyfill-regenerator@^0.1.2: + version "0.1.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.5.tgz#f42a58fd86a1c97fbe3a2752d80a4a3e017203e1" + integrity sha512-EyhBA6uN94W97lR7ecQVTvH9F5tIIdEw3ZqHuU4zekMlW82k5cXNXniiB7PRxQm06BqAjVr4sDT1mOy4RcphIA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.4" + babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" @@ -6480,16 +6570,16 @@ browserslist@^4.14.5: escalade "^3.1.1" node-releases "^1.1.65" -browserslist@^4.15.0: - version "4.16.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b" - integrity sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ== +browserslist@^4.16.3: + version "4.16.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== dependencies: - caniuse-lite "^1.0.30001165" + caniuse-lite "^1.0.30001181" colorette "^1.2.1" - electron-to-chromium "^1.3.621" + electron-to-chromium "^1.3.649" escalade "^3.1.1" - node-releases "^1.1.67" + node-releases "^1.1.70" bs-logger@0.x: version "0.2.6" @@ -6803,10 +6893,10 @@ caniuse-lite@^1.0.30001154: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001156.tgz#75c20937b6012fe2b02ab58b30d475bf0718de97" integrity sha512-z7qztybA2eFZTB6Z3yvaQBIoJpQtsewRD74adw2UbRWwsRq3jIPvgrQGawBMbfafekQaD21FWuXNcywtTDGGCw== -caniuse-lite@^1.0.30001165: - version "1.0.30001170" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz#0088bfecc6a14694969e391cc29d7eb6362ca6a7" - integrity sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA== +caniuse-lite@^1.0.30001181: + version "1.0.30001192" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz#b848ebc0ab230cf313d194a4775a30155d50ae40" + integrity sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw== capture-exit@^2.0.0: version "2.0.0" @@ -7546,12 +7636,12 @@ core-js-compat@^3.1.1, core-js-compat@^3.6.2: browserslist "^4.8.5" semver "7.0.0" -core-js-compat@^3.8.0: - version "3.8.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.1.tgz#8d1ddd341d660ba6194cbe0ce60f4c794c87a36e" - integrity sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ== +core-js-compat@^3.8.1, core-js-compat@^3.9.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.9.1.tgz#4e572acfe90aff69d76d8c37759d21a5c59bb455" + integrity sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA== dependencies: - browserslist "^4.15.0" + browserslist "^4.16.3" semver "7.0.0" core-js-pure@^3.0.0: @@ -8653,10 +8743,10 @@ electron-to-chromium@^1.3.585: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.589.tgz#bd26183ed8697dde6ac19acbc16a3bf33b1f8220" integrity sha512-rQItBTFnol20HaaLm26UgSUduX7iGerwW7pEYX17MB1tI6LzFajiLV7iZ7LVcUcsN/7HrZUoCLrBauChy/IqEg== -electron-to-chromium@^1.3.621: - version "1.3.633" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe" - integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA== +electron-to-chromium@^1.3.649: + version "1.3.676" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.676.tgz#18b2336239b6cdc68c57ce96bf73daf80bab9eba" + integrity sha512-t0eEgYCP+XEbH/KwxWYZDY0XKwzmokDAsjFJ2rBstp2XuwuBCUZ+ni5qXI6XDRNkvDpVJcAOp2aJxkSkshKkmw== elegant-spinner@^1.0.1: version "1.0.1" @@ -10200,6 +10290,11 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + get-assigned-identifiers@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz#6dbf411de648cbaf8d9169ebb0d2d576191e2ff1" @@ -13249,6 +13344,11 @@ lodash.clonedeep@4.5.0, lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + lodash.escape@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" @@ -14327,10 +14427,10 @@ node-releases@^1.1.65: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.69.tgz#3149dbde53b781610cd8b486d62d86e26c3725f6" integrity sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA== -node-releases@^1.1.67: - version "1.1.67" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" - integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== +node-releases@^1.1.70: + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== nodemailer@6.4.17: version "6.4.17" @@ -17894,7 +17994,7 @@ semver-regex@^3.1.2: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: +semver@6.3.0, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== From 936c5c64874b6c53497174ba78dd444a27530157 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 3 Mar 2021 16:34:54 +0000 Subject: [PATCH 063/252] chore(deps): update dependency uuid to v8.3.2 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 69a0d3f2e..330cf5998 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -36,7 +36,7 @@ "passport": "0.4.1", "passport-local": "1.0.0", "saslprep": "1.0.3", - "uuid": "8.3.1" + "uuid": "8.3.2" }, "devDependencies": { "@types/bcrypt": "3.0.0", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 8c7d62445..1f34ab977 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -30,7 +30,7 @@ "mongodb": "3.6.3", "saslprep": "1.0.3", "JSONStream": "1.3.5", - "uuid": "8.3.1" + "uuid": "8.3.2" }, "devDependencies": { "@babel/core": "7.12.16", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index f7b5f05d4..f472608d2 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -53,7 +53,7 @@ "react-scripts": "3.4.0", "rimraf": "3.0.2", "typescript": "4.0.5", - "uuid": "8.3.1", + "uuid": "8.3.2", "webpack": "5.24.2" }, "resolutions": { diff --git a/yarn.lock b/yarn.lock index 8d7249e80..d21fc7195 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19745,10 +19745,10 @@ uuid@8.3.0, uuid@^8.0.0, uuid@^8.3.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== -uuid@8.3.1: - version "8.3.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" - integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== +uuid@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2, uuid@^3.3.3: version "3.4.0" From 118fa3ff22da1d13b023e0d67e52a7e30a214c6d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 5 Mar 2021 15:45:13 +0000 Subject: [PATCH 064/252] chore(deps): update dependency webpack to v5.24.3 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 330cf5998..14706487a 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -70,7 +70,7 @@ "ts-jest": "26.5.2", "ts-loader": "8.0.17", "typescript": "4.0.5", - "webpack": "5.24.2", + "webpack": "5.24.3", "webpack-cli": "4.2.0" }, "resolutions": { diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index cb645630e..00321c412 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -55,7 +55,7 @@ "ts-jest": "26.5.2", "ts-loader": "8.0.17", "typescript": "4.0.5", - "webpack": "5.24.2", + "webpack": "5.24.3", "webpack-cli": "4.2.0" }, "eslintConfig": { diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index ebe1c8fd1..85c0d7b7d 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -54,7 +54,7 @@ "rimraf": "3.0.2", "typescript": "4.0.5", "uuid": "8.3.2", - "webpack": "5.24.2" + "webpack": "5.24.3" }, "resolutions": { "**/moment": "2.29.1" diff --git a/yarn.lock b/yarn.lock index 4d81f9d05..671f56bcc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20162,10 +20162,10 @@ webpack@4.41.5: watchpack "^1.6.0" webpack-sources "^1.4.1" -webpack@5.24.2: - version "5.24.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.24.2.tgz#33790dad631e8b639f4246d762e257720875fe54" - integrity sha512-uxxKYEY4kMNjP+D2Y+8aw5Vd7ar4pMuKCNemxV26ysr1nk0YDiQTylg9U3VZIdkmI0YHa0uC8ABxL+uGxGWWJg== +webpack@5.24.3: + version "5.24.3" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.24.3.tgz#6ec0f5059f8d7c7961075fa553cfce7b7928acb3" + integrity sha512-x7lrWZ7wlWAdyKdML6YPvfVZkhD1ICuIZGODE5SzKJjqI9A4SpqGTjGJTc6CwaHqn19gGaoOR3ONJ46nYsn9rw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.46" From aa83ba30baa3aa8704eeff13da26fd3ca1b91faf Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 7 Mar 2021 21:03:04 +0000 Subject: [PATCH 065/252] chore(deps): update dependency @types/react to v16.14.5 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 4edc67bf0..3da8fee53 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -38,7 +38,7 @@ "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", "@types/node": "14.14.28", - "@types/react": "16.14.4", + "@types/react": "16.14.5", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", diff --git a/yarn.lock b/yarn.lock index a9b1bf846..40bb8ed35 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4477,14 +4477,20 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.14.4": - version "16.14.4" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.4.tgz#365f6a1e117d1eec960ba792c7e1e91ecad38e6f" - integrity sha512-ETj7GbkPGjca/A4trkVeGvoIakmLV6ZtX3J8dcmOpzKzWVybbrOxanwaIPG71GZwImoMDY6Fq4wIe34lEqZ0FQ== +"@types/react@16.14.5": + version "16.14.5" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.5.tgz#2c39b5cadefaf4829818f9219e5e093325979f4d" + integrity sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw== dependencies: "@types/prop-types" "*" + "@types/scheduler" "*" csstype "^3.0.2" +"@types/scheduler@*": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" + integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA== + "@types/serve-static@*": version "1.13.5" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.5.tgz#3d25d941a18415d3ab092def846e135a08bbcf53" From e016e5b58be334069823b84e45343a3b5f54d2f0 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 8 Mar 2021 17:36:04 +0000 Subject: [PATCH 066/252] chore(deps): [security] bump elliptic from 6.5.3 to 6.5.4 Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. **This update includes a security fix.** - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/yarn.lock b/yarn.lock index 40bb8ed35..ae945cc25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6267,10 +6267,10 @@ bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.1, bluebird@^3. resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== bn.js@^5.1.1: version "5.1.3" @@ -6341,7 +6341,7 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1: +brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= @@ -8760,17 +8760,17 @@ elegant-spinner@^1.0.1: integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= elliptic@^6.5.3: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" + bn.js "^4.11.9" + brorand "^1.1.0" hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emittery@^0.7.1: version "0.7.1" @@ -10789,7 +10789,7 @@ history@^4.9.0: tiny-warning "^1.0.0" value-equal "^1.0.1" -hmac-drbg@^1.0.0: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -13887,7 +13887,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= From 771c10d908d88d1a53ef505967f769d2957b6387 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 10 Mar 2021 13:55:19 +0000 Subject: [PATCH 067/252] chore(deps): update dependency eslint-plugin-jest to v24.2.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5bbeeaa51..9c3df669e 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.3.1", "eslint-plugin-import": "2.22.1", - "eslint-plugin-jest": "24.1.5", + "eslint-plugin-jest": "24.2.1", "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-react": "7.21.5", "eslint-plugin-react-hooks": "4.1.2", diff --git a/yarn.lock b/yarn.lock index 40bb8ed35..7ac9292bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9185,10 +9185,10 @@ eslint-plugin-import@2.22.1: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-plugin-jest@24.1.5: - version "24.1.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.1.5.tgz#1e866a9f0deac587d0a3d5d7cefe99815a580de2" - integrity sha512-FIP3lwC8EzEG+rOs1y96cOJmMVpdFNreoDJv29B5vIupVssRi8zrSY3QadogT0K3h1Y8TMxJ6ZSAzYUmFCp2hg== +eslint-plugin-jest@24.2.1: + version "24.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.2.1.tgz#7e84f16a3ca6589b86be9732a93d71367a4ed627" + integrity sha512-s24ve8WUu3DLVidvlSzaqlOpTZre9lTkZTAO+a7X0WMtj8HraWTiTEkW3pbDT1xVxqEHMWSv+Kx7MyqR50nhBw== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" From 824caa7e227acc23cddb7b1f8961a1145fd46181 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 12 Mar 2021 00:03:43 +0000 Subject: [PATCH 068/252] chore(deps): update babel monorepo to v7.13.10 --- packages/itmat-job-executor/package.json | 4 +- packages/itmat-ui-react/package.json | 4 +- yarn.lock | 53 +++++++++++++++--------- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 00321c412..6161339ea 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -33,8 +33,8 @@ "uuid": "8.3.2" }, "devDependencies": { - "@babel/core": "7.13.8", - "@babel/preset-env": "7.13.9", + "@babel/core": "7.13.10", + "@babel/preset-env": "7.13.10", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", "@types/jest": "26.0.20", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 3da8fee53..ab6e4c588 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -32,8 +32,8 @@ "subscriptions-transport-ws": "0.9.18" }, "devDependencies": { - "@babel/core": "7.13.8", - "@babel/preset-env": "7.13.9", + "@babel/core": "7.13.10", + "@babel/preset-env": "7.13.10", "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", diff --git a/yarn.lock b/yarn.lock index e3cffb849..de23829b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -193,17 +193,17 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.8.tgz#5b783b9808f15cef71547f1b691f34f8ff6003a6" integrity sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog== -"@babel/core@7.13.8": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.8.tgz#c191d9c5871788a591d69ea1dc03e5843a3680fb" - integrity sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg== +"@babel/core@7.13.10": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.10.tgz#07de050bbd8193fcd8a3c27918c0890613a94559" + integrity sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw== dependencies: "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.0" - "@babel/helper-compilation-targets" "^7.13.8" + "@babel/generator" "^7.13.9" + "@babel/helper-compilation-targets" "^7.13.10" "@babel/helper-module-transforms" "^7.13.0" - "@babel/helpers" "^7.13.0" - "@babel/parser" "^7.13.4" + "@babel/helpers" "^7.13.10" + "@babel/parser" "^7.13.10" "@babel/template" "^7.12.13" "@babel/traverse" "^7.13.0" "@babel/types" "^7.13.0" @@ -327,7 +327,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.13.0": +"@babel/generator@^7.13.0", "@babel/generator@^7.13.9": version "7.13.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz#3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39" integrity sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw== @@ -404,6 +404,16 @@ browserslist "^4.14.5" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.13.10": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz#1310a1678cb8427c07a753750da4f8ce442bdd0c" + integrity sha512-/Xju7Qg1GQO4mHZ/Kcs6Au7gfafgZnwm+a7sy/ow/tV1sHeraRUHbjdat8/UvDor4Tez+siGKDk6zIKtCPKVJA== + dependencies: + "@babel/compat-data" "^7.13.8" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.3.0", "@babel/helper-create-class-features-plugin@^7.8.3": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" @@ -809,10 +819,10 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.0.tgz#7647ae57377b4f0408bf4f8a7af01c42e41badc0" - integrity sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ== +"@babel/helpers@^7.13.10": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.10.tgz#fd8e2ba7488533cdeac45cc158e9ebca5e3c7df8" + integrity sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ== dependencies: "@babel/template" "^7.12.13" "@babel/traverse" "^7.13.0" @@ -851,11 +861,16 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.14.tgz#4adb7c5eef1d437ef965ad1569cd826db8c11dc9" integrity sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ== -"@babel/parser@^7.13.0", "@babel/parser@^7.13.4": +"@babel/parser@^7.13.0": version "7.13.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== +"@babel/parser@^7.13.10": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.10.tgz#8f8f9bf7b3afa3eabd061f7a5bcdf4fec3c48409" + integrity sha512-0s7Mlrw9uTWkYua7xWr99Wpk2bnGa0ANleKfksYAES8LpWH4gW1OUr42vqKNf0us5UQNfru2wPqMqRITzq/SIQ== + "@babel/plugin-proposal-async-generator-functions@^7.10.4", "@babel/plugin-proposal-async-generator-functions@^7.2.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" @@ -1879,13 +1894,13 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.13" "@babel/helper-plugin-utils" "^7.12.13" -"@babel/preset-env@7.13.9": - version "7.13.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.9.tgz#3ee5f233316b10d066d7f379c6d1e13a96853654" - integrity sha512-mcsHUlh2rIhViqMG823JpscLMesRt3QbMsv1+jhopXEb3W2wXvQ9QoiOlZI9ZbR3XqPtaFpZwEZKYqGJnGMZTQ== +"@babel/preset-env@7.13.10": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.10.tgz#b5cde31d5fe77ab2a6ab3d453b59041a1b3a5252" + integrity sha512-nOsTScuoRghRtUsRr/c69d042ysfPHcu+KOB4A9aAO9eJYqrkat+LF8G1yp1HD18QiwixT2CisZTr/0b3YZPXQ== dependencies: "@babel/compat-data" "^7.13.8" - "@babel/helper-compilation-targets" "^7.13.8" + "@babel/helper-compilation-targets" "^7.13.10" "@babel/helper-plugin-utils" "^7.13.0" "@babel/helper-validator-option" "^7.12.17" "@babel/plugin-proposal-async-generator-functions" "^7.13.8" From 4ea6feb0c93aac903147e62c9a4af2839b74e156 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 12 Mar 2021 13:10:26 +0000 Subject: [PATCH 069/252] chore(deps): update dependency @types/node to v14.14.34 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 9966d20a9..57bc47426 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -29,7 +29,7 @@ "@types/jest": "26.0.20", "@types/minio": "7.0.6", "@types/mongodb": "3.6.3", - "@types/node": "14.14.28", + "@types/node": "14.14.34", "@types/supertest": "2.0.10", "chalk": "4.1.0", "jest": "26.6.3", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 14706487a..1dab7524c 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -44,7 +44,7 @@ "@types/express-session": "1.17.3", "@types/jest": "26.0.20", "@types/mongodb": "3.6.3", - "@types/node": "14.14.28", + "@types/node": "14.14.34", "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.0", "@types/passport": "1.0.4", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 00321c412..ee604e071 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -40,7 +40,7 @@ "@types/jest": "26.0.20", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.3", - "@types/node": "14.14.28", + "@types/node": "14.14.34", "@types/node-fetch": "2.5.8", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 3da8fee53..ae480e3bd 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -37,7 +37,7 @@ "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", - "@types/node": "14.14.28", + "@types/node": "14.14.34", "@types/react": "16.14.5", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.7", diff --git a/yarn.lock b/yarn.lock index e3cffb849..8206f49a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4369,10 +4369,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== -"@types/node@14.14.28": - version "14.14.28" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.28.tgz#cade4b64f8438f588951a6b35843ce536853f25b" - integrity sha512-lg55ArB+ZiHHbBBttLpzD07akz0QPrZgUODNakeC09i62dnrywr9mFErHuaPlB6I7z+sEbK+IYmplahvplCj2g== +"@types/node@14.14.34": + version "14.14.34" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.34.tgz#07935194fc049069a1c56c0c274265abeddf88da" + integrity sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA== "@types/node@^10.1.0": version "10.17.29" From 2eb036ee042749418c86ffa7682db29762feaea9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 12 Mar 2021 15:47:35 +0000 Subject: [PATCH 070/252] chore(deps): update dependency mongodb-memory-server to v6.9.6 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 58 +++++++++++++-------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 14706487a..d9a701965 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -62,7 +62,7 @@ "graphql": "15.4.0", "itmat-setup": "0.0.1", "jest": "26.6.3", - "mongodb-memory-server": "6.9.3", + "mongodb-memory-server": "6.9.6", "node-fetch": "2.6.1", "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", diff --git a/yarn.lock b/yarn.lock index de23829b5..d82ed8ed6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14093,10 +14093,10 @@ moment@2.29.1, moment@^2.24.0, moment@^2.25.3, moment@^2.27.0: resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== -mongodb-memory-server-core@6.9.3: - version "6.9.3" - resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-6.9.3.tgz#1c5f7d339e8ac66290b5f1363a49efb40a32e3c5" - integrity sha512-9ZaWemIQLbu9VG553ksMiV7TNnzICqXhSSQv/7Io6dnuO8VpoLLdd1wIz+r2YuWFP7U159JPWQc8QG9jIL27og== +mongodb-memory-server-core@6.9.6: + version "6.9.6" + resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-6.9.6.tgz#90ef0562bea675ef68bd687533792da02bcc81f3" + integrity sha512-ZcXHTI2TccH3L5N9JyAMGm8bbAsfLn8SUWOeYGHx/vDx7vu4qshyaNXTIxeHjpUQA29N+Z1LtTXA6vXjl1eg6w== dependencies: "@types/tmp" "^0.2.0" camelcase "^6.0.0" @@ -14112,30 +14112,17 @@ mongodb-memory-server-core@6.9.3: semver "^7.3.2" tar-stream "^2.1.4" tmp "^0.2.1" - uuid "8.3.0" + uuid "^8.3.0" yauzl "^2.10.0" optionalDependencies: - mongodb "3.6.2" - -mongodb-memory-server@6.9.3: - version "6.9.3" - resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-6.9.3.tgz#1ea342531603625ef501fa12217f447d0ecea6b3" - integrity sha512-VU2ey+fknmZflHltPCznZr9fja8T6K7DTG5m7wSxmQC/Qf/kkKmRGqIPcZoEU5znRR/8m/EaOe+hFWkjmh1W5A== - dependencies: - mongodb-memory-server-core "6.9.3" + mongodb "^3.6.2" -mongodb@3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.6.2.tgz#1154a4ac107bf1375112d83a29c5cf97704e96b6" - integrity sha512-sSZOb04w3HcnrrXC82NEh/YGCmBuRgR+C1hZgmmv4L6dBz4BkRse6Y8/q/neXer9i95fKUBbFi4KgeceXmbsOA== +mongodb-memory-server@6.9.6: + version "6.9.6" + resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-6.9.6.tgz#ced1a100f58363317a562efaf8821726c433cfd2" + integrity sha512-BjGPPh5f61lMueG7px9DneBIrRR/GoWUHDvLWVAXhQhKVcwMMXxgeEba6zdDolZHfYAu6aYGPzhOuYKIKPgpBQ== dependencies: - bl "^2.2.1" - bson "^1.1.4" - denque "^1.4.1" - require_optional "^1.0.1" - safe-buffer "^5.1.2" - optionalDependencies: - saslprep "^1.0.0" + mongodb-memory-server-core "6.9.6" mongodb@3.6.3: version "3.6.3" @@ -14163,6 +14150,19 @@ mongodb@^3.1.0: optionalDependencies: saslprep "^1.0.0" +mongodb@^3.6.2: + version "3.6.4" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.6.4.tgz#ca59fd65b06831308262372ef9df6b78f9da97be" + integrity sha512-Y+Ki9iXE9jI+n9bVtbTOOdK0B95d6wVGSucwtBkvQ+HIvVdTCfpVRp01FDC24uhC/Q2WXQ8Lpq3/zwtB5Op9Qw== + dependencies: + bl "^2.2.1" + bson "^1.1.4" + denque "^1.4.1" + require_optional "^1.0.1" + safe-buffer "^5.1.2" + optionalDependencies: + saslprep "^1.0.0" + moo@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" @@ -19867,11 +19867,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@8.3.0, uuid@^8.0.0, uuid@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" - integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== - uuid@8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -19882,6 +19877,11 @@ uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2, uuid@^3.3.3: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.0.0, uuid@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" + integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== + v8-compile-cache@^2.0.3: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" From 5411912fdc0a71040db0522c1c51281518a2db79 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 12 Mar 2021 19:53:39 +0000 Subject: [PATCH 071/252] chore(deps): update dependency ts-loader to v8.0.18 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 474fc1032..8d0267275 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -68,7 +68,7 @@ "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", "ts-jest": "26.5.2", - "ts-loader": "8.0.17", + "ts-loader": "8.0.18", "typescript": "4.0.5", "webpack": "5.24.3", "webpack-cli": "4.2.0" diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index f5cc114e2..d9df1874a 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -53,7 +53,7 @@ "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", "ts-jest": "26.5.2", - "ts-loader": "8.0.17", + "ts-loader": "8.0.18", "typescript": "4.0.5", "webpack": "5.24.3", "webpack-cli": "4.2.0" diff --git a/yarn.lock b/yarn.lock index 4cddb166c..31e02cdd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19460,10 +19460,10 @@ ts-jest@26.5.2: semver "7.x" yargs-parser "20.x" -ts-loader@8.0.17: - version "8.0.17" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.17.tgz#98f2ccff9130074f4079fd89b946b4c637b1f2fc" - integrity sha512-OeVfSshx6ot/TCxRwpBHQ/4lRzfgyTkvi7ghDVrLXOHzTbSK413ROgu/xNqM72i3AFeAIJgQy78FwSMKmOW68w== +ts-loader@8.0.18: + version "8.0.18" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.18.tgz#b2385cbe81c34ad9f997915129cdde3ad92a61ea" + integrity sha512-hRZzkydPX30XkLaQwJTDcWDoxZHK6IrEMDQpNd7tgcakFruFkeUp/aY+9hBb7BUGb+ZWKI0jiOGMo0MckwzdDQ== dependencies: chalk "^4.1.0" enhanced-resolve "^4.0.0" From 48a2c084be02b506de70fe54a7581401961c0bb6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 12 Mar 2021 19:53:59 +0000 Subject: [PATCH 072/252] chore(deps): update dependency webpack to v5.25.0 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 474fc1032..9aadf649c 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -70,7 +70,7 @@ "ts-jest": "26.5.2", "ts-loader": "8.0.17", "typescript": "4.0.5", - "webpack": "5.24.3", + "webpack": "5.25.0", "webpack-cli": "4.2.0" }, "resolutions": { diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index f5cc114e2..559d17386 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -55,7 +55,7 @@ "ts-jest": "26.5.2", "ts-loader": "8.0.17", "typescript": "4.0.5", - "webpack": "5.24.3", + "webpack": "5.25.0", "webpack-cli": "4.2.0" }, "eslintConfig": { diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index d0f0f5a30..0a1adfeb5 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -54,7 +54,7 @@ "rimraf": "3.0.2", "typescript": "4.0.5", "uuid": "8.3.2", - "webpack": "5.24.3" + "webpack": "5.25.0" }, "resolutions": { "**/moment": "2.29.1" diff --git a/yarn.lock b/yarn.lock index 4cddb166c..a4f916da2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20189,10 +20189,10 @@ webpack@4.41.5: watchpack "^1.6.0" webpack-sources "^1.4.1" -webpack@5.24.3: - version "5.24.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.24.3.tgz#6ec0f5059f8d7c7961075fa553cfce7b7928acb3" - integrity sha512-x7lrWZ7wlWAdyKdML6YPvfVZkhD1ICuIZGODE5SzKJjqI9A4SpqGTjGJTc6CwaHqn19gGaoOR3ONJ46nYsn9rw== +webpack@5.25.0: + version "5.25.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.25.0.tgz#f9409977f0f3b6d4b9c4f73adc7d7cb9603a09e9" + integrity sha512-jqQZopNCzt9c4K6Qa7j6kIhzHfR9wgF84go58VoNp4JbZrBr2D2l5lcv72CW80yc6NJl8CR6OY8xctnIs0r2uw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.46" From 8eef43877c96f322665061ce22a7b637a676820d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 13 Mar 2021 00:05:10 +0000 Subject: [PATCH 073/252] chore(deps): update dependency eslint to v7.22.0 --- package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 26 +++++++++++++++++++------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 9c3df669e..a7a5f8969 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", - "eslint": "7.21.0", + "eslint": "7.22.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.3.1", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index f746238e5..714b3017d 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/mongodb": "3.6.3", "chalk": "4.1.0", - "eslint": "7.21.0", + "eslint": "7.22.0", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/yarn.lock b/yarn.lock index a4f916da2..ae6abc880 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9329,10 +9329,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.21.0: - version "7.21.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.21.0.tgz#4ecd5b8c5b44f5dedc9b8a110b01bbfeb15d1c83" - integrity sha512-W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg== +eslint@7.22.0: + version "7.22.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.22.0.tgz#07ecc61052fec63661a2cab6bd507127c07adc6f" + integrity sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg== dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.0" @@ -9351,7 +9351,7 @@ eslint@7.21.0: file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" glob-parent "^5.0.0" - globals "^12.1.0" + globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" @@ -9359,7 +9359,7 @@ eslint@7.21.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.20" + lodash "^4.17.21" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -10521,6 +10521,13 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +globals@^13.6.0: + version "13.6.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.6.0.tgz#d77138e53738567bb96a3916ff6f6b487af20ef7" + integrity sha512-YFKCX0SiPg7l5oKYCJ2zZGxcXprVXHcSnVuvzrT3oSENQonVLqM5pf9fN5dLGZGyCjhw8TN8Btwe/jKnZ0pjvQ== + dependencies: + type-fest "^0.20.2" + globby@11.0.1, globby@^11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" @@ -13472,7 +13479,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.x: +lodash@4.x, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -19559,6 +19566,11 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" From 9e848a0647ae45bc309d42968f7815f0a4ee06b4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 13 Mar 2021 00:07:21 +0000 Subject: [PATCH 074/252] chore(deps): update dependency webpack-cli to v4.5.0 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 156 ++++++++++++----------- 3 files changed, 82 insertions(+), 78 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index cbcf00ef3..5b555511a 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -71,7 +71,7 @@ "ts-loader": "8.0.18", "typescript": "4.0.5", "webpack": "5.25.0", - "webpack-cli": "4.2.0" + "webpack-cli": "4.5.0" }, "resolutions": { "**/**/fs-capacitor": "^6.0.0", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index bab460edf..f341086e7 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -56,7 +56,7 @@ "ts-loader": "8.0.18", "typescript": "4.0.5", "webpack": "5.25.0", - "webpack-cli": "4.2.0" + "webpack-cli": "4.5.0" }, "eslintConfig": { "extends": "./config/eslint.config.js" diff --git a/yarn.lock b/yarn.lock index 1822c75a8..4e3266d82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2494,6 +2494,11 @@ debug "^3.1.0" lodash.once "^4.1.1" +"@discoveryjs/json-ext@^0.5.0": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" + integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== + "@eslint/eslintrc@^0.4.0": version "0.4.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" @@ -4985,17 +4990,22 @@ "@webassemblyjs/wast-parser" "1.8.5" "@xtuc/long" "4.2.2" -"@webpack-cli/info@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.1.0.tgz#c596d5bc48418b39df00c5ed7341bf0f102dbff1" - integrity sha512-uNWSdaYHc+f3LdIZNwhdhkjjLDDl3jP2+XBqAq9H8DjrJUvlOKdP8TNruy1yEaDfgpAIgbSAN7pye4FEHg9tYQ== +"@webpack-cli/configtest@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.1.tgz#241aecfbdc715eee96bed447ed402e12ec171935" + integrity sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ== + +"@webpack-cli/info@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.2.tgz#ef3c0cd947a1fa083e174a59cb74e0b6195c236c" + integrity sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.1.0.tgz#13ad38f89b6e53d1133bac0006a128217a6ebf92" - integrity sha512-7RfnMXCpJ/NThrhq4gYQYILB18xWyoQcBey81oIyVbmgbc6m5ZHHyFK+DyH7pLHJf0p14MxL4mTsoPAgBSTpIg== +"@webpack-cli/serve@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.0.tgz#2730c770f5f1f132767c63dcaaa4ec28f8c56a6c" + integrity sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw== "@wry/context@^0.5.2": version "0.5.2" @@ -5645,11 +5655,6 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= -array-back@^4.0.0, array-back@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.1.tgz#9b80312935a52062e1a233a9c7abeb5481b30e90" - integrity sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg== - array-differ@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" @@ -7328,16 +7333,6 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -command-line-usage@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.0.tgz#f28376a3da3361ff3d36cfd31c3c22c9a64c7cb6" - integrity sha512-Ew1clU4pkUeo6AFVDFxCbnN7GIZfXl48HIOQeFQnkO3oOqvpI7wdqtLRwv9iOCZ/7A+z4csVZeiDdEcj8g6Wiw== - dependencies: - array-back "^4.0.0" - chalk "^2.4.2" - table-layout "^1.0.0" - typical "^5.2.0" - commander@^2.11.0, commander@^2.19.0, commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -7353,10 +7348,10 @@ commander@^6.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA== -commander@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" - integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== +commander@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff" + integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== common-tags@^1.8.0: version "1.8.0" @@ -8305,7 +8300,7 @@ deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" -deep-extend@^0.6.0, deep-extend@~0.6.0: +deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== @@ -9533,7 +9528,7 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== -execa@4.1.0, execa@^4.1.0: +execa@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== @@ -9576,6 +9571,21 @@ execa@^4.0.0, execa@^4.0.2: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +execa@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" + integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + executable@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" @@ -9799,6 +9809,11 @@ fast-safe-stringify@^2.0.7: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + fastq@^1.6.0: version "1.8.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" @@ -10381,6 +10396,11 @@ get-stream@^5.0.0: dependencies: pump "^3.0.0" +get-stream@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" + integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -11043,6 +11063,11 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" @@ -14569,7 +14594,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npm-run-path@^4.0.0: +npm-run-path@^4.0.0, npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== @@ -14805,7 +14830,7 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -onetime@^5.1.0: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== @@ -17397,11 +17422,6 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -reduce-flatten@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" - integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== - reflect.ownkeys@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" @@ -18226,7 +18246,7 @@ side-channel@^1.0.2: es-abstract "^1.18.0-next.0" object-inspect "^1.8.0" -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== @@ -19022,16 +19042,6 @@ syntax-error@^1.1.1: dependencies: acorn-node "^1.2.0" -table-layout@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.1.tgz#8411181ee951278ad0638aea2f779a9ce42894f9" - integrity sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q== - dependencies: - array-back "^4.0.1" - deep-extend "~0.6.0" - typical "^5.2.0" - wordwrapjs "^4.0.0" - table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -19609,11 +19619,6 @@ typescript@4.0.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== -typical@^5.0.0, typical@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" - integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== - uglify-js@^3.1.4: version "3.10.3" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.3.tgz#f0d2f99736c14de46d2d24649ba328be3e71c3bf" @@ -20050,24 +20055,25 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-cli@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.2.0.tgz#10a09030ad2bd4d8b0f78322fba6ea43ec56aaaa" - integrity sha512-EIl3k88vaF4fSxWSgtAQR+VwicfLMTZ9amQtqS4o+TDPW9HGaEpbFBbAZ4A3ZOT5SOnMxNOzROsSTPiE8tBJPA== +webpack-cli@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.5.0.tgz#b5213b84adf6e1f5de6391334c9fa53a48850466" + integrity sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q== dependencies: - "@webpack-cli/info" "^1.1.0" - "@webpack-cli/serve" "^1.1.0" + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.0.1" + "@webpack-cli/info" "^1.2.2" + "@webpack-cli/serve" "^1.3.0" colorette "^1.2.1" - command-line-usage "^6.1.0" - commander "^6.2.0" + commander "^7.0.0" enquirer "^2.3.6" - execa "^4.1.0" + execa "^5.0.0" + fastest-levenshtein "^1.0.12" import-local "^3.0.2" interpret "^2.2.0" - leven "^3.1.0" rechoir "^0.7.0" v8-compile-cache "^2.2.0" - webpack-merge "^4.2.2" + webpack-merge "^5.7.3" webpack-dev-middleware@^3.7.2: version "3.7.2" @@ -20137,12 +20143,13 @@ webpack-manifest-plugin@2.2.0: object.entries "^1.1.0" tapable "^1.0.0" -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== +webpack-merge@^5.7.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" + integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== dependencies: - lodash "^4.17.15" + clone-deep "^4.0.1" + wildcard "^2.0.0" webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" @@ -20307,6 +20314,11 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + windows-release@^3.1.0: version "3.3.3" resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" @@ -20324,14 +20336,6 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -wordwrapjs@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.0.tgz#9aa9394155993476e831ba8e59fb5795ebde6800" - integrity sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ== - dependencies: - reduce-flatten "^2.0.0" - typical "^5.0.0" - workbox-background-sync@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" From 2c77660a4744f4ac485997d0ee32389fac46df6a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 13 Mar 2021 11:00:08 +0000 Subject: [PATCH 075/252] fix(deps): update dependency bcrypt to v5.0.1 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 150 ++++++++++++++------------ 2 files changed, 84 insertions(+), 68 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 5b555511a..47b810b8e 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "apollo-server-express": "2.19.2", - "bcrypt": "5.0.0", + "bcrypt": "5.0.1", "body-parser": "1.19.0", "connect-mongo": "3.2.0", "deepmerge": "4.2.2", diff --git a/yarn.lock b/yarn.lock index 4e3266d82..325a6941a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3677,6 +3677,21 @@ npmlog "^4.1.2" write-file-atomic "^2.3.0" +"@mapbox/node-pre-gyp@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.1.tgz#1b23a8decb5e6356b04770d586067d2bff2703dd" + integrity sha512-CUBdThIZMoLEQQxACwhLsPg/puxBca0abTH3ixuvBQkhjJ80Hdp99jmVjxFCOa52/tZqN9d70IbGUf+OuKDHGA== + dependencies: + detect-libc "^1.0.3" + http-proxy-agent "^4.0.1" + make-dir "^3.1.0" + node-fetch "^2.6.1" + nopt "^5.0.0" + npmlog "^4.1.2" + rimraf "^3.0.2" + semver "^7.3.4" + tar "^6.1.0" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -3997,6 +4012,11 @@ "@svgr/plugin-svgo" "^4.3.1" loader-utils "^1.2.3" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/accepts@*", "@types/accepts@^1.3.5": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" @@ -6213,13 +6233,13 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bcrypt@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.0.0.tgz#051407c7cd5ffbfb773d541ca3760ea0754e37e2" - integrity sha512-jB0yCBl4W/kVHM2whjfyqnxTmOHkCX4kHEa5nYKSoGeYe8YrjTYTc87/6bwt1g8cmV0QrbhKriETg9jWtcREhg== +bcrypt@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.0.1.tgz#f1a2c20f208e2ccdceea4433df0c8b2c54ecdf71" + integrity sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw== dependencies: - node-addon-api "^3.0.0" - node-pre-gyp "0.15.0" + "@mapbox/node-pre-gyp" "^1.0.0" + node-addon-api "^3.1.0" before-after-hook@^2.0.0: version "2.1.0" @@ -7043,6 +7063,11 @@ chownr@^1.1.1, chownr@^1.1.2: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" @@ -8234,7 +8259,7 @@ debug@4.3.2: dependencies: ms "2.1.2" -debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: +debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -8300,11 +8325,6 @@ deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -8447,7 +8467,7 @@ detect-indent@^5.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= -detect-libc@^1.0.2: +detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= @@ -11009,6 +11029,15 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-proxy-middleware@0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" @@ -11091,7 +11120,7 @@ husky@4.3.8: slash "^3.0.0" which-pm-runs "^1.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -11257,7 +11286,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: +ini@^1.3.2, ini@^1.3.4, ini@^1.3.5: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -14021,6 +14050,14 @@ minizlib@^1.2.1: dependencies: minipass "^2.9.0" +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -14065,12 +14102,12 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@1.x, mkdirp@^1.0.4: +mkdirp@*, mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -14300,15 +14337,6 @@ nearley@^2.7.10: randexp "0.4.6" semver "^5.4.1" -needle@^2.5.0: - version "2.5.2" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.5.2.tgz#cf1a8fce382b5a280108bba90a14993c00e4010a" - integrity sha512-LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -14337,10 +14365,10 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" -node-addon-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.0.tgz#812446a1001a54f71663bed188314bba07e09247" - integrity sha512-sSHCgWfJ+Lui/u+0msF3oyCgvdkhxDbkCS6Q8uiJquzOimkJBvX6hl5aSSA7DR1XbMpdM8r7phjcF63sF4rkKg== +node-addon-api@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239" + integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw== node-fetch-npm@^2.0.2: version "2.0.4" @@ -14351,7 +14379,7 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@2.6.1, node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.5.0: +node-fetch@2.6.1, node-fetch@^2.1.2, node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.5.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== @@ -14440,22 +14468,6 @@ node-notifier@^8.0.0: uuid "^8.3.0" which "^2.0.2" -node-pre-gyp@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz#c2fc383276b74c7ffa842925241553e8b40f1087" - integrity sha512-7QcZa8/fpaU/BKenjcaeFF9hLz2+7S9AqyXFhlH/rilsQ/hPZKK32RtR5EQHJElgu+q5RfbJ34KriI79UWaorA== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.3" - needle "^2.5.0" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4.4.2" - node-preload@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" @@ -14491,6 +14503,13 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -14569,7 +14588,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.6, npm-packlist@^1.4.4: +npm-packlist@^1.4.4: version "1.4.8" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== @@ -14601,7 +14620,7 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^4.0.2, npmlog@^4.1.2: +npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -17028,16 +17047,6 @@ rc-virtual-list@^3.2.0: rc-resize-observer "^0.2.3" rc-util "^5.0.7" -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-app-polyfill@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" @@ -17828,7 +17837,7 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: +rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -18036,7 +18045,7 @@ semver-regex@^3.1.2: resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807" integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA== -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -18888,11 +18897,6 @@ strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - strong-log-transformer@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -19083,7 +19087,7 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^4.4.10, tar@^4.4.12, tar@^4.4.2, tar@^4.4.8: +tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== @@ -19096,6 +19100,18 @@ tar@^4.4.10, tar@^4.4.12, tar@^4.4.2, tar@^4.4.8: safe-buffer "^5.1.2" yallist "^3.0.3" +tar@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" + integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" From 46d21028091538c9fe8cc9a008b8e01e2a1c7536 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 13 Mar 2021 14:00:36 +0000 Subject: [PATCH 076/252] fix(deps): update dependency fs-extra to v9.1.0 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 25 ++++++++++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 47b810b8e..2d1b63ab5 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -27,7 +27,7 @@ "deepmerge": "4.2.2", "express": "4.17.1", "express-session": "1.17.1", - "fs-extra": "9.0.1", + "fs-extra": "9.1.0", "graphql-type-json": "0.3.2", "hi-base32": "0.5.0", "itmat-commons": "0.6.0", diff --git a/yarn.lock b/yarn.lock index 325a6941a..2643e0ca6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10214,15 +10214,15 @@ fs-extra@9.0.0: jsonfile "^6.0.1" universalify "^1.0.0" -fs-extra@9.0.1, fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== +fs-extra@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" graceful-fs "^4.2.0" jsonfile "^6.0.1" - universalify "^1.0.0" + universalify "^2.0.0" fs-extra@^4.0.2, fs-extra@^4.0.3: version "4.0.3" @@ -10251,6 +10251,16 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + fs-minipass@^1.2.5: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" @@ -19757,6 +19767,11 @@ universalify@^1.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" From a6417b75512d89507fb38618f3e7bbb587d3d6e1 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 14 Mar 2021 19:43:50 +0000 Subject: [PATCH 077/252] chore(deps): update dependency eslint-plugin-jest to v24.3.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9c3df669e..74836996c 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.3.1", "eslint-plugin-import": "2.22.1", - "eslint-plugin-jest": "24.2.1", + "eslint-plugin-jest": "24.3.1", "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-react": "7.21.5", "eslint-plugin-react-hooks": "4.1.2", diff --git a/yarn.lock b/yarn.lock index 2643e0ca6..d22ddbd3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9215,10 +9215,10 @@ eslint-plugin-import@2.22.1: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-plugin-jest@24.2.1: - version "24.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.2.1.tgz#7e84f16a3ca6589b86be9732a93d71367a4ed627" - integrity sha512-s24ve8WUu3DLVidvlSzaqlOpTZre9lTkZTAO+a7X0WMtj8HraWTiTEkW3pbDT1xVxqEHMWSv+Kx7MyqR50nhBw== +eslint-plugin-jest@24.3.1: + version "24.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.1.tgz#c8df037847b83397940bef7fbc2cc168ab466bcc" + integrity sha512-RQt59rfMSHyvedImT72iaf8JcvCcR4P7Uq499dALtjY8mrCjbwWrFi1UceG4sid2wVIeDi+0tjxXZ8CZEVO7Zw== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" From 717b967eeb91509a6ddd2e5fc4fa9bdb48e2c632 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 15 Mar 2021 16:48:00 +0000 Subject: [PATCH 078/252] chore(deps): update dependency eslint-plugin-flowtype to v5.4.0 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 74836996c..4aa84d7b5 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "eslint": "7.21.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", - "eslint-plugin-flowtype": "5.3.1", + "eslint-plugin-flowtype": "5.4.0", "eslint-plugin-import": "2.22.1", "eslint-plugin-jest": "24.3.1", "eslint-plugin-jsx-a11y": "6.4.1", diff --git a/yarn.lock b/yarn.lock index d22ddbd3a..69268f769 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9170,10 +9170,10 @@ eslint-plugin-flowtype@4.6.0: dependencies: lodash "^4.17.15" -eslint-plugin-flowtype@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.3.1.tgz#df6227e28c61d967b825c1327a27818bbb2ad325" - integrity sha512-mziJD+zw+VTwLtF9qLIxYac0GJCbSEDyqMLP5ENzQeNY5EOxbAfitMFLo+UItjYOISQdh1BCobwE2d4i1o+9Rw== +eslint-plugin-flowtype@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.4.0.tgz#a559526e56403cb97b470b524957fc526e2485fe" + integrity sha512-O0s0iTT5UxYuoOpHMLSIO2qZMyvrb9shhk1EM5INNGtJ2CffrfUmsnh6TVsnoT41fkXIEndP630WNovhoO87xQ== dependencies: lodash "^4.17.15" string-natural-compare "^3.0.1" From f6cc471402edec646ae8b2636c4fd86be126388c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 16 Mar 2021 20:50:15 +0000 Subject: [PATCH 079/252] chore(deps): update dependency @types/node to v14.14.35 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 57bc47426..a06edda30 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -29,7 +29,7 @@ "@types/jest": "26.0.20", "@types/minio": "7.0.6", "@types/mongodb": "3.6.3", - "@types/node": "14.14.34", + "@types/node": "14.14.35", "@types/supertest": "2.0.10", "chalk": "4.1.0", "jest": "26.6.3", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 2d1b63ab5..0f746200a 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -44,7 +44,7 @@ "@types/express-session": "1.17.3", "@types/jest": "26.0.20", "@types/mongodb": "3.6.3", - "@types/node": "14.14.34", + "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.0", "@types/passport": "1.0.4", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index f341086e7..a6a9a7c0c 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -40,7 +40,7 @@ "@types/jest": "26.0.20", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.3", - "@types/node": "14.14.34", + "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 0a1adfeb5..b6c8445b3 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -37,7 +37,7 @@ "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.20", - "@types/node": "14.14.34", + "@types/node": "14.14.35", "@types/react": "16.14.5", "@types/react-dom": "16.9.9", "@types/react-router-dom": "5.1.7", diff --git a/yarn.lock b/yarn.lock index 69268f769..8898c3a23 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4409,10 +4409,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== -"@types/node@14.14.34": - version "14.14.34" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.34.tgz#07935194fc049069a1c56c0c274265abeddf88da" - integrity sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA== +"@types/node@14.14.35": + version "14.14.35" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" + integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== "@types/node@^10.1.0": version "10.17.29" From 9594553eeea007381336a286d8bdfca15fac8076 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 17 Mar 2021 14:10:04 +0000 Subject: [PATCH 080/252] chore(deps): update dependency ts-jest to v26.5.4 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 57 ++---------------------- 4 files changed, 7 insertions(+), 56 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 57bc47426..a180c624f 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -34,7 +34,7 @@ "chalk": "4.1.0", "jest": "26.6.3", "rimraf": "3.0.2", - "ts-jest": "26.5.2", + "ts-jest": "26.5.4", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 2d1b63ab5..a0e755aa7 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -67,7 +67,7 @@ "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", - "ts-jest": "26.5.2", + "ts-jest": "26.5.4", "ts-loader": "8.0.18", "typescript": "4.0.5", "webpack": "5.25.0", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index f341086e7..4d075b4cd 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -52,7 +52,7 @@ "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", "supertest": "6.0.1", - "ts-jest": "26.5.2", + "ts-jest": "26.5.4", "ts-loader": "8.0.18", "typescript": "4.0.5", "webpack": "5.25.0", diff --git a/yarn.lock b/yarn.lock index 69268f769..fd1b95ce4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2949,16 +2949,6 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - "@jest/types@^26.3.0": version "26.3.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.3.0.tgz#97627bf4bdb72c55346eef98e3b3f7ddc4941f71" @@ -4302,14 +4292,6 @@ jest-diff "^26.0.0" pretty-format "^26.0.0" -"@types/jest@26.x": - version "26.0.13" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.13.tgz#5a7b9d5312f5dd521a38329c38ee9d3802a0b85e" - integrity sha512-sCzjKow4z9LILc6DhBvn5AkIfmQzDZkgtVVKmGwVrs5tuid38ws281D4l+7x1kP487+FlKDh5kfMZ8WSPAdmdA== - dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" - "@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": version "7.0.6" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" @@ -8524,11 +8506,6 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - diff-sequences@^26.5.0: version "26.5.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.5.0.tgz#ef766cf09d43ed40406611f11c6d8d9dd8b2fefd" @@ -12109,16 +12086,6 @@ jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-diff@^25.2.1: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - jest-diff@^26.0.0: version "26.6.1" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.1.tgz#38aa194979f454619bb39bdee299fb64ede5300c" @@ -12256,11 +12223,6 @@ jest-get-type@^24.9.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - jest-get-type@^26.3.0: version "26.3.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" @@ -16255,16 +16217,6 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^25.2.1, pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - pretty-format@^26.0.0, pretty-format@^26.6.1: version "26.6.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.1.tgz#af9a2f63493a856acddeeb11ba6bcf61989660a8" @@ -19479,12 +19431,11 @@ ts-invariant@^0.6.0: "@ungap/global-this" "^0.4.2" tslib "^1.9.3" -ts-jest@26.5.2: - version "26.5.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.2.tgz#5281d6b44c2f94f71205728a389edc3d7995b0c4" - integrity sha512-bwyJ2zJieSugf7RB+o8fgkMeoMVMM2KPDE0UklRLuACxjwJsOrZNo6chrcScmK33YavPSwhARffy8dZx5LJdUQ== +ts-jest@26.5.4: + version "26.5.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.4.tgz#207f4c114812a9c6d5746dd4d1cdf899eafc9686" + integrity sha512-I5Qsddo+VTm94SukBJ4cPimOoFZsYTeElR2xy6H2TOVs+NsvgYglW8KuQgKoApOKuaU/Ix/vrF9ebFZlb5D2Pg== dependencies: - "@types/jest" "26.x" bs-logger "0.x" buffer-from "1.x" fast-json-stable-stringify "2.x" From 60e623f9dd4efd0aa8ed651df9f74299747345dd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 18 Mar 2021 10:16:24 +0000 Subject: [PATCH 081/252] chore(deps): update dependency @types/jest to v26.0.21 --- package.json | 2 +- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 4aa84d7b5..adee440a7 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ ] }, "devDependencies": { - "@types/jest": "26.0.20", + "@types/jest": "26.0.21", "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index a06edda30..f289dbb98 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@types/express": "4.17.8", - "@types/jest": "26.0.20", + "@types/jest": "26.0.21", "@types/minio": "7.0.6", "@types/mongodb": "3.6.3", "@types/node": "14.14.35", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 0f746200a..599b921ca 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -42,7 +42,7 @@ "@types/bcrypt": "3.0.0", "@types/express": "4.17.8", "@types/express-session": "1.17.3", - "@types/jest": "26.0.20", + "@types/jest": "26.0.21", "@types/mongodb": "3.6.3", "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index a6a9a7c0c..cb227bf3b 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -37,7 +37,7 @@ "@babel/preset-env": "7.13.10", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", - "@types/jest": "26.0.20", + "@types/jest": "26.0.21", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.3", "@types/node": "14.14.35", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index b6c8445b3..b72bbce2b 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -36,7 +36,7 @@ "@babel/preset-env": "7.13.10", "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", - "@types/jest": "26.0.20", + "@types/jest": "26.0.21", "@types/node": "14.14.35", "@types/react": "16.14.5", "@types/react-dom": "16.9.9", diff --git a/yarn.lock b/yarn.lock index 8898c3a23..ce8cfd35b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4294,10 +4294,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.0.20": - version "26.0.20" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" - integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== +"@types/jest@26.0.21": + version "26.0.21" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.21.tgz#3a73c2731e7e4f0fbaea56ce7ff8c79cf812bd24" + integrity sha512-ab9TyM/69yg7eew9eOwKMUmvIZAKEGZYlq/dhe5/0IMUd/QLJv5ldRMdddSn+u22N13FP3s5jYyktxuBwY0kDA== dependencies: jest-diff "^26.0.0" pretty-format "^26.0.0" From e44cfaaf7e6e55f774be16f32d199363ffeca342 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 20 Mar 2021 16:17:24 +0000 Subject: [PATCH 082/252] chore(deps): update dependency eslint-plugin-jest to v24.3.2 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index adee440a7..38770f3c5 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.4.0", "eslint-plugin-import": "2.22.1", - "eslint-plugin-jest": "24.3.1", + "eslint-plugin-jest": "24.3.2", "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-react": "7.21.5", "eslint-plugin-react-hooks": "4.1.2", diff --git a/yarn.lock b/yarn.lock index ce8cfd35b..ae236ad05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9215,10 +9215,10 @@ eslint-plugin-import@2.22.1: resolve "^1.17.0" tsconfig-paths "^3.9.0" -eslint-plugin-jest@24.3.1: - version "24.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.1.tgz#c8df037847b83397940bef7fbc2cc168ab466bcc" - integrity sha512-RQt59rfMSHyvedImT72iaf8JcvCcR4P7Uq499dALtjY8mrCjbwWrFi1UceG4sid2wVIeDi+0tjxXZ8CZEVO7Zw== +eslint-plugin-jest@24.3.2: + version "24.3.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.2.tgz#30a8b2dea6278d0da1d6fb9d6cd530aaf58050a1" + integrity sha512-cicWDr+RvTAOKS3Q/k03+Z3odt3VCiWamNUHWd6QWbVQWcYJyYgUTu8x0mx9GfeDEimawU5kQC+nQ3MFxIM6bw== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" From e6faeaf6c138e31713df6b830164fae8e1b9cf97 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 22 Mar 2021 11:52:43 +0000 Subject: [PATCH 083/252] fix(deps): update dependency antd to v4.14.1 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 369 ++++++++++++--------------- 2 files changed, 171 insertions(+), 200 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index b72bbce2b..89b9252f5 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@apollo/client": "3.3.7", - "antd": "4.8.4", + "antd": "4.14.1", "apollo-upload-client": "14.1.3", "graphql": "15.4.0", "itmat-commons": "0.6.0", diff --git a/yarn.lock b/yarn.lock index ce8cfd35b..f36d9256f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,58 +2,33 @@ # yarn lockfile v1 -"@ant-design/colors@^3.1.0": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-3.2.2.tgz#5ad43d619e911f3488ebac303d606e66a8423903" - integrity sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ== - dependencies: - tinycolor2 "^1.4.1" - -"@ant-design/colors@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-5.0.0.tgz#46b73b4cc6935b35fc8b84555e8e42c8cfc190e6" - integrity sha512-Pe1rYorgVC1v4f+InDXvIlQH715pO1g7BsOhy/ehX/U6ebPKqojmkYJKU3lF+84Zmvyar7ngZ28hesAa1nWjLg== +"@ant-design/colors@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" + integrity sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ== dependencies: - "@ctrl/tinycolor" "^3.1.6" - -"@ant-design/css-animation@^1.7.2": - version "1.7.3" - resolved "https://registry.yarnpkg.com/@ant-design/css-animation/-/css-animation-1.7.3.tgz#60a1c970014e86b28f940510d69e503e428f1136" - integrity sha512-LrX0OGZtW+W6iLnTAqnTaoIsRelYeuLZWsrmBJFUXDALQphPsN8cE5DCsmoSlL0QYb94BQxINiuS70Ar/8BNgA== + "@ctrl/tinycolor" "^3.4.0" "@ant-design/icons-svg@^4.0.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz#480b025f4b20ef7fe8f47d4a4846e4fee84ea06c" integrity sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ== -"@ant-design/icons@^4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.2.2.tgz#6533c5a02aec49238ec4748074845ad7d85a4f5e" - integrity sha512-DrVV+wcupnHS7PehJ6KiTcJtAR5c25UMgjGECCc6pUT9rsvw0AuYG+a4HDjfxEQuDqKTHwW+oX/nIvCymyLE8Q== +"@ant-design/icons@^4.6.2": + version "4.6.2" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.6.2.tgz#290f2e8cde505ab081fda63e511e82d3c48be982" + integrity sha512-QsBG2BxBYU/rxr2eb8b2cZ4rPKAPBpzAR+0v6rrZLp/lnyvflLH3tw1vregK+M7aJauGWjIGNdFmUfpAOtw25A== dependencies: - "@ant-design/colors" "^3.1.0" - "@ant-design/icons-svg" "^4.0.0" - "@babel/runtime" "^7.10.4" - classnames "^2.2.6" - insert-css "^2.0.0" - rc-util "^5.0.1" - -"@ant-design/icons@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.3.0.tgz#420e0cd527486c0fe57f81310d681950fc4cfacf" - integrity sha512-UoIbw4oz/L/msbkgqs2nls2KP7XNKScOxVR54wRrWwnXOzJaGNwwSdYjHQz+5ETf8C53YPpzMOnRX99LFCdeIQ== - dependencies: - "@ant-design/colors" "^5.0.0" + "@ant-design/colors" "^6.0.0" "@ant-design/icons-svg" "^4.0.0" "@babel/runtime" "^7.11.2" classnames "^2.2.6" - insert-css "^2.0.0" - rc-util "^5.0.1" + rc-util "^5.9.4" -"@ant-design/react-slick@~0.27.0": - version "0.27.10" - resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-0.27.10.tgz#84b01288ad1a9b049f1ff537d85b765d397b60c1" - integrity sha512-Lg/9RlGaYGeFjB1UkvK50xUKf7XgIVpxXVPkm+45/VoA66c3uC1KN5yRxx7AEayHcSPZDqO9TGvMXu1WbbY2vw== +"@ant-design/react-slick@~0.28.1": + version "0.28.2" + resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-0.28.2.tgz#d2826f8a837b86b8d9cb0c38533ee8a491621f1b" + integrity sha512-nkrvXsO29pLToFaBb3MlJY4McaUFR4UHtXTz6A5HBzYmxH4SwKerX54mWdGc/6tKpHvS3vUwjEOt2T5XqZEo8Q== dependencies: "@babel/runtime" "^7.10.4" classnames "^2.2.5" @@ -2390,10 +2365,10 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== -"@ctrl/tinycolor@^3.1.6": - version "3.1.7" - resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.1.7.tgz#1585f67629882002a9f8e15a2941c9a4321bf80c" - integrity sha512-/0C6fjXbCwu22k8mMsKRSAo9zgu61d2p75Or9IuIC0Vu5CWN88t2QHK93LhNnxnqHWf5SFwFU28w9cKfTmnfvg== +"@ctrl/tinycolor@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" + integrity sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ== "@cypress/browserify-preprocessor@3.0.1": version "3.0.1" @@ -5351,54 +5326,51 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: "@types/color-name" "^1.1.1" color-convert "^2.0.1" -antd@4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/antd/-/antd-4.8.4.tgz#48fbf35948eb44ce74263a6c7f9db70c312a3c2d" - integrity sha512-7GlxN/WxJ3cE32echN+6cNgLkwtgU5/4UB1YSzhtENWH1cO8PHIJ+t1/Ba3tfa/BwWUHvA7ku/sKACwptqtw1g== +antd@4.14.1: + version "4.14.1" + resolved "https://registry.yarnpkg.com/antd/-/antd-4.14.1.tgz#f04b7323793045fd159aaf18037adc8ce4f5aaeb" + integrity sha512-984zBd4EtsBfCC4dUmDAZfaCphjcm7+ldKBWJHPyheUZL5S3X7ZSz+Ld75XGNFj4pLjcGMi2SwGOr/4hmByNsg== dependencies: - "@ant-design/colors" "^5.0.0" - "@ant-design/css-animation" "^1.7.2" - "@ant-design/icons" "^4.3.0" - "@ant-design/react-slick" "~0.27.0" - "@babel/runtime" "^7.11.2" + "@ant-design/colors" "^6.0.0" + "@ant-design/icons" "^4.6.2" + "@ant-design/react-slick" "~0.28.1" + "@babel/runtime" "^7.12.5" array-tree-filter "^2.1.0" classnames "^2.2.6" copy-to-clipboard "^3.2.0" lodash "^4.17.20" moment "^2.25.3" - omit.js "^2.0.2" - raf "^3.4.1" - rc-animate "~3.1.0" rc-cascader "~1.4.0" rc-checkbox "~2.3.0" - rc-collapse "~2.0.0" - rc-dialog "~8.4.0" - rc-drawer "~4.1.0" + rc-collapse "~3.1.0" + rc-dialog "~8.5.1" + rc-drawer "~4.3.0" rc-dropdown "~3.2.0" - rc-field-form "~1.15.0" - rc-image "~4.0.0" - rc-input-number "~6.1.0" + rc-field-form "~1.20.0" + rc-image "~5.2.4" + rc-input-number "~7.0.1" rc-mentions "~1.5.0" rc-menu "~8.10.0" - rc-motion "^2.2.0" + rc-motion "^2.4.0" rc-notification "~4.5.2" - rc-pagination "~3.1.0" - rc-picker "~2.3.0" + rc-pagination "~3.1.6" + rc-picker "~2.5.10" rc-progress "~3.1.0" rc-rate "~2.9.0" - rc-resize-observer "^0.2.3" - rc-select "~11.4.0" - rc-slider "~9.6.1" + rc-resize-observer "^1.0.0" + rc-select "~12.1.6" + rc-slider "~9.7.1" rc-steps "~4.1.0" rc-switch "~3.2.0" - rc-table "~7.11.0" + rc-table "~7.13.0" rc-tabs "~11.7.0" rc-textarea "~0.3.0" - rc-tooltip "~5.0.0" - rc-tree "~3.11.0" - rc-tree-select "~4.1.1" - rc-upload "~3.3.1" - rc-util "^5.1.0" + rc-tooltip "~5.1.0" + rc-tree "~4.1.0" + rc-tree-select "~4.3.0" + rc-trigger "^5.2.1" + rc-upload "~4.2.0-alpha.0" + rc-util "^5.9.4" scroll-into-view-if-needed "^2.2.25" warning "^4.0.3" @@ -8219,11 +8191,6 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -dayjs@^1.8.30: - version "1.8.35" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.35.tgz#67118378f15d31623f3ee2992f5244b887606888" - integrity sha512-isAbIEenO4ilm6f8cpqvgjZCsuerDAz2Kb7ri201AiNn58aqXuaLJEnCtfIMdCvERZHNGRY5lDMTr/jdAnKSWQ== - debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -11379,11 +11346,6 @@ inquirer@^6.2.0: strip-ansi "^5.1.0" through "^2.3.6" -insert-css@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-2.0.0.tgz#eb5d1097b7542f4c79ea3060d3aee07d053880f4" - integrity sha1-610Ql7dUL0x56jBg067gfQU4gPQ= - insert-module-globals@^7.0.0: version "7.2.0" resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.2.0.tgz#ec87e5b42728479e327bd5c5c71611ddfb4752ba" @@ -14823,7 +14785,7 @@ octokit-pagination-methods@^1.1.0: resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== -omit.js@^2.0.0, omit.js@^2.0.2: +omit.js@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/omit.js/-/omit.js-2.0.2.tgz#dd9b8436fab947a5f3ff214cb2538631e313ec2f" integrity sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== @@ -16513,7 +16475,7 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -raf@^3.4.0, raf@^3.4.1: +raf@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== @@ -16584,16 +16546,6 @@ rc-align@^4.0.0: rc-util "^5.0.1" resize-observer-polyfill "^1.5.1" -rc-animate@3.x, rc-animate@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-3.1.0.tgz#051b689c2c7194e4c8ae016d32a0e5f9de6c8baa" - integrity sha512-8FsM+3B1H+0AyTyGggY6JyVldHTs1CyYT8CfTmG/nGHHXlecvSLeICJhcKgRLjUiQlctNnRtB1rwz79cvBVmrw== - dependencies: - "@ant-design/css-animation" "^1.7.2" - classnames "^2.2.6" - raf "^3.4.0" - rc-util "^5.0.1" - rc-cascader@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-1.4.0.tgz#d731ea8e07433558627941036091a2820e895474" @@ -16612,35 +16564,35 @@ rc-checkbox@~2.3.0: "@babel/runtime" "^7.10.1" classnames "^2.2.1" -rc-collapse@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-2.0.0.tgz#08c5942f82005b4342ced02d983581e4c41cd324" - integrity sha512-R5+Ge1uzwK9G1wZPRPhqQsed4FXTDmU0BKzsqfNBtZdk/wd+yey8ZutmJmSozYc5hQwjPkCvJHV7gOIRZKIlJg== +rc-collapse@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.1.0.tgz#4ce5e612568c5fbeaf368cc39214471c1461a1a1" + integrity sha512-EwpNPJcLe7b+5JfyaxM9ZNnkCgqArt3QQO0Cr5p5plwz/C9h8liAmjYY5I4+hl9lAjBqb7ZwLu94+z+rt5g1WQ== dependencies: - "@ant-design/css-animation" "^1.7.2" + "@babel/runtime" "^7.10.1" classnames "2.x" - rc-animate "3.x" - react-is "^16.7.0" + rc-motion "^2.3.4" + rc-util "^5.2.1" shallowequal "^1.1.0" -rc-dialog@~8.4.0: - version "8.4.3" - resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-8.4.3.tgz#de8650ce7d1fcb6c1f7e065b94a6894b9a5a54a4" - integrity sha512-LHsWXb+2Cy4vEOeJcPvk9M0WSr80Gi438ov5rXt3E6XB4j+53Z+vMFRr+TagnVuOVQRCLmmzT4qutfm2U1OK6w== +rc-dialog@~8.5.0, rc-dialog@~8.5.1: + version "8.5.2" + resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-8.5.2.tgz#530e289c25a31c15c85a0e8a4ba3f33414bff418" + integrity sha512-3n4taFcjqhTE9uNuzjB+nPDeqgRBTEGBfe46mb1e7r88DgDo0lL4NnxY/PZ6PJKd2tsCt+RrgF/+YeTvJ/Thsw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.6" rc-motion "^2.3.0" - rc-util "^5.0.1" + rc-util "^5.6.1" -rc-drawer@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-4.1.0.tgz#d7bf0bc030300b62d282bc04e053b9acad6b08b4" - integrity sha512-kjeQFngPjdzAFahNIV0EvEBoIKMOnvUsAxpkSPELoD/1DuR4nLafom5ryma+TIxGwkFJ92W6yjsMi1U9aiOTeQ== +rc-drawer@~4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-4.3.1.tgz#356333a7af01b777abd685c96c2ce62efb44f3f3" + integrity sha512-GMfFy4maqxS9faYXEhQ+0cA1xtkddEQzraf6SAdzWbn444DrrLogwYPk1NXSpdXjLCLxgxOj9MYtyYG42JsfXg== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.6" - rc-util "^5.0.1" + rc-util "^5.7.0" rc-dropdown@^3.1.3, rc-dropdown@~3.2.0: version "3.2.0" @@ -16651,30 +16603,29 @@ rc-dropdown@^3.1.3, rc-dropdown@~3.2.0: classnames "^2.2.6" rc-trigger "^5.0.4" -rc-field-form@~1.15.0: - version "1.15.1" - resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.15.1.tgz#6121dc5e9557967424d38700d5336b6828203273" - integrity sha512-V3Kfryynig7JJichGq/L8yFHpBzmWybWBtI2KjLPCX5S7nibIQPa0J8JNiHmN5kS73apjhKx1do6L7E0EILJ6Q== +rc-field-form@~1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.20.0.tgz#2201092095429f7f020825462835c4086d2baf16" + integrity sha512-jkzsIfXR7ywEYdeAtktt1aLff88wxIPDLpq7KShHNl4wlsWrCE+TzkXBfjvVzYOVZt5GGrD8YDqNO/q6eaR/eA== dependencies: "@babel/runtime" "^7.8.4" async-validator "^3.0.3" - rc-util "^5.0.0" + rc-util "^5.8.0" -rc-image@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-4.0.1.tgz#b54534684a01dcf8cb477f5ac6dda72545a9541f" - integrity sha512-1GxjwgtONtJjlvd7sM9VSLTAlDQhkqHI0wl72YSDpdm24w5zmDsTYLgTNh/vToFa9qAml10Gaidy03qpkTAQ+A== +rc-image@~5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-5.2.4.tgz#ff1059f937bde6ca918c6f1beb316beba911f255" + integrity sha512-kWOjhZC1OoGKfvWqtDoO9r8WUNswBwnjcstI6rf7HMudz0usmbGvewcWqsOhyaBRJL9+I4eeG+xiAoxV1xi75Q== dependencies: - "@ant-design/icons" "^4.2.2" "@babel/runtime" "^7.11.2" classnames "^2.2.6" - rc-dialog "~8.4.0" + rc-dialog "~8.5.0" rc-util "^5.0.6" -rc-input-number@~6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-6.1.1.tgz#818c426942d1b4dc4d6d2639d741ca67773a9118" - integrity sha512-9t2xf1G0YEism7FAXAvF1huBk7ZNABPBf6NL+3/aDL123WiT/vhhod4cldiDWTM1Yb2EDKR//ZIa546ScdsUaA== +rc-input-number@~7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-7.0.2.tgz#913f4f1e734dc0fdf9ad31d077b9b75f5dd3389c" + integrity sha512-9AcD3/D18Oa41xZnBFvJ0fdp6AJkf/en8uKi8E69Ct+sh64qIYbWUXeh1PXhJgrCHIoNNT8OWaTebypT4/d3ZA== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" @@ -16765,6 +16716,15 @@ rc-motion@^2.2.0, rc-motion@^2.3.0: classnames "^2.2.1" rc-util "^5.2.1" +rc-motion@^2.3.4, rc-motion@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.1.tgz#323f47c8635e6b2bc0cba2dfad25fc415b58e1dc" + integrity sha512-TWLvymfMu8SngPx5MDH8dQ0D2RYbluNTfam4hY/dNNx9RQ3WtGuZ/GXHi2ymLMzH+UNd6EEFYkOuR5JTTtm8Xg== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.2.1" + rc-notification@~4.5.2: version "4.5.4" resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.5.4.tgz#1292e163003db4b9162c856a4630e5d0f1359356" @@ -16775,23 +16735,32 @@ rc-notification@~4.5.2: rc-motion "^2.2.0" rc-util "^5.0.1" -rc-pagination@~3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.1.1.tgz#6a3b28f871181b7fad298a15a91f1de6f6e6304a" - integrity sha512-8chFRHXRXRhdPO2Tlmm4hnA/1FnO2hYSoop6FaukQ9/IaCugsVVcXo7OqZ03YJY+aWQLtS6tDsb+sAapCCmljw== +rc-overflow@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.0.2.tgz#f56bcd920029979989f576d55084b81f9632c19c" + integrity sha512-GXj4DAyNxm4f57LvXLwhJaZoJHzSge2l2lQq64MZP7NJAfLpQqOLD+v9JMV9ONTvDPZe8kdzR+UMmkAn7qlzFA== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.5.1" + +rc-pagination@~3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.1.6.tgz#db3c06e50270b52fe272ac527c1fdc2c8d28af1f" + integrity sha512-Pb2zJEt8uxXzYCWx/2qwsYZ3vSS9Eqdw0cJBli6C58/iYhmvutSBqrBJh51Z5UzYc5ZcW5CMeP5LbbKE1J3rpw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" -rc-picker@~2.3.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.3.3.tgz#c58c4270891f92aad02d0404d1699285f9321fd9" - integrity sha512-ah4ucCnAs8ss7GgV7sF7MGgRlyfP4753z+OjnF4X7cIrntygklQqiFDBZYS02RX773vhJ+jc6AbyoR7hI4aGng== +rc-picker@~2.5.10: + version "2.5.10" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.5.10.tgz#0db17c535a37abbe5d016bdcdfb13d6626f802d0" + integrity sha512-d2or2jql9SSY8CaRPybpbKkXBq3bZ6g88UKyWQZBLTCrc92Xm87RfRC/P3UEQo/CLmia3jVF7IXVi1HmNe2DZA== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" date-fns "^2.15.0" - dayjs "^1.8.30" moment "^2.24.0" rc-trigger "^5.0.4" rc-util "^5.4.0" @@ -16814,7 +16783,7 @@ rc-rate@~2.9.0: classnames "^2.2.5" rc-util "^5.0.1" -rc-resize-observer@^0.2.0, rc-resize-observer@^0.2.1, rc-resize-observer@^0.2.3: +rc-resize-observer@^0.2.1, rc-resize-observer@^0.2.3: version "0.2.5" resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-0.2.5.tgz#03e3a5c3dfccd6c996a547e4f82721e4f20f6156" integrity sha512-cc4sOI722MVoCkGf/ZZybDVsjxvnH0giyDdA7wBJLTiMSFJ0eyxBMnr0JLYoClxftjnr75Xzl/VUB3HDrAx04Q== @@ -16824,36 +16793,33 @@ rc-resize-observer@^0.2.0, rc-resize-observer@^0.2.1, rc-resize-observer@^0.2.3: rc-util "^5.0.0" resize-observer-polyfill "^1.5.1" -rc-select@^11.1.1: - version "11.2.0" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-11.2.0.tgz#6372dca772779104eadd9f832633fcb79bb86844" - integrity sha512-rw9XH2ALt/lpXDM/gULWiPDkEh5UndLDMqZo5FRiZji7MYLg+CbmcFpvJ6iYN5KpKosyLsCWrwvzeWZOCL6q0Q== +rc-resize-observer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.0.0.tgz#97fb89856f62fec32ab6e40933935cf58e2e102d" + integrity sha512-RgKGukg1mlzyGdvzF7o/LGFC8AeoMH9aGzXTUdp6m+OApvmRdUuOscq/Y2O45cJA+rXt1ApWlpFoOIioXL3AGg== dependencies: "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^1.0.1" - rc-trigger "^4.3.0" - rc-util "^5.0.1" - rc-virtual-list "^3.0.3" - warning "^4.0.3" + classnames "^2.2.1" + rc-util "^5.0.0" + resize-observer-polyfill "^1.5.1" -rc-select@~11.4.0: - version "11.4.2" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-11.4.2.tgz#5b431ee7b2cc6e439886ca855774fc116e6fe6fb" - integrity sha512-DQHYwMcvAajnnlahKkYIW47AVTXgxpGj9CWbe+juXgvxawQRFUdd8T8L2Q05aOkMy02UTG0Qrs7EZfHmn5QHbA== +rc-select@^12.0.0, rc-select@~12.1.6: + version "12.1.7" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-12.1.7.tgz#46c14833e57c04fe733a94418edf81def0df5760" + integrity sha512-sLZlfp+U7Typ+jPM5gTi8I4/oJalRw8kyhxZZ9Q4mEfO2p+otd1Chmzhh+wPraBY3IwE0RZM2/x1Leg/kQKk/w== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" rc-motion "^2.0.1" + rc-overflow "^1.0.0" rc-trigger "^5.0.4" rc-util "^5.0.1" rc-virtual-list "^3.2.0" - warning "^4.0.3" -rc-slider@~9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.6.1.tgz#bfa8b3dc3b5d2c4600889af47a72f678d8878805" - integrity sha512-pUXMLf5Ha3yS45ApwMYksmTNEH3M3+v8+bvm81eCUqO7sGQYHRPOsvmM78VRJyIlHiXp7H/QRcqvoPVrCyvSUw== +rc-slider@~9.7.1: + version "9.7.1" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.7.1.tgz#63535177a74a3ee44f090909e8c6f98426eb9dba" + integrity sha512-r9r0dpFA3PEvxBhIfVi1lVzxuSogWxeY+tGvi2AqMM1rPgaOXQ7WbtT+9kVFkJ9K8TntA/vYPgiCCKfN29KTkw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" @@ -16879,14 +16845,14 @@ rc-switch@~3.2.0: classnames "^2.2.1" rc-util "^5.0.1" -rc-table@~7.11.0: - version "7.11.1" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.11.1.tgz#b31f548feeb0fc03a2b650cb1fedbed0a8926bb7" - integrity sha512-Xq7ibC/a2kj8ywLeKhGcv689JZaldjPxxe15h89qGho6/sR9YkIUD07KjLCGFaJ0LkhGBNY1XYv2VOUFGOQuYg== +rc-table@~7.13.0: + version "7.13.3" + resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.13.3.tgz#25d5f5ec47ee2d8a293aff18c4c4b8876f78c22b" + integrity sha512-oP4fknjvKCZAaiDnvj+yzBaWcg+JYjkASbeWonU1BbrLcomkpKvMUgPODNEzg0QdXA9OGW0PO86h4goDSW06Kg== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" - rc-resize-observer "^0.2.0" + rc-resize-observer "^1.0.0" rc-util "^5.4.0" shallowequal "^1.1.0" @@ -16921,39 +16887,29 @@ rc-tooltip@^5.0.1: "@babel/runtime" "^7.11.2" rc-trigger "^5.0.0" -rc-tooltip@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.0.0.tgz#ee0a66103754027d0a269f83444983ea70a5560c" - integrity sha512-WZlYGhbQ1f8tx83+5oDfTWgGs5egDPxbmW8KT63Gw7z72itOhbCBcaaGEUhQ8iVsEz9+3/cRsytAXAHRFm45hQ== +rc-tooltip@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.1.0.tgz#abb453c463c31a705aa01d268279f4ae6ae3b15f" + integrity sha512-pFqD1JZwNIpbdcefB7k5xREoHAWM/k3yQwYF0iminbmDXERgq4rvBfUwIvlCqqZSM7HDr9hYeYr6ZsVNaKtvCQ== dependencies: + "@babel/runtime" "^7.11.2" rc-trigger "^5.0.0" -rc-tree-select@~4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-4.1.2.tgz#bf012c3c32cf2e82fc7ffbdd60cb596163a290a0" - integrity sha512-2tRwZ4ChY+BarVKHoPR65kSZtopgwKCig6ngJiiTVgYfRdAhfdQp2j2+L8YW9TkosYGmwgTOhmlphlG3QNy7Pg== +rc-tree-select@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-4.3.0.tgz#714a4fe658aa73f2a7b0aa4bd6e43be63194a6ce" + integrity sha512-EEXB9dKBsJNJuKIU5NERZsaJ71GDGIj5uWLl7A4XiYr2jXM4JICfScvvp3O5jHMDfhqmgpqNc0z90mHkgh3hKg== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" - rc-select "^11.1.1" - rc-tree "^3.8.0" + rc-select "^12.0.0" + rc-tree "^4.0.0" rc-util "^5.0.5" -rc-tree@^3.8.0: - version "3.9.5" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-3.9.5.tgz#07bab1baf11414ec910578759e69f9373e93f424" - integrity sha512-ZGVl1o83hZoz971pzY9Y7yZM+f9qcia1Gym+QNyc3zMGQVshbr6CX2WZ8xUK18tTkdRSqbTXmZFnvYf1lfqT8A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^1.0.0" - rc-util "^5.0.0" - rc-virtual-list "^3.0.1" - -rc-tree@~3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-3.11.0.tgz#87edf01842bd88a05519e30dd7312bee3f7e2618" - integrity sha512-3RxA6fckbzX7WOk7g4gvO6AOad0znc8QW2nsv1IXSiljQaIMiyx1AK0zhzIEtABgWKbIs9QkhnBvIAHS4Rn9LA== +rc-tree@^4.0.0, rc-tree@~4.1.0: + version "4.1.5" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-4.1.5.tgz#734ab1bfe835e78791be41442ca0e571147ab6fa" + integrity sha512-q2vjcmnBDylGZ9/ZW4F9oZMKMJdbFWC7um+DAQhZG1nqyg1iwoowbBggUDUaUOEryJP+08bpliEAYnzJXbI5xQ== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" @@ -16961,7 +16917,7 @@ rc-tree@~3.11.0: rc-util "^5.0.0" rc-virtual-list "^3.0.1" -rc-trigger@^4.3.0, rc-trigger@^4.4.0: +rc-trigger@^4.4.0: version "4.4.2" resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-4.4.2.tgz#74f7ebcfdcdc191b7c82380def68fbba79ed5aec" integrity sha512-uw2/s7j1b/RXyixa4omPuxZWv/3ln+H+p0v3trIUBxseolbdj8TTFpXYjXMZdGtMpAEAIbN1yo/K+r7wRB+xtQ== @@ -17006,16 +16962,27 @@ rc-trigger@^5.1.2: rc-motion "^2.0.0" rc-util "^5.5.0" -rc-upload@~3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-3.3.1.tgz#ad8658b2a796031930b35d2b07ab312b7cd4c9ed" - integrity sha512-KWkJbVM9BwU8qi/2jZwmZpAcdRzDkuyfn/yAOLu+nm47dyd6//MtxzQD3XZDFkC6jQ6D5FmlKn6DhmOfV3v43w== +rc-trigger@^5.2.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.3.tgz#8c55046ab432d7b52d51c69afb57ebb5bbe37e17" + integrity sha512-6Fokao07HUbqKIDkDRFEM0AGZvsvK0Fbp8A/KFgl1ngaqfO1nY037cISCG1Jm5fxImVsXp9awdkP7Vu5cxjjog== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.5.0" + +rc-upload@~4.2.0-alpha.0: + version "4.2.0-alpha.0" + resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.2.0-alpha.0.tgz#326e1672851c73f01c0e2212748742d82641fa62" + integrity sha512-44mVeg9+FwcHVLheYovApS/Q676/dHglRbb9vEYcgqGoR0poP0ssYZ9mtmKxdgr2g5EJe7nGFljbfnyEmluCqQ== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" rc-util "^5.2.0" -rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.5, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.1.0, rc-util@^5.2.0, rc-util@^5.2.1: +rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.5, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.2.0, rc-util@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.2.1.tgz#c01a3e25b4d65570e433f46f85fdf36ed44de6af" integrity sha512-OnIKp4DsYZpT3St9LwiGARXyMR38wNbk7C4jXS6NGAGHZEQWck7W6qfiJwj+MUmhJiUisAknU6BUs65exbhFTw== @@ -17039,7 +17006,16 @@ rc-util@^5.5.0: react-is "^16.12.0" shallowequal "^1.1.0" -rc-virtual-list@^3.0.1, rc-virtual-list@^3.0.3: +rc-util@^5.5.1, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4: + version "5.9.4" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.9.4.tgz#f3a5240df47299fff7ef45864a4abeaf4c60ff98" + integrity sha512-pzFmYZsKLJ1p+Uv4NqA4aNBaFh8/hOQxOOxA5G4TiyPboa0o/PjminxUCKvoSwVJVW5YgleSM2XPCTpTV6DCsQ== + dependencies: + "@babel/runtime" "^7.12.5" + react-is "^16.12.0" + shallowequal "^1.1.0" + +rc-virtual-list@^3.0.1: version "3.0.13" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.0.13.tgz#c02b313ebd6bdc20d8115b435569739126392fa8" integrity sha512-POf1buTgrPrqHDSAOMexjo6XiWhUrHIEvtL/spX4GS9K2ZR9XuDjWOdU/QFfd65U5cobyW8UCBOcJ9BSLjlavw== @@ -19329,11 +19305,6 @@ tiny-warning@^1.0.0, tiny-warning@^1.0.3: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== -tinycolor2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" - integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g= - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" From 686c141a33530473dac37a3ba648bd5eca83bde4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 23 Mar 2021 01:14:53 +0000 Subject: [PATCH 084/252] chore(deps): update dependency @types/react-dom to v16.9.12 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index b72bbce2b..eeaf23849 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -39,7 +39,7 @@ "@types/jest": "26.0.21", "@types/node": "14.14.35", "@types/react": "16.14.5", - "@types/react-dom": "16.9.9", + "@types/react-dom": "16.9.12", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", "cross-env": "7.0.2", diff --git a/yarn.lock b/yarn.lock index ce8cfd35b..03178ef34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4485,12 +4485,12 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== -"@types/react-dom@16.9.9": - version "16.9.9" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.9.tgz#d2d0a6f720a0206369ccbefff752ba37b9583136" - integrity sha512-jE16FNWO3Logq/Lf+yvEAjKzhpST/Eac8EMd1i4dgZdMczfgqC8EjpxwNgEe3SExHYLliabXDh9DEhhqnlXJhg== +"@types/react-dom@16.9.12": + version "16.9.12" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.12.tgz#55cd6b17e73922edb9545e5355a0016c1734e6f4" + integrity sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA== dependencies: - "@types/react" "*" + "@types/react" "^16" "@types/react-router-dom@5.1.7": version "5.1.7" @@ -4517,7 +4517,7 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.14.5": +"@types/react@16.14.5", "@types/react@^16": version "16.14.5" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.5.tgz#2c39b5cadefaf4829818f9219e5e093325979f4d" integrity sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw== From ea9e3a9c21fed000855fa9fe1b953941ec246781 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 23 Mar 2021 15:44:50 +0000 Subject: [PATCH 085/252] chore(deps): update dependency @babel/preset-env to v7.13.12 --- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 46 ++++++++++++++++++------ 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index cb227bf3b..5ff5126c2 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -34,7 +34,7 @@ }, "devDependencies": { "@babel/core": "7.13.10", - "@babel/preset-env": "7.13.10", + "@babel/preset-env": "7.13.12", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", "@types/jest": "26.0.21", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index b72bbce2b..d3c9b2045 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -33,7 +33,7 @@ }, "devDependencies": { "@babel/core": "7.13.10", - "@babel/preset-env": "7.13.10", + "@babel/preset-env": "7.13.12", "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.21", diff --git a/yarn.lock b/yarn.lock index ae236ad05..72a868662 100644 --- a/yarn.lock +++ b/yarn.lock @@ -193,6 +193,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.8.tgz#5b783b9808f15cef71547f1b691f34f8ff6003a6" integrity sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog== +"@babel/compat-data@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.12.tgz#a8a5ccac19c200f9dd49624cac6e19d7be1236a1" + integrity sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ== + "@babel/core@7.13.10": version "7.13.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.10.tgz#07de050bbd8193fcd8a3c27918c0890613a94559" @@ -871,6 +876,15 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.10.tgz#8f8f9bf7b3afa3eabd061f7a5bcdf4fec3c48409" integrity sha512-0s7Mlrw9uTWkYua7xWr99Wpk2bnGa0ANleKfksYAES8LpWH4gW1OUr42vqKNf0us5UQNfru2wPqMqRITzq/SIQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a" + integrity sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-proposal-async-generator-functions@^7.10.4", "@babel/plugin-proposal-async-generator-functions@^7.2.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" @@ -1103,10 +1117,10 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.13.8": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz#e39df93efe7e7e621841babc197982e140e90756" - integrity sha512-hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ== +"@babel/plugin-proposal-optional-chaining@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz#ba9feb601d422e0adea6760c2bd6bbb7bfec4866" + integrity sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ== dependencies: "@babel/helper-plugin-utils" "^7.13.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" @@ -1894,15 +1908,16 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.13" "@babel/helper-plugin-utils" "^7.12.13" -"@babel/preset-env@7.13.10": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.10.tgz#b5cde31d5fe77ab2a6ab3d453b59041a1b3a5252" - integrity sha512-nOsTScuoRghRtUsRr/c69d042ysfPHcu+KOB4A9aAO9eJYqrkat+LF8G1yp1HD18QiwixT2CisZTr/0b3YZPXQ== +"@babel/preset-env@7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.12.tgz#6dff470478290582ac282fb77780eadf32480237" + integrity sha512-JzElc6jk3Ko6zuZgBtjOd01pf9yYDEIH8BcqVuYIuOkzOwDesoa/Nz4gIo4lBG6K861KTV9TvIgmFuT6ytOaAA== dependencies: - "@babel/compat-data" "^7.13.8" + "@babel/compat-data" "^7.13.12" "@babel/helper-compilation-targets" "^7.13.10" "@babel/helper-plugin-utils" "^7.13.0" "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12" "@babel/plugin-proposal-async-generator-functions" "^7.13.8" "@babel/plugin-proposal-class-properties" "^7.13.0" "@babel/plugin-proposal-dynamic-import" "^7.13.8" @@ -1913,7 +1928,7 @@ "@babel/plugin-proposal-numeric-separator" "^7.12.13" "@babel/plugin-proposal-object-rest-spread" "^7.13.8" "@babel/plugin-proposal-optional-catch-binding" "^7.13.8" - "@babel/plugin-proposal-optional-chaining" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" "@babel/plugin-proposal-private-methods" "^7.13.0" "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -1961,7 +1976,7 @@ "@babel/plugin-transform-unicode-escapes" "^7.12.13" "@babel/plugin-transform-unicode-regex" "^7.12.13" "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.13.0" + "@babel/types" "^7.13.12" babel-plugin-polyfill-corejs2 "^0.1.4" babel-plugin-polyfill-corejs3 "^0.1.3" babel-plugin-polyfill-regenerator "^0.1.2" @@ -2367,6 +2382,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.12.tgz#edbf99208ef48852acdff1c8a681a1e4ade580cd" + integrity sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" From f2afc6b6177374084c12379e867ae235e7ed213f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 24 Mar 2021 05:41:33 +0000 Subject: [PATCH 086/252] chore(deps): update dependency eslint-plugin-react to v7.23.1 --- package.json | 2 +- yarn.lock | 275 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 238 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index 38770f3c5..b41cce3ed 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "eslint-plugin-import": "2.22.1", "eslint-plugin-jest": "24.3.2", "eslint-plugin-jsx-a11y": "6.4.1", - "eslint-plugin-react": "7.21.5", + "eslint-plugin-react": "7.23.1", "eslint-plugin-react-hooks": "4.1.2", "husky": "4.3.8", "jest-environment-node": "26.6.2", diff --git a/yarn.lock b/yarn.lock index ae236ad05..7e8b98631 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5719,6 +5719,17 @@ array-includes@^3.0.3, array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" +array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + array-tree-filter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" @@ -5762,13 +5773,14 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -array.prototype.flatmap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" - integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== +array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" function-bind "^1.1.1" arrify@^1.0.1: @@ -6831,6 +6843,14 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -9028,6 +9048,28 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: + version "1.18.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" + integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.2" + is-string "^1.0.5" + object-inspect "^1.9.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.0" + es-module-lexer@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.0.tgz#21f4181cc8b7eee06855f1c59e6087c7bc4f77b0" @@ -9279,22 +9321,23 @@ eslint-plugin-react@7.18.0: prop-types "^15.7.2" resolve "^1.14.2" -eslint-plugin-react@7.21.5: - version "7.21.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3" - integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== +eslint-plugin-react@7.23.1: + version "7.23.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz#f1a2e844c0d1967c822388204a8bc4dee8415b11" + integrity sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ== dependencies: - array-includes "^3.1.1" - array.prototype.flatmap "^1.2.3" + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" doctrine "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.4.1 || ^3.0.0" - object.entries "^1.1.2" - object.fromentries "^2.0.2" - object.values "^1.1.1" + minimatch "^3.0.4" + object.entries "^1.1.3" + object.fromentries "^2.0.4" + object.values "^1.1.3" prop-types "^15.7.2" - resolve "^1.18.1" - string.prototype.matchall "^4.0.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.4" eslint-scope@^4.0.3: version "4.0.3" @@ -10376,6 +10419,15 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -10739,6 +10791,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-bigints@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -10754,6 +10811,11 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -11408,14 +11470,14 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" - integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: - es-abstract "^1.17.0-next.1" + get-intrinsic "^1.1.0" has "^1.0.3" - side-channel "^1.0.2" + side-channel "^1.0.4" interpret@^2.2.0: version "2.2.0" @@ -11488,6 +11550,11 @@ is-arrayish@^0.3.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== +is-bigint@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" + integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -11507,6 +11574,13 @@ is-boolean-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== +is-boolean-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" + integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + dependencies: + call-bind "^1.0.0" + is-buffer@^1.0.2, is-buffer@^1.1.0, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -11517,6 +11591,11 @@ is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.0: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== +is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -11543,6 +11622,13 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -11661,6 +11747,11 @@ is-negative-zero@^2.0.0: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + is-number-object@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" @@ -11753,6 +11844,14 @@ is-regex@^1.0.4, is-regex@^1.0.5, is-regex@^1.1.0, is-regex@^1.1.1: dependencies: has-symbols "^1.0.1" +is-regex@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" + integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.1" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -11802,7 +11901,7 @@ is-svg@^3.0.0: dependencies: html-comment-regex "^1.1.0" -is-symbol@^1.0.2: +is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== @@ -14724,6 +14823,11 @@ object-inspect@^1.7.0, object-inspect@^1.8.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== +object-inspect@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + object-is@^1.0.1, object-is@^1.0.2, object-is@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" @@ -14769,6 +14873,16 @@ object.assign@^4.1.1: has-symbols "^1.0.1" object-keys "^1.1.1" +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" @@ -14778,6 +14892,16 @@ object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: es-abstract "^1.17.5" has "^1.0.3" +object.entries@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" + integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + has "^1.0.3" + object.fromentries@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" @@ -14788,6 +14912,16 @@ object.fromentries@^2.0.2: function-bind "^1.1.1" has "^1.0.3" +object.fromentries@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" + integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" @@ -14813,6 +14947,16 @@ object.values@^1.1.0, object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" +object.values@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" + integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -17493,7 +17637,7 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: +regexp.prototype.flags@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== @@ -17501,6 +17645,14 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -17766,6 +17918,14 @@ resolve@^1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -18257,13 +18417,14 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" - integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: - es-abstract "^1.18.0-next.0" - object-inspect "^1.8.0" + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" @@ -18760,17 +18921,18 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== +string.prototype.matchall@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" + integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0" + es-abstract "^1.18.0-next.2" has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" string.prototype.trim@^1.2.1: version "1.2.1" @@ -18789,6 +18951,14 @@ string.prototype.trimend@^1.0.1: define-properties "^1.1.3" es-abstract "^1.17.5" +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string.prototype.trimstart@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" @@ -18797,6 +18967,14 @@ string.prototype.trimstart@^1.0.1: define-properties "^1.1.3" es-abstract "^1.17.5" +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -19672,6 +19850,16 @@ umd@^3.0.0: resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== +unbox-primitive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.0.tgz#eeacbc4affa28e9b3d36b5eaeccc50b3251b1d3f" + integrity sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.0" + has-symbols "^1.0.0" + which-boxed-primitive "^1.0.1" + undeclared-identifiers@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f" @@ -20314,6 +20502,17 @@ whatwg-url@^8.0.0: tr46 "^2.0.2" webidl-conversions "^6.1.0" +which-boxed-primitive@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" From e1babc369d735910ff9c282a9ebb75a5b69b1a72 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 25 Mar 2021 14:36:40 +0000 Subject: [PATCH 087/252] chore(deps): update dependency enzyme-adapter-react-16 to v1.15.6 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 174 +++++++++++---------------- 2 files changed, 72 insertions(+), 104 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 79f4f66d1..b6318dc90 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -47,7 +47,7 @@ "cypress-file-upload": "4.1.1", "cypress-react-unit-test": "4.17.2", "enzyme": "3.11.0", - "enzyme-adapter-react-16": "1.15.5", + "enzyme-adapter-react-16": "1.15.6", "jest": "26.6.3", "jest-enzyme": "7.1.2", "react-scripts": "3.4.0", diff --git a/yarn.lock b/yarn.lock index 64a230959..efb4ad15c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5697,17 +5697,6 @@ array-includes@^3.0.3, array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" -array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - get-intrinsic "^1.1.1" - is-string "^1.0.5" - array-tree-filter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" @@ -5751,14 +5740,13 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -array.prototype.flatmap@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" - integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== +array.prototype.flatmap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" + integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== dependencies: - call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" arrify@^1.0.1: @@ -8883,30 +8871,31 @@ envinfo@^7.3.1, envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== -enzyme-adapter-react-16@1.15.5: - version "1.15.5" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.5.tgz#7a6f0093d3edd2f7025b36e7fbf290695473ee04" - integrity sha512-33yUJGT1nHFQlbVI5qdo5Pfqvu/h4qPwi1o0a6ZZsjpiqq92a3HjynDhwd1IeED+Su60HDWV8mxJqkTnLYdGkw== +enzyme-adapter-react-16@1.15.6: + version "1.15.6" + resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz#fd677a658d62661ac5afd7f7f541f141f8085901" + integrity sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g== dependencies: - enzyme-adapter-utils "^1.13.1" + enzyme-adapter-utils "^1.14.0" enzyme-shallow-equal "^1.0.4" has "^1.0.3" - object.assign "^4.1.0" - object.values "^1.1.1" + object.assign "^4.1.2" + object.values "^1.1.2" prop-types "^15.7.2" react-is "^16.13.1" react-test-renderer "^16.0.0-0" semver "^5.7.0" -enzyme-adapter-utils@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.1.tgz#59c1b734b0927543e3d8dc477299ec957feb312d" - integrity sha512-5A9MXXgmh/Tkvee3bL/9RCAAgleHqFnsurTYCbymecO4ohvtNO5zqIhHxV370t7nJAwaCfkgtffarKpC0GPt0g== +enzyme-adapter-utils@^1.14.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz#afbb0485e8033aa50c744efb5f5711e64fbf1ad0" + integrity sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg== dependencies: airbnb-prop-types "^2.16.0" - function.prototype.name "^1.1.2" - object.assign "^4.1.0" - object.fromentries "^2.0.2" + function.prototype.name "^1.1.3" + has "^1.0.3" + object.assign "^4.1.2" + object.fromentries "^2.0.3" prop-types "^15.7.2" semver "^5.7.1" @@ -9016,7 +9005,7 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: +es-abstract@^1.18.0-next.2: version "1.18.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== @@ -9289,23 +9278,22 @@ eslint-plugin-react@7.18.0: prop-types "^15.7.2" resolve "^1.14.2" -eslint-plugin-react@7.23.1: - version "7.23.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz#f1a2e844c0d1967c822388204a8bc4dee8415b11" - integrity sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ== +eslint-plugin-react@7.21.5: + version "7.21.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3" + integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + array-includes "^3.1.1" + array.prototype.flatmap "^1.2.3" doctrine "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.3" - object.fromentries "^2.0.4" - object.values "^1.1.3" + object.entries "^1.1.2" + object.fromentries "^2.0.2" + object.values "^1.1.1" prop-types "^15.7.2" - resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.4" + resolve "^1.18.1" + string.prototype.matchall "^4.0.2" eslint-scope@^4.0.3: version "4.0.3" @@ -10333,6 +10321,16 @@ function.prototype.name@^1.1.2: es-abstract "^1.17.0-next.1" functions-have-names "^1.2.0" +function.prototype.name@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.4.tgz#e4ea839b9d3672ae99d0efd9f38d9191c5eaac83" + integrity sha512-iqy1pIotY/RmhdFZygSSlW0wko2yxkSCKqsuv4pr8QESohpYyG/Z7B/XXvPRKTJS//960rgguE5mSRUsDdaJrQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" @@ -10343,6 +10341,11 @@ functions-have-names@^1.2.0: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.1.tgz#a981ac397fa0c9964551402cdc5533d7a4d52f91" integrity sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA== +functions-have-names@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz#98d93991c39da9361f8e50b337c4f6e41f120e21" + integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA== + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -10387,7 +10390,7 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -11440,14 +11443,14 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== +internal-slot@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" + integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== dependencies: - get-intrinsic "^1.1.0" + es-abstract "^1.17.0-next.1" has "^1.0.3" - side-channel "^1.0.4" + side-channel "^1.0.2" interpret@^2.2.0: version "2.2.0" @@ -11592,13 +11595,6 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" -is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -14847,16 +14843,6 @@ object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: es-abstract "^1.17.5" has "^1.0.3" -object.entries@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" - integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" - object.fromentries@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" @@ -14867,7 +14853,7 @@ object.fromentries@^2.0.2: function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.4: +object.fromentries@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== @@ -14902,7 +14888,7 @@ object.values@^1.1.0, object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -object.values@^1.1.3: +object.values@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== @@ -17596,7 +17582,7 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp.prototype.flags@^1.2.0: +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== @@ -17604,14 +17590,6 @@ regexp.prototype.flags@^1.2.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -17877,14 +17855,6 @@ resolve@^1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -18376,14 +18346,13 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== +side-channel@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" + integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + es-abstract "^1.18.0-next.0" + object-inspect "^1.8.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" @@ -18880,18 +18849,17 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" - integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== +string.prototype.matchall@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" + integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== dependencies: - call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.17.0" has-symbols "^1.0.1" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" + internal-slot "^1.0.2" + regexp.prototype.flags "^1.3.0" + side-channel "^1.0.2" string.prototype.trim@^1.2.1: version "1.2.1" From d1809f871ed3632766a46ddb2abdbcbc0a7fa4e8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 25 Mar 2021 14:37:26 +0000 Subject: [PATCH 088/252] fix(deps): update dependency graphql to v15.5.0 --- package.json | 2 +- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 4 ++-- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index bf55be08f..52aa006d9 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "resolutions": { "**/**/fs-capacitor": "^6.0.0", "**/graphql-upload": "^11.0.0", - "**/graphql": "15.4.0", + "**/graphql": "15.5.0", "**/moment": "2.29.1" }, "eslintConfig": { diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 4ae618c6f..e3a5d0ba5 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -20,7 +20,7 @@ "prepublishOnly": "yarn run build" }, "dependencies": { - "graphql": "15.4.0", + "graphql": "15.5.0", "graphql-tag": "2.11.0", "minio": "7.0.16" }, diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 8d55e6031..c15d96683 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -59,7 +59,7 @@ "cross-env": "7.0.2", "cross-spawn": "7.0.3", "get-port": "5.1.1", - "graphql": "15.4.0", + "graphql": "15.5.0", "itmat-setup": "0.0.1", "jest": "26.6.3", "mongodb-memory-server": "6.9.6", @@ -76,7 +76,7 @@ "resolutions": { "**/**/fs-capacitor": "^6.0.0", "**/graphql-upload": "^11.0.0", - "**/graphql": "15.4.0" + "**/graphql": "15.5.0" }, "eslintConfig": { "extends": "./config/eslint.config.js" diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 79f4f66d1..20b4110f5 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -23,7 +23,7 @@ "@apollo/client": "3.3.7", "antd": "4.14.1", "apollo-upload-client": "14.1.3", - "graphql": "15.4.0", + "graphql": "15.5.0", "itmat-commons": "0.6.0", "qrcode": "1.4.4", "react": "17.0.1", diff --git a/yarn.lock b/yarn.lock index 64a230959..c5b6b76f0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10701,10 +10701,10 @@ graphql-upload@^11.0.0, graphql-upload@^8.0.2: isobject "^4.0.0" object-path "^0.11.4" -graphql@15.4.0, graphql@^15.3.0: - version "15.4.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.4.0.tgz#e459dea1150da5a106486ba7276518b5295a4347" - integrity sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA== +graphql@15.5.0, graphql@^15.3.0: + version "15.5.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" + integrity sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA== growly@^1.3.0: version "1.3.0" From 4ccccbdd0dec54473f0b6c63814399997891d14e Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 25 Mar 2021 14:38:02 +0000 Subject: [PATCH 089/252] fix(deps): update dependency minio to v7.0.18 --- packages/itmat-commons/package.json | 4 +- yarn.lock | 301 +++++----------------------- 2 files changed, 56 insertions(+), 249 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 4ae618c6f..42a8fd4f4 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -22,12 +22,12 @@ "dependencies": { "graphql": "15.4.0", "graphql-tag": "2.11.0", - "minio": "7.0.16" + "minio": "7.0.18" }, "devDependencies": { "@types/express": "4.17.8", "@types/jest": "26.0.21", - "@types/minio": "7.0.6", + "@types/minio": "7.0.7", "@types/mongodb": "3.6.3", "@types/node": "14.14.35", "@types/supertest": "2.0.10", diff --git a/yarn.lock b/yarn.lock index 64a230959..692ec4471 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4354,10 +4354,10 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= -"@types/minio@7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/minio/-/minio-7.0.6.tgz#e226e16c13f34493ac95311d340bb0119a69437f" - integrity sha512-wSNdxcqse8pHdsIyZcSIbgqZq3qcgdLsvSzp1ZvuxzBb717s7/BvEORiRgkl9r/QDORpoaQGg9vsl387tVtjIA== +"@types/minio@7.0.7": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/minio/-/minio-7.0.7.tgz#5d7c9a834f55e79dbd83f88c466ad8ff45de7b28" + integrity sha512-cK0VuWZ5zvFmkxQzK46RtJ4qt2Gtrv34hsXDr0D3vqesjrnEKT+0rw0zWk40JtCPkoEFgLdIUbXnePsKjbb80Q== dependencies: "@types/node" "*" @@ -5697,17 +5697,6 @@ array-includes@^3.0.3, array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" -array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - get-intrinsic "^1.1.1" - is-string "^1.0.5" - array-tree-filter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" @@ -5751,14 +5740,13 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -array.prototype.flatmap@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" - integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== +array.prototype.flatmap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" + integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== dependencies: - call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" arrify@^1.0.1: @@ -6821,14 +6809,6 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -9016,28 +8996,6 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: - version "1.18.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" - integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.2" - is-callable "^1.2.3" - is-negative-zero "^2.0.1" - is-regex "^1.1.2" - is-string "^1.0.5" - object-inspect "^1.9.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.0" - es-module-lexer@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.0.tgz#21f4181cc8b7eee06855f1c59e6087c7bc4f77b0" @@ -9289,23 +9247,22 @@ eslint-plugin-react@7.18.0: prop-types "^15.7.2" resolve "^1.14.2" -eslint-plugin-react@7.23.1: - version "7.23.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz#f1a2e844c0d1967c822388204a8bc4dee8415b11" - integrity sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ== +eslint-plugin-react@7.21.5: + version "7.21.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3" + integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + array-includes "^3.1.1" + array.prototype.flatmap "^1.2.3" doctrine "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.3" - object.fromentries "^2.0.4" - object.values "^1.1.3" + object.entries "^1.1.2" + object.fromentries "^2.0.2" + object.values "^1.1.1" prop-types "^15.7.2" - resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.4" + resolve "^1.18.1" + string.prototype.matchall "^4.0.2" eslint-scope@^4.0.3: version "4.0.3" @@ -9840,6 +9797,11 @@ fast-safe-stringify@^2.0.7: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== +fast-xml-parser@^3.17.5: + version "3.19.0" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" + integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== + fastest-levenshtein@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" @@ -10387,15 +10349,6 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -10766,11 +10719,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-bigints@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -10786,11 +10734,6 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -11440,14 +11383,14 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== +internal-slot@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" + integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== dependencies: - get-intrinsic "^1.1.0" + es-abstract "^1.17.0-next.1" has "^1.0.3" - side-channel "^1.0.4" + side-channel "^1.0.2" interpret@^2.2.0: version "2.2.0" @@ -11520,11 +11463,6 @@ is-arrayish@^0.3.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== -is-bigint@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" - integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== - is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -11544,13 +11482,6 @@ is-boolean-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== -is-boolean-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" - integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== - dependencies: - call-bind "^1.0.0" - is-buffer@^1.0.2, is-buffer@^1.1.0, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -11561,11 +11492,6 @@ is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.0: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== -is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== - is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -11592,13 +11518,6 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" -is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -11717,11 +11636,6 @@ is-negative-zero@^2.0.0: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - is-number-object@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" @@ -11814,14 +11728,6 @@ is-regex@^1.0.4, is-regex@^1.0.5, is-regex@^1.1.0, is-regex@^1.1.1: dependencies: has-symbols "^1.0.1" -is-regex@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" - integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== - dependencies: - call-bind "^1.0.2" - has-symbols "^1.0.1" - is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -11871,7 +11777,7 @@ is-svg@^3.0.0: dependencies: html-comment-regex "^1.1.0" -is-symbol@^1.0.2, is-symbol@^1.0.3: +is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== @@ -13595,7 +13501,7 @@ lodash@4.x, lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -"lodash@>=3.5 <5", lodash@^4.14.2, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5, lodash@^4.2.1: +"lodash@>=3.5 <5", lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.5, lodash@^4.2.1: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -14054,16 +13960,17 @@ minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1. resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minio@7.0.16: - version "7.0.16" - resolved "https://registry.yarnpkg.com/minio/-/minio-7.0.16.tgz#1bbf334bdfe35214a9c199768f94f11b86b04063" - integrity sha512-OgCJ3XVMzukSqoMFBiBDeyz30BxYTBM9yRLVRBCExTb+QKVxJh4DnUOS2/zw7OPeDyXXEvYSzDvg4FkCf1Cxyw== +minio@7.0.18: + version "7.0.18" + resolved "https://registry.yarnpkg.com/minio/-/minio-7.0.18.tgz#a2a6dae52a4dde9e35ed47cdf2accc21df4a512d" + integrity sha512-jVRjkw8A5Spf+ETY5OXQUcQckHriuUA3u2+MAcX36btLT8EytlOVivxIseXvyFf9cNn3dy5w1F1UyjMvHU+nqg== dependencies: async "^3.1.0" block-stream2 "^2.0.0" es6-error "^4.1.1" + fast-xml-parser "^3.17.5" json-stream "^1.0.0" - lodash "^4.14.2" + lodash "^4.17.20" mime-types "^2.1.14" mkdirp "^0.5.1" querystring "0.2.0" @@ -14778,11 +14685,6 @@ object-inspect@^1.7.0, object-inspect@^1.8.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== -object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== - object-is@^1.0.1, object-is@^1.0.2, object-is@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" @@ -14828,16 +14730,6 @@ object.assign@^4.1.1: has-symbols "^1.0.1" object-keys "^1.1.1" -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" @@ -14847,16 +14739,6 @@ object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: es-abstract "^1.17.5" has "^1.0.3" -object.entries@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" - integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" - object.fromentries@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" @@ -14867,16 +14749,6 @@ object.fromentries@^2.0.2: function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" - integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" - object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" @@ -14902,16 +14774,6 @@ object.values@^1.1.0, object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -object.values@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" - integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" - obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -17596,7 +17458,7 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp.prototype.flags@^1.2.0: +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== @@ -17604,14 +17466,6 @@ regexp.prototype.flags@^1.2.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -17877,14 +17731,6 @@ resolve@^1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -18376,14 +18222,13 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== +side-channel@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" + integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + es-abstract "^1.18.0-next.0" + object-inspect "^1.8.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" @@ -18880,18 +18725,17 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" - integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== +string.prototype.matchall@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" + integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== dependencies: - call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.17.0" has-symbols "^1.0.1" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" + internal-slot "^1.0.2" + regexp.prototype.flags "^1.3.0" + side-channel "^1.0.2" string.prototype.trim@^1.2.1: version "1.2.1" @@ -18910,14 +18754,6 @@ string.prototype.trimend@^1.0.1: define-properties "^1.1.3" es-abstract "^1.17.5" -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - string.prototype.trimstart@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" @@ -18926,14 +18762,6 @@ string.prototype.trimstart@^1.0.1: define-properties "^1.1.3" es-abstract "^1.17.5" -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -19808,16 +19636,6 @@ umd@^3.0.0: resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== -unbox-primitive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.0.tgz#eeacbc4affa28e9b3d36b5eaeccc50b3251b1d3f" - integrity sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.0" - has-symbols "^1.0.0" - which-boxed-primitive "^1.0.1" - undeclared-identifiers@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f" @@ -20460,17 +20278,6 @@ whatwg-url@^8.0.0: tr46 "^2.0.2" webidl-conversions "^6.1.0" -which-boxed-primitive@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" From 4b063425a0ed393b85037cf464dd9b7bd5d7310d Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 25 Mar 2021 14:39:32 +0000 Subject: [PATCH 090/252] chore(deps): update dependency webpack to v5.28.0 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 138 +++++++++++++++-------- 4 files changed, 96 insertions(+), 48 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 8d55e6031..eaa0760da 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -70,7 +70,7 @@ "ts-jest": "26.5.4", "ts-loader": "8.0.18", "typescript": "4.0.5", - "webpack": "5.25.0", + "webpack": "5.28.0", "webpack-cli": "4.5.0" }, "resolutions": { diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 242b6519c..7c2d7dac5 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -55,7 +55,7 @@ "ts-jest": "26.5.4", "ts-loader": "8.0.18", "typescript": "4.0.5", - "webpack": "5.25.0", + "webpack": "5.28.0", "webpack-cli": "4.5.0" }, "eslintConfig": { diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index b6318dc90..a0e5fb3ba 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -54,7 +54,7 @@ "rimraf": "3.0.2", "typescript": "4.0.5", "uuid": "8.3.2", - "webpack": "5.25.0" + "webpack": "5.28.0" }, "resolutions": { "**/moment": "2.29.1" diff --git a/yarn.lock b/yarn.lock index efb4ad15c..24b3cb150 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5697,6 +5697,17 @@ array-includes@^3.0.3, array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" +array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + array-tree-filter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" @@ -5740,13 +5751,14 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -array.prototype.flatmap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" - integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== +array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" function-bind "^1.1.1" arrify@^1.0.1: @@ -9005,7 +9017,7 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-abstract@^1.18.0-next.2: +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: version "1.18.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== @@ -9278,22 +9290,23 @@ eslint-plugin-react@7.18.0: prop-types "^15.7.2" resolve "^1.14.2" -eslint-plugin-react@7.21.5: - version "7.21.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3" - integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== +eslint-plugin-react@7.23.1: + version "7.23.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz#f1a2e844c0d1967c822388204a8bc4dee8415b11" + integrity sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ== dependencies: - array-includes "^3.1.1" - array.prototype.flatmap "^1.2.3" + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" doctrine "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.4.1 || ^3.0.0" - object.entries "^1.1.2" - object.fromentries "^2.0.2" - object.values "^1.1.1" + minimatch "^3.0.4" + object.entries "^1.1.3" + object.fromentries "^2.0.4" + object.values "^1.1.3" prop-types "^15.7.2" - resolve "^1.18.1" - string.prototype.matchall "^4.0.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.4" eslint-scope@^4.0.3: version "4.0.3" @@ -10390,7 +10403,7 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -11443,14 +11456,14 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" - integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: - es-abstract "^1.17.0-next.1" + get-intrinsic "^1.1.0" has "^1.0.3" - side-channel "^1.0.2" + side-channel "^1.0.4" interpret@^2.2.0: version "2.2.0" @@ -11595,6 +11608,13 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -14843,6 +14863,16 @@ object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: es-abstract "^1.17.5" has "^1.0.3" +object.entries@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" + integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + has "^1.0.3" + object.fromentries@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" @@ -14853,7 +14883,7 @@ object.fromentries@^2.0.2: function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.3: +object.fromentries@^2.0.3, object.fromentries@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== @@ -14888,7 +14918,7 @@ object.values@^1.1.0, object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -object.values@^1.1.2: +object.values@^1.1.2, object.values@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== @@ -17582,7 +17612,7 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: +regexp.prototype.flags@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== @@ -17590,6 +17620,14 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -17855,6 +17893,14 @@ resolve@^1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -18346,13 +18392,14 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" - integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: - es-abstract "^1.18.0-next.0" - object-inspect "^1.8.0" + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" @@ -18849,17 +18896,18 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== +string.prototype.matchall@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" + integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0" + es-abstract "^1.18.0-next.2" has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" string.prototype.trim@^1.2.1: version "1.2.1" @@ -20341,10 +20389,10 @@ webpack@4.41.5: watchpack "^1.6.0" webpack-sources "^1.4.1" -webpack@5.25.0: - version "5.25.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.25.0.tgz#f9409977f0f3b6d4b9c4f73adc7d7cb9603a09e9" - integrity sha512-jqQZopNCzt9c4K6Qa7j6kIhzHfR9wgF84go58VoNp4JbZrBr2D2l5lcv72CW80yc6NJl8CR6OY8xctnIs0r2uw== +webpack@5.28.0: + version "5.28.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.28.0.tgz#0de8bcd706186b26da09d4d1e8cbd3e4025a7c2f" + integrity sha512-1xllYVmA4dIvRjHzwELgW4KjIU1fW4PEuEnjsylz7k7H5HgPOctIq7W1jrt3sKH9yG5d72//XWzsHhfoWvsQVg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.46" From e9f477db92122953ad3e91a87f6cdc086e7953fe Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 25 Mar 2021 14:41:51 +0000 Subject: [PATCH 091/252] chore(deps): update dependency supertest to v6.1.3 --- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 146 +++++++++++++++-------- 3 files changed, 99 insertions(+), 51 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 8d55e6031..c2710c8dc 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -66,7 +66,7 @@ "node-fetch": "2.6.1", "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", - "supertest": "6.0.1", + "supertest": "6.1.3", "ts-jest": "26.5.4", "ts-loader": "8.0.18", "typescript": "4.0.5", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 242b6519c..e2957ab91 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -51,7 +51,7 @@ "node-fetch": "2.6.1", "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", - "supertest": "6.0.1", + "supertest": "6.1.3", "ts-jest": "26.5.4", "ts-loader": "8.0.18", "typescript": "4.0.5", diff --git a/yarn.lock b/yarn.lock index efb4ad15c..ff795010f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5697,6 +5697,17 @@ array-includes@^3.0.3, array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" +array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + array-tree-filter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" @@ -5740,13 +5751,14 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -array.prototype.flatmap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" - integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== +array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" function-bind "^1.1.1" arrify@^1.0.1: @@ -9005,7 +9017,7 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-abstract@^1.18.0-next.2: +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: version "1.18.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== @@ -9278,22 +9290,23 @@ eslint-plugin-react@7.18.0: prop-types "^15.7.2" resolve "^1.14.2" -eslint-plugin-react@7.21.5: - version "7.21.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3" - integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== +eslint-plugin-react@7.23.1: + version "7.23.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz#f1a2e844c0d1967c822388204a8bc4dee8415b11" + integrity sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ== dependencies: - array-includes "^3.1.1" - array.prototype.flatmap "^1.2.3" + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" doctrine "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.4.1 || ^3.0.0" - object.entries "^1.1.2" - object.fromentries "^2.0.2" - object.values "^1.1.1" + minimatch "^3.0.4" + object.entries "^1.1.3" + object.fromentries "^2.0.4" + object.values "^1.1.3" prop-types "^15.7.2" - resolve "^1.18.1" - string.prototype.matchall "^4.0.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.4" eslint-scope@^4.0.3: version "4.0.3" @@ -10390,7 +10403,7 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -11443,14 +11456,14 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" - integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: - es-abstract "^1.17.0-next.1" + get-intrinsic "^1.1.0" has "^1.0.3" - side-channel "^1.0.2" + side-channel "^1.0.4" interpret@^2.2.0: version "2.2.0" @@ -11595,6 +11608,13 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -13891,7 +13911,7 @@ merge2@^1.2.3, merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -methods@1.1.2, methods@^1.1.2, methods@~1.1.2: +methods@^1.1.2, methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= @@ -14843,6 +14863,16 @@ object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: es-abstract "^1.17.5" has "^1.0.3" +object.entries@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" + integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + has "^1.0.3" + object.fromentries@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" @@ -14853,7 +14883,7 @@ object.fromentries@^2.0.2: function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.3: +object.fromentries@^2.0.3, object.fromentries@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== @@ -14888,7 +14918,7 @@ object.values@^1.1.0, object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -object.values@^1.1.2: +object.values@^1.1.2, object.values@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== @@ -17582,7 +17612,7 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: +regexp.prototype.flags@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== @@ -17590,6 +17620,14 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -17855,6 +17893,14 @@ resolve@^1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -18346,13 +18392,14 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" - integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: - es-abstract "^1.18.0-next.0" - object-inspect "^1.8.0" + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" @@ -18849,17 +18896,18 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== +string.prototype.matchall@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" + integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0" + es-abstract "^1.18.0-next.2" has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" string.prototype.trim@^1.2.1: version "1.2.1" @@ -19056,7 +19104,7 @@ subscriptions-transport-ws@0.9.18, subscriptions-transport-ws@^0.9.11, subscript symbol-observable "^1.0.4" ws "^5.2.0" -superagent@6.1.0: +superagent@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/superagent/-/superagent-6.1.0.tgz#09f08807bc41108ef164cfb4be293cebd480f4a6" integrity sha512-OUDHEssirmplo3F+1HWKUrUjvnQuA+nZI6i/JJBdXb5eq9IyEQwPyPpqND+SSsxf6TygpBEkUjISVRN4/VOpeg== @@ -19073,13 +19121,13 @@ superagent@6.1.0: readable-stream "^3.6.0" semver "^7.3.2" -supertest@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.0.1.tgz#f6b54370de85c45d6557192c8d7df604ca2c9e18" - integrity sha512-8yDNdm+bbAN/jeDdXsRipbq9qMpVF7wRsbwLgsANHqdjPsCoecmlTuqEcLQMGpmojFBhxayZ0ckXmLXYq7e+0g== +supertest@6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.1.3.tgz#3f49ea964514c206c334073e8dc4e70519c7403f" + integrity sha512-v2NVRyP73XDewKb65adz+yug1XMtmvij63qIWHZzSX8tp6wiq6xBLUy4SUAd2NII6wIipOmHT/FD9eicpJwdgQ== dependencies: - methods "1.1.2" - superagent "6.1.0" + methods "^1.1.2" + superagent "^6.1.0" supports-color@^2.0.0: version "2.0.0" From b2fab377b1eae7bea963515d336a80a12567c301 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 25 Mar 2021 17:09:28 +0000 Subject: [PATCH 092/252] fix(deps): update dependency mongodb to v3.6.5 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 4 +- packages/itmat-job-executor/package.json | 4 +- packages/itmat-setup/package.json | 4 +- yarn.lock | 248 ++++++++++++++++++----- 5 files changed, 205 insertions(+), 57 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index c456d07f6..c62c48b76 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -28,7 +28,7 @@ "@types/express": "4.17.8", "@types/jest": "26.0.21", "@types/minio": "7.0.7", - "@types/mongodb": "3.6.3", + "@types/mongodb": "3.6.10", "@types/node": "14.14.35", "@types/supertest": "2.0.10", "chalk": "4.1.0", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index c15d96683..51c44330d 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -31,7 +31,7 @@ "graphql-type-json": "0.3.2", "hi-base32": "0.5.0", "itmat-commons": "0.6.0", - "mongodb": "3.6.3", + "mongodb": "3.6.5", "nodemailer": "6.4.17", "passport": "0.4.1", "passport-local": "1.0.0", @@ -43,7 +43,7 @@ "@types/express": "4.17.8", "@types/express-session": "1.17.3", "@types/jest": "26.0.21", - "@types/mongodb": "3.6.3", + "@types/mongodb": "3.6.10", "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.0", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 242b6519c..6ae1b582d 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -27,7 +27,7 @@ "express": "4.17.1", "json2csv": "5.0.6", "itmat-commons": "0.6.0", - "mongodb": "3.6.3", + "mongodb": "3.6.5", "saslprep": "1.0.3", "JSONStream": "1.3.5", "uuid": "8.3.2" @@ -39,7 +39,7 @@ "@types/express": "4.17.8", "@types/jest": "26.0.21", "@types/json2csv": "5.0.1", - "@types/mongodb": "3.6.3", + "@types/mongodb": "3.6.10", "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", "@types/supertest": "2.0.10", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index 714b3017d..8caa07e57 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -19,10 +19,10 @@ "prepublishOnly": "yarn run build" }, "dependencies": { - "mongodb": "3.6.3" + "mongodb": "3.6.5" }, "devDependencies": { - "@types/mongodb": "3.6.3", + "@types/mongodb": "3.6.10", "chalk": "4.1.0", "eslint": "7.22.0", "typescript": "4.0.5" diff --git a/yarn.lock b/yarn.lock index 6a394623e..0ec3812bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4361,10 +4361,10 @@ dependencies: "@types/node" "*" -"@types/mongodb@3.6.3": - version "3.6.3" - resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.6.3.tgz#5655af409d9e32d5d5ae9a653abf3e5f9c83eb7a" - integrity sha512-6YNqGP1hk5bjUFaim+QoFFuI61WjHiHE1BNeB41TA00Xd2K7zG4lcWyLLq/XtIp36uMavvS5hoAUJ+1u/GcX2Q== +"@types/mongodb@3.6.10": + version "3.6.10" + resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.6.10.tgz#80cceaabeec9f460e5b46844e938e8eba74f9266" + integrity sha512-BkwAHFiZSSWdTIqbUVGmgvIsiXXjqAketeK7Izy7oSs6G3N8Bn993tK9eq6QEovQDx6OQ2FGP2KWDDxBzdlJ6Q== dependencies: "@types/bson" "*" "@types/node" "*" @@ -5697,6 +5697,17 @@ array-includes@^3.0.3, array-includes@^3.1.1: es-abstract "^1.17.0" is-string "^1.0.5" +array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + array-tree-filter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" @@ -5740,13 +5751,14 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -array.prototype.flatmap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" - integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== +array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" function-bind "^1.1.1" arrify@^1.0.1: @@ -6809,6 +6821,14 @@ caching-transform@^4.0.0: package-hash "^4.0.0" write-file-atomic "^3.0.0" +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -8997,7 +9017,7 @@ es-abstract@^1.18.0-next.0: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-abstract@^1.18.0-next.2: +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: version "1.18.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== @@ -9270,22 +9290,23 @@ eslint-plugin-react@7.18.0: prop-types "^15.7.2" resolve "^1.14.2" -eslint-plugin-react@7.21.5: - version "7.21.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz#50b21a412b9574bfe05b21db176e8b7b3b15bff3" - integrity sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g== +eslint-plugin-react@7.23.1: + version "7.23.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz#f1a2e844c0d1967c822388204a8bc4dee8415b11" + integrity sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ== dependencies: - array-includes "^3.1.1" - array.prototype.flatmap "^1.2.3" + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" doctrine "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.4.1 || ^3.0.0" - object.entries "^1.1.2" - object.fromentries "^2.0.2" - object.values "^1.1.1" + minimatch "^3.0.4" + object.entries "^1.1.3" + object.fromentries "^2.0.4" + object.values "^1.1.3" prop-types "^15.7.2" - resolve "^1.18.1" - string.prototype.matchall "^4.0.2" + resolve "^2.0.0-next.3" + string.prototype.matchall "^4.0.4" eslint-scope@^4.0.3: version "4.0.3" @@ -10387,7 +10408,7 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -10766,6 +10787,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" +has-bigints@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -10781,6 +10807,11 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -11430,14 +11461,14 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -internal-slot@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" - integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: - es-abstract "^1.17.0-next.1" + get-intrinsic "^1.1.0" has "^1.0.3" - side-channel "^1.0.2" + side-channel "^1.0.4" interpret@^2.2.0: version "2.2.0" @@ -11510,6 +11541,11 @@ is-arrayish@^0.3.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== +is-bigint@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" + integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -11529,6 +11565,13 @@ is-boolean-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== +is-boolean-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" + integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + dependencies: + call-bind "^1.0.0" + is-buffer@^1.0.2, is-buffer@^1.1.0, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -11539,6 +11582,11 @@ is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.0: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== +is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -11565,6 +11613,13 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -11683,6 +11738,11 @@ is-negative-zero@^2.0.0: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + is-number-object@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" @@ -11775,6 +11835,14 @@ is-regex@^1.0.4, is-regex@^1.0.5, is-regex@^1.1.0, is-regex@^1.1.1: dependencies: has-symbols "^1.0.1" +is-regex@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" + integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.1" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -11824,7 +11892,7 @@ is-svg@^3.0.0: dependencies: html-comment-regex "^1.1.0" -is-symbol@^1.0.2: +is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== @@ -14204,10 +14272,10 @@ mongodb-memory-server@6.9.6: dependencies: mongodb-memory-server-core "6.9.6" -mongodb@3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.6.3.tgz#eddaed0cc3598474d7a15f0f2a5b04848489fd05" - integrity sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w== +mongodb@3.6.5: + version "3.6.5" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.6.5.tgz#c27d786fd4d3c83dc19302483707d12a9d2aee5f" + integrity sha512-mQlYKw1iGbvJJejcPuyTaytq0xxlYbIoVDm2FODR+OHxyEiMR021vc32bTvamgBjCswsD54XIRwhg3yBaWqJjg== dependencies: bl "^2.2.1" bson "^1.1.4" @@ -14732,6 +14800,11 @@ object-inspect@^1.7.0, object-inspect@^1.8.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== +object-inspect@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + object-is@^1.0.1, object-is@^1.0.2, object-is@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" @@ -14777,6 +14850,16 @@ object.assign@^4.1.1: has-symbols "^1.0.1" object-keys "^1.1.1" +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" @@ -14786,6 +14869,16 @@ object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2: es-abstract "^1.17.5" has "^1.0.3" +object.entries@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" + integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + has "^1.0.3" + object.fromentries@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" @@ -14796,7 +14889,7 @@ object.fromentries@^2.0.2: function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.3: +object.fromentries@^2.0.3, object.fromentries@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== @@ -14831,7 +14924,7 @@ object.values@^1.1.0, object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" -object.values@^1.1.2: +object.values@^1.1.2, object.values@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== @@ -17525,7 +17618,7 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: +regexp.prototype.flags@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== @@ -17533,6 +17626,14 @@ regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -17798,6 +17899,14 @@ resolve@^1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -18289,13 +18398,14 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -side-channel@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" - integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: - es-abstract "^1.18.0-next.0" - object-inspect "^1.8.0" + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" @@ -18792,17 +18902,18 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== +string.prototype.matchall@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" + integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0" + es-abstract "^1.18.0-next.2" has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" string.prototype.trim@^1.2.1: version "1.2.1" @@ -18821,6 +18932,14 @@ string.prototype.trimend@^1.0.1: define-properties "^1.1.3" es-abstract "^1.17.5" +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string.prototype.trimstart@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" @@ -18829,6 +18948,14 @@ string.prototype.trimstart@^1.0.1: define-properties "^1.1.3" es-abstract "^1.17.5" +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -19703,6 +19830,16 @@ umd@^3.0.0: resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== +unbox-primitive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.0.tgz#eeacbc4affa28e9b3d36b5eaeccc50b3251b1d3f" + integrity sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.0" + has-symbols "^1.0.0" + which-boxed-primitive "^1.0.1" + undeclared-identifiers@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f" @@ -20345,6 +20482,17 @@ whatwg-url@^8.0.0: tr46 "^2.0.2" webidl-conversions "^6.1.0" +which-boxed-primitive@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" From 23e184113e8d1ce43aa30f77f4882b88fddb6974 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 25 Mar 2021 17:11:04 +0000 Subject: [PATCH 093/252] fix(deps): update dependency nodemailer to v6.5.0 --- packages/itmat-interface/package.json | 4 ++-- yarn.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 6d7eb0f7e..7a9666e55 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -32,7 +32,7 @@ "hi-base32": "0.5.0", "itmat-commons": "0.6.0", "mongodb": "3.6.5", - "nodemailer": "6.4.17", + "nodemailer": "6.5.0", "passport": "0.4.1", "passport-local": "1.0.0", "saslprep": "1.0.3", @@ -46,7 +46,7 @@ "@types/mongodb": "3.6.10", "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", - "@types/nodemailer": "6.4.0", + "@types/nodemailer": "6.4.1", "@types/passport": "1.0.4", "@types/passport-local": "1.0.33", "@types/supertest": "2.0.10", diff --git a/yarn.lock b/yarn.lock index 3924fa6f2..82f0cfabb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4400,10 +4400,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.29.tgz#263b7013f9f4afa53585b199f9a4255d9613b178" integrity sha512-zLo9rjUeQ5+QVhOufDwrb3XKyso31fJBJnk9wUUQIBDExF/O4LryvpOfozfUaxgqifTnlt7FyqsAPXUq5yFZSA== -"@types/nodemailer@6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.0.tgz#d8c039be3ed685c4719a026455555be82c124b74" - integrity sha512-KY7bFWB0MahRZvVW4CuW83qcCDny59pJJ0MQ5ifvfcjNwPlIT0vW4uARO4u1gtkYnWdhSvURegecY/tzcukJcA== +"@types/nodemailer@6.4.1": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.1.tgz#31f96f4410632f781d3613bd1f4293649e423f75" + integrity sha512-8081UY/0XTTDpuGqCnDc8IY+Q3DSg604wB3dBH0CaZlj4nZWHWuxtZ3NRZ9c9WUrz1Vfm6wioAUnqL3bsh49uQ== dependencies: "@types/node" "*" @@ -14576,10 +14576,10 @@ node-releases@^1.1.70: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== -nodemailer@6.4.17: - version "6.4.17" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.4.17.tgz#8de98618028953b80680775770f937243a7d7877" - integrity sha512-89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ== +nodemailer@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.5.0.tgz#d12c28d8d48778918e25f1999d97910231b175d9" + integrity sha512-Tm4RPrrIZbnqDKAvX+/4M+zovEReiKlEXWDzG4iwtpL9X34MJY+D5LnQPH/+eghe8DLlAVshHAJZAZWBGhkguw== nopt@^4.0.1: version "4.0.3" From d73d2552eb207a872d3f032250e21a0f76a34cea Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 25 Mar 2021 18:46:43 +0000 Subject: [PATCH 094/252] fix(deps): update dependency hi-base32 to v0.5.1 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 6d7eb0f7e..a84e6f5c6 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -29,7 +29,7 @@ "express-session": "1.17.1", "fs-extra": "9.1.0", "graphql-type-json": "0.3.2", - "hi-base32": "0.5.0", + "hi-base32": "0.5.1", "itmat-commons": "0.6.0", "mongodb": "3.6.5", "nodemailer": "6.4.17", diff --git a/yarn.lock b/yarn.lock index 3924fa6f2..b8b38e0b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10890,10 +10890,10 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -hi-base32@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.0.tgz#61329f76a31f31008533f1c36f2473e259d64571" - integrity sha512-DDRmxSyoYuvjUb9EnXdoiMChBZ7ZcUVJsK5Frd3kqMhuBxvmZdnBeynAVfj7/ECbn++CekcoprvC/rprHPAtow== +hi-base32@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" + integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== highlight.js@^9.6.0: version "9.18.3" From 1894e2ebe0b09712c6e25e6a813e918172da0346 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 27 Mar 2021 23:52:47 +0000 Subject: [PATCH 095/252] chore(deps): update dependency @babel/core to v7.13.13 --- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 104 ++++++++++++++++++++--- 3 files changed, 93 insertions(+), 15 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index bbc9e8757..8ee44b2a9 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -33,7 +33,7 @@ "uuid": "8.3.2" }, "devDependencies": { - "@babel/core": "7.13.10", + "@babel/core": "7.13.13", "@babel/preset-env": "7.13.12", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 82fcf4b2e..b882f43d5 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -32,7 +32,7 @@ "subscriptions-transport-ws": "0.9.18" }, "devDependencies": { - "@babel/core": "7.13.10", + "@babel/core": "7.13.13", "@babel/preset-env": "7.13.12", "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", diff --git a/yarn.lock b/yarn.lock index 82f0cfabb..56be945de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -173,20 +173,20 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.12.tgz#a8a5ccac19c200f9dd49624cac6e19d7be1236a1" integrity sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ== -"@babel/core@7.13.10": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.10.tgz#07de050bbd8193fcd8a3c27918c0890613a94559" - integrity sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw== +"@babel/core@7.13.13": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.13.tgz#bc44c4a2be2288ec4ddf56b66fc718019c76ac29" + integrity sha512-1xEs9jZAyKIouOoCmpsgk/I26PoKyvzQ2ixdRpRzfbcp1fL+ozw7TUgdDgwonbTovqRaTfRh50IXuw4QrWO0GA== dependencies: "@babel/code-frame" "^7.12.13" "@babel/generator" "^7.13.9" - "@babel/helper-compilation-targets" "^7.13.10" - "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-compilation-targets" "^7.13.13" + "@babel/helper-module-transforms" "^7.13.12" "@babel/helpers" "^7.13.10" - "@babel/parser" "^7.13.10" + "@babel/parser" "^7.13.13" "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.0" + "@babel/traverse" "^7.13.13" + "@babel/types" "^7.13.13" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -394,6 +394,16 @@ browserslist "^4.14.5" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.13.13": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz#2b2972a0926474853f41e4adbc69338f520600e5" + integrity sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ== + dependencies: + "@babel/compat-data" "^7.13.12" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.3.0", "@babel/helper-create-class-features-plugin@^7.8.3": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" @@ -546,6 +556,13 @@ dependencies: "@babel/types" "^7.13.0" +"@babel/helper-member-expression-to-functions@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" + integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== + dependencies: + "@babel/types" "^7.13.12" + "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" @@ -567,6 +584,13 @@ dependencies: "@babel/types" "^7.12.13" +"@babel/helper-module-imports@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" + integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== + dependencies: + "@babel/types" "^7.13.12" + "@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0", "@babel/helper-module-transforms@^7.9.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" @@ -610,6 +634,20 @@ "@babel/types" "^7.13.0" lodash "^4.17.19" +"@babel/helper-module-transforms@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.12.tgz#600e58350490828d82282631a1422268e982ba96" + integrity sha512-7zVQqMO3V+K4JOOj40kxiCrMf6xlQAkewBB0eu2b03OO/Q21ZutOzjpfD79A5gtE/2OWi1nv625MrDlGlkbknQ== + dependencies: + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-replace-supers" "^7.13.12" + "@babel/helper-simple-access" "^7.13.12" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.12" + "@babel/helper-optimise-call-expression@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" @@ -705,6 +743,16 @@ "@babel/traverse" "^7.13.0" "@babel/types" "^7.13.0" +"@babel/helper-replace-supers@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz#6442f4c1ad912502481a564a7386de0c77ff3804" + integrity sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.13.12" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.12" + "@babel/helper-simple-access@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" @@ -727,6 +775,13 @@ dependencies: "@babel/types" "^7.12.13" +"@babel/helper-simple-access@^7.13.12": + version "7.13.12" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" + integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== + dependencies: + "@babel/types" "^7.13.12" + "@babel/helper-skip-transparent-expression-wrappers@^7.11.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" @@ -846,10 +901,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.9.tgz#ca34cb95e1c2dd126863a84465ae8ef66114be99" integrity sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw== -"@babel/parser@^7.13.10": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.10.tgz#8f8f9bf7b3afa3eabd061f7a5bcdf4fec3c48409" - integrity sha512-0s7Mlrw9uTWkYua7xWr99Wpk2bnGa0ANleKfksYAES8LpWH4gW1OUr42vqKNf0us5UQNfru2wPqMqRITzq/SIQ== +"@babel/parser@^7.13.13": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df" + integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw== "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": version "7.13.12" @@ -2321,6 +2376,20 @@ globals "^11.1.0" lodash "^4.17.19" +"@babel/traverse@^7.13.13": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.13.tgz#39aa9c21aab69f74d948a486dd28a2dbdbf5114d" + integrity sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.9" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.13.13" + "@babel/types" "^7.13.13" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.8.3", "@babel/types@^7.9.0": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" @@ -2366,6 +2435,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.13.13": + version "7.13.13" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.13.tgz#dcd8b815b38f537a3697ce84c8e3cc62197df96f" + integrity sha512-kt+EpC6qDfIaqlP+DIbIJOclYy/A1YXs9dAf/ljbi+39Bcbc073H6jKVpXEr/EoIh5anGn5xq/yRVzKl+uIc9w== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" From 6e15d2321b00d80f741f4e01bcd6d996d4c11d41 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 28 Mar 2021 01:27:22 +0000 Subject: [PATCH 096/252] chore(deps): update dependency @types/passport to v1.0.6 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 7a9666e55..293ee9632 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -47,7 +47,7 @@ "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.1", - "@types/passport": "1.0.4", + "@types/passport": "1.0.6", "@types/passport-local": "1.0.33", "@types/supertest": "2.0.10", "@types/uuid": "8.3.0", diff --git a/yarn.lock b/yarn.lock index 82f0cfabb..0216e5880 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4434,13 +4434,20 @@ "@types/express" "*" "@types/passport" "*" -"@types/passport@*", "@types/passport@1.0.4": +"@types/passport@*": version "1.0.4" resolved "https://registry.yarnpkg.com/@types/passport/-/passport-1.0.4.tgz#1b35c4e197560d3974fa5f71711b6e9cce0711f0" integrity sha512-h5OfAbfBBYSzjeU0GTuuqYEk9McTgWeGQql9g3gUw2/NNCfD7VgExVRYJVVeU13Twn202Mvk9BT0bUrl30sEgA== dependencies: "@types/express" "*" +"@types/passport@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/passport/-/passport-1.0.6.tgz#72343e49d65efa98cb328163cff5f127981947d7" + integrity sha512-9oKfrJXuAxvyxdrtMCxKkHgmd6DMO8NDOLvMJ1LvIWd6/xP+i81PAkpTaEca7VhJX9S009RciwZL/j6dsLsHrA== + dependencies: + "@types/express" "*" + "@types/prettier@^2.0.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.0.tgz#5f96562c1075ee715a5b138f0b7f591c1f40f6b8" From 055b335ff073e2b46e5b811d5f1b2b61eddd5917 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 28 Mar 2021 14:22:32 +0000 Subject: [PATCH 097/252] chore(deps): update dependency @types/jest to v26.0.22 --- package.json | 2 +- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 52aa006d9..e2e3b7154 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ ] }, "devDependencies": { - "@types/jest": "26.0.21", + "@types/jest": "26.0.22", "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index c62c48b76..cbecd1b46 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@types/express": "4.17.8", - "@types/jest": "26.0.21", + "@types/jest": "26.0.22", "@types/minio": "7.0.7", "@types/mongodb": "3.6.10", "@types/node": "14.14.35", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 7a9666e55..3c0473956 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -42,7 +42,7 @@ "@types/bcrypt": "3.0.0", "@types/express": "4.17.8", "@types/express-session": "1.17.3", - "@types/jest": "26.0.21", + "@types/jest": "26.0.22", "@types/mongodb": "3.6.10", "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 8ee44b2a9..ddb99815f 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -37,7 +37,7 @@ "@babel/preset-env": "7.13.12", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", - "@types/jest": "26.0.21", + "@types/jest": "26.0.22", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.10", "@types/node": "14.14.35", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index b882f43d5..f7beb495b 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -36,7 +36,7 @@ "@babel/preset-env": "7.13.12", "@cypress/webpack-preprocessor": "5.6.0", "@types/apollo-upload-client": "14.1.0", - "@types/jest": "26.0.21", + "@types/jest": "26.0.22", "@types/node": "14.14.35", "@types/react": "16.14.5", "@types/react-dom": "16.9.9", diff --git a/yarn.lock b/yarn.lock index 56be945de..e71fe33a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4361,10 +4361,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.0.21": - version "26.0.21" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.21.tgz#3a73c2731e7e4f0fbaea56ce7ff8c79cf812bd24" - integrity sha512-ab9TyM/69yg7eew9eOwKMUmvIZAKEGZYlq/dhe5/0IMUd/QLJv5ldRMdddSn+u22N13FP3s5jYyktxuBwY0kDA== +"@types/jest@26.0.22": + version "26.0.22" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6" + integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw== dependencies: jest-diff "^26.0.0" pretty-format "^26.0.0" From 687b3ce78cecb63ebd74a2694cf40e018c8b8ebf Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 6 Apr 2021 16:58:01 +0000 Subject: [PATCH 098/252] chore(deps): update dependency @cypress/webpack-preprocessor to v5.7.0 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index d7d34f310..ed9034952 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -34,7 +34,7 @@ "devDependencies": { "@babel/core": "7.13.13", "@babel/preset-env": "7.13.12", - "@cypress/webpack-preprocessor": "5.6.0", + "@cypress/webpack-preprocessor": "5.7.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.21", "@types/node": "14.14.35", diff --git a/yarn.lock b/yarn.lock index 54bae449d..b6bffa837 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2554,10 +2554,10 @@ debug "^4.1.1" lodash "^4.17.20" -"@cypress/webpack-preprocessor@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.6.0.tgz#9648ae22d2e52f17a604e2a493af27a9c96568bd" - integrity sha512-kSelTDe6gs3Skp4vPP2vfTvAl+Ua+9rR/AMTir7bgJihDvzFESqnjWtF6N1TrPo+vCFVGx0VUA6JUvDkhvpwhA== +"@cypress/webpack-preprocessor@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.7.0.tgz#653c92662fe885260f176f5a1bd630dfd2cee8ca" + integrity sha512-E60lsdMoIJFR36t7J2yjcAH3vrxF1WecoTIz4PL7Km/LrIEx1/qafEeyGuHTBynr/RBd4kCaS2XLJW75hOeLSw== dependencies: bluebird "^3.7.1" debug "4.3.2" From 5ce0f6460b8b2bf29563d462618d8bdbb7a0aa08 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 13 Apr 2021 17:06:08 +0000 Subject: [PATCH 099/252] chore(deps): update dependency @types/supertest to v2.0.11 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index cbecd1b46..a2d42bac1 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -30,7 +30,7 @@ "@types/minio": "7.0.7", "@types/mongodb": "3.6.10", "@types/node": "14.14.35", - "@types/supertest": "2.0.10", + "@types/supertest": "2.0.11", "chalk": "4.1.0", "jest": "26.6.3", "rimraf": "3.0.2", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index e64771e05..b6dcc8817 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -49,7 +49,7 @@ "@types/nodemailer": "6.4.1", "@types/passport": "1.0.6", "@types/passport-local": "1.0.33", - "@types/supertest": "2.0.10", + "@types/supertest": "2.0.11", "@types/uuid": "8.3.0", "@types/webpack-env": "1.16.0", "@typescript-eslint/parser": "4.0.1", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 2399615d4..5b2c82cf9 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -42,7 +42,7 @@ "@types/mongodb": "3.6.10", "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", - "@types/supertest": "2.0.10", + "@types/supertest": "2.0.11", "@types/uuid": "8.3.0", "@typescript-eslint/parser": "4.0.1", "@typescript-eslint/eslint-plugin": "4.0.1", diff --git a/yarn.lock b/yarn.lock index 4ac5f80d2..061b7b356 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4633,10 +4633,10 @@ "@types/cookiejar" "*" "@types/node" "*" -"@types/supertest@2.0.10": - version "2.0.10" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.10.tgz#630d79b4d82c73e043e43ff777a9ca98d457cab7" - integrity sha512-Xt8TbEyZTnD5Xulw95GLMOkmjGICrOQyJ2jqgkSjAUR3mm7pAIzSR0NFBaMcwlzVvlpCjNwbATcWWwjNiZiFrQ== +"@types/supertest@2.0.11": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.11.tgz#2e70f69f220bc77b4f660d72c2e1a4231f44a77d" + integrity sha512-uci4Esokrw9qGb9bvhhSVEjd6rkny/dk5PK/Qz4yxKiyppEI+dOPlNrZBahE3i+PoKFYyDxChVXZ/ysS/nrm1Q== dependencies: "@types/superagent" "*" From ac734665bbfc5563f33dac49827ca474c644ade8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 15 Apr 2021 21:29:22 +0000 Subject: [PATCH 100/252] chore(deps): update dependency eslint to v7.24.0 --- package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index e2e3b7154..727cd0ea1 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", - "eslint": "7.22.0", + "eslint": "7.24.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.4.0", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index 8caa07e57..d69956829 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/mongodb": "3.6.10", "chalk": "4.1.0", - "eslint": "7.22.0", + "eslint": "7.24.0", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/yarn.lock b/yarn.lock index 061b7b356..e20e6e982 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9441,10 +9441,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.22.0: - version "7.22.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.22.0.tgz#07ecc61052fec63661a2cab6bd507127c07adc6f" - integrity sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg== +eslint@7.24.0: + version "7.24.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a" + integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ== dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.0" From f0282163c29a1334e3743b38eccd5bf4f1e2a1dd Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 16 Apr 2021 23:03:43 +0000 Subject: [PATCH 101/252] chore(deps): [security] bump ssri from 6.0.1 to 6.0.2 Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2. **This update includes a security fix.** - [Release notes](https://github.com/npm/ssri/releases) - [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md) - [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index e20e6e982..112cc0dda 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18796,9 +18796,9 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^6.0.0, ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== dependencies: figgy-pudding "^3.5.1" From 9c3f106be9cb76688988ca178bebe6fefee8da1f Mon Sep 17 00:00:00 2001 From: Florian Guitton <2495155+fguitton@users.noreply.github.com> Date: Sat, 17 Apr 2021 10:16:46 +0100 Subject: [PATCH 102/252] CI with Node 14 and 15 --- .github/workflows/99_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/99_ci.yml b/.github/workflows/99_ci.yml index 4942f011a..5547dc8ad 100644 --- a/.github/workflows/99_ci.yml +++ b/.github/workflows/99_ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [macOS-latest, windows-latest, ubuntu-latest] - node: [10.x, 12.x, 14.x] + node: [14.x, 15.x] steps: - uses: actions/checkout@v2 From d2c3e799c81a62881d5c85ed9d90e32bae942834 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 23 Apr 2021 16:21:07 +0000 Subject: [PATCH 103/252] chore(deps): update dependency eslint-plugin-flowtype to v5.7.2 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 727cd0ea1..03a68c921 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "eslint": "7.24.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", - "eslint-plugin-flowtype": "5.4.0", + "eslint-plugin-flowtype": "5.7.2", "eslint-plugin-import": "2.22.1", "eslint-plugin-jest": "24.3.2", "eslint-plugin-jsx-a11y": "6.4.1", diff --git a/yarn.lock b/yarn.lock index 112cc0dda..176ef7618 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9266,10 +9266,10 @@ eslint-plugin-flowtype@4.6.0: dependencies: lodash "^4.17.15" -eslint-plugin-flowtype@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.4.0.tgz#a559526e56403cb97b470b524957fc526e2485fe" - integrity sha512-O0s0iTT5UxYuoOpHMLSIO2qZMyvrb9shhk1EM5INNGtJ2CffrfUmsnh6TVsnoT41fkXIEndP630WNovhoO87xQ== +eslint-plugin-flowtype@5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.7.2.tgz#482a42fe5d15ee614652ed256d37543d584d7bc0" + integrity sha512-7Oq/N0+3nijBnYWQYzz/Mp/7ZCpwxYvClRyW/PLAmimY9uLCBvoXsNsERcJdkKceyOjgRbFhhxs058KTrne9Mg== dependencies: lodash "^4.17.15" string-natural-compare "^3.0.1" From a03f04363d67a99023c16f72f92ef2ded4990c80 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 24 Apr 2021 17:36:23 +0000 Subject: [PATCH 104/252] chore(deps): update dependency chalk to v4.1.1 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 8 ++++++++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index a2d42bac1..23cb5650c 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -31,7 +31,7 @@ "@types/mongodb": "3.6.10", "@types/node": "14.14.35", "@types/supertest": "2.0.11", - "chalk": "4.1.0", + "chalk": "4.1.1", "jest": "26.6.3", "rimraf": "3.0.2", "ts-jest": "26.5.4", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index b6dcc8817..3f96578d3 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -54,7 +54,7 @@ "@types/webpack-env": "1.16.0", "@typescript-eslint/parser": "4.0.1", "@typescript-eslint/eslint-plugin": "4.0.1", - "chalk": "4.1.0", + "chalk": "4.1.1", "cors": "2.8.5", "cross-env": "7.0.3", "cross-spawn": "7.0.3", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index d69956829..8682668c8 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -23,7 +23,7 @@ }, "devDependencies": { "@types/mongodb": "3.6.10", - "chalk": "4.1.0", + "chalk": "4.1.1", "eslint": "7.24.0", "typescript": "4.0.5" }, diff --git a/yarn.lock b/yarn.lock index 176ef7618..9251ae312 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7061,6 +7061,14 @@ chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@^1.0.0, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" From b4b59622cfdcb919e411e69c2bf3d970c5df0009 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 25 Apr 2021 13:28:21 +0000 Subject: [PATCH 105/252] chore(deps): update dependency eslint to v7.25.0 --- package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 03a68c921..b430a1167 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", - "eslint": "7.24.0", + "eslint": "7.25.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.2", "eslint-plugin-flowtype": "5.7.2", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index 8682668c8..29418d379 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/mongodb": "3.6.10", "chalk": "4.1.1", - "eslint": "7.24.0", + "eslint": "7.25.0", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/yarn.lock b/yarn.lock index 9251ae312..09b29c15b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9449,10 +9449,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a" - integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ== +eslint@7.25.0: + version "7.25.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" + integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.0" From a6918ba8c61a0743f924384368cea77c924dc381 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 27 Apr 2021 22:48:30 +0000 Subject: [PATCH 106/252] chore(deps): update dependency @types/jest to v26.0.23 --- package.json | 2 +- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index b430a1167..15bd05d84 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ ] }, "devDependencies": { - "@types/jest": "26.0.22", + "@types/jest": "26.0.23", "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 23cb5650c..589eb8fc3 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@types/express": "4.17.8", - "@types/jest": "26.0.22", + "@types/jest": "26.0.23", "@types/minio": "7.0.7", "@types/mongodb": "3.6.10", "@types/node": "14.14.35", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 3f96578d3..2b97af337 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -42,7 +42,7 @@ "@types/bcrypt": "3.0.0", "@types/express": "4.17.8", "@types/express-session": "1.17.3", - "@types/jest": "26.0.22", + "@types/jest": "26.0.23", "@types/mongodb": "3.6.10", "@types/node": "14.14.35", "@types/node-fetch": "2.5.8", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 5b2c82cf9..c6211421c 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -37,7 +37,7 @@ "@babel/preset-env": "7.13.12", "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", - "@types/jest": "26.0.22", + "@types/jest": "26.0.23", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.10", "@types/node": "14.14.35", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 519735194..1f6f87a44 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -36,7 +36,7 @@ "@babel/preset-env": "7.13.12", "@cypress/webpack-preprocessor": "5.7.0", "@types/apollo-upload-client": "14.1.0", - "@types/jest": "26.0.22", + "@types/jest": "26.0.23", "@types/node": "14.14.35", "@types/react": "16.14.5", "@types/react-dom": "16.9.12", diff --git a/yarn.lock b/yarn.lock index 09b29c15b..0df975c7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4361,10 +4361,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@26.0.22": - version "26.0.22" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6" - integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw== +"@types/jest@26.0.23": + version "26.0.23" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.23.tgz#a1b7eab3c503b80451d019efb588ec63522ee4e7" + integrity sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA== dependencies: jest-diff "^26.0.0" pretty-format "^26.0.0" From 7ead5381d708972ac375529a26e0cb75818e4885 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 30 Apr 2021 16:31:35 +0000 Subject: [PATCH 107/252] chore(deps): update dependency @types/node to v14.14.43 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 589eb8fc3..8c0e743f1 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -29,7 +29,7 @@ "@types/jest": "26.0.23", "@types/minio": "7.0.7", "@types/mongodb": "3.6.10", - "@types/node": "14.14.35", + "@types/node": "14.14.43", "@types/supertest": "2.0.11", "chalk": "4.1.1", "jest": "26.6.3", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 2b97af337..53c270dbc 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -44,7 +44,7 @@ "@types/express-session": "1.17.3", "@types/jest": "26.0.23", "@types/mongodb": "3.6.10", - "@types/node": "14.14.35", + "@types/node": "14.14.43", "@types/node-fetch": "2.5.8", "@types/nodemailer": "6.4.1", "@types/passport": "1.0.6", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index c6211421c..e1900e220 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -40,7 +40,7 @@ "@types/jest": "26.0.23", "@types/json2csv": "5.0.1", "@types/mongodb": "3.6.10", - "@types/node": "14.14.35", + "@types/node": "14.14.43", "@types/node-fetch": "2.5.8", "@types/supertest": "2.0.11", "@types/uuid": "8.3.0", diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 1f6f87a44..813e29418 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -37,7 +37,7 @@ "@cypress/webpack-preprocessor": "5.7.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.23", - "@types/node": "14.14.35", + "@types/node": "14.14.43", "@types/react": "16.14.5", "@types/react-dom": "16.9.12", "@types/react-router-dom": "5.1.7", diff --git a/yarn.lock b/yarn.lock index 0df975c7b..3476c0f42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4468,10 +4468,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== -"@types/node@14.14.35": - version "14.14.35" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" - integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== +"@types/node@14.14.43": + version "14.14.43" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.43.tgz#26bcbb0595b305400e8ceaf9a127a7f905ae49c8" + integrity sha512-3pwDJjp1PWacPTpH0LcfhgjvurQvrZFBrC6xxjaUEZ7ifUtT32jtjPxEMMblpqd2Mvx+k8haqQJLQxolyGN/cQ== "@types/node@^10.1.0": version "10.17.29" From c2dbfea71926642e9ff1fc51388ac5e1d77aa994 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 3 May 2021 18:07:22 +0000 Subject: [PATCH 108/252] chore(deps): update dependency eslint-plugin-react to v7.23.2 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 15bd05d84..89598eb3b 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "eslint-plugin-import": "2.22.1", "eslint-plugin-jest": "24.3.2", "eslint-plugin-jsx-a11y": "6.4.1", - "eslint-plugin-react": "7.23.1", + "eslint-plugin-react": "7.23.2", "eslint-plugin-react-hooks": "4.1.2", "husky": "4.3.8", "jest-environment-node": "26.6.2", diff --git a/yarn.lock b/yarn.lock index 3476c0f42..4a716017d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9383,10 +9383,10 @@ eslint-plugin-react@7.18.0: prop-types "^15.7.2" resolve "^1.14.2" -eslint-plugin-react@7.23.1: - version "7.23.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz#f1a2e844c0d1967c822388204a8bc4dee8415b11" - integrity sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ== +eslint-plugin-react@7.23.2: + version "7.23.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494" + integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw== dependencies: array-includes "^3.1.3" array.prototype.flatmap "^1.2.4" From 986b8d92b3df24bf17c3c6a456f8093b6165ccb4 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 5 May 2021 14:32:30 +0000 Subject: [PATCH 109/252] chore(deps): update dependency ts-jest to v26.5.6 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 8c0e743f1..6d949fe48 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -34,7 +34,7 @@ "chalk": "4.1.1", "jest": "26.6.3", "rimraf": "3.0.2", - "ts-jest": "26.5.4", + "ts-jest": "26.5.6", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 53c270dbc..d48fe3a0c 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -67,7 +67,7 @@ "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", "supertest": "6.1.3", - "ts-jest": "26.5.4", + "ts-jest": "26.5.6", "ts-loader": "8.0.18", "typescript": "4.0.5", "webpack": "5.28.0", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index e1900e220..da22ad5c9 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -52,7 +52,7 @@ "rimraf": "3.0.2", "start-server-webpack-plugin": "2.2.5", "supertest": "6.1.3", - "ts-jest": "26.5.4", + "ts-jest": "26.5.6", "ts-loader": "8.0.18", "typescript": "4.0.5", "webpack": "5.28.0", diff --git a/yarn.lock b/yarn.lock index 4a716017d..b5b0a08dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19726,10 +19726,10 @@ ts-invariant@^0.6.0: "@ungap/global-this" "^0.4.2" tslib "^1.9.3" -ts-jest@26.5.4: - version "26.5.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.4.tgz#207f4c114812a9c6d5746dd4d1cdf899eafc9686" - integrity sha512-I5Qsddo+VTm94SukBJ4cPimOoFZsYTeElR2xy6H2TOVs+NsvgYglW8KuQgKoApOKuaU/Ix/vrF9ebFZlb5D2Pg== +ts-jest@26.5.6: + version "26.5.6" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.6.tgz#c32e0746425274e1dfe333f43cd3c800e014ec35" + integrity sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA== dependencies: bs-logger "0.x" buffer-from "1.x" From d54fba7ca2c1cbafc4be9eae9815536abf4e95d1 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 5 May 2021 16:15:44 +0000 Subject: [PATCH 110/252] chore(deps): update dependency @types/json2csv to v5.0.2 --- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index da22ad5c9..8c1ccc999 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -38,7 +38,7 @@ "@types/connect-timeout": "0.0.34", "@types/express": "4.17.8", "@types/jest": "26.0.23", - "@types/json2csv": "5.0.1", + "@types/json2csv": "5.0.2", "@types/mongodb": "3.6.10", "@types/node": "14.14.43", "@types/node-fetch": "2.5.8", diff --git a/yarn.lock b/yarn.lock index b5b0a08dc..fe778b117 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4374,10 +4374,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/json2csv@5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/json2csv/-/json2csv-5.0.1.tgz#576d38515dfedeabf46eb85e790894b8df72ab40" - integrity sha512-1r5GCTyFtdQ53CRSIctzWZCmtDXvxtzM77SzOqPB4woMeGcc3rhUMzPqEQH3rokG1k/QLzlC5Qe5Ih8NuFN70Q== +"@types/json2csv@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/json2csv/-/json2csv-5.0.2.tgz#64e0b5c9e46f3f8a55dd6670624c2a62a553ce1d" + integrity sha512-B9f75qwJxu+JLlUoFUmyM5g31fMOqoPEHd9bvWIwitWLeCI5e+KfsLTvPq1GuFh3OIM9Upc5vYkfOJDE/GMMQA== dependencies: "@types/node" "*" From faeb72a38d2ac3e208a214f69d4862731f0201b3 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 6 May 2021 16:25:41 +0000 Subject: [PATCH 111/252] chore(deps): [security] bump handlebars from 4.7.6 to 4.7.7 Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7. **This update includes a security fix.** - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md) - [Commits](https://github.com/wycats/handlebars.js/compare/v4.7.6...v4.7.7) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index fe778b117..2d77dbbde 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10839,9 +10839,9 @@ handle-thing@^2.0.0: integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== handlebars@^4.7.6: - version "4.7.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" - integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: minimist "^1.2.5" neo-async "^2.6.0" @@ -19897,9 +19897,9 @@ typescript@4.0.5: integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== uglify-js@^3.1.4: - version "3.10.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.3.tgz#f0d2f99736c14de46d2d24649ba328be3e71c3bf" - integrity sha512-Lh00i69Uf6G74mvYpHCI9KVVXLcHW/xu79YTvH7Mkc9zyKUeSPz0owW0dguj0Scavns3ZOh3wY63J0Zb97Za2g== + version "3.13.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.5.tgz#5d71d6dbba64cf441f32929b1efce7365bb4f113" + integrity sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw== uid-number@0.0.6: version "0.0.6" From 3072e4b4df7a28ebf1451f4bdb4af982a8f2a72b Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 6 May 2021 18:45:57 +0000 Subject: [PATCH 112/252] chore(deps): [security] bump url-parse from 1.4.7 to 1.5.1 Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.4.7 to 1.5.1. **This update includes a security fix.** - [Release notes](https://github.com/unshiftio/url-parse/releases) - [Commits](https://github.com/unshiftio/url-parse/compare/1.4.7...1.5.1) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index fe778b117..9ca89167b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20083,9 +20083,9 @@ url-loader@2.3.0: schema-utils "^2.5.0" url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== + version "1.5.1" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" + integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" From 4e6279a0df7acace0195184b0c7fecd2a2f242f0 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 7 May 2021 08:38:11 +0000 Subject: [PATCH 113/252] chore(deps): update dependency @types/express to v4.17.11 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 21 ++++++++++++++++++++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index 6d949fe48..c8411ff89 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -25,7 +25,7 @@ "minio": "7.0.18" }, "devDependencies": { - "@types/express": "4.17.8", + "@types/express": "4.17.11", "@types/jest": "26.0.23", "@types/minio": "7.0.7", "@types/mongodb": "3.6.10", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index d48fe3a0c..1207f375f 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -40,7 +40,7 @@ }, "devDependencies": { "@types/bcrypt": "3.0.0", - "@types/express": "4.17.8", + "@types/express": "4.17.11", "@types/express-session": "1.17.3", "@types/jest": "26.0.23", "@types/mongodb": "3.6.10", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 8c1ccc999..bfc967183 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -36,7 +36,7 @@ "@babel/core": "7.13.13", "@babel/preset-env": "7.13.12", "@types/connect-timeout": "0.0.34", - "@types/express": "4.17.8", + "@types/express": "4.17.11", "@types/jest": "26.0.23", "@types/json2csv": "5.0.2", "@types/mongodb": "3.6.10", diff --git a/yarn.lock b/yarn.lock index fe778b117..380db0593 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4255,6 +4255,15 @@ "@types/qs" "*" "@types/range-parser" "*" +"@types/express-serve-static-core@^4.17.18": + version "4.17.19" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d" + integrity sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/express-session@1.17.3": version "1.17.3" resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.3.tgz#4a37c5c4428b8f922ac8ac1cb4bd9190a4d2b097" @@ -4262,7 +4271,7 @@ dependencies: "@types/express" "*" -"@types/express@*", "@types/express@4.17.8": +"@types/express@*": version "4.17.8" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.8.tgz#3df4293293317e61c60137d273a2e96cd8d5f27a" integrity sha512-wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ== @@ -4272,6 +4281,16 @@ "@types/qs" "*" "@types/serve-static" "*" +"@types/express@4.17.11": + version "4.17.11" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.11.tgz#debe3caa6f8e5fcda96b47bd54e2f40c4ee59545" + integrity sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + "@types/express@4.17.7": version "4.17.7" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.7.tgz#42045be6475636d9801369cd4418ef65cdb0dd59" From 16f7e4b25d92311b75b8309c04a1be752bd52634 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 7 May 2021 13:13:58 +0000 Subject: [PATCH 114/252] chore(deps): update dependency @types/react to v16.14.6 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 813e29418..f0ecb9cf5 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -38,7 +38,7 @@ "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.23", "@types/node": "14.14.43", - "@types/react": "16.14.5", + "@types/react": "16.14.6", "@types/react-dom": "16.9.12", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", diff --git a/yarn.lock b/yarn.lock index 380db0593..944ca4a6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4602,7 +4602,16 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.14.5", "@types/react@^16": +"@types/react@16.14.6": + version "16.14.6" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.6.tgz#d933a2a6bc1bfe320a5eea480e8f45ba8126d6ee" + integrity sha512-Ol/aFKune+P0FSFKIgf+XbhGzYGyz0p7g5befSt4rmbzfGLaZR0q7jPew9k7d3bvrcuaL8dPy9Oz3XGZmf9n+w== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^16": version "16.14.5" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.5.tgz#2c39b5cadefaf4829818f9219e5e093325979f4d" integrity sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw== From 056330bfdb014767487f3a316e16cd4182865a72 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 7 May 2021 13:14:16 +0000 Subject: [PATCH 115/252] chore(deps): update dependency eslint-plugin-cypress to v2.11.3 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 89598eb3b..934347a41 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "babel-eslint": "10.1.0", "eslint": "7.25.0", "eslint-config-react-app": "5.2.1", - "eslint-plugin-cypress": "2.11.2", + "eslint-plugin-cypress": "2.11.3", "eslint-plugin-flowtype": "5.7.2", "eslint-plugin-import": "2.22.1", "eslint-plugin-jest": "24.3.2", diff --git a/yarn.lock b/yarn.lock index 380db0593..58b9b580b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9279,10 +9279,10 @@ eslint-module-utils@^2.4.1, eslint-module-utils@^2.6.0: debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-cypress@2.11.2: - version "2.11.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.2.tgz#a8f3fe7ec840f55e4cea37671f93293e6c3e76a0" - integrity sha512-1SergF1sGbVhsf7MYfOLiBhdOg6wqyeV9pXUAIDIffYTGMN3dTBQS9nFAzhLsHhO+Bn0GaVM1Ecm71XUidQ7VA== +eslint-plugin-cypress@2.11.3: + version "2.11.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.3.tgz#54ee4067aa8192aa62810cd35080eb577e191ab7" + integrity sha512-hOoAid+XNFtpvOzZSNWP5LDrQBEJwbZwjib4XJ1KcRYKjeVj0mAmPmucG4Egli4j/aruv+Ow/acacoloWWCl9Q== dependencies: globals "^11.12.0" From c5668760b474f8fa08bcfe256e38c42afe61fc22 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 7 May 2021 18:21:43 +0000 Subject: [PATCH 116/252] chore(deps): [security] bump hosted-git-info from 2.8.8 to 2.8.9 Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9. **This update includes a security fix.** - [Release notes](https://github.com/npm/hosted-git-info/releases) - [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md) - [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 380db0593..7b91becf3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11041,9 +11041,9 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: react-is "^16.7.0" hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hpack.js@^2.1.6: version "2.1.6" From ed5a0482e32b56253ffc913ec85b78c565c18f2f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 12 May 2021 14:18:21 +0000 Subject: [PATCH 117/252] chore(deps): update dependency eslint to v7.26.0 --- package.json | 2 +- packages/itmat-setup/package.json | 2 +- yarn.lock | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 934347a41..1e2543779 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@typescript-eslint/eslint-plugin": "4.0.1", "@typescript-eslint/parser": "4.0.1", "babel-eslint": "10.1.0", - "eslint": "7.25.0", + "eslint": "7.26.0", "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.3", "eslint-plugin-flowtype": "5.7.2", diff --git a/packages/itmat-setup/package.json b/packages/itmat-setup/package.json index 29418d379..5005cef50 100644 --- a/packages/itmat-setup/package.json +++ b/packages/itmat-setup/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/mongodb": "3.6.10", "chalk": "4.1.1", - "eslint": "7.25.0", + "eslint": "7.26.0", "typescript": "4.0.5" }, "eslintConfig": { diff --git a/yarn.lock b/yarn.lock index f7d6d3757..cc11e80e5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2576,10 +2576,10 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== +"@eslint/eslintrc@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.1.tgz#442763b88cecbe3ee0ec7ca6d6dd6168550cbf14" + integrity sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -9477,13 +9477,13 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@7.25.0: - version "7.25.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" - integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== +eslint@7.26.0: + version "7.26.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.26.0.tgz#d416fdcdcb3236cd8f282065312813f8c13982f6" + integrity sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" + "@eslint/eslintrc" "^0.4.1" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" From 85a58c582c6aa4df04a96f57952147e7719edc61 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 17 May 2021 11:52:03 +0000 Subject: [PATCH 118/252] chore(deps): update dependency @types/react-dom to v16.9.13 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index f0ecb9cf5..2143a07c9 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -39,7 +39,7 @@ "@types/jest": "26.0.23", "@types/node": "14.14.43", "@types/react": "16.14.6", - "@types/react-dom": "16.9.12", + "@types/react-dom": "16.9.13", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", "cross-env": "7.0.3", diff --git a/yarn.lock b/yarn.lock index cc11e80e5..e872e08de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4570,10 +4570,10 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== -"@types/react-dom@16.9.12": - version "16.9.12" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.12.tgz#55cd6b17e73922edb9545e5355a0016c1734e6f4" - integrity sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA== +"@types/react-dom@16.9.13": + version "16.9.13" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.13.tgz#5898f0ee68fe200685e6b61d3d7d8828692814d0" + integrity sha512-34Hr3XnmUSJbUVDxIw/e7dhQn2BJZhJmlAaPyPwfTQyuVS9mV/CeyghFcXyvkJXxI7notQJz8mF8FeCVvloJrA== dependencies: "@types/react" "^16" From 760359534d08a4087885da459ff59f4999836289 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 18 May 2021 14:52:35 +0000 Subject: [PATCH 119/252] chore(deps): update dependency @cypress/webpack-preprocessor to v5.8.0 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 2143a07c9..e6f229b19 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -34,7 +34,7 @@ "devDependencies": { "@babel/core": "7.13.13", "@babel/preset-env": "7.13.12", - "@cypress/webpack-preprocessor": "5.7.0", + "@cypress/webpack-preprocessor": "5.8.0", "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.23", "@types/node": "14.14.43", diff --git a/yarn.lock b/yarn.lock index e872e08de..5cd27cfb8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2554,10 +2554,10 @@ debug "^4.1.1" lodash "^4.17.20" -"@cypress/webpack-preprocessor@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.7.0.tgz#653c92662fe885260f176f5a1bd630dfd2cee8ca" - integrity sha512-E60lsdMoIJFR36t7J2yjcAH3vrxF1WecoTIz4PL7Km/LrIEx1/qafEeyGuHTBynr/RBd4kCaS2XLJW75hOeLSw== +"@cypress/webpack-preprocessor@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.8.0.tgz#ae89775c0833d6d3c00fe9349ded270043cc6843" + integrity sha512-8R0EIWTPsOQQx1yGuQf6QFkaPxH3WtLbmIezeC4nWs8ITBTRASTTIhiXtbrntVphqFQX0Hm0eCiYEEwzBgVbog== dependencies: bluebird "^3.7.1" debug "4.3.2" From 704f56cfdd6afbee2aefdd4d58d3ed0433f36661 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 19 May 2021 13:44:56 +0000 Subject: [PATCH 120/252] chore(deps): update dependency eslint-plugin-import to v2.23.2 --- package.json | 2 +- yarn.lock | 90 ++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 78 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 1e2543779..f49d73a58 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.3", "eslint-plugin-flowtype": "5.7.2", - "eslint-plugin-import": "2.22.1", + "eslint-plugin-import": "2.23.2", "eslint-plugin-jest": "24.3.2", "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-react": "7.23.2", diff --git a/yarn.lock b/yarn.lock index 5cd27cfb8..5a2f001cb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5864,6 +5864,15 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.3: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + array.prototype.flatmap@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" @@ -7637,6 +7646,14 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= +contains-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-1.0.0.tgz#3458b332185603e8eed18f518d4a10888a3abc91" + integrity sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE= + dependencies: + normalize-path "^2.1.1" + path-starts-with "^1.0.0" + content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -8380,6 +8397,13 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: dependencies: ms "^2.1.1" +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + debug@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" @@ -9280,7 +9304,7 @@ eslint-loader@3.0.3: object-hash "^2.0.1" schema-utils "^2.6.1" -eslint-module-utils@^2.4.1, eslint-module-utils@^2.6.0: +eslint-module-utils@^2.4.1: version "2.6.0" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== @@ -9288,6 +9312,14 @@ eslint-module-utils@^2.4.1, eslint-module-utils@^2.6.0: debug "^2.6.9" pkg-dir "^2.0.0" +eslint-module-utils@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" + integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== + dependencies: + debug "^3.2.7" + pkg-dir "^2.0.0" + eslint-plugin-cypress@2.11.3: version "2.11.3" resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.11.3.tgz#54ee4067aa8192aa62810cd35080eb577e191ab7" @@ -9328,23 +9360,26 @@ eslint-plugin-import@2.20.0: read-pkg-up "^2.0.0" resolve "^1.12.0" -eslint-plugin-import@2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== +eslint-plugin-import@2.23.2: + version "2.23.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz#ee15dd68fc7a1a1ba4c653c734e0d01c100d3484" + integrity sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg== dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + contains-path "^1.0.0" debug "^2.6.9" - doctrine "1.5.0" + doctrine "^2.1.0" eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" + eslint-module-utils "^2.6.1" + find-up "^2.0.0" has "^1.0.3" + is-core-module "^2.4.0" minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" + object.values "^1.1.3" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" tsconfig-paths "^3.9.0" eslint-plugin-jest@24.3.2: @@ -11741,6 +11776,13 @@ is-core-module@^2.2.0: dependencies: has "^1.0.3" +is-core-module@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" + integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -15613,6 +15655,13 @@ path-platform@~0.11.15: resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" integrity sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I= +path-starts-with@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/path-starts-with/-/path-starts-with-1.0.0.tgz#b28243015e8b138de572682ac52da42e646ad84e" + integrity sha1-soJDAV6LE43lcmgqxS2kLmRq2E4= + dependencies: + normalize-path "^2.1.1" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -15760,6 +15809,13 @@ pkg-up@3.1.0, pkg-up@^3.1.0: dependencies: find-up "^3.0.0" +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -18020,6 +18076,14 @@ resolve@^1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" +resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" From b07c76fe40b419183b2f6bfed432441ab1b93497 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 21 May 2021 21:39:15 +0000 Subject: [PATCH 121/252] chore(deps): update dependency eslint-plugin-import to v2.23.3 --- package.json | 2 +- yarn.lock | 24 ++++-------------------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index f49d73a58..fed229d0a 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "eslint-config-react-app": "5.2.1", "eslint-plugin-cypress": "2.11.3", "eslint-plugin-flowtype": "5.7.2", - "eslint-plugin-import": "2.23.2", + "eslint-plugin-import": "2.23.3", "eslint-plugin-jest": "24.3.2", "eslint-plugin-jsx-a11y": "6.4.1", "eslint-plugin-react": "7.23.2", diff --git a/yarn.lock b/yarn.lock index 5a2f001cb..9364f5922 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7646,14 +7646,6 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -contains-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-1.0.0.tgz#3458b332185603e8eed18f518d4a10888a3abc91" - integrity sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE= - dependencies: - normalize-path "^2.1.1" - path-starts-with "^1.0.0" - content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -9360,14 +9352,13 @@ eslint-plugin-import@2.20.0: read-pkg-up "^2.0.0" resolve "^1.12.0" -eslint-plugin-import@2.23.2: - version "2.23.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.2.tgz#ee15dd68fc7a1a1ba4c653c734e0d01c100d3484" - integrity sha512-LmNoRptHBxOP+nb0PIKz1y6OSzCJlB+0g0IGS3XV4KaKk2q4szqQ6s6F1utVf5ZRkxk/QOTjdxe7v4VjS99Bsg== +eslint-plugin-import@2.23.3: + version "2.23.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.3.tgz#8a1b073289fff03c4af0f04b6df956b7d463e191" + integrity sha512-wDxdYbSB55F7T5CC7ucDjY641VvKmlRwT0Vxh7PkY1mI4rclVRFWYfsrjDgZvwYYDZ5ee0ZtfFKXowWjqvEoRQ== dependencies: array-includes "^3.1.3" array.prototype.flat "^1.2.4" - contains-path "^1.0.0" debug "^2.6.9" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.4" @@ -15655,13 +15646,6 @@ path-platform@~0.11.15: resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" integrity sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I= -path-starts-with@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/path-starts-with/-/path-starts-with-1.0.0.tgz#b28243015e8b138de572682ac52da42e646ad84e" - integrity sha1-soJDAV6LE43lcmgqxS2kLmRq2E4= - dependencies: - normalize-path "^2.1.1" - path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" From 4a4c7bb640026b5bbef26cc7d1f206bd898d5edd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 24 May 2021 18:16:41 +0000 Subject: [PATCH 122/252] chore(deps): update dependency @types/react to v16.14.7 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index e6f229b19..659b2772f 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -38,7 +38,7 @@ "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.23", "@types/node": "14.14.43", - "@types/react": "16.14.6", + "@types/react": "16.14.7", "@types/react-dom": "16.9.13", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", diff --git a/yarn.lock b/yarn.lock index 9364f5922..edc3f99ee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4602,10 +4602,10 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.14.6": - version "16.14.6" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.6.tgz#d933a2a6bc1bfe320a5eea480e8f45ba8126d6ee" - integrity sha512-Ol/aFKune+P0FSFKIgf+XbhGzYGyz0p7g5befSt4rmbzfGLaZR0q7jPew9k7d3bvrcuaL8dPy9Oz3XGZmf9n+w== +"@types/react@16.14.7": + version "16.14.7" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.7.tgz#b62bd8cc4675d6fe3976126cdd208deda267f1fb" + integrity sha512-JhbikeQ1i18ut9Sro3j/xvhN073zJA9sqGqbwJByhOfLPXxEJdqjal9piZd9tmVEC+LP6RN2dLvWx9Hbr0reTw== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" From 18bc0cb605b7c9db8975d5493f3205dfa11316a9 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 25 May 2021 16:47:36 +0000 Subject: [PATCH 123/252] fix(deps): update dependency express-session to v1.17.2 --- packages/itmat-interface/package.json | 2 +- yarn.lock | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 1207f375f..1cb675cbb 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -26,7 +26,7 @@ "connect-mongo": "3.2.0", "deepmerge": "4.2.2", "express": "4.17.1", - "express-session": "1.17.1", + "express-session": "1.17.2", "fs-extra": "9.1.0", "graphql-type-json": "0.3.2", "hi-base32": "0.5.1", diff --git a/yarn.lock b/yarn.lock index edc3f99ee..66a7aa95d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7768,6 +7768,11 @@ cookie@0.4.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +cookie@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + cookiejar@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" @@ -9819,18 +9824,18 @@ expect@^26.6.2: jest-message-util "^26.6.2" jest-regex-util "^26.0.0" -express-session@1.17.1: - version "1.17.1" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.1.tgz#36ecbc7034566d38c8509885c044d461c11bf357" - integrity sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q== +express-session@1.17.2: + version "1.17.2" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.2.tgz#397020374f9bf7997f891b85ea338767b30d0efd" + integrity sha512-mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ== dependencies: - cookie "0.4.0" + cookie "0.4.1" cookie-signature "1.0.6" debug "2.6.9" depd "~2.0.0" on-headers "~1.0.2" parseurl "~1.3.3" - safe-buffer "5.2.0" + safe-buffer "5.2.1" uid-safe "~2.1.5" express@4.17.1, express@^4.17.1: @@ -18214,12 +18219,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== From 48fff568ec71fe1434bcf5a9abf011a79a45cd6b Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 26 May 2021 09:34:36 +0000 Subject: [PATCH 124/252] chore(deps): update dependency @types/express to v4.17.12 --- packages/itmat-commons/package.json | 2 +- packages/itmat-interface/package.json | 2 +- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index c8411ff89..a43622ca5 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -25,7 +25,7 @@ "minio": "7.0.18" }, "devDependencies": { - "@types/express": "4.17.11", + "@types/express": "4.17.12", "@types/jest": "26.0.23", "@types/minio": "7.0.7", "@types/mongodb": "3.6.10", diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index 1cb675cbb..ba73f5093 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -40,7 +40,7 @@ }, "devDependencies": { "@types/bcrypt": "3.0.0", - "@types/express": "4.17.11", + "@types/express": "4.17.12", "@types/express-session": "1.17.3", "@types/jest": "26.0.23", "@types/mongodb": "3.6.10", diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index bfc967183..6e919653a 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -36,7 +36,7 @@ "@babel/core": "7.13.13", "@babel/preset-env": "7.13.12", "@types/connect-timeout": "0.0.34", - "@types/express": "4.17.11", + "@types/express": "4.17.12", "@types/jest": "26.0.23", "@types/json2csv": "5.0.2", "@types/mongodb": "3.6.10", diff --git a/yarn.lock b/yarn.lock index 66a7aa95d..81ce2ea94 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4281,10 +4281,10 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/express@4.17.11": - version "4.17.11" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.11.tgz#debe3caa6f8e5fcda96b47bd54e2f40c4ee59545" - integrity sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg== +"@types/express@4.17.12": + version "4.17.12" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.12.tgz#4bc1bf3cd0cfe6d3f6f2853648b40db7d54de350" + integrity sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" From 36095ea7b10d09bc428e62413bc3b785c417a475 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 27 May 2021 06:04:45 +0000 Subject: [PATCH 125/252] chore(deps): [security] bump dns-packet from 1.3.1 to 1.3.4 Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 1.3.1 to 1.3.4. **This update includes a security fix.** - [Release notes](https://github.com/mafintosh/dns-packet/releases) - [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md) - [Commits](https://github.com/mafintosh/dns-packet/compare/v1.3.1...v1.3.4) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 66a7aa95d..21b8e28f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8716,9 +8716,9 @@ dns-equal@^1.0.0: integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + version "1.3.4" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== dependencies: ip "^1.1.0" safe-buffer "^5.0.1" From 13a1734112ee8ca48d2d664ff6ef6646950625f6 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Wed, 9 Jun 2021 06:31:17 +0000 Subject: [PATCH 126/252] chore(deps): [security] bump ws from 5.2.2 to 5.2.3 Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3. **This update includes a security fix.** - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 234d3539d..211ea6b7f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20971,9 +20971,9 @@ write@1.0.3: mkdirp "^0.5.1" ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + version "5.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== dependencies: async-limiter "~1.0.0" From 4a82b0589b7d133b6fc509dd7a719161d4b28c77 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 11 Jun 2021 06:10:50 +0000 Subject: [PATCH 127/252] chore(deps): [security] bump merge-deep from 3.0.2 to 3.0.3 Bumps [merge-deep](https://github.com/jonschlinkert/merge-deep) from 3.0.2 to 3.0.3. **This update includes a security fix.** - [Release notes](https://github.com/jonschlinkert/merge-deep/releases) - [Commits](https://github.com/jonschlinkert/merge-deep/compare/3.0.2...3.0.3) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 211ea6b7f..60325d5d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14052,9 +14052,9 @@ meow@^7.0.0: yargs-parser "^18.1.3" merge-deep@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" - integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== + version "3.0.3" + resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003" + integrity sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA== dependencies: arr-union "^3.1.0" clone-deep "^0.2.4" From 9a5df105e9b24152781afb697a75cacee4dad98a Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 22 Jun 2021 06:13:43 +0000 Subject: [PATCH 128/252] chore(deps): [security] bump color-string from 1.5.3 to 1.5.5 Bumps [color-string](https://github.com/Qix-/color-string) from 1.5.3 to 1.5.5. **This update includes a security fix.** - [Release notes](https://github.com/Qix-/color-string/releases) - [Changelog](https://github.com/Qix-/color-string/blob/master/CHANGELOG.md) - [Commits](https://github.com/Qix-/color-string/commits/1.5.5) Signed-off-by: dependabot-preview[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 60325d5d0..a89d6a713 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7436,9 +7436,9 @@ color-name@^1.0.0, color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + version "1.5.5" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" + integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" From d7143d803f256c6f2fe4ba9b8dd33d5b144d44f5 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 7 Jul 2021 19:49:42 +0000 Subject: [PATCH 129/252] chore(deps): update dependency @types/react to v16.14.11 --- packages/itmat-ui-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-ui-react/package.json b/packages/itmat-ui-react/package.json index 659b2772f..090e0daba 100644 --- a/packages/itmat-ui-react/package.json +++ b/packages/itmat-ui-react/package.json @@ -38,7 +38,7 @@ "@types/apollo-upload-client": "14.1.0", "@types/jest": "26.0.23", "@types/node": "14.14.43", - "@types/react": "16.14.7", + "@types/react": "16.14.11", "@types/react-dom": "16.9.13", "@types/react-router-dom": "5.1.7", "babel-loader": "8.2.2", diff --git a/yarn.lock b/yarn.lock index a89d6a713..7089d990c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4602,10 +4602,10 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@16.14.7": - version "16.14.7" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.7.tgz#b62bd8cc4675d6fe3976126cdd208deda267f1fb" - integrity sha512-JhbikeQ1i18ut9Sro3j/xvhN073zJA9sqGqbwJByhOfLPXxEJdqjal9piZd9tmVEC+LP6RN2dLvWx9Hbr0reTw== +"@types/react@16.14.11": + version "16.14.11" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.11.tgz#992a0cd4b66b9f27315042b5d96e976717368f04" + integrity sha512-Don0MtsZZ3fjwTJ2BsoqkyOy7e176KplEAKOpr/4XDdzinlyJBn9yfsKn5mcSgn4kh1B22+3tBnzBC1z63ybtQ== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" From c617f6473b203991430482b0a72644dc6e11d438 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sat, 31 Jul 2021 17:54:43 +0000 Subject: [PATCH 130/252] chore(deps): update dependency @types/connect-timeout to v0.0.35 --- packages/itmat-job-executor/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 6e919653a..56892c062 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -35,7 +35,7 @@ "devDependencies": { "@babel/core": "7.13.13", "@babel/preset-env": "7.13.12", - "@types/connect-timeout": "0.0.34", + "@types/connect-timeout": "0.0.35", "@types/express": "4.17.12", "@types/jest": "26.0.23", "@types/json2csv": "5.0.2", diff --git a/yarn.lock b/yarn.lock index 7089d990c..68023da8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4165,10 +4165,10 @@ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== -"@types/connect-timeout@0.0.34": - version "0.0.34" - resolved "https://registry.yarnpkg.com/@types/connect-timeout/-/connect-timeout-0.0.34.tgz#16639efcc65b5b887f3b6738f8d9ee4acf556f04" - integrity sha512-ZadN0ttd64Wg5suotSRqJTn/QSw6gO1OqFY3GVgzY9WC5Efo2fxsSt5Scd5IOC6eXPbA7N4VlK17/oRpGSmOzA== +"@types/connect-timeout@0.0.35": + version "0.0.35" + resolved "https://registry.yarnpkg.com/@types/connect-timeout/-/connect-timeout-0.0.35.tgz#149a07ed2c91acab2f64d154153dc90d6828e89d" + integrity sha512-4lAuYoMcQ+GmbXPKORl/fvPKRr+aDkBKaxhmWTi1VoBP9LWm6dgBxLg1Am3/GNLTaLH834N8Vi5xyvkk5/H+Ow== dependencies: "@types/express" "*" From 4e4409a541a6df80fae1f10f639570dac7935242 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 Aug 2021 01:56:34 +0000 Subject: [PATCH 131/252] chore(deps): bump tar from 4.4.13 to 4.4.19 Bumps [tar](https://github.com/npm/node-tar) from 4.4.13 to 4.4.19. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-tar/compare/v4.4.13...v4.4.19) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/yarn.lock b/yarn.lock index 68023da8c..6f4eab7e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7186,7 +7186,7 @@ chokidar@^3.3.0, chokidar@^3.4.1: optionalDependencies: fsevents "~2.1.2" -chownr@^1.1.1, chownr@^1.1.2: +chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -10430,7 +10430,7 @@ fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^1.0.0" -fs-minipass@^1.2.5: +fs-minipass@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== @@ -14273,7 +14273,7 @@ minipass-pipeline@^1.2.2: dependencies: minipass "^3.0.0" -minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: +minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== @@ -14288,7 +14288,7 @@ minipass@^3.0.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" -minizlib@^1.2.1: +minizlib@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== @@ -18219,7 +18219,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -19426,17 +19426,17 @@ tar-stream@^2.1.4: readable-stream "^3.1.1" tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" tar@^6.1.0: version "6.1.0" @@ -21035,7 +21035,7 @@ xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.1: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== From 8e56acfb4816ba69bde1ef4680bef8cd85ae1ec2 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Mon, 17 Jan 2022 13:13:16 +0000 Subject: [PATCH 132/252] chore: Remove non-active Node version in CI pipeline (cherry picked from commit fc35b0eea70a9d215869529530839256b5afdb99) --- .github/workflows/99_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/99_ci.yml b/.github/workflows/99_ci.yml index 5547dc8ad..c62346d41 100644 --- a/.github/workflows/99_ci.yml +++ b/.github/workflows/99_ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [macOS-latest, windows-latest, ubuntu-latest] - node: [14.x, 15.x] + node: [14.x, 16.x] steps: - uses: actions/checkout@v2 From 5587ed7ee8d93c94a81596d1748ad868d6c57fe6 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Mon, 17 Jan 2022 14:58:59 +0000 Subject: [PATCH 133/252] chore: Increase Jest default timeout period --- packages/itmat-commons/package.json | 1 + packages/itmat-interface/package.json | 1 + packages/itmat-job-executor/package.json | 1 + 3 files changed, 3 insertions(+) diff --git a/packages/itmat-commons/package.json b/packages/itmat-commons/package.json index a43622ca5..3f654b5c9 100644 --- a/packages/itmat-commons/package.json +++ b/packages/itmat-commons/package.json @@ -44,6 +44,7 @@ "transform": { "^.+\\.(ts|js)$": "ts-jest" }, + "testTimeout": "60000", "testEnvironment": "/../../test/fixtures/_minioJestEnv" } } \ No newline at end of file diff --git a/packages/itmat-interface/package.json b/packages/itmat-interface/package.json index ba73f5093..aa8778b08 100644 --- a/packages/itmat-interface/package.json +++ b/packages/itmat-interface/package.json @@ -94,6 +94,7 @@ "transform": { "^.+\\.(ts|js)$": "ts-jest" }, + "testTimeout": "60000", "testEnvironment": "/../../test/fixtures/_minioJestEnv" } } \ No newline at end of file diff --git a/packages/itmat-job-executor/package.json b/packages/itmat-job-executor/package.json index 56892c062..fab7fe489 100644 --- a/packages/itmat-job-executor/package.json +++ b/packages/itmat-job-executor/package.json @@ -72,6 +72,7 @@ "transform": { "^.+\\.(ts|js)?$": "ts-jest" }, + "testTimeout": "60000", "transformIgnorePatterns": [] } } \ No newline at end of file From e7cf7c1106065addabd4833e90b371c65555cfa2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 21:44:08 +0000 Subject: [PATCH 134/252] chore(deps): bump nodemailer from 6.9.7 to 6.9.9 Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.9.7 to 6.9.9. - [Release notes](https://github.com/nodemailer/nodemailer/releases) - [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodemailer/nodemailer/compare/v6.9.7...v6.9.9) --- updated-dependencies: - dependency-name: nodemailer dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 94 ++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 84 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index f0a426b65..af6b3aef9 100644 --- a/package.json +++ b/package.json @@ -135,7 +135,7 @@ "jstat": "1.9.6", "minio": "7.1.3", "mongodb": "6.3.0", - "nodemailer": "6.9.7", + "nodemailer": "6.9.9", "passport": "0.7.0", "path-browserify": "1.0.1", "qrcode": "1.5.3", diff --git a/yarn.lock b/yarn.lock index fde2e6f40..a2487d6c6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -519,7 +519,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.6": +"@babel/generator@^7.23.0", "@babel/generator@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== @@ -614,7 +614,7 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.20": +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== @@ -648,7 +648,7 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.23.3": +"@babel/helper-module-transforms@^7.23.0", "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== @@ -680,7 +680,7 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.22.20": +"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.9": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== @@ -710,7 +710,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.23.4": +"@babel/helper-string-parser@^7.22.5", "@babel/helper-string-parser@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== @@ -734,6 +734,15 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" +"@babel/helpers@^7.23.0": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== + dependencies: + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + "@babel/helpers@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" @@ -766,6 +775,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.23.0", "@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + "@babel/parser@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" @@ -1281,7 +1295,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-display-name@^7.23.3": +"@babel/plugin-transform-react-display-name@^7.22.5", "@babel/plugin-transform-react-display-name@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== @@ -1306,7 +1320,7 @@ "@babel/plugin-syntax-jsx" "^7.23.3" "@babel/types" "^7.23.4" -"@babel/plugin-transform-react-pure-annotations@^7.23.3": +"@babel/plugin-transform-react-pure-annotations@^7.22.5", "@babel/plugin-transform-react-pure-annotations@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== @@ -1569,6 +1583,15 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" +"@babel/template@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + "@babel/traverse@^7.16.0", "@babel/traverse@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" @@ -1585,6 +1608,22 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.23.0", "@babel/traverse@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" @@ -1603,6 +1642,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -5969,6 +6017,11 @@ dom-accessibility-api@^0.5.9: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== +dom-align@^1.7.0: + version "1.12.4" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" + integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== + dom-serializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" @@ -9549,10 +9602,10 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== -nodemailer@6.9.7: - version "6.9.7" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.7.tgz#ec2f488f62ba1558e7b19239b62778df4a5c4397" - integrity sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw== +nodemailer@6.9.9: + version "6.9.9" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.9.tgz#4549bfbf710cc6addec5064dd0f19874d24248d9" + integrity sha512-dexTll8zqQoVJEZPwQAKzxxtFn0qTnjdQTchoU6Re9BUUGBJiOy3YMn/0ShTW6J5M0dfQ1NeDeRTTl4oIWgQMA== nopt@^5.0.0: version "5.0.0" @@ -10578,6 +10631,17 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" +rc-align@^4.0.0: + version "4.0.15" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" + integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + rc-util "^5.26.0" + resize-observer-polyfill "^1.5.1" + rc-cascader@~3.20.0: version "3.20.0" resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.20.0.tgz#b270f9d84ed83417ee7309ef5e56e415f1586076" @@ -10917,6 +10981,14 @@ rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2. "@babel/runtime" "^7.18.3" react-is "^18.2.0" +rc-util@^5.26.0, rc-util@^5.33.0: + version "5.38.2" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.2.tgz#240da546b51ee838e616f7a2e3fcf62c753b0330" + integrity sha512-yRGRPKyi84H7NkRSP6FzEIYBdUt4ufdsmXUZ7qM2H5qoByPax70NnGPkfo36N+UKUnUBj2f2Q2eUbwYMuAsIOQ== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: version "3.11.3" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" From a926c6139d8dad24e5e1efca6182af0eb1256294 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Wed, 21 Feb 2024 09:43:32 +0000 Subject: [PATCH 135/252] chore: Update lockfile --- yarn.lock | 26596 ++++++++++++++++++++++++++-------------------------- 1 file changed, 13257 insertions(+), 13339 deletions(-) diff --git a/yarn.lock b/yarn.lock index fde2e6f40..71a7da71a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,13339 +1,13257 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@adobe/css-tools@^4.0.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.1.tgz#abfccb8ca78075a2b6187345c26243c1a0842f28" - integrity sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg== - -"@adobe/css-tools@~4.3.1": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.2.tgz#a6abc715fb6884851fca9dad37fc34739a04fd11" - integrity sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw== - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@ant-design/colors@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.0.tgz#eb7eecead124c3533aea05d61254f0a17f2b61b3" - integrity sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg== - dependencies: - "@ctrl/tinycolor" "^3.4.0" - -"@ant-design/cssinjs@^1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.18.1.tgz#ebb0aa28c751ce2203f149554d4a09b2c09174c0" - integrity sha512-1JURAPrsjK1GwpqByTq3bJ7nF7lbMKDZpehqeR2n8/IR5O58/W1U4VcOeaw5ZyTHri3tEMcom7dyP2tvxpW54g== - dependencies: - "@babel/runtime" "^7.11.1" - "@emotion/hash" "^0.8.0" - "@emotion/unitless" "^0.7.5" - classnames "^2.3.1" - csstype "3.1.2" - rc-util "^5.35.0" - stylis "^4.0.13" - -"@ant-design/icons-svg@^4.3.0": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz#4b2f65a17d4d32b526baa6414aca2117382bf8da" - integrity sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g== - -"@ant-design/icons@5.2.6", "@ant-design/icons@^5.2.6": - version "5.2.6" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.2.6.tgz#2d4a9a37f531eb2a20cebec01d6fb69cf593900d" - integrity sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw== - dependencies: - "@ant-design/colors" "^7.0.0" - "@ant-design/icons-svg" "^4.3.0" - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-util "^5.31.1" - -"@ant-design/plots@1.2.6": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@ant-design/plots/-/plots-1.2.6.tgz#35e541484069249989f92b7d9cdc835ea87191c5" - integrity sha512-fFzB9DxRSPQa47S3WypRk4Rh+P8vBUuY/DT+IXgUrlKJtvVZUFnuYfjypX3Q/Pie2PEbI6gmskzXLxVF+3Ztvw== - dependencies: - "@antv/g2plot" "^2.2.11" - "@antv/util" "^2.0.9" - react-content-loader "^5.0.4" - -"@ant-design/react-slick@~1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz#241bb412aeacf7ff5d50c61fa5db66773fde6b56" - integrity sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ== - dependencies: - "@babel/runtime" "^7.10.4" - classnames "^2.2.5" - json2mq "^0.2.0" - resize-observer-polyfill "^1.5.1" - throttle-debounce "^5.0.0" - -"@antv/adjust@^0.2.1": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@antv/adjust/-/adjust-0.2.5.tgz#bb37bb4a0a87ca3f4b660848bc9ac07f02bcf5db" - integrity sha512-MfWZOkD9CqXRES6MBGRNe27Q577a72EIwyMnE29wIlPliFvJfWwsrONddpGU7lilMpVKecS3WAzOoip3RfPTRQ== - dependencies: - "@antv/util" "~2.0.0" - tslib "^1.10.0" - -"@antv/attr@^0.3.1": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@antv/attr/-/attr-0.3.5.tgz#0708c74fed5ad6ee03ad1e2913099ed8248f7ebf" - integrity sha512-wuj2gUo6C8Q2ASSMrVBuTcb5LcV+Tc0Egiy6bC42D0vxcQ+ta13CLxgMmHz8mjD0FxTPJDXSciyszRSC5TdLsg== - dependencies: - "@antv/color-util" "^2.0.1" - "@antv/scale" "^0.3.0" - "@antv/util" "~2.0.0" - tslib "^2.3.1" - -"@antv/color-util@^2.0.1", "@antv/color-util@^2.0.2", "@antv/color-util@^2.0.3", "@antv/color-util@^2.0.6": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@antv/color-util/-/color-util-2.0.6.tgz#5e129bb9ce3f2b9309b52102b3dc929430ccc016" - integrity sha512-KnPEaAH+XNJMjax9U35W67nzPI+QQ2x27pYlzmSIWrbj4/k8PGrARXfzDTjwoozHJY8qG62Z+Ww6Alhu2FctXQ== - dependencies: - "@antv/util" "^2.0.9" - tslib "^2.0.3" - -"@antv/component@^0.8.27": - version "0.8.35" - resolved "https://registry.yarnpkg.com/@antv/component/-/component-0.8.35.tgz#1d5b8e11bd496cb505e646f505f5f58f0c5173e9" - integrity sha512-VnRa5X77nBPI952o2xePEEMSNZ6g2mcUDrQY8mVL2kino/8TFhqDq5fTRmDXZyWyIYd4ulJTz5zgeSwAnX/INQ== - dependencies: - "@antv/color-util" "^2.0.3" - "@antv/dom-util" "~2.0.1" - "@antv/g-base" "^0.5.9" - "@antv/matrix-util" "^3.1.0-beta.1" - "@antv/path-util" "~2.0.7" - "@antv/scale" "~0.3.1" - "@antv/util" "~2.0.0" - fecha "~4.2.0" - tslib "^2.0.3" - -"@antv/coord@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@antv/coord/-/coord-0.3.1.tgz#982e261d8a1e06a198eb518ea7acc20ed875a019" - integrity sha512-rFE94C8Xzbx4xmZnHh2AnlB3Qm1n5x0VT3OROy257IH6Rm4cuzv1+tZaUBATviwZd99S+rOY9telw/+6C9GbRw== - dependencies: - "@antv/matrix-util" "^3.1.0-beta.2" - "@antv/util" "~2.0.12" - tslib "^2.1.0" - -"@antv/dom-util@^2.0.2", "@antv/dom-util@~2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@antv/dom-util/-/dom-util-2.0.4.tgz#b09b56c56fec42896fc856edad56b595b47ab514" - integrity sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ== - dependencies: - tslib "^2.0.3" - -"@antv/event-emitter@^0.1.1", "@antv/event-emitter@^0.1.2", "@antv/event-emitter@~0.1.0": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz#3e06323b9dcd55a3241ddc7c5458cfabd2095164" - integrity sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg== - -"@antv/g-base@^0.5.11", "@antv/g-base@^0.5.12", "@antv/g-base@^0.5.9", "@antv/g-base@~0.5.6": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@antv/g-base/-/g-base-0.5.15.tgz#4d4174c956ba652a4b55c4f6a2c28aaa92e7738d" - integrity sha512-QOtq50QpnKez9J75/Z8j2yZ7QDQdk8R8mVQJiHtaEO5eI7DM4ZbrsWff/Ew26JYmPWdq7nbRuARMAD4PX9uuLA== - dependencies: - "@antv/event-emitter" "^0.1.1" - "@antv/g-math" "^0.1.9" - "@antv/matrix-util" "^3.1.0-beta.1" - "@antv/path-util" "~2.0.5" - "@antv/util" "~2.0.13" - "@types/d3-timer" "^2.0.0" - d3-ease "^1.0.5" - d3-interpolate "^3.0.1" - d3-timer "^1.0.9" - detect-browser "^5.1.0" - tslib "^2.0.3" - -"@antv/g-canvas@~0.5.10": - version "0.5.14" - resolved "https://registry.yarnpkg.com/@antv/g-canvas/-/g-canvas-0.5.14.tgz#099668cb65d9c89dc2fc1000313c18298dcf8a13" - integrity sha512-IUGLEMIMAUYgaBMT8h3FTmYQYz7sjQkKWwh6Psqx+UPK86fySa+G8fMRrh1EqAL07jVB+GRnn6Ym+3FoFUgeFg== - dependencies: - "@antv/g-base" "^0.5.12" - "@antv/g-math" "^0.1.9" - "@antv/matrix-util" "^3.1.0-beta.1" - "@antv/path-util" "~2.0.5" - "@antv/util" "~2.0.0" - gl-matrix "^3.0.0" - tslib "^2.0.3" - -"@antv/g-math@^0.1.9": - version "0.1.9" - resolved "https://registry.yarnpkg.com/@antv/g-math/-/g-math-0.1.9.tgz#1f981b9aebf5c024f284389aa3e5cba8cefa1f28" - integrity sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ== - dependencies: - "@antv/util" "~2.0.0" - gl-matrix "^3.0.0" - -"@antv/g-svg@~0.5.6": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@antv/g-svg/-/g-svg-0.5.7.tgz#d63db5f8590a5f3ceab097c183ec80ed143f0a50" - integrity sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw== - dependencies: - "@antv/g-base" "^0.5.12" - "@antv/g-math" "^0.1.9" - "@antv/util" "~2.0.0" - detect-browser "^5.0.0" - tslib "^2.0.3" - -"@antv/g2@^4.1.26": - version "4.2.10" - resolved "https://registry.yarnpkg.com/@antv/g2/-/g2-4.2.10.tgz#9448082e7610eb8d16bdf7c97c2ce4f275bafdf9" - integrity sha512-/ZlJ/DFJBCvtEQgE6roxdd6sBml0fZ8ZVfzG+HdjGpA7/ceURb8XkxUcqa0E8NV+e4sFijnaAhBCdUm2whiuyA== - dependencies: - "@antv/adjust" "^0.2.1" - "@antv/attr" "^0.3.1" - "@antv/color-util" "^2.0.2" - "@antv/component" "^0.8.27" - "@antv/coord" "^0.3.0" - "@antv/dom-util" "^2.0.2" - "@antv/event-emitter" "~0.1.0" - "@antv/g-base" "~0.5.6" - "@antv/g-canvas" "~0.5.10" - "@antv/g-svg" "~0.5.6" - "@antv/matrix-util" "^3.1.0-beta.3" - "@antv/path-util" "^2.0.15" - "@antv/scale" "^0.3.14" - "@antv/util" "~2.0.5" - tslib "^2.0.0" - -"@antv/g2plot@^2.2.11": - version "2.4.31" - resolved "https://registry.yarnpkg.com/@antv/g2plot/-/g2plot-2.4.31.tgz#b444aee07d06939949eaa8ba8f8e93f948634aa5" - integrity sha512-SlWHYVsJgRN7E1Oe5Qk6yWBrSWmctmloknFmklaqe9vEeK+YB9ZLUffZvtAHT10mA2NZ+VjGUhlnMNgR9M1PQg== - dependencies: - "@antv/color-util" "^2.0.6" - "@antv/event-emitter" "^0.1.2" - "@antv/g-base" "^0.5.11" - "@antv/g2" "^4.1.26" - "@antv/matrix-util" "^3.1.0-beta.2" - "@antv/path-util" "^3.0.1" - "@antv/scale" "^0.3.18" - "@antv/util" "^2.0.17" - d3-hierarchy "^2.0.0" - d3-regression "^1.3.5" - fmin "^0.0.2" - pdfast "^0.2.0" - size-sensor "^1.0.1" - tslib "^2.0.3" - -"@antv/matrix-util@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.0.4.tgz#ea13f158aa2fb4ba2fb8d6b6b561ec467ea3ac20" - integrity sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ== - dependencies: - "@antv/util" "^2.0.9" - gl-matrix "^3.3.0" - tslib "^2.0.3" - -"@antv/matrix-util@^3.1.0-beta.1", "@antv/matrix-util@^3.1.0-beta.2", "@antv/matrix-util@^3.1.0-beta.3": - version "3.1.0-beta.3" - resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz#e061de8fa7be04605a155c69cc5ce9082eedddee" - integrity sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A== - dependencies: - "@antv/util" "^2.0.9" - gl-matrix "^3.4.3" - tslib "^2.0.3" - -"@antv/path-util@^2.0.15", "@antv/path-util@~2.0.5", "@antv/path-util@~2.0.7": - version "2.0.15" - resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-2.0.15.tgz#a6f691dfc8b7bce5be7f0aabb5bd614964325631" - integrity sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw== - dependencies: - "@antv/matrix-util" "^3.0.4" - "@antv/util" "^2.0.9" - tslib "^2.0.3" - -"@antv/path-util@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-3.0.1.tgz#42fd84222824e8ad8d1bde70f164a05924870d4a" - integrity sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q== - dependencies: - gl-matrix "^3.1.0" - lodash-es "^4.17.21" - tslib "^2.0.3" - -"@antv/scale@^0.3.0", "@antv/scale@^0.3.14", "@antv/scale@^0.3.18", "@antv/scale@~0.3.1": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@antv/scale/-/scale-0.3.18.tgz#b911f431b3e0b9547b6a65f66d0d3fa295b5ef32" - integrity sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w== - dependencies: - "@antv/util" "~2.0.3" - fecha "~4.2.0" - tslib "^2.0.0" - -"@antv/util@^2.0.17", "@antv/util@^2.0.9", "@antv/util@~2.0.0", "@antv/util@~2.0.12", "@antv/util@~2.0.13", "@antv/util@~2.0.3", "@antv/util@~2.0.5": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@antv/util/-/util-2.0.17.tgz#e8ef42aca7892815b229269f3dd10c6b3c7597a9" - integrity sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q== - dependencies: - csstype "^3.0.8" - tslib "^2.0.3" - -"@apollo/cache-control-types@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz#5da62cf64c3b4419dabfef4536b57a40c8ff0b47" - integrity sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g== - -"@apollo/client@3.8.8": - version "3.8.8" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.8.8.tgz#1a004b2e6de4af38668249a7d7790f6a3431e475" - integrity sha512-omjd9ryGDkadZrKW6l5ktUAdS4SNaFOccYQ4ZST0HLW83y8kQaSZOCTNlpkoBUK8cv6qP8+AxOKwLm2ho8qQ+Q== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - "@wry/equality" "^0.5.6" - "@wry/trie" "^0.5.0" - graphql-tag "^2.12.6" - hoist-non-react-statics "^3.3.2" - optimism "^0.18.0" - prop-types "^15.7.2" - response-iterator "^0.2.6" - symbol-observable "^4.0.0" - ts-invariant "^0.10.3" - tslib "^2.3.0" - zen-observable-ts "^1.2.5" - -"@apollo/protobufjs@1.2.7": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" - integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.0" - long "^4.0.0" - -"@apollo/server-gateway-interface@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz#a79632aa921edefcd532589943f6b97c96fa4d3c" - integrity sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ== - dependencies: - "@apollo/usage-reporting-protobuf" "^4.1.1" - "@apollo/utils.fetcher" "^2.0.0" - "@apollo/utils.keyvaluecache" "^2.1.0" - "@apollo/utils.logger" "^2.0.0" - -"@apollo/server@4.9.5": - version "4.9.5" - resolved "https://registry.yarnpkg.com/@apollo/server/-/server-4.9.5.tgz#388b3e00bef370fbdb89dd22d5a56127afaf87ba" - integrity sha512-eDBfArYbZaTm1AGa82M1aL7lOscVhnZsH85+OWmHMIR98qntzEjNpWpQPYDTru63Qxs4kHcY29NUx/kMGZfGEA== - dependencies: - "@apollo/cache-control-types" "^1.0.3" - "@apollo/server-gateway-interface" "^1.1.1" - "@apollo/usage-reporting-protobuf" "^4.1.1" - "@apollo/utils.createhash" "^2.0.0" - "@apollo/utils.fetcher" "^2.0.0" - "@apollo/utils.isnodelike" "^2.0.0" - "@apollo/utils.keyvaluecache" "^2.1.0" - "@apollo/utils.logger" "^2.0.0" - "@apollo/utils.usagereporting" "^2.1.0" - "@apollo/utils.withrequired" "^2.0.0" - "@graphql-tools/schema" "^9.0.0" - "@josephg/resolvable" "^1.0.0" - "@types/express" "^4.17.13" - "@types/express-serve-static-core" "^4.17.30" - "@types/node-fetch" "^2.6.1" - async-retry "^1.2.1" - body-parser "^1.20.0" - cors "^2.8.5" - express "^4.17.1" - loglevel "^1.6.8" - lru-cache "^7.10.1" - negotiator "^0.6.3" - node-abort-controller "^3.1.1" - node-fetch "^2.6.7" - uuid "^9.0.0" - whatwg-mimetype "^3.0.0" - -"@apollo/usage-reporting-protobuf@^4.1.0", "@apollo/usage-reporting-protobuf@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz#407c3d18c7fbed7a264f3b9a3812620b93499de1" - integrity sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA== - dependencies: - "@apollo/protobufjs" "1.2.7" - -"@apollo/utils.createhash@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz#9d982a166833ce08265ff70f8ef781d65109bdaa" - integrity sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg== - dependencies: - "@apollo/utils.isnodelike" "^2.0.1" - sha.js "^2.4.11" - -"@apollo/utils.dropunuseddefinitions@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz#916cd912cbd88769d3b0eab2d24f4674eeda8124" - integrity sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA== - -"@apollo/utils.fetcher@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz#2f6e3edc8ce79fbe916110d9baaddad7e13d955f" - integrity sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A== - -"@apollo/utils.isnodelike@^2.0.0", "@apollo/utils.isnodelike@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz#08a7e50f08d2031122efa25af089d1c6ee609f31" - integrity sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q== - -"@apollo/utils.keyvaluecache@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz#f3f79a2f00520c6ab7a77a680a4e1fec4d19e1a6" - integrity sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw== - dependencies: - "@apollo/utils.logger" "^2.0.1" - lru-cache "^7.14.1" - -"@apollo/utils.logger@^2.0.0", "@apollo/utils.logger@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-2.0.1.tgz#74faeb97d7ad9f22282dfb465bcb2e6873b8a625" - integrity sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg== - -"@apollo/utils.printwithreducedwhitespace@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz#f4fadea0ae849af2c19c339cc5420d1ddfaa905e" - integrity sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg== - -"@apollo/utils.removealiases@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz#2873c93d72d086c60fc0d77e23d0f75e66a2598f" - integrity sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA== - -"@apollo/utils.sortast@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz#58c90bb8bd24726346b61fa51ba7fcf06e922ef7" - integrity sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw== - dependencies: - lodash.sortby "^4.7.0" - -"@apollo/utils.stripsensitiveliterals@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz#2f3350483be376a98229f90185eaf19888323132" - integrity sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA== - -"@apollo/utils.usagereporting@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz#11bca6a61fcbc6e6d812004503b38916e74313f4" - integrity sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ== - dependencies: - "@apollo/usage-reporting-protobuf" "^4.1.0" - "@apollo/utils.dropunuseddefinitions" "^2.0.1" - "@apollo/utils.printwithreducedwhitespace" "^2.0.1" - "@apollo/utils.removealiases" "2.0.1" - "@apollo/utils.sortast" "^2.0.1" - "@apollo/utils.stripsensitiveliterals" "^2.0.1" - -"@apollo/utils.withrequired@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz#e72bc512582a6f26af150439f7eb7473b46ba874" - integrity sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA== - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== - dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" - -"@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.22.6": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== - -"@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.22.9": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.0.tgz#f8259ae0e52a123eb40f552551e647b506a94d83" - integrity sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helpers" "^7.23.0" - "@babel/parser" "^7.23.0" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" - "@babel/types" "^7.23.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.6.tgz#8be77cd77c55baadcc1eae1c33df90ab6d2151d4" - integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.6" - "@babel/parser" "^7.23.6" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.6" - "@babel/types" "^7.23.6" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== - dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/generator@^7.7.2": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== - dependencies: - "@babel/types" "^7.23.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" - integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz#b04d915ce92ce363666f816a884cdcfc9be04953" - integrity sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.4.4": - version "0.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz#64df615451cb30e94b59a9696022cffac9a10088" - integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" - integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.6" - "@babel/types" "^7.23.6" - -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== - -"@babel/parser@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" - integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz#20c60d4639d18f7da8602548512e9d3a4c8d7098" - integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-proposal-decorators@^7.22.7": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.6.tgz#b34e9837c4fb0277c6d571581c76595521cf2db4" - integrity sha512-D7Ccq9LfkBFnow3azZGJvZYgcfeqAw3I1e5LoTpj6UKIFQilh8yqXsIGcRIqbBdsPWIz+Ze7ZZfggSj62Qp+Fg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/plugin-syntax-decorators" "^7.23.3" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca" - integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" - integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.3.3", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-async-generator-functions@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz#93ac8e3531f347fba519b4703f9ff2a75c6ae27a" - integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-to-generator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-block-scoped-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" - integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-static-block@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" - integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz#e7a75f815e0c534cc4c9a39c56636c84fc0d64f2" - integrity sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" - -"@babel/plugin-transform-destructuring@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dotall-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dynamic-import@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" - integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-export-namespace-from@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" - integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== - dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-json-strings@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" - integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-logical-assignment-operators@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" - integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" - integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" - integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-transform-numeric-separator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" - integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-object-rest-spread@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" - integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== - dependencies: - "@babel/compat-data" "^7.23.3" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.23.3" - -"@babel/plugin-transform-object-super@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - -"@babel/plugin-transform-optional-catch-binding@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" - integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-methods@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" - integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-property-in-object@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" - integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz#5efc001d07ef0f7da0d73c3a86c132f73d28e43c" - integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-display-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" - integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" - -"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" - -"@babel/plugin-transform-react-pure-annotations@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" - integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-regenerator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-runtime@^7.22.9": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.6.tgz#bf853cd0a675c16ee33e6ba2a63b536e75e5d754" - integrity sha512-kF1Zg62aPseQ11orDhFRw+aPG/eynNQtI+TyY+m33qJa2cJ5EEvza2P2BNTIA9E5MyqFABHEyY6CPHwgdy9aNg== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.6" - babel-plugin-polyfill-corejs3 "^0.8.5" - babel-plugin-polyfill-regenerator "^0.5.3" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-spread@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-template-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typescript@^7.23.3": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" - integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.23.3" - -"@babel/plugin-transform-unicode-escapes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-property-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" - integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-sets-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" - integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.6.tgz#ad0ea799d5a3c07db5b9a172819bbd444092187a" - integrity sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.23.3" - "@babel/plugin-syntax-import-attributes" "^7.23.3" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.4" - "@babel/plugin-transform-async-to-generator" "^7.23.3" - "@babel/plugin-transform-block-scoped-functions" "^7.23.3" - "@babel/plugin-transform-block-scoping" "^7.23.4" - "@babel/plugin-transform-class-properties" "^7.23.3" - "@babel/plugin-transform-class-static-block" "^7.23.4" - "@babel/plugin-transform-classes" "^7.23.5" - "@babel/plugin-transform-computed-properties" "^7.23.3" - "@babel/plugin-transform-destructuring" "^7.23.3" - "@babel/plugin-transform-dotall-regex" "^7.23.3" - "@babel/plugin-transform-duplicate-keys" "^7.23.3" - "@babel/plugin-transform-dynamic-import" "^7.23.4" - "@babel/plugin-transform-exponentiation-operator" "^7.23.3" - "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.6" - "@babel/plugin-transform-function-name" "^7.23.3" - "@babel/plugin-transform-json-strings" "^7.23.4" - "@babel/plugin-transform-literals" "^7.23.3" - "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" - "@babel/plugin-transform-member-expression-literals" "^7.23.3" - "@babel/plugin-transform-modules-amd" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.3" - "@babel/plugin-transform-modules-umd" "^7.23.3" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" - "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.23.4" - "@babel/plugin-transform-object-super" "^7.23.3" - "@babel/plugin-transform-optional-catch-binding" "^7.23.4" - "@babel/plugin-transform-optional-chaining" "^7.23.4" - "@babel/plugin-transform-parameters" "^7.23.3" - "@babel/plugin-transform-private-methods" "^7.23.3" - "@babel/plugin-transform-private-property-in-object" "^7.23.4" - "@babel/plugin-transform-property-literals" "^7.23.3" - "@babel/plugin-transform-regenerator" "^7.23.3" - "@babel/plugin-transform-reserved-words" "^7.23.3" - "@babel/plugin-transform-shorthand-properties" "^7.23.3" - "@babel/plugin-transform-spread" "^7.23.3" - "@babel/plugin-transform-sticky-regex" "^7.23.3" - "@babel/plugin-transform-template-literals" "^7.23.3" - "@babel/plugin-transform-typeof-symbol" "^7.23.3" - "@babel/plugin-transform-unicode-escapes" "^7.23.3" - "@babel/plugin-transform-unicode-property-regex" "^7.23.3" - "@babel/plugin-transform-unicode-regex" "^7.23.3" - "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.6" - babel-plugin-polyfill-corejs3 "^0.8.5" - babel-plugin-polyfill-regenerator "^0.5.3" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.18.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.15.tgz#9a776892b648e13cc8ca2edf5ed1264eea6b6afc" - integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.22.5" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.22.5" - -"@babel/preset-react@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" - integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.23.3" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.23.3" - -"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d" - integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.3.3": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/traverse@^7.16.0", "@babel/traverse@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" - integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.6" - "@babel/types" "^7.23.6" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.23.4", "@babel/types@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" - integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@ctrl/tinycolor@^3.4.0", "@ctrl/tinycolor@^3.6.0", "@ctrl/tinycolor@^3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" - integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== - -"@cypress/request@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" - integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - http-signature "~1.3.6" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - performance-now "^2.1.0" - qs "6.10.4" - safe-buffer "^5.1.2" - tough-cookie "^4.1.3" - tunnel-agent "^0.6.0" - uuid "^8.3.2" - -"@cypress/xvfb@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" - integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== - dependencies: - debug "^3.1.0" - lodash.once "^4.1.1" - -"@emotion/hash@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== - -"@emotion/unitless@^0.7.5": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== - -"@esbuild/aix-ppc64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz#fb3922a0183d27446de00cf60d4f7baaadf98d84" - integrity sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q== - -"@esbuild/android-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz#ef31015416dd79398082409b77aaaa2ade4d531a" - integrity sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q== - -"@esbuild/android-arm@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.10.tgz#1c23c7e75473aae9fb323be5d9db225142f47f52" - integrity sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w== - -"@esbuild/android-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.10.tgz#df6a4e6d6eb8da5595cfce16d4e3f6bc24464707" - integrity sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw== - -"@esbuild/darwin-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz#8462a55db07c1b2fad61c8244ce04469ef1043be" - integrity sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA== - -"@esbuild/darwin-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz#d1de20bfd41bb75b955ba86a6b1004539e8218c1" - integrity sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA== - -"@esbuild/freebsd-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz#16904879e34c53a2e039d1284695d2db3e664d57" - integrity sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg== - -"@esbuild/freebsd-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz#8ad9e5ca9786ca3f1ef1411bfd10b08dcd9d4cef" - integrity sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag== - -"@esbuild/linux-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz#d82cf2c590faece82d28bbf1cfbe36f22ae25bd2" - integrity sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ== - -"@esbuild/linux-arm@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz#477b8e7c7bcd34369717b04dd9ee6972c84f4029" - integrity sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg== - -"@esbuild/linux-ia32@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz#d55ff822cf5b0252a57112f86857ff23be6cab0e" - integrity sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg== - -"@esbuild/linux-loong64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz#a9ad057d7e48d6c9f62ff50f6f208e331c4543c7" - integrity sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA== - -"@esbuild/linux-mips64el@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz#b011a96924773d60ebab396fbd7a08de66668179" - integrity sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A== - -"@esbuild/linux-ppc64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz#5d8b59929c029811e473f2544790ea11d588d4dd" - integrity sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ== - -"@esbuild/linux-riscv64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz#292b06978375b271bd8bc0a554e0822957508d22" - integrity sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA== - -"@esbuild/linux-s390x@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz#d30af63530f8d4fa96930374c9dd0d62bf59e069" - integrity sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA== - -"@esbuild/linux-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz#898c72eeb74d9f2fb43acf316125b475548b75ce" - integrity sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA== - -"@esbuild/netbsd-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz#fd473a5ae261b43eab6dad4dbd5a3155906e6c91" - integrity sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q== - -"@esbuild/openbsd-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz#96eb8992e526717b5272321eaad3e21f3a608e46" - integrity sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg== - -"@esbuild/sunos-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz#c16ee1c167f903eaaa6acf7372bee42d5a89c9bc" - integrity sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA== - -"@esbuild/win32-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz#7e417d1971dbc7e469b4eceb6a5d1d667b5e3dcc" - integrity sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw== - -"@esbuild/win32-ia32@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz#2b52dfec6cd061ecb36171c13bae554888b439e5" - integrity sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ== - -"@esbuild/win32-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz#bd123a74f243d2f3a1f046447bb9b363ee25d072" - integrity sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.2": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.48.0": - version "8.48.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.48.0.tgz#642633964e217905436033a2bd08bf322849b7fb" - integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw== - -"@graphql-tools/merge@^8.4.1": - version "8.4.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.2.tgz#95778bbe26b635e8d2f60ce9856b388f11fe8288" - integrity sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw== - dependencies: - "@graphql-tools/utils" "^9.2.1" - tslib "^2.4.0" - -"@graphql-tools/schema@^9.0.0": - version "9.0.19" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.19.tgz#c4ad373b5e1b8a0cf365163435b7d236ebdd06e7" - integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== - dependencies: - "@graphql-tools/merge" "^8.4.1" - "@graphql-tools/utils" "^9.2.1" - tslib "^2.4.0" - value-or-promise "^1.0.12" - -"@graphql-tools/utils@^9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" - integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - tslib "^2.4.0" - -"@graphql-typed-document-node/core@^3.1.1": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" - integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== - -"@humanwhocodes/config-array@^0.11.10": - version "0.11.13" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" - integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== - dependencies: - "@humanwhocodes/object-schema" "^2.0.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" - integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== - -"@ideafast/idgen@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@ideafast/idgen/-/idgen-0.1.1.tgz#966ad2d74238a77881cfa427a8c3e9225ee0c24f" - integrity sha512-1kaaUD9LXRYnUqK2yJnwMXon2F3vqKzViAbEZQTeYAghLB60EEIbC4JXoi+KbKKxYNHNB03MGWUR5y3Ec+yEgA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/create-cache-key-function@^27.4.2", "@jest/create-cache-key-function@^29": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" - integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== - dependencies: - "@jest/types" "^29.6.3" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29", "@jest/reporters@^29.4.1", "@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29", "@jest/test-result@^29.4.1", "@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@josephg/resolvable@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" - integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.20" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" - integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== - -"@ljharb/resumer@~0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@ljharb/resumer/-/resumer-0.0.1.tgz#8a940a9192dd31f6a1df17564bbd26dc6ad3e68d" - integrity sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw== - dependencies: - "@ljharb/through" "^2.3.9" - -"@ljharb/through@^2.3.9", "@ljharb/through@~2.3.9": - version "2.3.11" - resolved "https://registry.yarnpkg.com/@ljharb/through/-/through-2.3.11.tgz#783600ff12c06f21a76cc26e33abd0b1595092f9" - integrity sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w== - dependencies: - call-bind "^1.0.2" - -"@mapbox/node-pre-gyp@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" - integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== - dependencies: - detect-libc "^2.0.0" - https-proxy-agent "^5.0.0" - make-dir "^3.1.0" - node-fetch "^2.6.7" - nopt "^5.0.0" - npmlog "^5.0.1" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.11" - -"@mole-inc/bin-wrapper@^8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz#d7fd0ceb1cfa8a855293a3ed9d7d135f4d442f0e" - integrity sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA== - dependencies: - bin-check "^4.1.0" - bin-version-check "^5.0.0" - content-disposition "^0.5.4" - ext-name "^5.0.0" - file-type "^17.1.6" - filenamify "^5.0.2" - got "^11.8.5" - os-filter-obj "^2.0.0" - -"@mongodb-js/saslprep@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz#9a6c2516bc9188672c4d953ec99760ba49970da7" - integrity sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ== - dependencies: - sparse-bitfield "^3.0.3" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nrwl/cypress@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-17.2.7.tgz#5cdd37f52c48f823f358b571afc9040353884241" - integrity sha512-Av89Er9r0kMf8YL9dNSTkHohYhAKYmxAB3Q8eVv8NmSb7FZXvY065HIoFby+6VtQnBFP+sT1YSQL/Tp+h4Bwfw== - dependencies: - "@nx/cypress" "17.2.7" - -"@nrwl/devkit@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-17.2.7.tgz#20c5fd8e0a2813940fdfb34523d4d77788b524ff" - integrity sha512-TISLlIH3xSWre2NLg0aMUBmTvMus+xUicaMeg8DWvwSXJJIMC5QFlB1hjw0VkyLsSraHpd5PWtyDqldHWRfKUQ== - dependencies: - "@nx/devkit" "17.2.7" - -"@nrwl/esbuild@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-17.2.7.tgz#9c75df8777d386c9d836d880ef17734ea8ee78fe" - integrity sha512-CnCfojDRK921ABuonfVAdBQ1Bc5q/kVXBstQfnTEgcaMjWPCt/zowUnYk+llL+WkKXu33UQYLId/gskzUKzGRw== - dependencies: - "@nx/esbuild" "17.2.7" - -"@nrwl/eslint-plugin-nx@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-17.2.7.tgz#5762b3dce6acb806c8c95bfa0610e79a0e74ecc7" - integrity sha512-YGH3FL4Dz+a9r2xmZx/SMUFOUl/An6IsZeTqkG5gC+ErejX9nT1KWOXMNh5bkl+jz0b4NvkiVvgQw+W4q2K9sg== - dependencies: - "@nx/eslint-plugin" "17.2.7" - -"@nrwl/express@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-17.2.7.tgz#f6aad9ae111bf8e3fc768474c6a0e9b398e1fbbb" - integrity sha512-q6QXzXKTETe+neW1+D6nNzcUP20nyOINXiG2H4cI6MHckmn6P2UFe7cLThRU1d+upCL3ftqsnpqEdxCVRZEWwQ== - dependencies: - "@nx/express" "17.2.7" - -"@nrwl/jest@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-17.2.7.tgz#acd89e1cd3d99ae75431c60216b4e7b1d9bb35e6" - integrity sha512-jYeBQbS9iaybLxmxFv6N9qftRHyRpG3YlDxiHXXmWPX0OrgDjNSY3QCCReM8iqADk2TaxoIw1WDKp4tKzft2xA== - dependencies: - "@nx/jest" "17.2.7" - -"@nrwl/js@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-17.2.7.tgz#b791009476584ae0a6665a5e6fafccbe7fe6b29f" - integrity sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ== - dependencies: - "@nx/js" "17.2.7" - -"@nrwl/node@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-17.2.7.tgz#a68616fdfdb67a7227a70c1841c6b6f5a3f9ef2b" - integrity sha512-tWc9tFnQ2ue0Wv2NcMV3fJD1Kqh/vHeV/81ppeLtoYa5GBXViRJPdUinGlez0qiYegEdUbieWjDp255GIEifTw== - dependencies: - "@nx/node" "17.2.7" - -"@nrwl/react@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-17.2.7.tgz#c6a793fe4ba2a0e3154c50504fb4b79f719111fe" - integrity sha512-vRlJWdiPeAgkKe7XUWPceh+vocGfL8CJFmsK2mRy5BWr5rVEJ9l30c9mP7LMxukgi2NPgh1hURvCaZrlErEJ9A== - dependencies: - "@nx/react" "17.2.7" - -"@nrwl/tao@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-17.2.7.tgz#a4df2089559bce0af66fbe785324c1f8abe752ec" - integrity sha512-06YYR1Ndb+nAJaQuvi2J3bX7i2dStQvDHkT+qprUXKxOrggFcPcs+7e2LwNWKDGdCu4r0qFHPlamj7y5d6qM2Q== - dependencies: - nx "17.2.7" - tslib "^2.3.0" - -"@nrwl/web@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-17.2.7.tgz#82a3b8e053edbb2be1ec99f6d5e03a854069b9e5" - integrity sha512-ZlGkmth0qqqQ0WyV6JhdNswSbgOEiDR0G8XJXeoHkDFeThlaU20JyMrqTGNDpQ04d9EpvItvv+bAueg/BLASOw== - dependencies: - "@nx/web" "17.2.7" - -"@nrwl/webpack@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-17.2.7.tgz#9afa4a12d440515cdbec8555aceba8df1644dce1" - integrity sha512-Ornp2N/cdUNnht0ojjQrtE3ko+JpvAvWvStdZCVfXULMzy96CpGjPzRBkrX+iNee1GYEJXiHFUZhA+n6NlKB3A== - dependencies: - "@nx/webpack" "17.2.7" - -"@nrwl/workspace@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-17.2.7.tgz#7494d6774e45b1b9f2bf57b2fafa33ad3cd2c2db" - integrity sha512-qYb2iLliBfS4IwS1aGqeXgyFzdEcXvu+4jxZpROTcg4THJLYni3XhI/Y8gfi4OVzzCadKILMxiOukZKjjIDPlA== - dependencies: - "@nx/workspace" "17.2.7" - -"@nx/cypress@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-17.2.7.tgz#ccbc2c960e428936e4bbfc7cc9d37470028f5c58" - integrity sha512-MwzaWrIsMxjRPg5DQSBFNM+dNGru0jNjqGyMNlhAM0LPMB34I2bw5Sl6zE6GY2hm05oiFb5AbiSvc1M3ptfzmw== - dependencies: - "@nrwl/cypress" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/eslint" "17.2.7" - "@nx/js" "17.2.7" - "@phenomnomnominal/tsquery" "~5.0.1" - detect-port "^1.5.1" - semver "7.5.3" - tslib "^2.3.0" - -"@nx/devkit@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-17.2.7.tgz#aa5d2352a963a613e415b1d3167a5b87937b6fcb" - integrity sha512-RyJyFO5PkNhMrebpv93Bci6pRkrw6guyfX7Esl/5+O6UfN0ytnmaRIrbiVwftTQ6m/T08OWrJQHZMuByP0WWHQ== - dependencies: - "@nrwl/devkit" "17.2.7" - ejs "^3.1.7" - enquirer "~2.3.6" - ignore "^5.0.4" - semver "7.5.3" - tmp "~0.2.1" - tslib "^2.3.0" - -"@nx/esbuild@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-17.2.7.tgz#ea712e4d852eb0526780d51f93845f442d1bc444" - integrity sha512-Hq435xcv2hrCdbmybRKvVhrWaayfq1+tIFnMtPQZ3B/jKIjFpoWHAhdOUraGoqFrKsIkF9c40tsl6g0T5MCgbg== - dependencies: - "@nrwl/esbuild" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" - chalk "^4.1.0" - fast-glob "3.2.7" - fs-extra "^11.1.0" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - -"@nx/eslint-plugin@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-17.2.7.tgz#749938e202b546efb9ae23df79ec2c065b8e7f88" - integrity sha512-emKsCaWDOPekCJvuE6QE6CHwSR4RKULdOHotnSaE3J65cgair9djsR8SNUELsqpTSfEmtfB53Z0oZYw4zdeiFQ== - dependencies: - "@nrwl/eslint-plugin-nx" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" - "@typescript-eslint/type-utils" "^6.9.1" - "@typescript-eslint/utils" "^6.9.1" - chalk "^4.1.0" - confusing-browser-globals "^1.0.9" - jsonc-eslint-parser "^2.1.0" - semver "7.5.3" - tslib "^2.3.0" - -"@nx/eslint@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-17.2.7.tgz#26a4ea6f074d1442e6868dc46b2366166c1a83b9" - integrity sha512-A/+J9rcb9FUwGpEc5yFjFWcoF36PfXc6twOGLceFwj+oOG65h7kUnpuJgWK8gTIh911lij3TdmE6MiqSXPu3tQ== - dependencies: - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" - "@nx/linter" "17.2.7" - tslib "^2.3.0" - typescript "~5.2.2" - -"@nx/express@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/express/-/express-17.2.7.tgz#b3dcccbf477f4ccc2d72b9119e7d60c330f15867" - integrity sha512-mKnTv0X+FmkC3l0Ufpj4wGdX2NLOwjnj0OQ92WfcT28N1RbH99otPCor0CziXM7fRyToSshCR61DAHKr9yYDuA== - dependencies: - "@nrwl/express" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/node" "17.2.7" - tslib "^2.3.0" - -"@nx/jest@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-17.2.7.tgz#2d24fc70ac093e01f233aadf594ad36d4f5860f0" - integrity sha512-lfUBZ1eCdO2ML2AdPiuXkMcQvuHaevYHB4wrRoUEQp/jui8m8ZQtIaihEy+8nmnSQTSGpCxlILRLpaNQ8gqCoQ== - dependencies: - "@jest/reporters" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@nrwl/jest" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" - "@phenomnomnominal/tsquery" "~5.0.1" - chalk "^4.1.0" - identity-obj-proxy "3.0.0" - jest-config "^29.4.1" - jest-resolve "^29.4.1" - jest-util "^29.4.1" - resolve.exports "1.1.0" - tslib "^2.3.0" - -"@nx/js@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-17.2.7.tgz#f2f14bdcf5cd96e23dd2689641d8ce42e9c0b187" - integrity sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g== - dependencies: - "@babel/core" "^7.22.9" - "@babel/plugin-proposal-decorators" "^7.22.7" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-runtime" "^7.22.9" - "@babel/preset-env" "^7.22.9" - "@babel/preset-typescript" "^7.22.5" - "@babel/runtime" "^7.22.6" - "@nrwl/js" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/workspace" "17.2.7" - "@phenomnomnominal/tsquery" "~5.0.1" - babel-plugin-const-enum "^1.0.1" - babel-plugin-macros "^2.8.0" - babel-plugin-transform-typescript-metadata "^0.3.1" - chalk "^4.1.0" - columnify "^1.6.0" - detect-port "^1.5.1" - fast-glob "3.2.7" - fs-extra "^11.1.0" - ignore "^5.0.4" - js-tokens "^4.0.0" - minimatch "3.0.5" - npm-package-arg "11.0.1" - npm-run-path "^4.0.1" - ora "5.3.0" - semver "7.5.3" - source-map-support "0.5.19" - ts-node "10.9.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - -"@nx/linter@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-17.2.7.tgz#38364de5966bd8637ca830808c00fc8b7ab8406d" - integrity sha512-t85R1r+fiEV8wwU6mAD9kKq+YqAxwzBDp3Dx42cX5uokp2jsUKcTHYsibTJ7SVgViJicDLoVDonlJc8SxA0cfQ== - dependencies: - "@nx/eslint" "17.2.7" - -"@nx/node@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/node/-/node-17.2.7.tgz#930897cdef951ce83ba698617fa6dc83750c9668" - integrity sha512-u3mChRmUliQENH4wBYNfqx/0Cfzj6PB9Eaj7lvOwwdquLgUgGgkFXFfYTLjHuIClYhyn2ATR84LZ+NLMaLCvdA== - dependencies: - "@nrwl/node" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/eslint" "17.2.7" - "@nx/jest" "17.2.7" - "@nx/js" "17.2.7" - tslib "^2.3.0" - -"@nx/nx-darwin-arm64@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.2.7.tgz#8399b96591757367c45b5c8ee5725dcbe60007e2" - integrity sha512-d534L13VUlnSW61rabBl3TTuSpzHxtqy8eF5vsYkFSMonBDjqqNR6+vFfQEa7PW/3Qfeuw4MpmojtamCYLd/TA== - -"@nx/nx-darwin-x64@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-17.2.7.tgz#1b9cf367cfa035f1443ac0e78f8e60968ab4775f" - integrity sha512-K1pHWiSiYTJqk//ZJylvuQcNZR9HUKvOxuh2540+6X9ThQ7kzkC1abXJ4c9wwH3fYDwL29m7glh3AueJvyaXJA== - -"@nx/nx-freebsd-x64@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.2.7.tgz#731e7f8f311e6fdf50b8a8b2b060b322a9e92ad4" - integrity sha512-VyouszZjV7Ew4qNrNfG8JApm7/UcreRuC+W/YZ2ORGzM0KUnB/D4rXGmeTp1Ff+L5WUhoomwEnaBkbgqu+2wjA== - -"@nx/nx-linux-arm-gnueabihf@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.2.7.tgz#a1db4a4898e0bb1e77bdf8dbf0959ca9d073dc23" - integrity sha512-YfwW8NYi33Li1Q7BDUusNlfpJNWfXOnHt6JKvQGc8fy8StmWq13zNnU0IxPQyqCDK5Ymx95IoctFrMLpeXPAwQ== - -"@nx/nx-linux-arm64-gnu@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.2.7.tgz#7abd71cc615f4ec93fabc31ad410bd7d8eb9e668" - integrity sha512-oJyEf2q+5jj6ci6WEXvRUoU2Sj0Mo+J/0NwtPY6sRIhqgPwpmxc6Pja4zmB16iQ5ap48zstB9glfJ6qtr3iU0Q== - -"@nx/nx-linux-arm64-musl@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.2.7.tgz#938ed7504ad1d0f305304250a71b8cf18bc10533" - integrity sha512-IzsCJgJCM61THBMDghz+EY5aCeO7wBWOWq2sTDek1ve67qZtu/E/Z5qBp93JRAvNYgQT7KbC40WhaXuE/NpWEA== - -"@nx/nx-linux-x64-gnu@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.2.7.tgz#8a39bfdfc990a2fb4f1679f68195e8cea97d8c99" - integrity sha512-CCY3o9zs9ypsT40GyRGQMfl63Wy3Spu21ULcteoLTI2/py601XIdhv6zclzBqeYIWPVxMoGGlIq10m2rdEeAOA== - -"@nx/nx-linux-x64-musl@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.2.7.tgz#0dac2eff58d11524192b2a8a36d70d7c2547e39e" - integrity sha512-hBzrXpoDg1OJBl/Ja5nU3oYTBk/FW6J+jTJM1zmXJOJ8Z7NR26I783qlVLQFDYkMynwGBE3kI4a7L87p633BRw== - -"@nx/nx-win32-arm64-msvc@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.2.7.tgz#f004b2fa0fe1af256c60ddfd90fe28348f1ed4e3" - integrity sha512-imLrVpeBXQwcYDUujBZRE9YG9lqM7F8Qw51JxmCxG2twijlVeofGWw0uVHM16t95cuizt/Ho+bTfNukV7Oza3g== - -"@nx/nx-win32-x64-msvc@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.2.7.tgz#5af5b3e6fe41f432831e809ba7efc02826af8ebe" - integrity sha512-MBQxvEE1sz47prRCid+axKwb6zqcbR4XBKj+l9V5NA7/0Rw5PHjrEfWv5Lr5TckYAdIZ1PVgPHlril6hX89evw== - -"@nx/react@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/react/-/react-17.2.7.tgz#84f972ae1b2e8debc2b33100edce065e1b58858c" - integrity sha512-c+63PC0bxUmSmRgix90gpdwIwHaeQ6gyS9L1lpVouzLrqxUK4pnJkC9LzQNRc3thXSheFDYmAvXuSe2Y1WN0HA== - dependencies: - "@nrwl/react" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/eslint" "17.2.7" - "@nx/js" "17.2.7" - "@nx/web" "17.2.7" - "@phenomnomnominal/tsquery" "~5.0.1" - "@svgr/webpack" "^8.0.1" - chalk "^4.1.0" - file-loader "^6.2.0" - minimatch "3.0.5" - tslib "^2.3.0" - -"@nx/web@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/web/-/web-17.2.7.tgz#d571950ecc4c261879a4fa0430477ebb942ecfe9" - integrity sha512-UhLD84jCLNwY/dC32v3Q5gAkBuj1p6a0h1ihcXqZdMUYbV6sjJhDAnjnfHyPJWgjaoI5t6VNSTJOaMZM9EMfzg== - dependencies: - "@nrwl/web" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" - chalk "^4.1.0" - detect-port "^1.5.1" - http-server "^14.1.0" - tslib "^2.3.0" - -"@nx/webpack@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-17.2.7.tgz#5c849942616c8f0ff60edbcc47b55b5bd65e051e" - integrity sha512-OUxUNxgzEyrn36V4+1T3oQNKyukJphgb+DBNc6NWA9dEWf3U48KdfJuALeKoRZ5J+/lS95L8b/2ygSyu0EdpLw== - dependencies: - "@babel/core" "^7.22.9" - "@nrwl/webpack" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" - autoprefixer "^10.4.9" - babel-loader "^9.1.2" - browserslist "^4.21.4" - chalk "^4.1.0" - copy-webpack-plugin "^10.2.4" - css-loader "^6.4.0" - css-minimizer-webpack-plugin "^5.0.0" - fork-ts-checker-webpack-plugin "7.2.13" - less "4.1.3" - less-loader "11.1.0" - license-webpack-plugin "^4.0.2" - loader-utils "^2.0.3" - mini-css-extract-plugin "~2.4.7" - parse5 "4.0.0" - postcss "^8.4.14" - postcss-import "~14.1.0" - postcss-loader "^6.1.1" - rxjs "^7.8.0" - sass "^1.42.1" - sass-loader "^12.2.0" - source-map-loader "^3.0.0" - style-loader "^3.3.0" - stylus "^0.59.0" - stylus-loader "^7.1.0" - terser-webpack-plugin "^5.3.3" - ts-loader "^9.3.1" - tsconfig-paths-webpack-plugin "4.0.0" - tslib "^2.3.0" - webpack "^5.80.0" - webpack-dev-server "^4.9.3" - webpack-node-externals "^3.0.0" - webpack-subresource-integrity "^5.1.0" - -"@nx/workspace@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-17.2.7.tgz#1c930feceb3ca20750124afc03ea71b5fee7de9e" - integrity sha512-/4xrFEc6Hjl9KaB+e/RSaQ/6vHWGP1MmhdX+TRvdjNIMbZ6kdDixBjusJ6WoHXm3KhP95cSt2xmwCQNUzVn+vw== - dependencies: - "@nrwl/workspace" "17.2.7" - "@nx/devkit" "17.2.7" - chalk "^4.1.0" - enquirer "~2.3.6" - nx "17.2.7" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@phenomnomnominal/tsquery@~5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz#a2a5abc89f92c01562a32806655817516653a388" - integrity sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA== - dependencies: - esquery "^1.4.0" - -"@pmmmwh/react-refresh-webpack-plugin@^0.5.11": - version "0.5.11" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a" - integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== - dependencies: - ansi-html-community "^0.0.8" - common-path-prefix "^3.0.0" - core-js-pure "^3.23.3" - error-stack-parser "^2.0.6" - find-up "^5.0.0" - html-entities "^2.1.0" - loader-utils "^2.0.4" - schema-utils "^3.0.0" - source-map "^0.7.3" - -"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== - -"@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== - -"@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== - -"@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== - -"@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== - dependencies: - "@protobufjs/aspromise" "^1.1.1" - "@protobufjs/inquire" "^1.1.0" - -"@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== - -"@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== - -"@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== - -"@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== - -"@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== - -"@rc-component/color-picker@~1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.4.1.tgz#dcab0b660e9c4ed63a7582db68ed4a77c862cb93" - integrity sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw== - dependencies: - "@babel/runtime" "^7.10.1" - "@ctrl/tinycolor" "^3.6.0" - classnames "^2.2.6" - rc-util "^5.30.0" - -"@rc-component/context@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@rc-component/context/-/context-1.4.0.tgz#dc6fb021d6773546af8f016ae4ce9aea088395e8" - integrity sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w== - dependencies: - "@babel/runtime" "^7.10.1" - rc-util "^5.27.0" - -"@rc-component/mini-decimal@^1.0.1": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz#7b7a362b14a0a54cb5bc6fd2b82731f29f11d9b0" - integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ== - dependencies: - "@babel/runtime" "^7.18.0" - -"@rc-component/mutate-observer@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz#ee53cc88b78aade3cd0653609215a44779386fd8" - integrity sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0", "@rc-component/portal@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" - integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/tour@~1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.11.1.tgz#bb47af908fb6fcaf395402901a1fb505ef8fb1e6" - integrity sha512-c9Lw3/oVinj5D64Rsp8aDLOXcgdViE+hq7bj0Qoo8fTuQEh9sSpUw5OZcum943JkjeIE4hLcc5FD4a5ANtMJ4w== - dependencies: - "@babel/runtime" "^7.18.0" - "@rc-component/portal" "^1.0.0-9" - "@rc-component/trigger" "^1.3.6" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/trigger@^1.17.0", "@rc-component/trigger@^1.18.0", "@rc-component/trigger@^1.18.2": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.2.tgz#dc52c4c66fa8aaccaf0710498f2429fc05454e3b" - integrity sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA== - dependencies: - "@babel/runtime" "^7.23.2" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.38.0" - -"@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0": - version "1.17.0" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.17.0.tgz#4d9522ae3ceb482dc4c35cbb1f84021bd94d7414" - integrity sha512-KN+lKHCi7L4kjuA9DU2PnwZxtIyes6R1wsexp0/Rnjr/ITELsPuC9kpzDK1+7AZMarDXUAHUdDGS2zUNEx2P0g== - dependencies: - "@babel/runtime" "^7.18.3" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-align "^4.0.0" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.33.0" - -"@remix-run/router@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.14.1.tgz#6d2dd03d52e604279c38911afc1079d58c50a755" - integrity sha512-Qg4DMQsfPNAs88rb2xkdk03N3bjK4jgX5fR24eHCTR9q6PrhZQZ4UJBPzCHJkIpTRN1UKxx2DzjZmnC+7Lj0Ow== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/is@^4.0.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@sinonjs/commons@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" - integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - -"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== - -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== - -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== - -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== - -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== - -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" - -"@svgr/core@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" - integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - camelcase "^6.2.0" - cosmiconfig "^8.1.3" - snake-case "^3.0.4" - -"@svgr/hast-util-to-babel-ast@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" - integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== - dependencies: - "@babel/types" "^7.21.3" - entities "^4.4.0" - -"@svgr/plugin-jsx@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" - integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - "@svgr/hast-util-to-babel-ast" "8.0.0" - svg-parser "^2.0.4" - -"@svgr/plugin-svgo@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" - integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== - dependencies: - cosmiconfig "^8.1.3" - deepmerge "^4.3.1" - svgo "^3.0.2" - -"@svgr/webpack@8.1.0", "@svgr/webpack@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" - integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== - dependencies: - "@babel/core" "^7.21.3" - "@babel/plugin-transform-react-constant-elements" "^7.21.3" - "@babel/preset-env" "^7.20.2" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.21.0" - "@svgr/core" "8.1.0" - "@svgr/plugin-jsx" "8.1.0" - "@svgr/plugin-svgo" "8.1.0" - -"@swc/cli@0.1.63": - version "0.1.63" - resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.1.63.tgz#b4ab850f8c285d06d593428b14ffa3df782adcbb" - integrity sha512-EM9oxxHzmmsprYRbGqsS2M4M/Gr5Gkcl0ROYYIdlUyTkhOiX822EQiRCpPCwdutdnzH2GyaTN7wc6i0Y+CKd3A== - dependencies: - "@mole-inc/bin-wrapper" "^8.0.1" - commander "^7.1.0" - fast-glob "^3.2.5" - semver "^7.3.8" - slash "3.0.0" - source-map "^0.7.3" - -"@swc/core-darwin-arm64@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.101.tgz#9ffdc0e77c31b20877fa7405c82905e0c76738d0" - integrity sha512-mNFK+uHNPRXSnfTOG34zJOeMl2waM4hF4a2NY7dkMXrPqw9CoJn4MwTXJcyMiSz1/BnNjjTCHF3Yhj0jPxmkzQ== - -"@swc/core-darwin-x64@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.101.tgz#e50130e21e3cfd3029fd6cea43e8309b58ad9fa6" - integrity sha512-B085j8XOx73Fg15KsHvzYWG262bRweGr3JooO1aW5ec5pYbz5Ew9VS5JKYS03w2UBSxf2maWdbPz2UFAxg0whw== - -"@swc/core-linux-arm-gnueabihf@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.101.tgz#8cd36328e794b3c42b6c8e578bb1f42e59ba0231" - integrity sha512-9xLKRb6zSzRGPqdz52Hy5GuB1lSjmLqa0lST6MTFads3apmx4Vgs8Y5NuGhx/h2I8QM4jXdLbpqQlifpzTlSSw== - -"@swc/core-linux-arm64-gnu@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.101.tgz#d15e3885eb13a1512ba62f00ce4f5bb19f710a0c" - integrity sha512-oE+r1lo7g/vs96Weh2R5l971dt+ZLuhaUX+n3BfDdPxNHfObXgKMjO7E+QS5RbGjv/AwiPCxQmbdCp/xN5ICJA== - -"@swc/core-linux-arm64-musl@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.101.tgz#851d4cc1079b091fee36f5f64335232210749d7a" - integrity sha512-OGjYG3H4BMOTnJWJyBIovCez6KiHF30zMIu4+lGJTCrxRI2fAjGLml3PEXj8tC3FMcud7U2WUn6TdG0/te2k6g== - -"@swc/core-linux-x64-gnu@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.101.tgz#3a2a7c584db2e05a798e28361440424914563fa3" - integrity sha512-/kBMcoF12PRO/lwa8Z7w4YyiKDcXQEiLvM+S3G9EvkoKYGgkkz4Q6PSNhF5rwg/E3+Hq5/9D2R+6nrkF287ihg== - -"@swc/core-linux-x64-musl@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.101.tgz#45d1d53945994f08e93703b8de24ccac88538d0c" - integrity sha512-kDN8lm4Eew0u1p+h1l3JzoeGgZPQ05qDE0czngnjmfpsH2sOZxVj1hdiCwS5lArpy7ktaLu5JdRnx70MkUzhXw== - -"@swc/core-win32-arm64-msvc@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.101.tgz#b2610b8354e5fbca7cc5be3f728e61b046227fa8" - integrity sha512-9Wn8TTLWwJKw63K/S+jjrZb9yoJfJwCE2RV5vPCCWmlMf3U1AXj5XuWOLUX+Rp2sGKau7wZKsvywhheWm+qndQ== - -"@swc/core-win32-ia32-msvc@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.101.tgz#c919175bb4cd5e9fcfa56fbd3708167c1d445c68" - integrity sha512-onO5KvICRVlu2xmr4//V2je9O2XgS1SGKpbX206KmmjcJhXN5EYLSxW9qgg+kgV5mip+sKTHTAu7IkzkAtElYA== - -"@swc/core-win32-x64-msvc@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.101.tgz#17743fe425caffc596fde5965c9c4cf9a48aa26a" - integrity sha512-T3GeJtNQV00YmiVw/88/nxJ/H43CJvFnpvBHCVn17xbahiVUOPOduh3rc9LgAkKiNt/aV8vU3OJR+6PhfMR7UQ== - -"@swc/core@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.101.tgz#4e8f1583094a73c410e48a0bebdeccdc6c66d4a5" - integrity sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A== - dependencies: - "@swc/counter" "^0.1.1" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.3.101" - "@swc/core-darwin-x64" "1.3.101" - "@swc/core-linux-arm-gnueabihf" "1.3.101" - "@swc/core-linux-arm64-gnu" "1.3.101" - "@swc/core-linux-arm64-musl" "1.3.101" - "@swc/core-linux-x64-gnu" "1.3.101" - "@swc/core-linux-x64-musl" "1.3.101" - "@swc/core-win32-arm64-msvc" "1.3.101" - "@swc/core-win32-ia32-msvc" "1.3.101" - "@swc/core-win32-x64-msvc" "1.3.101" - -"@swc/counter@^0.1.1": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" - integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== - -"@swc/helpers@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" - integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== - dependencies: - tslib "^2.4.0" - -"@swc/jest@0.2.29": - version "0.2.29" - resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.29.tgz#b27d647ec430c909f9bb567d1df2a47eaa3841f4" - integrity sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow== - dependencies: - "@jest/create-cache-key-function" "^27.4.2" - jsonc-parser "^3.2.0" - -"@swc/types@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" - integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@testing-library/dom@^9.0.0": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.3.tgz#108c23a5b0ef51121c26ae92eb3179416b0434f5" - integrity sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.1.3" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/react@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.1.2.tgz#a2b9e9ee87721ec9ed2d7cfc51cc04e474537c32" - integrity sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^9.0.0" - "@types/react-dom" "^18.0.0" - -"@tokenizer/token@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" - integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/aria-query@^5.0.1": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" - integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.4" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b" - integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA== - dependencies: - "@babel/types" "^7.20.7" - -"@types/bcrypt@5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/bcrypt/-/bcrypt-5.0.2.tgz#22fddc11945ea4fbc3655b3e8b8847cc9f811477" - integrity sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ== - dependencies: - "@types/node" "*" - -"@types/body-parser@*": - version "1.19.5" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" - integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== - dependencies: - "@types/node" "*" - -"@types/cacheable-request@^6.0.1": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" - integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" - integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect-timeout@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/connect-timeout/-/connect-timeout-0.0.39.tgz#8b6800599808688ae74d1352e702a24d2cca4ee1" - integrity sha512-PHUX9yixjm4qjQ27Uz+F5cyG9Fio9iY7e6eWHvNT0wbA8eu9JaDqxRRiXn5uYnd09zx1fM+wEHnuBHMm9gwOuQ== - dependencies: - "@types/express" "*" - -"@types/connect@*": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/cookiejar@*": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.5.tgz#14a3e83fa641beb169a2dd8422d91c3c345a9a78" - integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== - -"@types/cors@2.8.17": - version "2.8.17" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" - integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== - dependencies: - "@types/node" "*" - -"@types/d3-timer@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-2.0.3.tgz#d74350a9eb5991f054b2cf8e92efaf22be3e1a25" - integrity sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg== - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.56.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.0.tgz#e28d045b8e530a33c9cbcfbf02332df0d1380a2c" - integrity sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.30", "@types/express-serve-static-core@^4.17.33": - version "4.17.41" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz#5077defa630c2e8d28aa9ffc2c01c157c305bef6" - integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express-session@1.17.10": - version "1.17.10" - resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.10.tgz#3a9394f1f314a4c657af3fb1cdb52f00fc207fd2" - integrity sha512-U32bC/s0ejXijw5MAzyaV4tuZopCh/K7fPoUDyNbsRXHvPSeymygYD1RFL99YOLhF5PNOkzswvOTRaVHdL1zMw== - dependencies: - "@types/express" "*" - -"@types/express@*", "@types/express@^4.17.13": - version "4.17.18" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.18.tgz#efabf5c4495c1880df1bdffee604b143b29c4a95" - integrity sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/express@4.17.21": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/fs-extra@11.0.4": - version "11.0.4" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45" - integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== - dependencies: - "@types/jsonfile" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/http-cache-semantics@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== - -"@types/http-errors@*": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== - -"@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@29.5.11": - version "29.5.11" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" - integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/jsdom@^20.0.0": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" - integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json2csv@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@types/json2csv/-/json2csv-5.0.7.tgz#c80ff09b669f8e3ee60be19d91326275a6a2346b" - integrity sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA== - dependencies: - "@types/node" "*" - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/jsonfile@*": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702" - integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== - dependencies: - "@types/node" "*" - -"@types/jsonwebtoken@9.0.5": - version "9.0.5" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz#0bd9b841c9e6c5a937c17656e2368f65da025588" - integrity sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA== - dependencies: - "@types/node" "*" - -"@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" - -"@types/long@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== - -"@types/methods@*": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@types/methods/-/methods-1.1.4.tgz#d3b7ac30ac47c91054ea951ce9eed07b1051e547" - integrity sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ== - -"@types/mime@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" - integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== - -"@types/mime@^1": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" - integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== - -"@types/node-fetch@^2.6.1": - version "2.6.9" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.9.tgz#15f529d247f1ede1824f7e7acdaa192d5f28071e" - integrity sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA== - dependencies: - "@types/node" "*" - form-data "^4.0.0" - -"@types/node-forge@^1.3.0": - version "1.3.10" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.10.tgz#62a19d4f75a8b03290578c2b04f294b1a5a71b07" - integrity sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "20.8.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.2.tgz#d76fb80d87d0d8abfe334fc6d292e83e5524efc4" - integrity sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w== - -"@types/node@18.16.9": - version "18.16.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.9.tgz#e79416d778a8714597342bb87efb5a6e914f7a73" - integrity sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA== - -"@types/node@^18.17.5": - version "18.19.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.3.tgz#e4723c4cb385641d61b983f6fe0b716abd5f8fc0" - integrity sha512-k5fggr14DwAytoA/t8rPrIz++lXK7/DqckthCmoZOKNsEbJkId4Z//BqgApXBUGrGddrigYa1oqheo/7YmW4rg== - dependencies: - undici-types "~5.26.4" - -"@types/nodemailer@6.4.14": - version "6.4.14" - resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.14.tgz#5c81a5e856db7f8ede80013e6dbad7c5fb2283e2" - integrity sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA== - dependencies: - "@types/node" "*" - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/passport@1.0.16": - version "1.0.16" - resolved "https://registry.yarnpkg.com/@types/passport/-/passport-1.0.16.tgz#5a2918b180a16924c4d75c31254c31cdca5ce6cf" - integrity sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A== - dependencies: - "@types/express" "*" - -"@types/prop-types@*": - version "15.7.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== - -"@types/qrcode@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.5.tgz#993ff7c6b584277eee7aac0a20861eab682f9dac" - integrity sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg== - dependencies: - "@types/node" "*" - -"@types/qs@*": - version "6.9.11" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" - integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== - -"@types/range-parser@*": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" - integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== - -"@types/react-dom@18.2.18": - version "18.2.18" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" - integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== - dependencies: - "@types/react" "*" - -"@types/react-dom@^18.0.0": - version "18.2.8" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.8.tgz#338f1b0a646c9f10e0a97208c1d26b9f473dffd6" - integrity sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw== - dependencies: - "@types/react" "*" - -"@types/react-highlight-words@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@types/react-highlight-words/-/react-highlight-words-0.16.7.tgz#82fdd2d2abe4c4a5c0da44be749660f6ec42f0c2" - integrity sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.2.24" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.24.tgz#3c7d68c02e0205a472f04abe4a0c1df35d995c05" - integrity sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/react@18.2.45": - version "18.2.45" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c" - integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/responselike@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" - integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== - dependencies: - "@types/node" "*" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - -"@types/semver@^7.5.0": - version "7.5.3" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04" - integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== - -"@types/send@*": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-index@^1.9.1": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" - integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.5" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" - integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== - dependencies: - "@types/http-errors" "*" - "@types/mime" "*" - "@types/node" "*" - -"@types/sinonjs__fake-timers@8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" - integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== - -"@types/sizzle@^2.3.2": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" - integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== - -"@types/sockjs@^0.3.33": - version "0.3.36" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" - integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/superagent@*": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.0.tgz#4baf8db862163ba8c427846488e8bb1e0970ade6" - integrity sha512-GXR/ZID+mf0z4pHnN25tBma8iZMuoQWbOS5DCUUACC5VI0WiYt2YmeK09ttsci3l2Ucrfn56Bj701z5iLqpiDw== - dependencies: - "@types/cookiejar" "*" - "@types/methods" "*" - "@types/node" "*" - -"@types/supertest@2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.16.tgz#7a1294edebecb960d957bbe9b26002a2b7f21cd7" - integrity sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg== - dependencies: - "@types/superagent" "*" - -"@types/tmp@0.2.6": - version "0.2.6" - resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.6.tgz#d785ee90c52d7cc020e249c948c36f7b32d1e217" - integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== - -"@types/tough-cookie@*": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - -"@types/uuid@9.0.7": - version "9.0.7" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8" - integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g== - -"@types/webidl-conversions@*": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz#1306dbfa53768bcbcfc95a1c8cde367975581859" - integrity sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA== - -"@types/webpack-env@1.18.4": - version "1.18.4" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.4.tgz#62879b0a9c653f9b1172d403b882f2045ecce032" - integrity sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A== - -"@types/whatwg-url@^11.0.2": - version "11.0.3" - resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-11.0.3.tgz#9f584c9a9421f0971029ee504dd62a831cb8f3aa" - integrity sha512-z1ELvMijRL1QmU7QuzDkeYXSF2+dXI0ITKoQsIoVKcNBOiK5RMmWy+pYYxJTHFt8vkpZe7UsvRErQwcxZkjoUw== - dependencies: - "@types/webidl-conversions" "*" - -"@types/whatwg-url@^8.2.1": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" - integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== - dependencies: - "@types/node" "*" - "@types/webidl-conversions" "*" - -"@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - -"@typescript-eslint/eslint-plugin@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz#d8ce497dc0ed42066e195c8ecc40d45c7b1254f4" - integrity sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/type-utils" "6.9.1" - "@typescript-eslint/utils" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.9.1.tgz#4f685f672f8b9580beb38d5fb99d52fc3e34f7a3" - integrity sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg== - dependencies: - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/typescript-estree" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@6.15.0": - version "6.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz#40e5214a3e9e048aca55ce33381bc61b6b51c32a" - integrity sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg== - dependencies: - "@typescript-eslint/types" "6.15.0" - "@typescript-eslint/visitor-keys" "6.15.0" - -"@typescript-eslint/scope-manager@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz#e96afeb9a68ad1cd816dba233351f61e13956b75" - integrity sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg== - dependencies: - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - -"@typescript-eslint/type-utils@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz#efd5db20ed35a74d3c7d8fba51b830ecba09ce32" - integrity sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg== - dependencies: - "@typescript-eslint/typescript-estree" "6.9.1" - "@typescript-eslint/utils" "6.9.1" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/type-utils@^6.9.1": - version "6.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz#c22261bd00566821a300d08f4632533a8f9bed01" - integrity sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ== - dependencies: - "@typescript-eslint/typescript-estree" "6.15.0" - "@typescript-eslint/utils" "6.15.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.15.0": - version "6.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.15.0.tgz#a9f7b006aee52b0948be6e03f521814bf435ddd5" - integrity sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ== - -"@typescript-eslint/types@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.9.1.tgz#a6cfc20db0fcedcb2f397ea728ef583e0ee72459" - integrity sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ== - -"@typescript-eslint/typescript-estree@6.15.0": - version "6.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz#2f8a513df1ce5e6e1ba8e5c6aa52f392ae023fc5" - integrity sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew== - dependencies: - "@typescript-eslint/types" "6.15.0" - "@typescript-eslint/visitor-keys" "6.15.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/typescript-estree@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz#8c77910a49a04f0607ba94d78772da07dab275ad" - integrity sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw== - dependencies: - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.15.0", "@typescript-eslint/utils@^6.9.1": - version "6.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.15.0.tgz#f80dbb79f3b0f569077a8711dd44186a8933fa4c" - integrity sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.15.0" - "@typescript-eslint/types" "6.15.0" - "@typescript-eslint/typescript-estree" "6.15.0" - semver "^7.5.4" - -"@typescript-eslint/utils@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.9.1.tgz#763da41281ef0d16974517b5f0d02d85897a1c1e" - integrity sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/typescript-estree" "6.9.1" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.15.0": - version "6.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz#5baf97a7bfeec6f4894d400437055155a46b2330" - integrity sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w== - dependencies: - "@typescript-eslint/types" "6.15.0" - eslint-visitor-keys "^3.4.1" - -"@typescript-eslint/visitor-keys@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz#6753a9225a0ba00459b15d6456b9c2780b66707d" - integrity sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw== - dependencies: - "@typescript-eslint/types" "6.9.1" - eslint-visitor-keys "^3.4.1" - -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@wry/caches@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" - integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== - dependencies: - tslib "^2.3.0" - -"@wry/context@^0.7.0": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.3.tgz#240f6dfd4db5ef54f81f6597f6714e58d4f476a1" - integrity sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== - dependencies: - tslib "^2.3.0" - -"@wry/equality@^0.5.6": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" - integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" - integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" - integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== - dependencies: - tslib "^2.3.0" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - -"@yarnpkg/parsers@3.0.0-rc.46": - version "3.0.0-rc.46" - resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" - integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== - dependencies: - js-yaml "^3.10.0" - tslib "^2.4.0" - -"@zkochan/js-yaml@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" - integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== - dependencies: - argparse "^2.0.1" - -"@zxing/text-encoding@0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" - integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== - -JSONStream@1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.5, abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" - integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.2, acorn-walk@^8.1.1: - version "8.3.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.1.tgz#2f10f5b69329d90ae18c58bf1fa8fccd8b959a43" - integrity sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw== - -acorn@^8.1.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== - -address@^1.0.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agent-base@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" - integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== - dependencies: - debug "^4.3.4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - integrity sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg== - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -antd@5.12.5: - version "5.12.5" - resolved "https://registry.yarnpkg.com/antd/-/antd-5.12.5.tgz#b4075a13c51483ee3721afddd28f9c7b342efb78" - integrity sha512-m9r9VhTmANS4kdBwHcxI4QWIGoZh3LspXNb2SxoezRSUZ9RUFpf+gO0AjPx8EPeO/nLKsHAoCSLza9r041bAgw== - dependencies: - "@ant-design/colors" "^7.0.0" - "@ant-design/cssinjs" "^1.18.1" - "@ant-design/icons" "^5.2.6" - "@ant-design/react-slick" "~1.0.2" - "@babel/runtime" "^7.23.4" - "@ctrl/tinycolor" "^3.6.1" - "@rc-component/color-picker" "~1.4.1" - "@rc-component/mutate-observer" "^1.1.0" - "@rc-component/tour" "~1.11.1" - "@rc-component/trigger" "^1.18.2" - classnames "^2.3.2" - copy-to-clipboard "^3.3.3" - dayjs "^1.11.1" - qrcode.react "^3.1.0" - rc-cascader "~3.20.0" - rc-checkbox "~3.1.0" - rc-collapse "~3.7.2" - rc-dialog "~9.3.4" - rc-drawer "~6.5.2" - rc-dropdown "~4.1.0" - rc-field-form "~1.41.0" - rc-image "~7.5.1" - rc-input "~1.3.11" - rc-input-number "~8.4.0" - rc-mentions "~2.9.1" - rc-menu "~9.12.4" - rc-motion "^2.9.0" - rc-notification "~5.3.0" - rc-pagination "~4.0.3" - rc-picker "~3.14.6" - rc-progress "~3.5.1" - rc-rate "~2.12.0" - rc-resize-observer "^1.4.0" - rc-segmented "~2.2.2" - rc-select "~14.10.0" - rc-slider "~10.5.0" - rc-steps "~6.0.1" - rc-switch "~4.1.0" - rc-table "~7.36.1" - rc-tabs "~12.14.1" - rc-textarea "~1.5.3" - rc-tooltip "~6.1.3" - rc-tree "~5.8.2" - rc-tree-select "~5.15.0" - rc-upload "~4.3.5" - rc-util "^5.38.1" - scroll-into-view-if-needed "^3.1.0" - throttle-debounce "^5.0.0" - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -apollo-upload-client@18.0.1: - version "18.0.1" - resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz#e3811f2f5a36bffef23954f796daf331be748dcb" - integrity sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA== - dependencies: - extract-files "^13.0.0" - -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -arch@^2.1.0, arch@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -aria-query@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.1.6, array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-union@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" - integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== - -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -asn1.js@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -ast-types-flow@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" - integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-mutex@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.0.tgz#ae8048cd4d04ace94347507504b3cf15e631c25f" - integrity sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA== - dependencies: - tslib "^2.4.0" - -async-retry@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" - integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== - dependencies: - retry "0.13.1" - -async-validator@^4.1.0: - version "4.2.5" - resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" - integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== - -async@^2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -async@^3.2.0, async@^3.2.3, async@^3.2.4: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -asynciterator.prototype@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" - integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== - dependencies: - has-symbols "^1.0.3" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -attr-accept@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" - integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== - -autoprefixer@^10.4.9: - version "10.4.16" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" - integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== - dependencies: - browserslist "^4.21.10" - caniuse-lite "^1.0.30001538" - fraction.js "^4.3.6" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - -axe-core@=4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" - integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== - -axios@1.6.2, axios@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" - integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axobject-query@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" - integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== - dependencies: - dequal "^2.0.3" - -b4a@^1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" - integrity sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@^9.1.2: - version "9.1.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" - integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== - dependencies: - find-cache-dir "^4.0.0" - schema-utils "^4.0.0" - -babel-plugin-const-enum@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz#3d25524106f68f081e187829ba736b251c289861" - integrity sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.3.3" - "@babel/traverse" "^7.16.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-polyfill-corejs2@^0.4.6: - version "0.4.7" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz#679d1b94bf3360f7682e11f2cb2708828a24fe8c" - integrity sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.4.4" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.8.5: - version "0.8.7" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz#941855aa7fdaac06ed24c730a93450d2b2b76d04" - integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.4" - core-js-compat "^3.33.1" - -babel-plugin-polyfill-regenerator@^0.5.3: - version "0.5.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz#c6fc8eab610d3a11eb475391e52584bacfc020f4" - integrity sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.4" - -babel-plugin-transform-typescript-metadata@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz#7a327842d8c36ffe07ee1b5276434e56c297c9b7" - integrity sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -basic-auth@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== - dependencies: - safe-buffer "5.1.2" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -bcrypt@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.1.tgz#0f732c6dcb4e12e5b70a25e326a72965879ba6e2" - integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== - dependencies: - "@mapbox/node-pre-gyp" "^1.0.11" - node-addon-api "^5.0.0" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bin-check@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-4.1.0.tgz#fc495970bdc88bb1d5a35fc17e65c4a149fc4a49" - integrity sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA== - dependencies: - execa "^0.7.0" - executable "^4.1.0" - -bin-version-check@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-5.1.0.tgz#788e80e036a87313f8be7908bc20e5abe43f0837" - integrity sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g== - dependencies: - bin-version "^6.0.0" - semver "^7.5.3" - semver-truncate "^3.0.0" - -bin-version@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-6.0.0.tgz#08ecbe5fc87898b441425e145f9e105064d00315" - integrity sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw== - dependencies: - execa "^5.0.0" - find-versions "^5.0.0" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -blob-util@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" - integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== - -block-stream2@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/block-stream2/-/block-stream2-2.1.0.tgz#ac0c5ef4298b3857796e05be8ebed72196fa054b" - integrity sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg== - dependencies: - readable-stream "^3.4.0" - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -body-parser@^1.20.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.1.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" - integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== - dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-or-node@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-2.1.1.tgz#738790b3a86a8fc020193fa581273fbe65eaea0f" - integrity sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg== - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== - dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -bson@^5.5.0: - version "5.5.1" - resolved "https://registry.yarnpkg.com/bson/-/bson-5.5.1.tgz#f5849d405711a7f23acdda9a442375df858e6833" - integrity sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g== - -bson@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/bson/-/bson-6.2.0.tgz#4b6acafc266ba18eeee111373c2699304a9ba0a3" - integrity sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q== - -buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.5.0, buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -builtins@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== - dependencies: - semver "^7.0.0" - -busboy@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-request@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" - integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -cachedir@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" - integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5, call-bind@~1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g== - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0, camelcase@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001565: - version "1.0.30001571" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz#4182e93d696ff42930f4af7eba515ddeb57917ac" - integrity sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - integrity sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ== - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -check-more-types@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" - integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== - -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@3.1.0, cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" - integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== - -cli-spinners@^2.5.0: - version "2.9.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== - -cli-table3@~0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - integrity sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA== - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-support@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10, colorette@^2.0.16: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -columnify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" - integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== - dependencies: - strip-ansi "^6.0.1" - wcwidth "^1.0.0" - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -commander@^7.1.0, commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -component-emitter@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" - integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -compute-scroll-into-view@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87" - integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -confusing-browser-globals@^1.0.9: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -connect-mongo@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/connect-mongo/-/connect-mongo-5.1.0.tgz#8eb66bf94c3e5af0442278a5f43bd15c365eac92" - integrity sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw== - dependencies: - debug "^4.3.1" - kruptein "^3.0.0" - -connect-timeout@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.9.0.tgz#bc27326b122103714bebfa0d958bab33f6522e3a" - integrity sha512-q4bsBIPd+eSGtnh/u6EBOKfuG+4YvwsN0idlOsg6KAw71Qpi0DCf2eCc/Va63QU9qdOeYC8katxoC+rHMNygZg== - dependencies: - http-errors "~1.6.1" - ms "2.0.0" - on-finished "~2.3.0" - on-headers "~1.0.1" - -console-control-strings@^1.0.0, console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -content-disposition@0.5.4, content-disposition@^0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -contour_plot@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/contour_plot/-/contour_plot-0.0.1.tgz#475870f032b8e338412aa5fc507880f0bf495c77" - integrity sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -cookiejar@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" - integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== - -copy-anything@^2.0.1: - version "2.0.6" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" - integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== - dependencies: - is-what "^3.14.1" - -copy-to-clipboard@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -copy-webpack-plugin@^10.2.4: - version "10.2.4" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" - integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== - dependencies: - fast-glob "^3.2.7" - glob-parent "^6.0.1" - globby "^12.0.2" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - -core-js-compat@^3.31.0, core-js-compat@^3.33.1: - version "3.34.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.34.0.tgz#61a4931a13c52f8f08d924522bba65f8c94a5f17" - integrity sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA== - dependencies: - browserslist "^4.22.2" - -core-js-pure@^3.23.3: - version "3.34.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.34.0.tgz#981e462500708664c91b827a75b011f04a8134a0" - integrity sha512-pmhivkYXkymswFfbXsANmBAewXx86UBfmagP+w0wkK06kLsLlTK5oQmsURPivzMkIBQiYq2cjamcZExIwlFQIg== - -core-js@^3.34.0: - version "3.34.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.34.0.tgz#5705e6ad5982678612e96987d05b27c6c7c274a5" - integrity sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cors@2.8.5, cors@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -corser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" - integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^8.1.3: - version "8.3.6" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-declaration-sorter@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz#9796bcc257b4647c39993bda8d431ce32b666f80" - integrity sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ== - -css-loader@^6.4.0, css-loader@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" - integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.21" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.3" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.8" - -css-minimizer-webpack-plugin@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" - integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - cssnano "^6.0.1" - jest-worker "^29.4.3" - postcss "^8.4.24" - schema-utils "^4.0.1" - serialize-javascript "^6.0.1" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.0.2.tgz#0cc13e2da462b0d1632b1ebea4af78e7484592e8" - integrity sha512-VnZybFeZ63AiVqIUNlxqMxpj9VU8B5j0oKgP7WyVt/7mkyf97KsYkNzsPTV/RVmy54Pg7cBhOK4WATbdCB44gw== - dependencies: - css-declaration-sorter "^7.0.0" - cssnano-utils "^4.0.1" - postcss-calc "^9.0.1" - postcss-colormin "^6.0.1" - postcss-convert-values "^6.0.1" - postcss-discard-comments "^6.0.1" - postcss-discard-duplicates "^6.0.1" - postcss-discard-empty "^6.0.1" - postcss-discard-overridden "^6.0.1" - postcss-merge-longhand "^6.0.1" - postcss-merge-rules "^6.0.2" - postcss-minify-font-values "^6.0.1" - postcss-minify-gradients "^6.0.1" - postcss-minify-params "^6.0.1" - postcss-minify-selectors "^6.0.1" - postcss-normalize-charset "^6.0.1" - postcss-normalize-display-values "^6.0.1" - postcss-normalize-positions "^6.0.1" - postcss-normalize-repeat-style "^6.0.1" - postcss-normalize-string "^6.0.1" - postcss-normalize-timing-functions "^6.0.1" - postcss-normalize-unicode "^6.0.1" - postcss-normalize-url "^6.0.1" - postcss-normalize-whitespace "^6.0.1" - postcss-ordered-values "^6.0.1" - postcss-reduce-initial "^6.0.1" - postcss-reduce-transforms "^6.0.1" - postcss-svgo "^6.0.1" - postcss-unique-selectors "^6.0.1" - -cssnano-utils@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.1.tgz#fd18b42f95938bf55ab47967705355d6047bf1da" - integrity sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ== - -cssnano@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.0.2.tgz#7b49d60ce51e1dea3d569795f751ee49e97124c9" - integrity sha512-Tu9wv8UdN6CoiQnIVkCNvi+0rw/BwFWOJBlg2bVfEyKaadSuE3Gq/DD8tniVvggTJGwK88UjqZp7zL5sv6t1aA== - dependencies: - cssnano-preset-default "^6.0.2" - lilconfig "^3.0.0" - -csso@5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@3.1.2, csstype@^3.0.2, csstype@^3.0.8: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -csv-parse@5.5.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.3.tgz#0261050761ee46cd0e46421854bf9bf4de1317bf" - integrity sha512-v0KW6C0qlZzoGjk6u5tLmVfyZxNgPGXZsWTXshpAgKVGmGXzaVWGdlCFxNx5iuzcXT/oJN1HHM9DZKwtAtYa+A== - -cypress@^13.6.1: - version "13.6.1" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.1.tgz#c5f714f08551666ed3ac1fa95718eabb23a416df" - integrity sha512-k1Wl5PQcA/4UoTffYKKaxA0FJKwg8yenYNYRzLt11CUR0Kln+h7Udne6mdU1cUIdXBDTVZWtmiUjzqGs7/pEpw== - dependencies: - "@cypress/request" "^3.0.0" - "@cypress/xvfb" "^1.2.4" - "@types/node" "^18.17.5" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - arch "^2.2.0" - blob-util "^2.0.2" - bluebird "^3.7.2" - buffer "^5.6.0" - cachedir "^2.3.0" - chalk "^4.1.0" - check-more-types "^2.24.0" - cli-cursor "^3.1.0" - cli-table3 "~0.6.1" - commander "^6.2.1" - common-tags "^1.8.0" - dayjs "^1.10.4" - debug "^4.3.4" - enquirer "^2.3.6" - eventemitter2 "6.4.7" - execa "4.1.0" - executable "^4.1.1" - extract-zip "2.0.1" - figures "^3.2.0" - fs-extra "^9.1.0" - getos "^3.2.1" - is-ci "^3.0.0" - is-installed-globally "~0.4.0" - lazy-ass "^1.6.0" - listr2 "^3.8.3" - lodash "^4.17.21" - log-symbols "^4.0.0" - minimist "^1.2.8" - ospath "^1.2.2" - pretty-bytes "^5.6.0" - process "^0.11.10" - proxy-from-env "1.0.0" - request-progress "^3.0.0" - semver "^7.5.3" - supports-color "^8.1.1" - tmp "~0.2.1" - untildify "^4.0.0" - yauzl "^2.10.0" - -"d3-color@1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" - integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== - -d3-ease@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.7.tgz#9a834890ef8b8ae8c558b2fe55bd57f5993b85e2" - integrity sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ== - -d3-hierarchy@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz#dab88a58ca3e7a1bc6cab390e89667fcc6d20218" - integrity sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw== - -d3-interpolate@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" - integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== - dependencies: - d3-color "1 - 3" - -d3-regression@^1.3.5: - version "1.3.10" - resolved "https://registry.yarnpkg.com/d3-regression/-/d3-regression-1.3.10.tgz#d1a411ab45044d9e8d5b8aec05f2e598e1a621c9" - integrity sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw== - -d3-timer@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5" - integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw== - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -data-urls@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - -dayjs@1.11.10, dayjs@^1.10.4, dayjs@^1.11.1: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.1.0, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize@^1.0.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decimal.js@^10.4.2: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -decode-uri-component@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== - -deep-equal@^2.0.5: - version "2.2.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" - integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.5" - es-get-iterator "^1.1.3" - get-intrinsic "^1.2.2" - is-arguments "^1.1.1" - is-array-buffer "^3.0.2" - is-date-object "^1.0.5" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.13" - -deep-equal@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" - integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== - dependencies: - is-arguments "^1.1.1" - is-date-object "^1.0.5" - is-regex "^1.1.4" - object-is "^1.1.5" - object-keys "^1.1.1" - regexp.prototype.flags "^1.5.1" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@4.3.1, deepmerge@^4.2.2, deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -defined@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -depd@2.0.0, depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-browser@^5.0.0, detect-browser@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" - integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== - -detect-libc@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== - dependencies: - address "^1.0.1" - debug "4" - -dezalgo@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" - integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== - dependencies: - asap "^2.0.0" - wrappy "1" - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dijkstrajs@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" - integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - -dns-packet@^5.2.2: - version "5.6.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" - integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-expand@~10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" - integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== - -dotenv@~16.3.1: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== - -dotignore@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" - integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== - dependencies: - minimatch "^3.0.4" - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.7: - version "3.1.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" - integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.4.601: - version "1.4.616" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz#4bddbc2c76e1e9dbf449ecd5da3d8119826ea4fb" - integrity sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encode-utf8@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0, enhanced-resolve@^5.7.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -enquirer@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^4.2.0, entities@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -errno@^0.1.1: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-get-iterator@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - -es-iterator-helpers@^1.0.12, es-iterator-helpers@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" - integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== - dependencies: - asynciterator.prototype "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.1" - es-abstract "^1.22.1" - es-set-tostringtag "^2.0.1" - function-bind "^1.1.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - iterator.prototype "^1.1.2" - safe-array-concat "^1.0.1" - -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -esbuild@0.19.10: - version "0.19.10" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.10.tgz#55e83e4a6b702e3498b9f872d84bfb4ebcb6d16e" - integrity sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA== - optionalDependencies: - "@esbuild/aix-ppc64" "0.19.10" - "@esbuild/android-arm" "0.19.10" - "@esbuild/android-arm64" "0.19.10" - "@esbuild/android-x64" "0.19.10" - "@esbuild/darwin-arm64" "0.19.10" - "@esbuild/darwin-x64" "0.19.10" - "@esbuild/freebsd-arm64" "0.19.10" - "@esbuild/freebsd-x64" "0.19.10" - "@esbuild/linux-arm" "0.19.10" - "@esbuild/linux-arm64" "0.19.10" - "@esbuild/linux-ia32" "0.19.10" - "@esbuild/linux-loong64" "0.19.10" - "@esbuild/linux-mips64el" "0.19.10" - "@esbuild/linux-ppc64" "0.19.10" - "@esbuild/linux-riscv64" "0.19.10" - "@esbuild/linux-s390x" "0.19.10" - "@esbuild/linux-x64" "0.19.10" - "@esbuild/netbsd-x64" "0.19.10" - "@esbuild/openbsd-x64" "0.19.10" - "@esbuild/sunos-x64" "0.19.10" - "@esbuild/win32-arm64" "0.19.10" - "@esbuild/win32-ia32" "0.19.10" - "@esbuild/win32-x64" "0.19.10" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-cypress@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.1.tgz#336afa7e8e27451afaf65aa359c9509e0a4f3a7b" - integrity sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w== - dependencies: - globals "^13.20.0" - -eslint-plugin-import@2.29.1: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.15.0" - -eslint-plugin-json@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz#251108ba1681c332e0a442ef9513bd293619de67" - integrity sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g== - dependencies: - lodash "^4.17.21" - vscode-json-languageservice "^4.1.6" - -eslint-plugin-jsx-a11y@6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" - integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== - dependencies: - "@babel/runtime" "^7.23.2" - aria-query "^5.3.0" - array-includes "^3.1.7" - array.prototype.flatmap "^1.3.2" - ast-types-flow "^0.0.8" - axe-core "=4.7.0" - axobject-query "^3.2.1" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - es-iterator-helpers "^1.0.15" - hasown "^2.0.0" - jsx-ast-utils "^3.3.5" - language-tags "^1.0.9" - minimatch "^3.1.2" - object.entries "^1.1.7" - object.fromentries "^2.0.7" - -eslint-plugin-react-hooks@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@7.33.2: - version "7.33.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" - integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - es-iterator-helpers "^1.0.12" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.4" - semver "^6.3.1" - string.prototype.matchall "^4.0.8" - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@8.48.0: - version "8.48.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.48.0.tgz#bf9998ba520063907ba7bfe4c480dc8be03c2155" - integrity sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.48.0" - "@humanwhocodes/config-array" "^0.11.10" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.0.0, espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0, esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eventemitter2@6.4.7: - version "6.4.7" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" - integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -executable@^4.1.0, executable@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" - integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== - dependencies: - pify "^2.2.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -export-from-json@1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/export-from-json/-/export-from-json-1.7.3.tgz#b67f42c9a492e5513ef2a8f7f856ed3531a80c67" - integrity sha512-Xg0L0saYz+CBz2MnaZvSEAHr17hWtHAfFWXw/frllG9t6aijuQukiU40ElOeM9nDTrtQPhLJMLN0q8lo897FYg== - -express-rate-limit@7.1.5: - version "7.1.5" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.1.5.tgz#af4c81143a945ea97f2599d13957440a0ddbfcfe" - integrity sha512-/iVogxu7ueadrepw1bS0X0kaRC/U0afwiYRSLg68Ts+p4Dc85Q5QKsOnPS/QUjPMHvOJQtBDrZgvkOzf8ejUYw== - -express-session@1.17.3: - version "1.17.3" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.3.tgz#14b997a15ed43e5949cb1d073725675dd2777f36" - integrity sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw== - dependencies: - cookie "0.4.2" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~2.0.0" - on-headers "~1.0.2" - parseurl "~1.3.3" - safe-buffer "5.2.1" - uid-safe "~2.1.5" - -express@^4.17.1, express@^4.17.3, express@^4.18.2: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext-list@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" - integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== - dependencies: - mime-db "^1.28.0" - -ext-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" - integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== - dependencies: - ext-list "^2.0.0" - sort-keys-length "^1.0.0" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extract-files@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-13.0.0.tgz#9065073dedbcfb5e2ae8a90988cf609834b217ec" - integrity sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g== - dependencies: - is-plain-obj "^4.1.0" - -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-fifo@^1.1.0, fast-fifo@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" - integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== - -fast-glob@3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fast-xml-parser@^4.2.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz#761e641260706d6e13251c4ef8e3f5694d4b0d79" - integrity sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg== - dependencies: - strnum "^1.0.5" - -fastq@^1.6.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" - integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -fecha@~4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" - integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== - -figures@3.2.0, figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-selector@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" - integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== - dependencies: - tslib "^2.4.0" - -file-type@^17.1.6: - version "17.1.6" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.1.6.tgz#18669e0577a4849ef6e73a41f8bdf1ab5ae21023" - integrity sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw== - dependencies: - readable-web-to-node-stream "^3.0.2" - strtok3 "^7.0.0-alpha.9" - token-types "^5.0.0-alpha.2" - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -filename-reserved-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz#3d5dd6d4e2d73a3fed2ebc4cd0b3448869a081f7" - integrity sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw== - -filenamify@^5.0.2: - version "5.1.1" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-5.1.1.tgz#a1ccc5ae678a5e34f578afcb9b72898264d166d2" - integrity sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA== - dependencies: - filename-reserved-regex "^3.0.0" - strip-outer "^2.0.0" - trim-repeated "^2.0.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-cache-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" - integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== - dependencies: - common-path-prefix "^3.0.0" - pkg-dir "^7.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - -find-versions@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-5.1.0.tgz#973f6739ce20f5e439a27eba8542a4b236c8e685" - integrity sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg== - dependencies: - semver-regex "^4.0.5" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -fmin@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/fmin/-/fmin-0.0.2.tgz#59bbb40d43ffdc1c94cd00a568c41f95f1973017" - integrity sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A== - dependencies: - contour_plot "^0.0.1" - json2module "^0.0.3" - rollup "^0.25.8" - tape "^4.5.1" - uglify-js "^2.6.2" - -follow-redirects@^1.0.0, follow-redirects@^1.15.0, follow-redirects@^1.15.3: - version "1.15.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" - integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== - -for-each@^0.3.3, for-each@~0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -fork-ts-checker-webpack-plugin@7.2.13: - version "7.2.13" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz#51ffd6a2f96f03ab64b92f8aedf305dbf3dee0f1" - integrity sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg== - dependencies: - "@babel/code-frame" "^7.16.7" - chalk "^4.1.2" - chokidar "^3.5.3" - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - fs-extra "^10.0.0" - memfs "^3.4.1" - minimatch "^3.0.4" - node-abort-controller "^3.0.1" - schema-utils "^3.1.1" - semver "^7.3.5" - tapable "^2.2.1" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -formidable@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" - integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== - dependencies: - dezalgo "^1.0.4" - hexoid "^1.0.0" - once "^1.4.0" - qs "^6.11.0" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.3.6: - version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^11.1.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.1, function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gauge@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" - integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-port@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-7.0.0.tgz#ffcd83da826146529e307a341d7801cae351daff" - integrity sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -getos@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" - integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== - dependencies: - async "^3.2.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -git-rev-sync@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/git-rev-sync/-/git-rev-sync-3.0.2.tgz#9763c730981187c3419b75dd270088cc5f0e161b" - integrity sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ== - dependencies: - escape-string-regexp "1.0.5" - graceful-fs "4.1.15" - shelljs "0.8.5" - -gl-matrix@^3.0.0, gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" - integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1, glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0, globals@^13.20.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^12.0.2: - version "12.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-12.2.0.tgz#2ab8046b4fba4ff6eede835b29f678f90e3d3c22" - integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== - dependencies: - array-union "^3.0.1" - dir-glob "^3.0.1" - fast-glob "^3.2.7" - ignore "^5.1.9" - merge2 "^1.4.1" - slash "^4.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@^11.8.5: - version "11.8.6" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" - integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -graceful-fs@4.1.15: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -graphql-scalars@1.22.4: - version "1.22.4" - resolved "https://registry.yarnpkg.com/graphql-scalars/-/graphql-scalars-1.22.4.tgz#af092b142bcfd5c1f8c53cb70ee1955ecd4ddb03" - integrity sha512-ILnv7jq5VKHLUyoaTFX7lgYrjCd6vTee9i8/B+D4zJKJT5TguOl0KkpPEbXHjmeor8AZYrVsrYUHdqRBMX1pjA== - dependencies: - tslib "^2.5.0" - -graphql-subscriptions@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz#11ec181d475852d8aec879183e8e1eb94f2eb79a" - integrity sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA== - dependencies: - iterall "^1.3.0" - -graphql-tag@2.12.6, graphql-tag@^2.12.6: - version "2.12.6" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" - integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== - dependencies: - tslib "^2.1.0" - -graphql-type-json@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" - integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== - -graphql-upload-minimal@1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/graphql-upload-minimal/-/graphql-upload-minimal-1.5.5.tgz#7836ab0abe2ec9657f186ff130232a64facfa1b3" - integrity sha512-eNIBl850Sj2Lp14ak+9pK4KINQw2Hkk/t15yY3pPQ0jntkCODL5csTECxsqIYRJisoxNFnIrX4zAGlKGvXc17A== - dependencies: - busboy "^1.6.0" - -graphql-ws@5.14.3: - version "5.14.3" - resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.14.3.tgz#fb1fba011a0ae9c4e86d831cae2ec27955168b9a" - integrity sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ== - -graphql@16.8.1: - version "16.8.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" - integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -has@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" - integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hexoid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" - integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== - -hi-base32@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" - integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== - -highlight-words-core@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" - integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== - -hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hosted-git-info@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" - integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== - dependencies: - lru-cache "^10.0.1" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -html-entities@^2.1.0, html-entities@^2.3.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" - integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.1, http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-proxy-middleware@2.0.6, http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-server@^14.1.0: - version "14.1.1" - resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" - integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== - dependencies: - basic-auth "^2.0.1" - chalk "^4.1.2" - corser "^2.0.1" - he "^1.2.0" - html-encoding-sniffer "^3.0.0" - http-proxy "^1.18.1" - mime "^1.6.0" - minimist "^1.2.6" - opener "^1.5.1" - portfinder "^1.0.28" - secure-compare "3.0.1" - union "~0.5.0" - url-join "^4.0.1" - -http-signature@~1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" - integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - sshpk "^1.14.1" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -https-browserify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" - integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== - dependencies: - agent-base "^7.0.2" - debug "4" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -husky@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.6.3, iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.0.4, ignore@^5.1.9, ignore@^5.2.0, ignore@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== - -immutable@^4.0.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" - integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== - -import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -internal-slot@^1.0.4, internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - -is-arguments@^1.0.4, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== - dependencies: - has-tostringtag "^1.0.0" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== - dependencies: - call-bind "^1.0.2" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.10, is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.2, is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-obj@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4, is-regex@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -is-what@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" - integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -iterall@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" - integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== - -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== - dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" - -jake@^10.8.5: - version "10.8.7" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" - integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29, jest-config@^29.4.1, jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.4.1, jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-jsdom@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" - integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/jsdom" "^20.0.0" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - jsdom "^20.0.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29, jest-resolve@^29.4.1, jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29, jest-util@^29.0.0, jest-util@^29.4.1, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.4.3, jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.10.0, js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsdom@^20.0.0: - version "20.0.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" - integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== - dependencies: - abab "^2.0.6" - acorn "^8.8.1" - acorn-globals "^7.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.4.2" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.2" - parse5 "^7.1.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^4.1.2" - w3c-xmlserializer "^4.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.11.0" - xml-name-validator "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-stream/-/json-stream-1.0.0.tgz#1a3854e28d2bbeeab31cc7ddf683d2ddc5652708" - integrity sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json2module@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/json2module/-/json2module-0.0.3.tgz#00fb5f4a9b7adfc3f0647c29cb17bcd1979be9b2" - integrity sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA== - dependencies: - rw "^1.3.2" - -json2mq@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" - integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== - dependencies: - string-convert "^0.2.0" - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-eslint-parser@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz#74ded53f9d716e8d0671bd167bf5391f452d5461" - integrity sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg== - dependencies: - acorn "^8.5.0" - eslint-visitor-keys "^3.0.0" - espree "^9.0.0" - semver "^7.3.5" - -jsonc-parser@3.2.0, jsonc-parser@^3.0.0, jsonc-parser@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -jsonwebtoken@9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" - integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -jsprim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" - integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -jstat@1.9.6: - version "1.9.6" - resolved "https://registry.yarnpkg.com/jstat/-/jstat-1.9.6.tgz#60e801b0d4c26e37aab0f375d1859fe9d60e10c0" - integrity sha512-rPBkJbK2TnA8pzs93QcDDPlKcrtZWuuCo2dVR0TFLOJSxhqfWOVCSp8aV3/oSbn+4uY4yw1URtLpHQedtmXfug== - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -keyv@^4.0.0, keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4, klona@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -kruptein@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/kruptein/-/kruptein-3.0.6.tgz#9cf976225af4bc1fbeba069dbb24f17eebad974d" - integrity sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA== - dependencies: - asn1.js "^5.4.1" - -language-subtag-registry@^0.3.20: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" - integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== - dependencies: - language-subtag-registry "^0.3.20" - -launch-editor@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" - integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.8.1" - -lazy-ass@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" - integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ== - -less-loader@11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.0.tgz#a452384259bdf8e4f6d5fdcc39543609e6313f82" - integrity sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug== - dependencies: - klona "^2.0.4" - -less@4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" - integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== - dependencies: - copy-anything "^2.0.1" - parse-node-version "^1.0.1" - tslib "^2.3.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - needle "^3.1.0" - source-map "~0.6.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -license-webpack-plugin@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz#1e18442ed20b754b82f1adeff42249b81d11aec6" - integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== - dependencies: - webpack-sources "^3.0.0" - -lilconfig@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" - integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lines-and-columns@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" - integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== - -listr2@^3.8.3: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0, loader-utils@^2.0.3, loader-utils@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.memoize@4.x, lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.once@^4.0.0, lodash.once@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.14, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -loglevel@^1.6.8: - version "1.8.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" - integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== - -long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - integrity sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^10.0.1: - version "10.1.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" - integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.10.1, lru-cache@^7.14.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.4.1, memfs@^3.4.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -memoize-one@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" - integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== - -memory-pager@^1.0.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" - integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@^1.1.2, methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0, mime@^1.4.1, mime@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -mini-css-extract-plugin@~2.4.7: - version "2.4.7" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz#b9f4c4f4d727c7a3cd52a11773bb739f00177fac" - integrity sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg== - dependencies: - schema-utils "^4.0.0" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" - integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minio@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/minio/-/minio-7.1.3.tgz#86dc95f3671045d6956920db757bb63f25bf20ee" - integrity sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA== - dependencies: - async "^3.2.4" - block-stream2 "^2.1.0" - browser-or-node "^2.1.1" - buffer-crc32 "^0.2.13" - fast-xml-parser "^4.2.2" - ipaddr.js "^2.0.1" - json-stream "^1.0.0" - lodash "^4.17.21" - mime-types "^2.1.35" - query-string "^7.1.3" - through2 "^4.0.2" - web-encoding "^1.1.5" - xml "^1.0.1" - xml2js "^0.5.0" - -minipass@^3.0.0: - version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mock-property@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" - integrity sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ== - dependencies: - define-data-property "^1.1.1" - functions-have-names "^1.2.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - hasown "^2.0.0" - isarray "^2.0.5" - -mongodb-connection-string-url@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" - integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== - dependencies: - "@types/whatwg-url" "^8.2.1" - whatwg-url "^11.0.0" - -mongodb-connection-string-url@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz#b4f87f92fd8593f3b9365f592515a06d304a1e9c" - integrity sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ== - dependencies: - "@types/whatwg-url" "^11.0.2" - whatwg-url "^13.0.0" - -mongodb-memory-server-core@9.1.3: - version "9.1.3" - resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.1.3.tgz#483e17001b69d7cd455d763ceba9c9d401085c02" - integrity sha512-94pUuTgjb6NglCbKLEZm457aACxeaT8+Jw8weEy0DyWiCBd1mk8dIuq7GE1CjmHFU2hMOCnOutdR96LhkWpgig== - dependencies: - async-mutex "^0.4.0" - camelcase "^6.3.0" - debug "^4.3.4" - find-cache-dir "^3.3.2" - follow-redirects "^1.15.3" - https-proxy-agent "^7.0.2" - mongodb "^5.9.1" - new-find-package-json "^2.0.0" - semver "^7.5.4" - tar-stream "^3.0.0" - tslib "^2.6.2" - yauzl "^2.10.0" - -mongodb-memory-server@9.1.3: - version "9.1.3" - resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.1.3.tgz#3188683a7134ea34fa4c5777e19aee28c4d09cf9" - integrity sha512-EVVNll0e6QEsNhK7IJI0x51nbmv57E6X8izO3LLEnfbSZNwERG4P5nAjJfglqCSNkT4svKp1/0kzc+ldlQttOg== - dependencies: - mongodb-memory-server-core "9.1.3" - tslib "^2.6.2" - -mongodb@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-6.3.0.tgz#ec9993b19f7ed2ea715b903fcac6171c9d1d38ca" - integrity sha512-tt0KuGjGtLUhLoU263+xvQmPHEGTw5LbcNC73EoFRYgSHwZt5tsoJC110hDyO1kjQzpgNrpdcSza9PknWN4LrA== - dependencies: - "@mongodb-js/saslprep" "^1.1.0" - bson "^6.2.0" - mongodb-connection-string-url "^3.0.0" - -mongodb@^5.9.1: - version "5.9.2" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-5.9.2.tgz#39a73b9fbc87ac9d9c1aaf8aab5c5bb69e2b913e" - integrity sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ== - dependencies: - bson "^5.5.0" - mongodb-connection-string-url "^2.6.0" - socks "^2.7.1" - optionalDependencies: - "@mongodb-js/saslprep" "^1.1.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -needle@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049" - integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== - dependencies: - iconv-lite "^0.6.3" - sax "^1.2.4" - -negotiator@0.6.3, negotiator@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -new-find-package-json@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/new-find-package-json/-/new-find-package-json-2.0.0.tgz#96553638781db35061f351e8ccb4d07126b6407d" - integrity sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew== - dependencies: - debug "^4.3.4" - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-abort-controller@^3.0.1, node-abort-controller@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - -node-addon-api@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== - -node-fetch@^2.6.7: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-machine-id@1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" - integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -nodemailer@6.9.7: - version "6.9.7" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.7.tgz#ec2f488f62ba1558e7b19239b62778df4a5c4397" - integrity sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw== - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-package-arg@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.1.tgz#f208b0022c29240a1c532a449bdde3f0a4708ebc" - integrity sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ== - dependencies: - hosted-git-info "^7.0.0" - proc-log "^3.0.0" - semver "^7.3.5" - validate-npm-package-name "^5.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== - -nx@17.2.7: - version "17.2.7" - resolved "https://registry.yarnpkg.com/nx/-/nx-17.2.7.tgz#ac7d73dea0bd23a332e9520cf4834f8421bbfbff" - integrity sha512-CnssDvDphAgyeoYzdPbz6vA/xac4BQeEiO7R9IBLIm+l1MV7boI4SpCS6abR4dbp4VTwI9uBQ9vgqNwCiEjoWg== - dependencies: - "@nrwl/tao" "17.2.7" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.0-rc.46" - "@zkochan/js-yaml" "0.0.6" - axios "^1.5.1" - chalk "^4.1.0" - cli-cursor "3.1.0" - cli-spinners "2.6.1" - cliui "^8.0.1" - dotenv "~16.3.1" - dotenv-expand "~10.0.0" - enquirer "~2.3.6" - figures "3.2.0" - flat "^5.0.2" - fs-extra "^11.1.0" - glob "7.1.4" - ignore "^5.0.4" - jest-diff "^29.4.1" - js-yaml "4.1.0" - jsonc-parser "3.2.0" - lines-and-columns "~2.0.3" - minimatch "3.0.5" - node-machine-id "1.1.12" - npm-run-path "^4.0.1" - open "^8.4.0" - semver "7.5.3" - string-width "^4.2.3" - strong-log-transformer "^2.1.0" - tar-stream "~2.2.0" - tmp "~0.2.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - yargs "^17.6.2" - yargs-parser "21.1.1" - optionalDependencies: - "@nx/nx-darwin-arm64" "17.2.7" - "@nx/nx-darwin-x64" "17.2.7" - "@nx/nx-freebsd-x64" "17.2.7" - "@nx/nx-linux-arm-gnueabihf" "17.2.7" - "@nx/nx-linux-arm64-gnu" "17.2.7" - "@nx/nx-linux-arm64-musl" "17.2.7" - "@nx/nx-linux-x64-gnu" "17.2.7" - "@nx/nx-linux-x64-musl" "17.2.7" - "@nx/nx-win32-arm64-msvc" "17.2.7" - "@nx/nx-win32-x64-msvc" "17.2.7" - -object-assign@^4, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-inspect@~1.12.3: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6, object.entries@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.6, object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== - dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.values@^1.1.6, object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1, on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optimism@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" - integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== - dependencies: - "@wry/caches" "^1.0.0" - "@wry/context" "^0.7.0" - "@wry/trie" "^0.4.3" - tslib "^2.3.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -ora@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" - integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== - dependencies: - bl "^4.0.3" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - log-symbols "^4.0.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-filter-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-2.0.0.tgz#1c0b62d5f3a2442749a2d139e6dddee6e81d8d16" - integrity sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg== - dependencies: - arch "^2.1.0" - -ospath@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-node-version@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - -parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -passport-strategy@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" - integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA== - -passport@0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/passport/-/passport-0.7.0.tgz#3688415a59a48cf8068417a8a8092d4492ca3a05" - integrity sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ== - dependencies: - passport-strategy "1.x.x" - pause "0.0.1" - utils-merge "^1.0.1" - -path-browserify@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pause@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" - integrity sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg== - -pdfast@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/pdfast/-/pdfast-0.2.0.tgz#8cbc556e1bf2522177787c0de2e0d4373ba885c9" - integrity sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA== - -peek-readable@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" - integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.2.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-dir@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" - integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== - dependencies: - find-up "^6.3.0" - -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - -portfinder@^1.0.28: - version "1.0.32" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" - integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== - dependencies: - async "^2.6.4" - debug "^3.2.7" - mkdirp "^0.5.6" - -postcss-calc@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" - integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== - dependencies: - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - -postcss-colormin@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.0.1.tgz#3aa61d38a88dbdeeb7252fae67809a7ac547a129" - integrity sha512-Tb9aR2wCJCzKuNjIeMzVNd0nXjQy25HDgFmmaRsHnP0eP/k8uQWE4S8voX5S2coO5CeKrp+USFs1Ayv9Tpxx6w== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.0.1.tgz#a1451cb7e53b67b3db95c37276c5decb997409f2" - integrity sha512-zTd4Vh0HxGkhg5aHtfCogcRHzGkvblfdWlQ53lIh1cJhYcGyIxh2hgtKoVh40AMktRERet+JKdB04nNG19kjmA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.1.tgz#46176212bd9c3e5f48aa4b8b4868786726c41d36" - integrity sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg== - -postcss-discard-duplicates@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.1.tgz#112b1a95948e69b3484fdd43584dda6930977939" - integrity sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg== - -postcss-discard-empty@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.1.tgz#b34cb45ec891246da4506b53e352390fdef126c4" - integrity sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg== - -postcss-discard-overridden@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.1.tgz#c63c559237758d74bc505452393a64dda9b19ef4" - integrity sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA== - -postcss-import@~14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-loader@^6.1.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - -postcss-merge-longhand@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.1.tgz#5a1145868c615e643ca0996d9e9c3f09ad8de854" - integrity sha512-vmr/HZQzaPXc45FRvSctqFTF05UaDnTn5ABX+UtQPJznDWT/QaFbVc/pJ5C2YPxx2J2XcfmWowlKwtCDwiQ5hA== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^6.0.1" - -postcss-merge-rules@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.0.2.tgz#b0f0063a05d671b7093a86f0faa6d2c6695dc036" - integrity sha512-6lm8bl0UfriSfxI+F/cezrebqqP8w702UC6SjZlUlBYwuRVNbmgcJuQU7yePIvD4MNT53r/acQCUAyulrpgmeQ== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^4.0.1" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.0.1.tgz#788eb930168be90225f3937f0b70aa19d8b532b2" - integrity sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.1.tgz#4faf1880b483dc37016658aa186b42194ff9b5bc" - integrity sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w== - dependencies: - colord "^2.9.1" - cssnano-utils "^4.0.1" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.0.1.tgz#79b83947bae2aa991df12646c7f463276abb0aef" - integrity sha512-eFvGWArqh4khPIgPDu6SZNcaLctx97nO7c59OXnRtGntAp5/VS4gjMhhW9qUFsK6mQ27pEZGt2kR+mPizI+Z9g== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^4.0.1" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.1.tgz#7b2f05651a2f734da1fa50dea62cfc47e67d68f9" - integrity sha512-mfReq5wrS6vkunxvJp6GDuOk+Ak6JV7134gp8L+ANRnV9VwqzTvBtX6lpohooVU750AR0D3pVx2Zn6uCCwOAfQ== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" - integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.0.tgz#fbfddfda93a31f310f1d152c2bb4d3f3c5592ee0" - integrity sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-normalize-charset@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.1.tgz#5f70e1eb8bbdbcfcbed060ef70f179e8fef57d0c" - integrity sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg== - -postcss-normalize-display-values@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.1.tgz#ff9aa30bbf1283294bfd9cc8b6fb81ff060a7f2d" - integrity sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.1.tgz#41ffdc72994f024c6cd6e91dbfb40ab9abe6fe90" - integrity sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.1.tgz#55dc54b6f80305b280a379899a6626e0a07b04a8" - integrity sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.1.tgz#7605e0fb4ec7bf2709709991d13a949e4419db1d" - integrity sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.1.tgz#ef937b7ca2fd62ed0b46645ea5728b842a3600db" - integrity sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.1.tgz#a652faa02fc8ce5d1429ac0782575d8d66a60d9b" - integrity sha512-ok9DsI94nEF79MkvmLfHfn8ddnKXA7w+8YuUoz5m7b6TOdoaRCpvu/QMHXQs9+DwUbvp+ytzz04J55CPy77PuQ== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.1.tgz#eae58cb4f5f9a4fa5bbbf6d4222dff534ad46186" - integrity sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.1.tgz#b5933750b938814c028d3d2b2e5c0199e0037b53" - integrity sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.1.tgz#553e735d009065b362da93340e57f43d5f2d0fbc" - integrity sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA== - dependencies: - cssnano-utils "^4.0.1" - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.0.1.tgz#37621ba31a18fd75eb9c76e818cca2a2adb13238" - integrity sha512-cgzsI2ThG1PMSdSyM9A+bVxiiVgPIVz9f5c6H+TqEv0CA89iCOO81mwLWRWLgOKFtQkKob9nNpnkxG/1RlgFcA== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.1.tgz#7bf59d7c6e7066e3b18ef17237d2344bd3da6d75" - integrity sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: - version "6.0.13" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.1.tgz#6bf63713ef5cb40f1bedd2c2cfca2486b41d5184" - integrity sha512-eWV4Rrqa06LzTgqirOv5Ln6WTGyU7Pbeqj9WEyKo9tpnWixNATVJMeaEcOHOW1ZYyjcG8wSJwX/28DvU3oy3HA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^3.0.5" - -postcss-unique-selectors@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.1.tgz#e6d071c2ea64ce265eb55ea9c170ff951183c712" - integrity sha512-/KCCEpNNR7oXVJ38/Id7GC9Nt0zxO1T3zVbhVaq6F6LSG+3gU3B7+QuTHfD0v8NPEHlzewAout29S0InmB78EQ== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.4.14, postcss@^8.4.21, postcss@^8.4.24: - version "8.4.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" - integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -pretty-bytes@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-format@^27.0.2, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -proc-log@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" - integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.5.8, prop-types@^15.7.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== - -qrcode.react@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8" - integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== - -qrcode@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" - integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - -qs@6.10.4: - version "6.10.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" - integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== - dependencies: - side-channel "^1.0.4" - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.0, qs@^6.11.2, qs@^6.4.0: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -query-string@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" - integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== - dependencies: - decode-uri-component "^0.2.2" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" - integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -random-bytes@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc-cascader@~3.20.0: - version "3.20.0" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.20.0.tgz#b270f9d84ed83417ee7309ef5e56e415f1586076" - integrity sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw== - dependencies: - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - classnames "^2.3.1" - rc-select "~14.10.0" - rc-tree "~5.8.1" - rc-util "^5.37.0" - -rc-checkbox@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.1.0.tgz#6be0d9d8de2cc96fb5e37f9036a1c3e360d0a42d" - integrity sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.3.2" - rc-util "^5.25.2" - -rc-collapse@~3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.7.2.tgz#d11538ff9c705a5c988d9a4dfcc051a919692fe3" - integrity sha512-ZRw6ipDyOnfLFySxAiCMdbHtb5ePAsB9mT17PA6y1mRD/W6KHRaZeb5qK/X9xDV1CqgyxMpzw0VdS74PCcUk4A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.3.4" - rc-util "^5.27.0" - -rc-dialog@~9.3.4: - version "9.3.4" - resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.3.4.tgz#e0decb3d4a0dbe36524a67ed2f8fe2daa4b7b73c" - integrity sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.0.0-8" - classnames "^2.2.6" - rc-motion "^2.3.0" - rc-util "^5.21.0" - -rc-drawer@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.5.2.tgz#49c1f279261992f6d4653d32a03b14acd436d610" - integrity sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.1.1" - classnames "^2.2.6" - rc-motion "^2.6.1" - rc-util "^5.36.0" - -rc-dropdown@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.1.0.tgz#418a68939631520de80d0865d02b440eeeb4168e" - integrity sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw== - dependencies: - "@babel/runtime" "^7.18.3" - "@rc-component/trigger" "^1.7.0" - classnames "^2.2.6" - rc-util "^5.17.0" - -rc-field-form@~1.41.0: - version "1.41.0" - resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.41.0.tgz#660ed8691fdabbc1e5b1ee6b5e0e4f534b295cf0" - integrity sha512-k9AS0wmxfJfusWDP/YXWTpteDNaQ4isJx9UKxx4/e8Dub4spFeZ54/EuN2sYrMRID/+hUznPgVZeg+Gf7XSYCw== - dependencies: - "@babel/runtime" "^7.18.0" - async-validator "^4.1.0" - rc-util "^5.32.2" - -rc-image@~7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-7.5.1.tgz#39a93354e14fe3e5eaafd9c9464e8fe3c6c171a0" - integrity sha512-Z9loECh92SQp0nSipc0MBuf5+yVC05H/pzC+Nf8xw1BKDFUJzUeehYBjaWlxly8VGBZJcTHYri61Fz9ng1G3Ag== - dependencies: - "@babel/runtime" "^7.11.2" - "@rc-component/portal" "^1.0.2" - classnames "^2.2.6" - rc-dialog "~9.3.4" - rc-motion "^2.6.2" - rc-util "^5.34.1" - -rc-input-number@~8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-8.4.0.tgz#f0d0caa2ce3a4e37f062556f9cb4c08c8c23322d" - integrity sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/mini-decimal" "^1.0.1" - classnames "^2.2.5" - rc-input "~1.3.5" - rc-util "^5.28.0" - -rc-input@~1.3.11, rc-input@~1.3.5: - version "1.3.11" - resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.3.11.tgz#08f25d6d65b418dc9001e8f36432fe323bde37fa" - integrity sha512-jhH7QP5rILanSHCGSUkdoFE5DEtpv8FIseYhuYkOZzUBeiVAiwM3q26YqZ6xBB0QFEZ/yUAgms4xW4iuub3xFQ== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.18.1" - -rc-mentions@~2.9.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.9.1.tgz#cfe55913fd5bc156ef9814f38c1a2ceefee032ce" - integrity sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew== - dependencies: - "@babel/runtime" "^7.22.5" - "@rc-component/trigger" "^1.5.0" - classnames "^2.2.6" - rc-input "~1.3.5" - rc-menu "~9.12.0" - rc-textarea "~1.5.0" - rc-util "^5.34.1" - -rc-menu@~9.12.0, rc-menu@~9.12.4: - version "9.12.4" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.12.4.tgz#4959b5eeb780be7ff52aac31952b35efca46b9a3" - integrity sha512-t2NcvPLV1mFJzw4F21ojOoRVofK2rWhpKPx69q2raUsiHPDP6DDevsBILEYdsIegqBeSXoWs2bf6CueBKg3BFg== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.17.0" - classnames "2.x" - rc-motion "^2.4.3" - rc-overflow "^1.3.1" - rc-util "^5.27.0" - -rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" - integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.21.0" - -rc-notification@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-5.3.0.tgz#e31c86fe2350598ade8cff383babd1befa7a94fe" - integrity sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.9.0" - rc-util "^5.20.1" - -rc-overflow@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" - integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.37.0" - -rc-pagination@~4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-4.0.3.tgz#6d35314e8e24468cd2c3e8c00dab89c515a85d08" - integrity sha512-s1MNwyU83AgycikYckRdpmkN+4ZZuul0E0YdDp7dMgcjg/d2fak767ZIbLP4Q5YPPla7NDorfVFTvGQAPj6jXA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.3.2" - rc-util "^5.38.0" - -rc-picker@~3.14.6: - version "3.14.6" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-3.14.6.tgz#60fc34f9883272e10f6c593fa6d82e7e7a70781b" - integrity sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.5.0" - classnames "^2.2.1" - rc-util "^5.30.0" - -rc-progress@~3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.5.1.tgz#a3cdfd2fe04eb5c3d43fa1c69e7dd70c73b102ae" - integrity sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-util "^5.16.1" - -rc-rate@~2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.12.0.tgz#0182deffed3b009cdcc61660da8746c39ed91ed5" - integrity sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.0.1" - -rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" - integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== - dependencies: - "@babel/runtime" "^7.20.7" - classnames "^2.2.1" - rc-util "^5.38.0" - resize-observer-polyfill "^1.5.1" - -rc-segmented@~2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.2.2.tgz#a34f12ce6c0975fc3042ae7656bcd18e1744798e" - integrity sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-motion "^2.4.4" - rc-util "^5.17.0" - -rc-select@~14.10.0: - version "14.10.0" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.10.0.tgz#5f60e61ed7c9a83c8591616b1174a1c4ab2de0cd" - integrity sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.5.0" - classnames "2.x" - rc-motion "^2.0.1" - rc-overflow "^1.3.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.2" - -rc-slider@~10.5.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.5.0.tgz#1bd4853d114cb3403b67c485125887adb6a2a117" - integrity sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.27.0" - -rc-steps@~6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-6.0.1.tgz#c2136cd0087733f6d509209a84a5c80dc29a274d" - integrity sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g== - dependencies: - "@babel/runtime" "^7.16.7" - classnames "^2.2.3" - rc-util "^5.16.1" - -rc-switch@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-4.1.0.tgz#f37d81b4e0c5afd1274fd85367b17306bf25e7d7" - integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg== - dependencies: - "@babel/runtime" "^7.21.0" - classnames "^2.2.1" - rc-util "^5.30.0" - -rc-table@~7.36.1: - version "7.36.1" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.36.1.tgz#4a1a6d7e9797d553845bfa62571720cc613ecc94" - integrity sha512-9qMxEm/3Y8ukdW8I8ZvmhX0QImfNKzH0JEUlSbyaUlsYTB+/tQEbfaB8YkG4sHVZ1io4pxqK/BXoZYqebi/TIQ== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/context" "^1.4.0" - classnames "^2.2.5" - rc-resize-observer "^1.1.0" - rc-util "^5.37.0" - rc-virtual-list "^3.11.1" - -rc-tabs@~12.14.1: - version "12.14.1" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.14.1.tgz#1fe4c0bd54550c216f9612b76eff7fbe750f4d2b" - integrity sha512-1xlE7JQNYxD5RwBsM7jf2xSdUrkmTSDFLFEm2gqAgnsRlOGydEzXXNAVTOT6QcgM1G/gCm+AgG+FYPUGb4Hs4g== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "2.x" - rc-dropdown "~4.1.0" - rc-menu "~9.12.0" - rc-motion "^2.6.2" - rc-resize-observer "^1.0.0" - rc-util "^5.34.1" - -rc-textarea@~1.5.0, rc-textarea@~1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.5.3.tgz#513e837d308584996c05f540f4f58645a3a8c89a" - integrity sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-input "~1.3.5" - rc-resize-observer "^1.0.0" - rc-util "^5.27.0" - -rc-tooltip@~6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-6.1.3.tgz#83b97004a1ab918ed4936bbf089bc754254efd1b" - integrity sha512-HMSbSs5oieZ7XddtINUddBLSVgsnlaSb3bZrzzGWjXa7/B7nNedmsuz72s7EWFEro9mNa7RyF3gOXKYqvJiTcQ== - dependencies: - "@babel/runtime" "^7.11.2" - "@rc-component/trigger" "^1.18.0" - classnames "^2.3.1" - -rc-tree-select@~5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.15.0.tgz#8591f1dd28b043dde6fa1ca30c7acb198b160a42" - integrity sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-select "~14.10.0" - rc-tree "~5.8.1" - rc-util "^5.16.1" - -rc-tree@~5.8.1, rc-tree@~5.8.2: - version "5.8.2" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.8.2.tgz#ed3a3f7c56597bbeab3303407a9e1739bbf15621" - integrity sha512-xH/fcgLHWTLmrSuNphU8XAqV7CdaOQgm4KywlLGNoTMhDAcNR3GVNP6cZzb0GrKmIZ9yae+QLot/cAgUdPRMzg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.1" - -rc-upload@~4.3.5: - version "4.3.6" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.6.tgz#6a87397315cee065a04bee4103d6de9dbe2e377a" - integrity sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA== - dependencies: - "@babel/runtime" "^7.18.3" - classnames "^2.2.5" - rc-util "^5.2.0" - -rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1: - version "5.38.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.1.tgz#4915503b89855f5c5cd9afd4c72a7a17568777bb" - integrity sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng== - dependencies: - "@babel/runtime" "^7.18.3" - react-is "^18.2.0" - -rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: - version "3.11.3" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" - integrity sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q== - dependencies: - "@babel/runtime" "^7.20.0" - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.36.0" - -react-content-loader@^5.0.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/react-content-loader/-/react-content-loader-5.1.4.tgz#854bafe4415dd9de07174621375bc308edd0ebb5" - integrity sha512-hTq7pZi2GKCK6a9d3u6XStozm0QGCEjw8cSqQReiWnh2up6IwCha5R5TF0o6SY5qUDpByloEZEZtnFxpJyENFw== - -react-csv@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-csv/-/react-csv-2.2.2.tgz#5bbf0d72a846412221a14880f294da9d6def9bfb" - integrity sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw== - -react-dom@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-dropzone@14.2.3: - version "14.2.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" - integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== - dependencies: - attr-accept "^2.2.2" - file-selector "^0.6.0" - prop-types "^15.8.1" - -react-fast-compare@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -react-helmet-async@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-2.0.4.tgz#50a4377778f380ed1d0136303916b38eff1bf153" - integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== - dependencies: - invariant "^2.2.4" - react-fast-compare "^3.2.2" - shallowequal "^1.1.0" - -react-highlight-words@0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" - integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== - dependencies: - highlight-words-core "^1.2.0" - memoize-one "^4.0.0" - prop-types "^15.5.8" - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.0.0, react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react-router-dom@6.21.1: - version "6.21.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.21.1.tgz#58b459d2fe1841388c95bb068f85128c45e27349" - integrity sha512-QCNrtjtDPwHDO+AO21MJd7yIcr41UetYt5jzaB9Y1UYaPTCnVuJq6S748g1dE11OQlCFIQg+RtAA1SEZIyiBeA== - dependencies: - "@remix-run/router" "1.14.1" - react-router "6.21.1" - -react-router@6.21.1: - version "6.21.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.21.1.tgz#8db7ee8d7cfc36513c9a66b44e0897208c33be34" - integrity sha512-W0l13YlMTm1YrpVIOpjCADJqEUpz1vm+CMo47RuFX4Ftegwm6KOYsL5G3eiE52jnJpKvzm6uB/vTKTPKM8dmkA== - dependencies: - "@remix-run/router" "1.14.1" - -react@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readable-stream@3, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-web-to-node-stream@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" - integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== - dependencies: - readable-stream "^3.6.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -reflect.getprototypeof@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3" - integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" - -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -request-progress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== - dependencies: - throttleit "^1.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-alpn@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.6: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.4: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -response-iterator@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" - integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== - -responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -retry@0.13.1, retry@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - integrity sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg== - dependencies: - align-text "^0.1.1" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^0.25.8: - version "0.25.8" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.25.8.tgz#bf6ce83b87510d163446eeaa577ed6a6fc5835e0" - integrity sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA== - dependencies: - chalk "^1.1.1" - minimist "^1.2.0" - source-map-support "^0.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rw@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== - -rxjs@^7.5.1, rxjs@^7.8.0: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sanitize-filename@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" - integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== - dependencies: - truncate-utf8-bytes "^1.0.0" - -sass-loader@^12.2.0: - version "12.6.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - -sass@^1.42.1: - version "1.69.5" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.69.5.tgz#23e18d1c757a35f2e52cc81871060b9ad653dfde" - integrity sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -sax@>=0.6.0, sax@^1.2.4, sax@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== - -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0, schema-utils@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -scroll-into-view-if-needed@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f" - integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ== - dependencies: - compute-scroll-into-view "^3.0.2" - -secure-compare@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" - integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== - dependencies: - "@types/node-forge" "^1.3.0" - node-forge "^1" - -semver-regex@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-4.0.5.tgz#fbfa36c7ba70461311f5debcb3928821eb4f9180" - integrity sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw== - -semver-truncate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-3.0.0.tgz#0e3b4825d4a4225d8ae6e7c72231182b42edba40" - integrity sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg== - dependencies: - semver "^7.3.5" - -semver@7.5.3: - version "7.5.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" - -semver@^5.6.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== - dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -set-function-name@^2.0.0, set-function-name@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.11: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -shelljs@0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -size-sensor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/size-sensor/-/size-sensor-1.0.2.tgz#b8f8da029683cf2b4e22f12bf8b8f0a1145e8471" - integrity sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw== - -slash@3.0.0, slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -socks@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" - integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== - dependencies: - ip "^2.0.0" - smart-buffer "^4.2.0" - -sort-keys-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" - integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== - dependencies: - sort-keys "^1.0.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== - dependencies: - is-plain-obj "^1.0.0" - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-loader@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" - integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.3.2: - version "0.3.3" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" - integrity sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg== - dependencies: - source-map "0.1.32" - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.1.32: - version "0.1.32" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" - integrity sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ== - dependencies: - amdefine ">=0.0.4" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3, source-map@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -sparse-bitfield@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" - integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== - dependencies: - memory-pager "^1.0.2" - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sshpk@^1.14.1: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - -stream-browserify@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-http@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - -streamx@^2.15.0: - version "2.15.6" - resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.6.tgz#28bf36997ebc7bf6c08f9eba958735231b833887" - integrity sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw== - dependencies: - fast-fifo "^1.1.0" - queue-tick "^1.0.1" - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - -string-convert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" - integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.8, string.prototype.trim@~1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-outer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-2.0.0.tgz#c45c724ed9b1ff6be5f660503791404f4714084b" - integrity sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg== - -strnum@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" - integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== - -strong-log-transformer@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" - integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== - dependencies: - duplexer "^0.1.1" - minimist "^1.2.0" - through "^2.3.4" - -strtok3@^7.0.0-alpha.9: - version "7.0.0" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" - integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== - dependencies: - "@tokenizer/token" "^0.3.0" - peek-readable "^5.0.0" - -style-loader@^3.3.0, style-loader@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" - integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== - -stylehacks@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.0.1.tgz#c103f0149e268a290a0dda3fce8fd4c5459a13c3" - integrity sha512-jTqG2aIoX2fYg0YsGvqE4ooE/e75WmaEjnNiP6Ag7irLtHxML8NJRxRxS0HyDpde8DRGuEXTFVHVfR5Tmbxqzg== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" - -stylis@^4.0.13: - version "4.3.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.0.tgz#abe305a669fc3d8777e10eefcfc73ad861c5588c" - integrity sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ== - -stylus-loader@^7.1.0, stylus-loader@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.1.3.tgz#1fdfa0d34e8c05a569bc0902e1ecdb857d764964" - integrity sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw== - dependencies: - fast-glob "^3.2.12" - normalize-path "^3.0.0" - -stylus@^0.59.0: - version "0.59.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" - integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== - dependencies: - "@adobe/css-tools" "^4.0.1" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.2.4" - source-map "^0.7.3" - -stylus@^0.62.0: - version "0.62.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.62.0.tgz#648a020e2bf90ed87587ab9c2f012757e977bb5d" - integrity sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg== - dependencies: - "@adobe/css-tools" "~4.3.1" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.3.0" - source-map "^0.7.3" - -superagent@^8.0.5: - version "8.1.2" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" - integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== - dependencies: - component-emitter "^1.3.0" - cookiejar "^2.1.4" - debug "^4.3.4" - fast-safe-stringify "^2.1.1" - form-data "^4.0.0" - formidable "^2.1.2" - methods "^1.1.2" - mime "2.6.0" - qs "^6.11.0" - semver "^7.3.8" - -supertest@6.3.3: - version "6.3.3" - resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.3.tgz#42f4da199fee656106fd422c094cf6c9578141db" - integrity sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA== - dependencies: - methods "^1.1.2" - superagent "^8.0.5" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0, supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^3.0.2, svgo@^3.0.5: - version "3.1.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.1.0.tgz#7e63855c8da73297d5d5765e968f9679a0f8d24a" - integrity sha512-R5SnNA89w1dYgNv570591F66v34b3eQShpIBcQtZtM5trJwm1VvxbIoMpRYY3ybTAutcKTLEmTsdnaknOHbiQA== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.2.1" - css-what "^6.1.0" - csso "5.0.5" - picocolors "^1.0.0" - -swc-loader@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" - integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== - -symbol-observable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tape@^4.5.1: - version "4.17.0" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.17.0.tgz#de89f3671ddc5dad178d04c28dc6b0183f42268e" - integrity sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw== - dependencies: - "@ljharb/resumer" "~0.0.1" - "@ljharb/through" "~2.3.9" - call-bind "~1.0.2" - deep-equal "~1.1.1" - defined "~1.0.1" - dotignore "~0.1.2" - for-each "~0.3.3" - glob "~7.2.3" - has "~1.0.3" - inherits "~2.0.4" - is-regex "~1.1.4" - minimist "~1.2.8" - mock-property "~1.0.0" - object-inspect "~1.12.3" - resolve "~1.22.6" - string.prototype.trim "~1.2.8" - -tar-stream@^3.0.0: - version "3.1.6" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.6.tgz#6520607b55a06f4a2e2e04db360ba7d338cc5bab" - integrity sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== - dependencies: - b4a "^1.6.4" - fast-fifo "^1.2.0" - streamx "^2.15.0" - -tar-stream@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar@^6.1.11: - version "6.2.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" - integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7: - version "5.3.9" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" - integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.17" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.16.8" - -terser@^5.16.8: - version "5.26.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.26.0.tgz#ee9f05d929f4189a9c28a0feb889d96d50126fe1" - integrity sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throttle-debounce@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933" - integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg== - -throttleit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" - integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== - -through2@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -"through@>=2.2.7 <3", through@^2.3.4, through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tmp@0.2.1, tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -token-types@^5.0.0-alpha.2: - version "5.0.1" - resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4" - integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== - dependencies: - "@tokenizer/token" "^0.3.0" - ieee754 "^1.2.1" - -tough-cookie@^4.1.2, tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - -tr46@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" - integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== - dependencies: - punycode "^2.3.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -trim-repeated@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-2.0.0.tgz#5d60556d6d40d9461b7c7e06c3ac20b6b1d50090" - integrity sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg== - dependencies: - escape-string-regexp "^5.0.0" - -truncate-utf8-bytes@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" - integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== - dependencies: - utf8-byte-length "^1.0.1" - -ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== - -ts-essentials@9.4.1: - version "9.4.1" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-9.4.1.tgz#6a6b6f81c2138008a5eef216e9fa468d8d9e2ab4" - integrity sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ== - -ts-invariant@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" - integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== - dependencies: - tslib "^2.1.0" - -ts-jest@29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b" - integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" - -ts-loader@^9.3.1: - version "9.5.1" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" - integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - source-map "^0.7.4" - -ts-node@10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -ts-node@10.9.2: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths-webpack-plugin@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz#84008fc3e3e0658fdb0262758b07b4da6265ff1a" - integrity sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.7.0" - tsconfig-paths "^4.0.0" - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.10.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typed-assert@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" - integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== - -typescript@5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== - -typescript@~5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - -uglify-js@^2.6.2: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - integrity sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w== - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - integrity sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q== - -uid-safe@~2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" - integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== - dependencies: - random-bytes "~1.0.0" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -union@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" - integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== - dependencies: - qs "^6.4.0" - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-join@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" - integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== - -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" - integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== - dependencies: - punycode "^1.4.1" - qs "^6.11.2" - -utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.3: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utils-merge@1.0.1, utils-merge@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@9.0.1, uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -validate-npm-package-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" - integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== - dependencies: - builtins "^5.0.0" - -value-or-promise@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" - integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vscode-json-languageservice@^4.1.6: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz#94b6f471ece193bf4a1ef37f6ab5cce86d50a8b4" - integrity sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA== - dependencies: - jsonc-parser "^3.0.0" - vscode-languageserver-textdocument "^1.0.3" - vscode-languageserver-types "^3.16.0" - vscode-nls "^5.0.0" - vscode-uri "^3.0.3" - -vscode-languageserver-textdocument@^1.0.3: - version "1.0.11" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" - integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== - -vscode-languageserver-types@^3.16.0: - version "3.17.5" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz#3273676f0cf2eab40b3f44d085acbb7f08a39d8a" - integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg== - -vscode-nls@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.2.0.tgz#3cb6893dd9bd695244d8a024bdf746eea665cc3f" - integrity sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng== - -vscode-uri@^3.0.3: - version "3.0.8" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" - integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== - -w3c-xmlserializer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" - integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== - dependencies: - xml-name-validator "^4.0.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -wcwidth@^1.0.0, wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -web-encoding@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" - integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== - dependencies: - util "^0.12.3" - optionalDependencies: - "@zxing/text-encoding" "0.9.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.9.3: - version "4.15.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" - integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.13.0" - -webpack-merge@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - -webpack-node-externals@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" - integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== - -webpack-sources@^3.0.0, webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack-subresource-integrity@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz#8b7606b033c6ccac14e684267cb7fb1f5c2a132a" - integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== - dependencies: - typed-assert "^1.0.8" - -webpack@^5.80.0: - version "5.88.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e" - integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -webpack@^5.89.0: - version "5.89.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" - integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -whatwg-url@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-13.0.0.tgz#b7b536aca48306394a34e44bda8e99f332410f8f" - integrity sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig== - dependencies: - tr46 "^4.1.1" - webidl-conversions "^7.0.0" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== - dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" - is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" - is-generator-function "^1.0.10" - is-regex "^1.1.4" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" - -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - integrity sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg== - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - integrity sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^8.11.0, ws@^8.13.0: - version "8.15.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.15.1.tgz#271ba33a45ca0cc477940f7f200cd7fba7ee1997" - integrity sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xml2js@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" - integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xml@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" - integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.3.1, yargs@^17.6.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - integrity sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A== - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -zen-observable-ts@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" - integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== - dependencies: - zen-observable "0.8.15" - -zen-observable@0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adobe/css-tools@^4.0.1", "@adobe/css-tools@~4.3.1": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" + integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@ant-design/colors@^7.0.0": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.2.tgz#c5c753a467ce8d86ba7ca4736d2c01f599bb5492" + integrity sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg== + dependencies: + "@ctrl/tinycolor" "^3.6.1" + +"@ant-design/cssinjs@^1.18.1": + version "1.18.4" + resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.18.4.tgz#428411628f216acb71a2423d5332f6e6af7010b5" + integrity sha512-IrUAOj5TYuMG556C9gdbFuOrigyhzhU5ZYpWb3gYTxAwymVqRbvLzFCZg6OsjLBR6GhzcxYF3AhxKmjB+rA2xA== + dependencies: + "@babel/runtime" "^7.11.1" + "@emotion/hash" "^0.8.0" + "@emotion/unitless" "^0.7.5" + classnames "^2.3.1" + csstype "^3.1.3" + rc-util "^5.35.0" + stylis "^4.0.13" + +"@ant-design/icons-svg@^4.3.0", "@ant-design/icons-svg@^4.4.0": + version "4.4.2" + resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6" + integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== + +"@ant-design/icons@5.2.6": + version "5.2.6" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.2.6.tgz#2d4a9a37f531eb2a20cebec01d6fb69cf593900d" + integrity sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw== + dependencies: + "@ant-design/colors" "^7.0.0" + "@ant-design/icons-svg" "^4.3.0" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-util "^5.31.1" + +"@ant-design/icons@^5.2.6": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.3.0.tgz#b4b57908eb4f4c31777424f10d341f6823a77d2b" + integrity sha512-69FgBsIkeCjw72ZU3fJpqjhmLCPrzKGEllbrAZK7MUdt1BrKsyG6A8YDCBPKea27UQ0tRXi33PcjR4tp/tEXMg== + dependencies: + "@ant-design/colors" "^7.0.0" + "@ant-design/icons-svg" "^4.4.0" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-util "^5.31.1" + +"@ant-design/plots@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@ant-design/plots/-/plots-1.2.6.tgz#35e541484069249989f92b7d9cdc835ea87191c5" + integrity sha512-fFzB9DxRSPQa47S3WypRk4Rh+P8vBUuY/DT+IXgUrlKJtvVZUFnuYfjypX3Q/Pie2PEbI6gmskzXLxVF+3Ztvw== + dependencies: + "@antv/g2plot" "^2.2.11" + "@antv/util" "^2.0.9" + react-content-loader "^5.0.4" + +"@ant-design/react-slick@~1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz#241bb412aeacf7ff5d50c61fa5db66773fde6b56" + integrity sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ== + dependencies: + "@babel/runtime" "^7.10.4" + classnames "^2.2.5" + json2mq "^0.2.0" + resize-observer-polyfill "^1.5.1" + throttle-debounce "^5.0.0" + +"@antv/adjust@^0.2.1": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@antv/adjust/-/adjust-0.2.5.tgz#bb37bb4a0a87ca3f4b660848bc9ac07f02bcf5db" + integrity sha512-MfWZOkD9CqXRES6MBGRNe27Q577a72EIwyMnE29wIlPliFvJfWwsrONddpGU7lilMpVKecS3WAzOoip3RfPTRQ== + dependencies: + "@antv/util" "~2.0.0" + tslib "^1.10.0" + +"@antv/attr@^0.3.1": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@antv/attr/-/attr-0.3.5.tgz#0708c74fed5ad6ee03ad1e2913099ed8248f7ebf" + integrity sha512-wuj2gUo6C8Q2ASSMrVBuTcb5LcV+Tc0Egiy6bC42D0vxcQ+ta13CLxgMmHz8mjD0FxTPJDXSciyszRSC5TdLsg== + dependencies: + "@antv/color-util" "^2.0.1" + "@antv/scale" "^0.3.0" + "@antv/util" "~2.0.0" + tslib "^2.3.1" + +"@antv/color-util@^2.0.1", "@antv/color-util@^2.0.2", "@antv/color-util@^2.0.3", "@antv/color-util@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@antv/color-util/-/color-util-2.0.6.tgz#5e129bb9ce3f2b9309b52102b3dc929430ccc016" + integrity sha512-KnPEaAH+XNJMjax9U35W67nzPI+QQ2x27pYlzmSIWrbj4/k8PGrARXfzDTjwoozHJY8qG62Z+Ww6Alhu2FctXQ== + dependencies: + "@antv/util" "^2.0.9" + tslib "^2.0.3" + +"@antv/component@^0.8.27": + version "0.8.35" + resolved "https://registry.yarnpkg.com/@antv/component/-/component-0.8.35.tgz#1d5b8e11bd496cb505e646f505f5f58f0c5173e9" + integrity sha512-VnRa5X77nBPI952o2xePEEMSNZ6g2mcUDrQY8mVL2kino/8TFhqDq5fTRmDXZyWyIYd4ulJTz5zgeSwAnX/INQ== + dependencies: + "@antv/color-util" "^2.0.3" + "@antv/dom-util" "~2.0.1" + "@antv/g-base" "^0.5.9" + "@antv/matrix-util" "^3.1.0-beta.1" + "@antv/path-util" "~2.0.7" + "@antv/scale" "~0.3.1" + "@antv/util" "~2.0.0" + fecha "~4.2.0" + tslib "^2.0.3" + +"@antv/coord@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@antv/coord/-/coord-0.3.1.tgz#982e261d8a1e06a198eb518ea7acc20ed875a019" + integrity sha512-rFE94C8Xzbx4xmZnHh2AnlB3Qm1n5x0VT3OROy257IH6Rm4cuzv1+tZaUBATviwZd99S+rOY9telw/+6C9GbRw== + dependencies: + "@antv/matrix-util" "^3.1.0-beta.2" + "@antv/util" "~2.0.12" + tslib "^2.1.0" + +"@antv/dom-util@^2.0.2", "@antv/dom-util@~2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@antv/dom-util/-/dom-util-2.0.4.tgz#b09b56c56fec42896fc856edad56b595b47ab514" + integrity sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ== + dependencies: + tslib "^2.0.3" + +"@antv/event-emitter@^0.1.1", "@antv/event-emitter@^0.1.2", "@antv/event-emitter@~0.1.0": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz#3e06323b9dcd55a3241ddc7c5458cfabd2095164" + integrity sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg== + +"@antv/g-base@^0.5.11", "@antv/g-base@^0.5.12", "@antv/g-base@^0.5.9", "@antv/g-base@~0.5.6": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@antv/g-base/-/g-base-0.5.15.tgz#4d4174c956ba652a4b55c4f6a2c28aaa92e7738d" + integrity sha512-QOtq50QpnKez9J75/Z8j2yZ7QDQdk8R8mVQJiHtaEO5eI7DM4ZbrsWff/Ew26JYmPWdq7nbRuARMAD4PX9uuLA== + dependencies: + "@antv/event-emitter" "^0.1.1" + "@antv/g-math" "^0.1.9" + "@antv/matrix-util" "^3.1.0-beta.1" + "@antv/path-util" "~2.0.5" + "@antv/util" "~2.0.13" + "@types/d3-timer" "^2.0.0" + d3-ease "^1.0.5" + d3-interpolate "^3.0.1" + d3-timer "^1.0.9" + detect-browser "^5.1.0" + tslib "^2.0.3" + +"@antv/g-canvas@~0.5.10": + version "0.5.14" + resolved "https://registry.yarnpkg.com/@antv/g-canvas/-/g-canvas-0.5.14.tgz#099668cb65d9c89dc2fc1000313c18298dcf8a13" + integrity sha512-IUGLEMIMAUYgaBMT8h3FTmYQYz7sjQkKWwh6Psqx+UPK86fySa+G8fMRrh1EqAL07jVB+GRnn6Ym+3FoFUgeFg== + dependencies: + "@antv/g-base" "^0.5.12" + "@antv/g-math" "^0.1.9" + "@antv/matrix-util" "^3.1.0-beta.1" + "@antv/path-util" "~2.0.5" + "@antv/util" "~2.0.0" + gl-matrix "^3.0.0" + tslib "^2.0.3" + +"@antv/g-math@^0.1.9": + version "0.1.9" + resolved "https://registry.yarnpkg.com/@antv/g-math/-/g-math-0.1.9.tgz#1f981b9aebf5c024f284389aa3e5cba8cefa1f28" + integrity sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ== + dependencies: + "@antv/util" "~2.0.0" + gl-matrix "^3.0.0" + +"@antv/g-svg@~0.5.6": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@antv/g-svg/-/g-svg-0.5.7.tgz#d63db5f8590a5f3ceab097c183ec80ed143f0a50" + integrity sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw== + dependencies: + "@antv/g-base" "^0.5.12" + "@antv/g-math" "^0.1.9" + "@antv/util" "~2.0.0" + detect-browser "^5.0.0" + tslib "^2.0.3" + +"@antv/g2@^4.1.26": + version "4.2.10" + resolved "https://registry.yarnpkg.com/@antv/g2/-/g2-4.2.10.tgz#9448082e7610eb8d16bdf7c97c2ce4f275bafdf9" + integrity sha512-/ZlJ/DFJBCvtEQgE6roxdd6sBml0fZ8ZVfzG+HdjGpA7/ceURb8XkxUcqa0E8NV+e4sFijnaAhBCdUm2whiuyA== + dependencies: + "@antv/adjust" "^0.2.1" + "@antv/attr" "^0.3.1" + "@antv/color-util" "^2.0.2" + "@antv/component" "^0.8.27" + "@antv/coord" "^0.3.0" + "@antv/dom-util" "^2.0.2" + "@antv/event-emitter" "~0.1.0" + "@antv/g-base" "~0.5.6" + "@antv/g-canvas" "~0.5.10" + "@antv/g-svg" "~0.5.6" + "@antv/matrix-util" "^3.1.0-beta.3" + "@antv/path-util" "^2.0.15" + "@antv/scale" "^0.3.14" + "@antv/util" "~2.0.5" + tslib "^2.0.0" + +"@antv/g2plot@^2.2.11": + version "2.4.31" + resolved "https://registry.yarnpkg.com/@antv/g2plot/-/g2plot-2.4.31.tgz#b444aee07d06939949eaa8ba8f8e93f948634aa5" + integrity sha512-SlWHYVsJgRN7E1Oe5Qk6yWBrSWmctmloknFmklaqe9vEeK+YB9ZLUffZvtAHT10mA2NZ+VjGUhlnMNgR9M1PQg== + dependencies: + "@antv/color-util" "^2.0.6" + "@antv/event-emitter" "^0.1.2" + "@antv/g-base" "^0.5.11" + "@antv/g2" "^4.1.26" + "@antv/matrix-util" "^3.1.0-beta.2" + "@antv/path-util" "^3.0.1" + "@antv/scale" "^0.3.18" + "@antv/util" "^2.0.17" + d3-hierarchy "^2.0.0" + d3-regression "^1.3.5" + fmin "^0.0.2" + pdfast "^0.2.0" + size-sensor "^1.0.1" + tslib "^2.0.3" + +"@antv/matrix-util@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.0.4.tgz#ea13f158aa2fb4ba2fb8d6b6b561ec467ea3ac20" + integrity sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ== + dependencies: + "@antv/util" "^2.0.9" + gl-matrix "^3.3.0" + tslib "^2.0.3" + +"@antv/matrix-util@^3.1.0-beta.1", "@antv/matrix-util@^3.1.0-beta.2", "@antv/matrix-util@^3.1.0-beta.3": + version "3.1.0-beta.3" + resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz#e061de8fa7be04605a155c69cc5ce9082eedddee" + integrity sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A== + dependencies: + "@antv/util" "^2.0.9" + gl-matrix "^3.4.3" + tslib "^2.0.3" + +"@antv/path-util@^2.0.15", "@antv/path-util@~2.0.5", "@antv/path-util@~2.0.7": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-2.0.15.tgz#a6f691dfc8b7bce5be7f0aabb5bd614964325631" + integrity sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw== + dependencies: + "@antv/matrix-util" "^3.0.4" + "@antv/util" "^2.0.9" + tslib "^2.0.3" + +"@antv/path-util@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-3.0.1.tgz#42fd84222824e8ad8d1bde70f164a05924870d4a" + integrity sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q== + dependencies: + gl-matrix "^3.1.0" + lodash-es "^4.17.21" + tslib "^2.0.3" + +"@antv/scale@^0.3.0", "@antv/scale@^0.3.14", "@antv/scale@^0.3.18", "@antv/scale@~0.3.1": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@antv/scale/-/scale-0.3.18.tgz#b911f431b3e0b9547b6a65f66d0d3fa295b5ef32" + integrity sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w== + dependencies: + "@antv/util" "~2.0.3" + fecha "~4.2.0" + tslib "^2.0.0" + +"@antv/util@^2.0.17", "@antv/util@^2.0.9", "@antv/util@~2.0.0", "@antv/util@~2.0.12", "@antv/util@~2.0.13", "@antv/util@~2.0.3", "@antv/util@~2.0.5": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@antv/util/-/util-2.0.17.tgz#e8ef42aca7892815b229269f3dd10c6b3c7597a9" + integrity sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q== + dependencies: + csstype "^3.0.8" + tslib "^2.0.3" + +"@apollo/cache-control-types@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz#5da62cf64c3b4419dabfef4536b57a40c8ff0b47" + integrity sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g== + +"@apollo/client@3.8.8": + version "3.8.8" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.8.8.tgz#1a004b2e6de4af38668249a7d7790f6a3431e475" + integrity sha512-omjd9ryGDkadZrKW6l5ktUAdS4SNaFOccYQ4ZST0HLW83y8kQaSZOCTNlpkoBUK8cv6qP8+AxOKwLm2ho8qQ+Q== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + "@wry/equality" "^0.5.6" + "@wry/trie" "^0.5.0" + graphql-tag "^2.12.6" + hoist-non-react-statics "^3.3.2" + optimism "^0.18.0" + prop-types "^15.7.2" + response-iterator "^0.2.6" + symbol-observable "^4.0.0" + ts-invariant "^0.10.3" + tslib "^2.3.0" + zen-observable-ts "^1.2.5" + +"@apollo/protobufjs@1.2.7": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" + integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + long "^4.0.0" + +"@apollo/server-gateway-interface@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz#a79632aa921edefcd532589943f6b97c96fa4d3c" + integrity sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ== + dependencies: + "@apollo/usage-reporting-protobuf" "^4.1.1" + "@apollo/utils.fetcher" "^2.0.0" + "@apollo/utils.keyvaluecache" "^2.1.0" + "@apollo/utils.logger" "^2.0.0" + +"@apollo/server@4.9.5": + version "4.9.5" + resolved "https://registry.yarnpkg.com/@apollo/server/-/server-4.9.5.tgz#388b3e00bef370fbdb89dd22d5a56127afaf87ba" + integrity sha512-eDBfArYbZaTm1AGa82M1aL7lOscVhnZsH85+OWmHMIR98qntzEjNpWpQPYDTru63Qxs4kHcY29NUx/kMGZfGEA== + dependencies: + "@apollo/cache-control-types" "^1.0.3" + "@apollo/server-gateway-interface" "^1.1.1" + "@apollo/usage-reporting-protobuf" "^4.1.1" + "@apollo/utils.createhash" "^2.0.0" + "@apollo/utils.fetcher" "^2.0.0" + "@apollo/utils.isnodelike" "^2.0.0" + "@apollo/utils.keyvaluecache" "^2.1.0" + "@apollo/utils.logger" "^2.0.0" + "@apollo/utils.usagereporting" "^2.1.0" + "@apollo/utils.withrequired" "^2.0.0" + "@graphql-tools/schema" "^9.0.0" + "@josephg/resolvable" "^1.0.0" + "@types/express" "^4.17.13" + "@types/express-serve-static-core" "^4.17.30" + "@types/node-fetch" "^2.6.1" + async-retry "^1.2.1" + body-parser "^1.20.0" + cors "^2.8.5" + express "^4.17.1" + loglevel "^1.6.8" + lru-cache "^7.10.1" + negotiator "^0.6.3" + node-abort-controller "^3.1.1" + node-fetch "^2.6.7" + uuid "^9.0.0" + whatwg-mimetype "^3.0.0" + +"@apollo/usage-reporting-protobuf@^4.1.0", "@apollo/usage-reporting-protobuf@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz#407c3d18c7fbed7a264f3b9a3812620b93499de1" + integrity sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA== + dependencies: + "@apollo/protobufjs" "1.2.7" + +"@apollo/utils.createhash@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz#9d982a166833ce08265ff70f8ef781d65109bdaa" + integrity sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg== + dependencies: + "@apollo/utils.isnodelike" "^2.0.1" + sha.js "^2.4.11" + +"@apollo/utils.dropunuseddefinitions@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz#916cd912cbd88769d3b0eab2d24f4674eeda8124" + integrity sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA== + +"@apollo/utils.fetcher@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz#2f6e3edc8ce79fbe916110d9baaddad7e13d955f" + integrity sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A== + +"@apollo/utils.isnodelike@^2.0.0", "@apollo/utils.isnodelike@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz#08a7e50f08d2031122efa25af089d1c6ee609f31" + integrity sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q== + +"@apollo/utils.keyvaluecache@^2.1.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz#f3f79a2f00520c6ab7a77a680a4e1fec4d19e1a6" + integrity sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw== + dependencies: + "@apollo/utils.logger" "^2.0.1" + lru-cache "^7.14.1" + +"@apollo/utils.logger@^2.0.0", "@apollo/utils.logger@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-2.0.1.tgz#74faeb97d7ad9f22282dfb465bcb2e6873b8a625" + integrity sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg== + +"@apollo/utils.printwithreducedwhitespace@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz#f4fadea0ae849af2c19c339cc5420d1ddfaa905e" + integrity sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg== + +"@apollo/utils.removealiases@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz#2873c93d72d086c60fc0d77e23d0f75e66a2598f" + integrity sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA== + +"@apollo/utils.sortast@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz#58c90bb8bd24726346b61fa51ba7fcf06e922ef7" + integrity sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw== + dependencies: + lodash.sortby "^4.7.0" + +"@apollo/utils.stripsensitiveliterals@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz#2f3350483be376a98229f90185eaf19888323132" + integrity sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA== + +"@apollo/utils.usagereporting@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz#11bca6a61fcbc6e6d812004503b38916e74313f4" + integrity sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ== + dependencies: + "@apollo/usage-reporting-protobuf" "^4.1.0" + "@apollo/utils.dropunuseddefinitions" "^2.0.1" + "@apollo/utils.printwithreducedwhitespace" "^2.0.1" + "@apollo/utils.removealiases" "2.0.1" + "@apollo/utils.sortast" "^2.0.1" + "@apollo/utils.stripsensitiveliterals" "^2.0.1" + +"@apollo/utils.withrequired@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz#e72bc512582a6f26af150439f7eb7473b46ba874" + integrity sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA== + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.22.9", "@babel/core@^7.23.6", "@babel/core@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" + integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.9" + "@babel/parser" "^7.23.9" + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.6", "@babel/generator@^7.7.2": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6", "@babel/helper-create-class-features-plugin@^7.23.9": + version "7.23.10" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea" + integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" + integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== + dependencies: + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" + integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-proposal-decorators@^7.22.7": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.9.tgz#126d947d62ee72022ec46813983c6dd861456fa3" + integrity sha512-hJhBCb0+NnTWybvWq2WpbCYDOcflSbx0t+BYP65e5R9GVnukiDTi+on5bFkk4p7QGuv190H6KfNiV9Knf/3cZA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.23.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-decorators" "^7.23.3" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca" + integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.3.3", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-generator-functions@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce" + integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.23.8": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" + integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" + +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" + integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== + dependencies: + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.23.3" + +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-constant-elements@^7.21.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz#5efc001d07ef0f7da0d73c3a86c132f73d28e43c" + integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-display-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" + +"@babel/plugin-transform-react-pure-annotations@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" + integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-runtime@^7.22.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz#2c64d0680fc8e09e1dfe8fd5c646fe72abd82004" + integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" + integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" + +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" + integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.9" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.8" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.6" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.9" + "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.8" + babel-plugin-polyfill-corejs3 "^0.9.0" + babel-plugin-polyfill-regenerator "^0.5.5" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" + integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.23.3" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" + integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.23.9", "@babel/template@^7.3.3": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + +"@babel/traverse@^7.16.0", "@babel/traverse@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@ctrl/tinycolor@^3.6.0", "@ctrl/tinycolor@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" + integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== + +"@cypress/request@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" + integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "6.10.4" + safe-buffer "^5.1.2" + tough-cookie "^4.1.3" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + +"@emotion/unitless@^0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== + +"@esbuild/aix-ppc64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz#fb3922a0183d27446de00cf60d4f7baaadf98d84" + integrity sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q== + +"@esbuild/android-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz#ef31015416dd79398082409b77aaaa2ade4d531a" + integrity sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q== + +"@esbuild/android-arm@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.10.tgz#1c23c7e75473aae9fb323be5d9db225142f47f52" + integrity sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w== + +"@esbuild/android-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.10.tgz#df6a4e6d6eb8da5595cfce16d4e3f6bc24464707" + integrity sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw== + +"@esbuild/darwin-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz#8462a55db07c1b2fad61c8244ce04469ef1043be" + integrity sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA== + +"@esbuild/darwin-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz#d1de20bfd41bb75b955ba86a6b1004539e8218c1" + integrity sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA== + +"@esbuild/freebsd-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz#16904879e34c53a2e039d1284695d2db3e664d57" + integrity sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg== + +"@esbuild/freebsd-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz#8ad9e5ca9786ca3f1ef1411bfd10b08dcd9d4cef" + integrity sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag== + +"@esbuild/linux-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz#d82cf2c590faece82d28bbf1cfbe36f22ae25bd2" + integrity sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ== + +"@esbuild/linux-arm@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz#477b8e7c7bcd34369717b04dd9ee6972c84f4029" + integrity sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg== + +"@esbuild/linux-ia32@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz#d55ff822cf5b0252a57112f86857ff23be6cab0e" + integrity sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg== + +"@esbuild/linux-loong64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz#a9ad057d7e48d6c9f62ff50f6f208e331c4543c7" + integrity sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA== + +"@esbuild/linux-mips64el@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz#b011a96924773d60ebab396fbd7a08de66668179" + integrity sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A== + +"@esbuild/linux-ppc64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz#5d8b59929c029811e473f2544790ea11d588d4dd" + integrity sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ== + +"@esbuild/linux-riscv64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz#292b06978375b271bd8bc0a554e0822957508d22" + integrity sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA== + +"@esbuild/linux-s390x@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz#d30af63530f8d4fa96930374c9dd0d62bf59e069" + integrity sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA== + +"@esbuild/linux-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz#898c72eeb74d9f2fb43acf316125b475548b75ce" + integrity sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA== + +"@esbuild/netbsd-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz#fd473a5ae261b43eab6dad4dbd5a3155906e6c91" + integrity sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q== + +"@esbuild/openbsd-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz#96eb8992e526717b5272321eaad3e21f3a608e46" + integrity sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg== + +"@esbuild/sunos-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz#c16ee1c167f903eaaa6acf7372bee42d5a89c9bc" + integrity sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA== + +"@esbuild/win32-arm64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz#7e417d1971dbc7e469b4eceb6a5d1d667b5e3dcc" + integrity sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw== + +"@esbuild/win32-ia32@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz#2b52dfec6cd061ecb36171c13bae554888b439e5" + integrity sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ== + +"@esbuild/win32-x64@0.19.10": + version "0.19.10" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz#bd123a74f243d2f3a1f046447bb9b363ee25d072" + integrity sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.2": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.48.0": + version "8.48.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.48.0.tgz#642633964e217905436033a2bd08bf322849b7fb" + integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw== + +"@graphql-tools/merge@^8.4.1": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.2.tgz#95778bbe26b635e8d2f60ce9856b388f11fe8288" + integrity sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw== + dependencies: + "@graphql-tools/utils" "^9.2.1" + tslib "^2.4.0" + +"@graphql-tools/schema@^9.0.0": + version "9.0.19" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.19.tgz#c4ad373b5e1b8a0cf365163435b7d236ebdd06e7" + integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== + dependencies: + "@graphql-tools/merge" "^8.4.1" + "@graphql-tools/utils" "^9.2.1" + tslib "^2.4.0" + value-or-promise "^1.0.12" + +"@graphql-tools/utils@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" + integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + tslib "^2.4.0" + +"@graphql-typed-document-node/core@^3.1.1": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== + +"@humanwhocodes/config-array@^0.11.10": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" + integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + +"@ideafast/idgen@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@ideafast/idgen/-/idgen-0.1.1.tgz#966ad2d74238a77881cfa427a8c3e9225ee0c24f" + integrity sha512-1kaaUD9LXRYnUqK2yJnwMXon2F3vqKzViAbEZQTeYAghLB60EEIbC4JXoi+KbKKxYNHNB03MGWUR5y3Ec+yEgA== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/create-cache-key-function@^27.4.2", "@jest/create-cache-key-function@^29": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== + dependencies: + "@jest/types" "^29.6.3" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29", "@jest/reporters@^29.4.1", "@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29", "@jest/test-result@^29.4.1", "@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@josephg/resolvable@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" + integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@ljharb/resumer@~0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@ljharb/resumer/-/resumer-0.0.1.tgz#8a940a9192dd31f6a1df17564bbd26dc6ad3e68d" + integrity sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw== + dependencies: + "@ljharb/through" "^2.3.9" + +"@ljharb/through@^2.3.9", "@ljharb/through@~2.3.9": + version "2.3.12" + resolved "https://registry.yarnpkg.com/@ljharb/through/-/through-2.3.12.tgz#c418c43060eee193adce48b15c2206096a28e9ea" + integrity sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g== + dependencies: + call-bind "^1.0.5" + +"@mapbox/node-pre-gyp@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" + integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== + dependencies: + detect-libc "^2.0.0" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.7" + nopt "^5.0.0" + npmlog "^5.0.1" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.11" + +"@mole-inc/bin-wrapper@^8.0.1": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz#d7fd0ceb1cfa8a855293a3ed9d7d135f4d442f0e" + integrity sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA== + dependencies: + bin-check "^4.1.0" + bin-version-check "^5.0.0" + content-disposition "^0.5.4" + ext-name "^5.0.0" + file-type "^17.1.6" + filenamify "^5.0.2" + got "^11.8.5" + os-filter-obj "^2.0.0" + +"@mongodb-js/saslprep@^1.1.0": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@mongodb-js/saslprep/-/saslprep-1.1.4.tgz#24ec1c4915a65f5c506bb88c081731450d91bb1c" + integrity sha512-8zJ8N1x51xo9hwPh6AWnKdLGEC5N3lDa6kms1YHmFBoRhTpJR6HG8wWk0td1MVCu9cD4YBrvjZEtd5Obw0Fbnw== + dependencies: + sparse-bitfield "^3.0.3" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nrwl/cypress@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-17.2.7.tgz#5cdd37f52c48f823f358b571afc9040353884241" + integrity sha512-Av89Er9r0kMf8YL9dNSTkHohYhAKYmxAB3Q8eVv8NmSb7FZXvY065HIoFby+6VtQnBFP+sT1YSQL/Tp+h4Bwfw== + dependencies: + "@nx/cypress" "17.2.7" + +"@nrwl/devkit@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-17.2.7.tgz#20c5fd8e0a2813940fdfb34523d4d77788b524ff" + integrity sha512-TISLlIH3xSWre2NLg0aMUBmTvMus+xUicaMeg8DWvwSXJJIMC5QFlB1hjw0VkyLsSraHpd5PWtyDqldHWRfKUQ== + dependencies: + "@nx/devkit" "17.2.7" + +"@nrwl/esbuild@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-17.2.7.tgz#9c75df8777d386c9d836d880ef17734ea8ee78fe" + integrity sha512-CnCfojDRK921ABuonfVAdBQ1Bc5q/kVXBstQfnTEgcaMjWPCt/zowUnYk+llL+WkKXu33UQYLId/gskzUKzGRw== + dependencies: + "@nx/esbuild" "17.2.7" + +"@nrwl/eslint-plugin-nx@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-17.2.7.tgz#5762b3dce6acb806c8c95bfa0610e79a0e74ecc7" + integrity sha512-YGH3FL4Dz+a9r2xmZx/SMUFOUl/An6IsZeTqkG5gC+ErejX9nT1KWOXMNh5bkl+jz0b4NvkiVvgQw+W4q2K9sg== + dependencies: + "@nx/eslint-plugin" "17.2.7" + +"@nrwl/express@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-17.2.7.tgz#f6aad9ae111bf8e3fc768474c6a0e9b398e1fbbb" + integrity sha512-q6QXzXKTETe+neW1+D6nNzcUP20nyOINXiG2H4cI6MHckmn6P2UFe7cLThRU1d+upCL3ftqsnpqEdxCVRZEWwQ== + dependencies: + "@nx/express" "17.2.7" + +"@nrwl/jest@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-17.2.7.tgz#acd89e1cd3d99ae75431c60216b4e7b1d9bb35e6" + integrity sha512-jYeBQbS9iaybLxmxFv6N9qftRHyRpG3YlDxiHXXmWPX0OrgDjNSY3QCCReM8iqADk2TaxoIw1WDKp4tKzft2xA== + dependencies: + "@nx/jest" "17.2.7" + +"@nrwl/js@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-17.2.7.tgz#b791009476584ae0a6665a5e6fafccbe7fe6b29f" + integrity sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ== + dependencies: + "@nx/js" "17.2.7" + +"@nrwl/node@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-17.2.7.tgz#a68616fdfdb67a7227a70c1841c6b6f5a3f9ef2b" + integrity sha512-tWc9tFnQ2ue0Wv2NcMV3fJD1Kqh/vHeV/81ppeLtoYa5GBXViRJPdUinGlez0qiYegEdUbieWjDp255GIEifTw== + dependencies: + "@nx/node" "17.2.7" + +"@nrwl/react@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-17.2.7.tgz#c6a793fe4ba2a0e3154c50504fb4b79f719111fe" + integrity sha512-vRlJWdiPeAgkKe7XUWPceh+vocGfL8CJFmsK2mRy5BWr5rVEJ9l30c9mP7LMxukgi2NPgh1hURvCaZrlErEJ9A== + dependencies: + "@nx/react" "17.2.7" + +"@nrwl/tao@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-17.2.7.tgz#a4df2089559bce0af66fbe785324c1f8abe752ec" + integrity sha512-06YYR1Ndb+nAJaQuvi2J3bX7i2dStQvDHkT+qprUXKxOrggFcPcs+7e2LwNWKDGdCu4r0qFHPlamj7y5d6qM2Q== + dependencies: + nx "17.2.7" + tslib "^2.3.0" + +"@nrwl/web@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-17.2.7.tgz#82a3b8e053edbb2be1ec99f6d5e03a854069b9e5" + integrity sha512-ZlGkmth0qqqQ0WyV6JhdNswSbgOEiDR0G8XJXeoHkDFeThlaU20JyMrqTGNDpQ04d9EpvItvv+bAueg/BLASOw== + dependencies: + "@nx/web" "17.2.7" + +"@nrwl/webpack@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-17.2.7.tgz#9afa4a12d440515cdbec8555aceba8df1644dce1" + integrity sha512-Ornp2N/cdUNnht0ojjQrtE3ko+JpvAvWvStdZCVfXULMzy96CpGjPzRBkrX+iNee1GYEJXiHFUZhA+n6NlKB3A== + dependencies: + "@nx/webpack" "17.2.7" + +"@nrwl/workspace@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-17.2.7.tgz#7494d6774e45b1b9f2bf57b2fafa33ad3cd2c2db" + integrity sha512-qYb2iLliBfS4IwS1aGqeXgyFzdEcXvu+4jxZpROTcg4THJLYni3XhI/Y8gfi4OVzzCadKILMxiOukZKjjIDPlA== + dependencies: + "@nx/workspace" "17.2.7" + +"@nx/cypress@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-17.2.7.tgz#ccbc2c960e428936e4bbfc7cc9d37470028f5c58" + integrity sha512-MwzaWrIsMxjRPg5DQSBFNM+dNGru0jNjqGyMNlhAM0LPMB34I2bw5Sl6zE6GY2hm05oiFb5AbiSvc1M3ptfzmw== + dependencies: + "@nrwl/cypress" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/eslint" "17.2.7" + "@nx/js" "17.2.7" + "@phenomnomnominal/tsquery" "~5.0.1" + detect-port "^1.5.1" + semver "7.5.3" + tslib "^2.3.0" + +"@nx/devkit@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-17.2.7.tgz#aa5d2352a963a613e415b1d3167a5b87937b6fcb" + integrity sha512-RyJyFO5PkNhMrebpv93Bci6pRkrw6guyfX7Esl/5+O6UfN0ytnmaRIrbiVwftTQ6m/T08OWrJQHZMuByP0WWHQ== + dependencies: + "@nrwl/devkit" "17.2.7" + ejs "^3.1.7" + enquirer "~2.3.6" + ignore "^5.0.4" + semver "7.5.3" + tmp "~0.2.1" + tslib "^2.3.0" + +"@nx/esbuild@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-17.2.7.tgz#ea712e4d852eb0526780d51f93845f442d1bc444" + integrity sha512-Hq435xcv2hrCdbmybRKvVhrWaayfq1+tIFnMtPQZ3B/jKIjFpoWHAhdOUraGoqFrKsIkF9c40tsl6g0T5MCgbg== + dependencies: + "@nrwl/esbuild" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/js" "17.2.7" + chalk "^4.1.0" + fast-glob "3.2.7" + fs-extra "^11.1.0" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + +"@nx/eslint-plugin@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-17.2.7.tgz#749938e202b546efb9ae23df79ec2c065b8e7f88" + integrity sha512-emKsCaWDOPekCJvuE6QE6CHwSR4RKULdOHotnSaE3J65cgair9djsR8SNUELsqpTSfEmtfB53Z0oZYw4zdeiFQ== + dependencies: + "@nrwl/eslint-plugin-nx" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/js" "17.2.7" + "@typescript-eslint/type-utils" "^6.9.1" + "@typescript-eslint/utils" "^6.9.1" + chalk "^4.1.0" + confusing-browser-globals "^1.0.9" + jsonc-eslint-parser "^2.1.0" + semver "7.5.3" + tslib "^2.3.0" + +"@nx/eslint@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-17.2.7.tgz#26a4ea6f074d1442e6868dc46b2366166c1a83b9" + integrity sha512-A/+J9rcb9FUwGpEc5yFjFWcoF36PfXc6twOGLceFwj+oOG65h7kUnpuJgWK8gTIh911lij3TdmE6MiqSXPu3tQ== + dependencies: + "@nx/devkit" "17.2.7" + "@nx/js" "17.2.7" + "@nx/linter" "17.2.7" + tslib "^2.3.0" + typescript "~5.2.2" + +"@nx/express@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/express/-/express-17.2.7.tgz#b3dcccbf477f4ccc2d72b9119e7d60c330f15867" + integrity sha512-mKnTv0X+FmkC3l0Ufpj4wGdX2NLOwjnj0OQ92WfcT28N1RbH99otPCor0CziXM7fRyToSshCR61DAHKr9yYDuA== + dependencies: + "@nrwl/express" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/node" "17.2.7" + tslib "^2.3.0" + +"@nx/jest@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-17.2.7.tgz#2d24fc70ac093e01f233aadf594ad36d4f5860f0" + integrity sha512-lfUBZ1eCdO2ML2AdPiuXkMcQvuHaevYHB4wrRoUEQp/jui8m8ZQtIaihEy+8nmnSQTSGpCxlILRLpaNQ8gqCoQ== + dependencies: + "@jest/reporters" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@nrwl/jest" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/js" "17.2.7" + "@phenomnomnominal/tsquery" "~5.0.1" + chalk "^4.1.0" + identity-obj-proxy "3.0.0" + jest-config "^29.4.1" + jest-resolve "^29.4.1" + jest-util "^29.4.1" + resolve.exports "1.1.0" + tslib "^2.3.0" + +"@nx/js@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/js/-/js-17.2.7.tgz#f2f14bdcf5cd96e23dd2689641d8ce42e9c0b187" + integrity sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g== + dependencies: + "@babel/core" "^7.22.9" + "@babel/plugin-proposal-decorators" "^7.22.7" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-runtime" "^7.22.9" + "@babel/preset-env" "^7.22.9" + "@babel/preset-typescript" "^7.22.5" + "@babel/runtime" "^7.22.6" + "@nrwl/js" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/workspace" "17.2.7" + "@phenomnomnominal/tsquery" "~5.0.1" + babel-plugin-const-enum "^1.0.1" + babel-plugin-macros "^2.8.0" + babel-plugin-transform-typescript-metadata "^0.3.1" + chalk "^4.1.0" + columnify "^1.6.0" + detect-port "^1.5.1" + fast-glob "3.2.7" + fs-extra "^11.1.0" + ignore "^5.0.4" + js-tokens "^4.0.0" + minimatch "3.0.5" + npm-package-arg "11.0.1" + npm-run-path "^4.0.1" + ora "5.3.0" + semver "7.5.3" + source-map-support "0.5.19" + ts-node "10.9.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + +"@nx/linter@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-17.2.7.tgz#38364de5966bd8637ca830808c00fc8b7ab8406d" + integrity sha512-t85R1r+fiEV8wwU6mAD9kKq+YqAxwzBDp3Dx42cX5uokp2jsUKcTHYsibTJ7SVgViJicDLoVDonlJc8SxA0cfQ== + dependencies: + "@nx/eslint" "17.2.7" + +"@nx/node@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/node/-/node-17.2.7.tgz#930897cdef951ce83ba698617fa6dc83750c9668" + integrity sha512-u3mChRmUliQENH4wBYNfqx/0Cfzj6PB9Eaj7lvOwwdquLgUgGgkFXFfYTLjHuIClYhyn2ATR84LZ+NLMaLCvdA== + dependencies: + "@nrwl/node" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/eslint" "17.2.7" + "@nx/jest" "17.2.7" + "@nx/js" "17.2.7" + tslib "^2.3.0" + +"@nx/nx-darwin-arm64@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.2.7.tgz#8399b96591757367c45b5c8ee5725dcbe60007e2" + integrity sha512-d534L13VUlnSW61rabBl3TTuSpzHxtqy8eF5vsYkFSMonBDjqqNR6+vFfQEa7PW/3Qfeuw4MpmojtamCYLd/TA== + +"@nx/nx-darwin-x64@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-17.2.7.tgz#1b9cf367cfa035f1443ac0e78f8e60968ab4775f" + integrity sha512-K1pHWiSiYTJqk//ZJylvuQcNZR9HUKvOxuh2540+6X9ThQ7kzkC1abXJ4c9wwH3fYDwL29m7glh3AueJvyaXJA== + +"@nx/nx-freebsd-x64@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.2.7.tgz#731e7f8f311e6fdf50b8a8b2b060b322a9e92ad4" + integrity sha512-VyouszZjV7Ew4qNrNfG8JApm7/UcreRuC+W/YZ2ORGzM0KUnB/D4rXGmeTp1Ff+L5WUhoomwEnaBkbgqu+2wjA== + +"@nx/nx-linux-arm-gnueabihf@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.2.7.tgz#a1db4a4898e0bb1e77bdf8dbf0959ca9d073dc23" + integrity sha512-YfwW8NYi33Li1Q7BDUusNlfpJNWfXOnHt6JKvQGc8fy8StmWq13zNnU0IxPQyqCDK5Ymx95IoctFrMLpeXPAwQ== + +"@nx/nx-linux-arm64-gnu@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.2.7.tgz#7abd71cc615f4ec93fabc31ad410bd7d8eb9e668" + integrity sha512-oJyEf2q+5jj6ci6WEXvRUoU2Sj0Mo+J/0NwtPY6sRIhqgPwpmxc6Pja4zmB16iQ5ap48zstB9glfJ6qtr3iU0Q== + +"@nx/nx-linux-arm64-musl@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.2.7.tgz#938ed7504ad1d0f305304250a71b8cf18bc10533" + integrity sha512-IzsCJgJCM61THBMDghz+EY5aCeO7wBWOWq2sTDek1ve67qZtu/E/Z5qBp93JRAvNYgQT7KbC40WhaXuE/NpWEA== + +"@nx/nx-linux-x64-gnu@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.2.7.tgz#8a39bfdfc990a2fb4f1679f68195e8cea97d8c99" + integrity sha512-CCY3o9zs9ypsT40GyRGQMfl63Wy3Spu21ULcteoLTI2/py601XIdhv6zclzBqeYIWPVxMoGGlIq10m2rdEeAOA== + +"@nx/nx-linux-x64-musl@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.2.7.tgz#0dac2eff58d11524192b2a8a36d70d7c2547e39e" + integrity sha512-hBzrXpoDg1OJBl/Ja5nU3oYTBk/FW6J+jTJM1zmXJOJ8Z7NR26I783qlVLQFDYkMynwGBE3kI4a7L87p633BRw== + +"@nx/nx-win32-arm64-msvc@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.2.7.tgz#f004b2fa0fe1af256c60ddfd90fe28348f1ed4e3" + integrity sha512-imLrVpeBXQwcYDUujBZRE9YG9lqM7F8Qw51JxmCxG2twijlVeofGWw0uVHM16t95cuizt/Ho+bTfNukV7Oza3g== + +"@nx/nx-win32-x64-msvc@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.2.7.tgz#5af5b3e6fe41f432831e809ba7efc02826af8ebe" + integrity sha512-MBQxvEE1sz47prRCid+axKwb6zqcbR4XBKj+l9V5NA7/0Rw5PHjrEfWv5Lr5TckYAdIZ1PVgPHlril6hX89evw== + +"@nx/react@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/react/-/react-17.2.7.tgz#84f972ae1b2e8debc2b33100edce065e1b58858c" + integrity sha512-c+63PC0bxUmSmRgix90gpdwIwHaeQ6gyS9L1lpVouzLrqxUK4pnJkC9LzQNRc3thXSheFDYmAvXuSe2Y1WN0HA== + dependencies: + "@nrwl/react" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/eslint" "17.2.7" + "@nx/js" "17.2.7" + "@nx/web" "17.2.7" + "@phenomnomnominal/tsquery" "~5.0.1" + "@svgr/webpack" "^8.0.1" + chalk "^4.1.0" + file-loader "^6.2.0" + minimatch "3.0.5" + tslib "^2.3.0" + +"@nx/web@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/web/-/web-17.2.7.tgz#d571950ecc4c261879a4fa0430477ebb942ecfe9" + integrity sha512-UhLD84jCLNwY/dC32v3Q5gAkBuj1p6a0h1ihcXqZdMUYbV6sjJhDAnjnfHyPJWgjaoI5t6VNSTJOaMZM9EMfzg== + dependencies: + "@nrwl/web" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/js" "17.2.7" + chalk "^4.1.0" + detect-port "^1.5.1" + http-server "^14.1.0" + tslib "^2.3.0" + +"@nx/webpack@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-17.2.7.tgz#5c849942616c8f0ff60edbcc47b55b5bd65e051e" + integrity sha512-OUxUNxgzEyrn36V4+1T3oQNKyukJphgb+DBNc6NWA9dEWf3U48KdfJuALeKoRZ5J+/lS95L8b/2ygSyu0EdpLw== + dependencies: + "@babel/core" "^7.22.9" + "@nrwl/webpack" "17.2.7" + "@nx/devkit" "17.2.7" + "@nx/js" "17.2.7" + autoprefixer "^10.4.9" + babel-loader "^9.1.2" + browserslist "^4.21.4" + chalk "^4.1.0" + copy-webpack-plugin "^10.2.4" + css-loader "^6.4.0" + css-minimizer-webpack-plugin "^5.0.0" + fork-ts-checker-webpack-plugin "7.2.13" + less "4.1.3" + less-loader "11.1.0" + license-webpack-plugin "^4.0.2" + loader-utils "^2.0.3" + mini-css-extract-plugin "~2.4.7" + parse5 "4.0.0" + postcss "^8.4.14" + postcss-import "~14.1.0" + postcss-loader "^6.1.1" + rxjs "^7.8.0" + sass "^1.42.1" + sass-loader "^12.2.0" + source-map-loader "^3.0.0" + style-loader "^3.3.0" + stylus "^0.59.0" + stylus-loader "^7.1.0" + terser-webpack-plugin "^5.3.3" + ts-loader "^9.3.1" + tsconfig-paths-webpack-plugin "4.0.0" + tslib "^2.3.0" + webpack "^5.80.0" + webpack-dev-server "^4.9.3" + webpack-node-externals "^3.0.0" + webpack-subresource-integrity "^5.1.0" + +"@nx/workspace@17.2.7": + version "17.2.7" + resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-17.2.7.tgz#1c930feceb3ca20750124afc03ea71b5fee7de9e" + integrity sha512-/4xrFEc6Hjl9KaB+e/RSaQ/6vHWGP1MmhdX+TRvdjNIMbZ6kdDixBjusJ6WoHXm3KhP95cSt2xmwCQNUzVn+vw== + dependencies: + "@nrwl/workspace" "17.2.7" + "@nx/devkit" "17.2.7" + chalk "^4.1.0" + enquirer "~2.3.6" + nx "17.2.7" + tslib "^2.3.0" + yargs-parser "21.1.1" + +"@phenomnomnominal/tsquery@~5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz#a2a5abc89f92c01562a32806655817516653a388" + integrity sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA== + dependencies: + esquery "^1.4.0" + +"@pmmmwh/react-refresh-webpack-plugin@^0.5.11": + version "0.5.11" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a" + integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== + dependencies: + ansi-html-community "^0.0.8" + common-path-prefix "^3.0.0" + core-js-pure "^3.23.3" + error-stack-parser "^2.0.6" + find-up "^5.0.0" + html-entities "^2.1.0" + loader-utils "^2.0.4" + schema-utils "^3.0.0" + source-map "^0.7.3" + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + +"@rc-component/color-picker@~1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.4.1.tgz#dcab0b660e9c4ed63a7582db68ed4a77c862cb93" + integrity sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw== + dependencies: + "@babel/runtime" "^7.10.1" + "@ctrl/tinycolor" "^3.6.0" + classnames "^2.2.6" + rc-util "^5.30.0" + +"@rc-component/context@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@rc-component/context/-/context-1.4.0.tgz#dc6fb021d6773546af8f016ae4ce9aea088395e8" + integrity sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w== + dependencies: + "@babel/runtime" "^7.10.1" + rc-util "^5.27.0" + +"@rc-component/mini-decimal@^1.0.1": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz#7b7a362b14a0a54cb5bc6fd2b82731f29f11d9b0" + integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ== + dependencies: + "@babel/runtime" "^7.18.0" + +"@rc-component/mutate-observer@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz#ee53cc88b78aade3cd0653609215a44779386fd8" + integrity sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0", "@rc-component/portal@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" + integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/tour@~1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.11.1.tgz#bb47af908fb6fcaf395402901a1fb505ef8fb1e6" + integrity sha512-c9Lw3/oVinj5D64Rsp8aDLOXcgdViE+hq7bj0Qoo8fTuQEh9sSpUw5OZcum943JkjeIE4hLcc5FD4a5ANtMJ4w== + dependencies: + "@babel/runtime" "^7.18.0" + "@rc-component/portal" "^1.0.0-9" + "@rc-component/trigger" "^1.3.6" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/trigger@^1.17.0", "@rc-component/trigger@^1.18.0", "@rc-component/trigger@^1.18.2", "@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0": + version "1.18.3" + resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.3.tgz#b323b9e33f2700ca8d24a96f21401ab7b0eafdcd" + integrity sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA== + dependencies: + "@babel/runtime" "^7.23.2" + "@rc-component/portal" "^1.1.0" + classnames "^2.3.2" + rc-motion "^2.0.0" + rc-resize-observer "^1.3.1" + rc-util "^5.38.0" + +"@remix-run/router@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.14.1.tgz#6d2dd03d52e604279c38911afc1079d58c50a755" + integrity sha512-Qg4DMQsfPNAs88rb2xkdk03N3bjK4jgX5fR24eHCTR9q6PrhZQZ4UJBPzCHJkIpTRN1UKxx2DzjZmnC+7Lj0Ow== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@svgr/webpack@8.1.0", "@svgr/webpack@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" + integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== + dependencies: + "@babel/core" "^7.21.3" + "@babel/plugin-transform-react-constant-elements" "^7.21.3" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + +"@swc/cli@0.1.63": + version "0.1.63" + resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.1.63.tgz#b4ab850f8c285d06d593428b14ffa3df782adcbb" + integrity sha512-EM9oxxHzmmsprYRbGqsS2M4M/Gr5Gkcl0ROYYIdlUyTkhOiX822EQiRCpPCwdutdnzH2GyaTN7wc6i0Y+CKd3A== + dependencies: + "@mole-inc/bin-wrapper" "^8.0.1" + commander "^7.1.0" + fast-glob "^3.2.5" + semver "^7.3.8" + slash "3.0.0" + source-map "^0.7.3" + +"@swc/core-darwin-arm64@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.101.tgz#9ffdc0e77c31b20877fa7405c82905e0c76738d0" + integrity sha512-mNFK+uHNPRXSnfTOG34zJOeMl2waM4hF4a2NY7dkMXrPqw9CoJn4MwTXJcyMiSz1/BnNjjTCHF3Yhj0jPxmkzQ== + +"@swc/core-darwin-x64@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.101.tgz#e50130e21e3cfd3029fd6cea43e8309b58ad9fa6" + integrity sha512-B085j8XOx73Fg15KsHvzYWG262bRweGr3JooO1aW5ec5pYbz5Ew9VS5JKYS03w2UBSxf2maWdbPz2UFAxg0whw== + +"@swc/core-linux-arm-gnueabihf@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.101.tgz#8cd36328e794b3c42b6c8e578bb1f42e59ba0231" + integrity sha512-9xLKRb6zSzRGPqdz52Hy5GuB1lSjmLqa0lST6MTFads3apmx4Vgs8Y5NuGhx/h2I8QM4jXdLbpqQlifpzTlSSw== + +"@swc/core-linux-arm64-gnu@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.101.tgz#d15e3885eb13a1512ba62f00ce4f5bb19f710a0c" + integrity sha512-oE+r1lo7g/vs96Weh2R5l971dt+ZLuhaUX+n3BfDdPxNHfObXgKMjO7E+QS5RbGjv/AwiPCxQmbdCp/xN5ICJA== + +"@swc/core-linux-arm64-musl@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.101.tgz#851d4cc1079b091fee36f5f64335232210749d7a" + integrity sha512-OGjYG3H4BMOTnJWJyBIovCez6KiHF30zMIu4+lGJTCrxRI2fAjGLml3PEXj8tC3FMcud7U2WUn6TdG0/te2k6g== + +"@swc/core-linux-x64-gnu@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.101.tgz#3a2a7c584db2e05a798e28361440424914563fa3" + integrity sha512-/kBMcoF12PRO/lwa8Z7w4YyiKDcXQEiLvM+S3G9EvkoKYGgkkz4Q6PSNhF5rwg/E3+Hq5/9D2R+6nrkF287ihg== + +"@swc/core-linux-x64-musl@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.101.tgz#45d1d53945994f08e93703b8de24ccac88538d0c" + integrity sha512-kDN8lm4Eew0u1p+h1l3JzoeGgZPQ05qDE0czngnjmfpsH2sOZxVj1hdiCwS5lArpy7ktaLu5JdRnx70MkUzhXw== + +"@swc/core-win32-arm64-msvc@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.101.tgz#b2610b8354e5fbca7cc5be3f728e61b046227fa8" + integrity sha512-9Wn8TTLWwJKw63K/S+jjrZb9yoJfJwCE2RV5vPCCWmlMf3U1AXj5XuWOLUX+Rp2sGKau7wZKsvywhheWm+qndQ== + +"@swc/core-win32-ia32-msvc@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.101.tgz#c919175bb4cd5e9fcfa56fbd3708167c1d445c68" + integrity sha512-onO5KvICRVlu2xmr4//V2je9O2XgS1SGKpbX206KmmjcJhXN5EYLSxW9qgg+kgV5mip+sKTHTAu7IkzkAtElYA== + +"@swc/core-win32-x64-msvc@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.101.tgz#17743fe425caffc596fde5965c9c4cf9a48aa26a" + integrity sha512-T3GeJtNQV00YmiVw/88/nxJ/H43CJvFnpvBHCVn17xbahiVUOPOduh3rc9LgAkKiNt/aV8vU3OJR+6PhfMR7UQ== + +"@swc/core@1.3.101": + version "1.3.101" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.101.tgz#4e8f1583094a73c410e48a0bebdeccdc6c66d4a5" + integrity sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A== + dependencies: + "@swc/counter" "^0.1.1" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.101" + "@swc/core-darwin-x64" "1.3.101" + "@swc/core-linux-arm-gnueabihf" "1.3.101" + "@swc/core-linux-arm64-gnu" "1.3.101" + "@swc/core-linux-arm64-musl" "1.3.101" + "@swc/core-linux-x64-gnu" "1.3.101" + "@swc/core-linux-x64-musl" "1.3.101" + "@swc/core-win32-arm64-msvc" "1.3.101" + "@swc/core-win32-ia32-msvc" "1.3.101" + "@swc/core-win32-x64-msvc" "1.3.101" + +"@swc/counter@^0.1.1": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" + integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== + dependencies: + tslib "^2.4.0" + +"@swc/jest@0.2.29": + version "0.2.29" + resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.29.tgz#b27d647ec430c909f9bb567d1df2a47eaa3841f4" + integrity sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow== + dependencies: + "@jest/create-cache-key-function" "^27.4.2" + jsonc-parser "^3.2.0" + +"@swc/types@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" + integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@testing-library/dom@^9.0.0": + version "9.3.4" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.4.tgz#50696ec28376926fec0a1bf87d9dbac5e27f60ce" + integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + +"@testing-library/react@14.1.2": + version "14.1.2" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.1.2.tgz#a2b9e9ee87721ec9ed2d7cfc51cc04e474537c32" + integrity sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^9.0.0" + "@types/react-dom" "^18.0.0" + +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/aria-query@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/bcrypt@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/bcrypt/-/bcrypt-5.0.2.tgz#22fddc11945ea4fbc3655b3e8b8847cc9f811477" + integrity sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ== + dependencies: + "@types/node" "*" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect-timeout@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/connect-timeout/-/connect-timeout-0.0.39.tgz#8b6800599808688ae74d1352e702a24d2cca4ee1" + integrity sha512-PHUX9yixjm4qjQ27Uz+F5cyG9Fio9iY7e6eWHvNT0wbA8eu9JaDqxRRiXn5uYnd09zx1fM+wEHnuBHMm9gwOuQ== + dependencies: + "@types/express" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/cookiejar@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.5.tgz#14a3e83fa641beb169a2dd8422d91c3c345a9a78" + integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== + +"@types/cors@2.8.17": + version "2.8.17" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" + integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== + dependencies: + "@types/node" "*" + +"@types/d3-timer@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-2.0.3.tgz#d74350a9eb5991f054b2cf8e92efaf22be3e1a25" + integrity sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg== + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.56.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" + integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.30", "@types/express-serve-static-core@^4.17.33": + version "4.17.43" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz#10d8444be560cb789c4735aea5eac6e5af45df54" + integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express-session@1.17.10": + version "1.17.10" + resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.10.tgz#3a9394f1f314a4c657af3fb1cdb52f00fc207fd2" + integrity sha512-U32bC/s0ejXijw5MAzyaV4tuZopCh/K7fPoUDyNbsRXHvPSeymygYD1RFL99YOLhF5PNOkzswvOTRaVHdL1zMw== + dependencies: + "@types/express" "*" + +"@types/express@*", "@types/express@4.17.21", "@types/express@^4.17.13": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/fs-extra@11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45" + integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== + dependencies: + "@types/jsonfile" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/http-cache-semantics@*": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.8": + version "1.17.14" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@29.5.11": + version "29.5.11" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" + integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/jsdom@^20.0.0": + version "20.0.1" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" + integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== + dependencies: + "@types/node" "*" + "@types/tough-cookie" "*" + parse5 "^7.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json2csv@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@types/json2csv/-/json2csv-5.0.7.tgz#c80ff09b669f8e3ee60be19d91326275a6a2346b" + integrity sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA== + dependencies: + "@types/node" "*" + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/jsonfile@*": + version "6.1.4" + resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702" + integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== + dependencies: + "@types/node" "*" + +"@types/jsonwebtoken@9.0.5": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz#0bd9b841c9e6c5a937c17656e2368f65da025588" + integrity sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA== + dependencies: + "@types/node" "*" + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + +"@types/long@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + +"@types/methods@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@types/methods/-/methods-1.1.4.tgz#d3b7ac30ac47c91054ea951ce9eed07b1051e547" + integrity sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ== + +"@types/mime@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" + integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/node-fetch@^2.6.1": + version "2.6.11" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" + integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== + dependencies: + "@types/node" "*" + form-data "^4.0.0" + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "20.11.19" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.19.tgz#b466de054e9cb5b3831bee38938de64ac7f81195" + integrity sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ== + dependencies: + undici-types "~5.26.4" + +"@types/node@18.16.9": + version "18.16.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.9.tgz#e79416d778a8714597342bb87efb5a6e914f7a73" + integrity sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA== + +"@types/nodemailer@6.4.14": + version "6.4.14" + resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.14.tgz#5c81a5e856db7f8ede80013e6dbad7c5fb2283e2" + integrity sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA== + dependencies: + "@types/node" "*" + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/passport@1.0.16": + version "1.0.16" + resolved "https://registry.yarnpkg.com/@types/passport/-/passport-1.0.16.tgz#5a2918b180a16924c4d75c31254c31cdca5ce6cf" + integrity sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A== + dependencies: + "@types/express" "*" + +"@types/prop-types@*": + version "15.7.11" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + +"@types/qrcode@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.5.tgz#993ff7c6b584277eee7aac0a20861eab682f9dac" + integrity sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg== + dependencies: + "@types/node" "*" + +"@types/qs@*": + version "6.9.11" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" + integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/react-dom@18.2.18": + version "18.2.18" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" + integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== + dependencies: + "@types/react" "*" + +"@types/react-dom@^18.0.0": + version "18.2.19" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58" + integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA== + dependencies: + "@types/react" "*" + +"@types/react-highlight-words@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@types/react-highlight-words/-/react-highlight-words-0.16.7.tgz#82fdd2d2abe4c4a5c0da44be749660f6ec42f0c2" + integrity sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "18.2.57" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.57.tgz#147b516d8bdb2900219acbfc6f939bdeecca7691" + integrity sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@18.2.45": + version "18.2.45" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c" + integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/responselike@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== + dependencies: + "@types/node" "*" + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/scheduler@*": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== + +"@types/semver@^7.5.0": + version "7.5.7" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.7.tgz#326f5fdda70d13580777bcaa1bc6fa772a5aef0e" + integrity sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.5" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/sinonjs__fake-timers@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" + integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== + +"@types/sizzle@^2.3.2": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" + integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== + +"@types/sockjs@^0.3.33": + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/superagent@*": + version "8.1.3" + resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.3.tgz#6222a466e89eac9c84ad8de11870d92097e6554a" + integrity sha512-R/CfN6w2XsixLb1Ii8INfn+BT9sGPvw74OavfkW4SwY+jeUcAwLZv2+bXLJkndnimxjEBm0RPHgcjW9pLCa8cw== + dependencies: + "@types/cookiejar" "^2.1.5" + "@types/methods" "^1.1.4" + "@types/node" "*" + +"@types/supertest@2.0.16": + version "2.0.16" + resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.16.tgz#7a1294edebecb960d957bbe9b26002a2b7f21cd7" + integrity sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg== + dependencies: + "@types/superagent" "*" + +"@types/tmp@0.2.6": + version "0.2.6" + resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.6.tgz#d785ee90c52d7cc020e249c948c36f7b32d1e217" + integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== + +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + +"@types/uuid@9.0.7": + version "9.0.7" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8" + integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g== + +"@types/webidl-conversions@*": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz#1306dbfa53768bcbcfc95a1c8cde367975581859" + integrity sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA== + +"@types/webpack-env@1.18.4": + version "1.18.4" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.4.tgz#62879b0a9c653f9b1172d403b882f2045ecce032" + integrity sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A== + +"@types/whatwg-url@^11.0.2": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-11.0.4.tgz#ffed0dc8d89d91f62e3f368fcbda222a487c4f63" + integrity sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw== + dependencies: + "@types/webidl-conversions" "*" + +"@types/whatwg-url@^8.2.1": + version "8.2.2" + resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" + integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== + dependencies: + "@types/node" "*" + "@types/webidl-conversions" "*" + +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@6.9.1": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz#d8ce497dc0ed42066e195c8ecc40d45c7b1254f4" + integrity sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.9.1" + "@typescript-eslint/type-utils" "6.9.1" + "@typescript-eslint/utils" "6.9.1" + "@typescript-eslint/visitor-keys" "6.9.1" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@6.9.1": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.9.1.tgz#4f685f672f8b9580beb38d5fb99d52fc3e34f7a3" + integrity sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg== + dependencies: + "@typescript-eslint/scope-manager" "6.9.1" + "@typescript-eslint/types" "6.9.1" + "@typescript-eslint/typescript-estree" "6.9.1" + "@typescript-eslint/visitor-keys" "6.9.1" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" + integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== + dependencies: + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" + +"@typescript-eslint/scope-manager@6.9.1": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz#e96afeb9a68ad1cd816dba233351f61e13956b75" + integrity sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg== + dependencies: + "@typescript-eslint/types" "6.9.1" + "@typescript-eslint/visitor-keys" "6.9.1" + +"@typescript-eslint/type-utils@6.9.1": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz#efd5db20ed35a74d3c7d8fba51b830ecba09ce32" + integrity sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg== + dependencies: + "@typescript-eslint/typescript-estree" "6.9.1" + "@typescript-eslint/utils" "6.9.1" + debug "^4.3.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/type-utils@^6.9.1": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" + integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== + dependencies: + "@typescript-eslint/typescript-estree" "6.21.0" + "@typescript-eslint/utils" "6.21.0" + debug "^4.3.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/types@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" + integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== + +"@typescript-eslint/types@6.9.1": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.9.1.tgz#a6cfc20db0fcedcb2f397ea728ef583e0ee72459" + integrity sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ== + +"@typescript-eslint/typescript-estree@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" + integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== + dependencies: + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/typescript-estree@6.9.1": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz#8c77910a49a04f0607ba94d78772da07dab275ad" + integrity sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw== + dependencies: + "@typescript-eslint/types" "6.9.1" + "@typescript-eslint/visitor-keys" "6.9.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.21.0", "@typescript-eslint/utils@^6.9.1": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" + integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/typescript-estree" "6.21.0" + semver "^7.5.4" + +"@typescript-eslint/utils@6.9.1": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.9.1.tgz#763da41281ef0d16974517b5f0d02d85897a1c1e" + integrity sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.9.1" + "@typescript-eslint/types" "6.9.1" + "@typescript-eslint/typescript-estree" "6.9.1" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@6.21.0": + version "6.21.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" + integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== + dependencies: + "@typescript-eslint/types" "6.21.0" + eslint-visitor-keys "^3.4.1" + +"@typescript-eslint/visitor-keys@6.9.1": + version "6.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz#6753a9225a0ba00459b15d6456b9c2780b66707d" + integrity sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw== + dependencies: + "@typescript-eslint/types" "6.9.1" + eslint-visitor-keys "^3.4.1" + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@wry/caches@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" + integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== + dependencies: + tslib "^2.3.0" + +"@wry/context@^0.7.0": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.4.tgz#e32d750fa075955c4ab2cfb8c48095e1d42d5990" + integrity sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== + dependencies: + tslib "^2.3.0" + +"@wry/equality@^0.5.6": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" + integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" + integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" + integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== + dependencies: + tslib "^2.3.0" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +"@yarnpkg/parsers@3.0.0-rc.46": + version "3.0.0-rc.46" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" + integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== + dependencies: + js-yaml "^3.10.0" + tslib "^2.4.0" + +"@zkochan/js-yaml@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" + integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== + dependencies: + argparse "^2.0.1" + +"@zxing/text-encoding@0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" + integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== + +JSONStream@1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abab@^2.0.5, abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.1.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +address@^1.0.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agent-base@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" + integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== + dependencies: + debug "^4.3.4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + integrity sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg== + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +antd@5.12.5: + version "5.12.5" + resolved "https://registry.yarnpkg.com/antd/-/antd-5.12.5.tgz#b4075a13c51483ee3721afddd28f9c7b342efb78" + integrity sha512-m9r9VhTmANS4kdBwHcxI4QWIGoZh3LspXNb2SxoezRSUZ9RUFpf+gO0AjPx8EPeO/nLKsHAoCSLza9r041bAgw== + dependencies: + "@ant-design/colors" "^7.0.0" + "@ant-design/cssinjs" "^1.18.1" + "@ant-design/icons" "^5.2.6" + "@ant-design/react-slick" "~1.0.2" + "@babel/runtime" "^7.23.4" + "@ctrl/tinycolor" "^3.6.1" + "@rc-component/color-picker" "~1.4.1" + "@rc-component/mutate-observer" "^1.1.0" + "@rc-component/tour" "~1.11.1" + "@rc-component/trigger" "^1.18.2" + classnames "^2.3.2" + copy-to-clipboard "^3.3.3" + dayjs "^1.11.1" + qrcode.react "^3.1.0" + rc-cascader "~3.20.0" + rc-checkbox "~3.1.0" + rc-collapse "~3.7.2" + rc-dialog "~9.3.4" + rc-drawer "~6.5.2" + rc-dropdown "~4.1.0" + rc-field-form "~1.41.0" + rc-image "~7.5.1" + rc-input "~1.3.11" + rc-input-number "~8.4.0" + rc-mentions "~2.9.1" + rc-menu "~9.12.4" + rc-motion "^2.9.0" + rc-notification "~5.3.0" + rc-pagination "~4.0.3" + rc-picker "~3.14.6" + rc-progress "~3.5.1" + rc-rate "~2.12.0" + rc-resize-observer "^1.4.0" + rc-segmented "~2.2.2" + rc-select "~14.10.0" + rc-slider "~10.5.0" + rc-steps "~6.0.1" + rc-switch "~4.1.0" + rc-table "~7.36.1" + rc-tabs "~12.14.1" + rc-textarea "~1.5.3" + rc-tooltip "~6.1.3" + rc-tree "~5.8.2" + rc-tree-select "~5.15.0" + rc-upload "~4.3.5" + rc-util "^5.38.1" + scroll-into-view-if-needed "^3.1.0" + throttle-debounce "^5.0.0" + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apollo-upload-client@18.0.1: + version "18.0.1" + resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz#e3811f2f5a36bffef23954f796daf331be748dcb" + integrity sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA== + dependencies: + extract-files "^13.0.0" + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +arch@^2.1.0, arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +aria-query@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-includes@^3.1.6, array-includes@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-union@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" + integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== + +array.prototype.filter@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz#423771edeb417ff5914111fff4277ea0624c0d0e" + integrity sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + +array.prototype.findlastindex@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz#d1c50f0b3a9da191981ff8942a0aedd82794404f" + integrity sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" + integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.1.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +asn1.js@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-mutex@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.1.tgz#bccf55b96f2baf8df90ed798cb5544a1f6ee4c2c" + integrity sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA== + dependencies: + tslib "^2.4.0" + +async-retry@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +async-validator@^4.1.0: + version "4.2.5" + resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +async@^3.2.0, async@^3.2.3, async@^3.2.4: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynciterator.prototype@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" + integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== + dependencies: + has-symbols "^1.0.3" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +attr-accept@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + +autoprefixer@^10.4.9: + version "10.4.17" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be" + integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== + dependencies: + browserslist "^4.22.2" + caniuse-lite "^1.0.30001578" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.6, available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +axe-core@=4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" + integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== + +axios@1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" + integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axios@^1.5.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" + integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== + dependencies: + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axobject-query@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" + integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== + dependencies: + dequal "^2.0.3" + +b4a@^1.6.4: + version "1.6.6" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.6.tgz#a4cc349a3851987c3c4ac2d7785c18744f6da9ba" + integrity sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== + +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@^9.1.2: + version "9.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== + dependencies: + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" + +babel-plugin-const-enum@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz#3d25524106f68f081e187829ba736b251c289861" + integrity sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-typescript" "^7.3.3" + "@babel/traverse" "^7.16.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-polyfill-corejs2@^0.4.8: + version "0.4.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" + integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.5.0" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81" + integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + core-js-compat "^3.34.0" + +babel-plugin-polyfill-regenerator@^0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" + integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + +babel-plugin-transform-typescript-metadata@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz#7a327842d8c36ffe07ee1b5276434e56c297c9b7" + integrity sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +bare-events@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.2.0.tgz#a7a7263c107daf8b85adf0b64f908503454ab26e" + integrity sha512-Yyyqff4PIFfSuthCZqLlPISTWHmnQxoPuAvkmgzsJEmG3CesdIv6Xweayl0JkCZJSB2yYIdJyEz97tpxNhgjbg== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +bcrypt@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.1.tgz#0f732c6dcb4e12e5b70a25e326a72965879ba6e2" + integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.11" + node-addon-api "^5.0.0" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +bin-check@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-4.1.0.tgz#fc495970bdc88bb1d5a35fc17e65c4a149fc4a49" + integrity sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA== + dependencies: + execa "^0.7.0" + executable "^4.1.0" + +bin-version-check@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-5.1.0.tgz#788e80e036a87313f8be7908bc20e5abe43f0837" + integrity sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g== + dependencies: + bin-version "^6.0.0" + semver "^7.5.3" + semver-truncate "^3.0.0" + +bin-version@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-6.0.0.tgz#08ecbe5fc87898b441425e145f9e105064d00315" + integrity sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw== + dependencies: + execa "^5.0.0" + find-versions "^5.0.0" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +blob-util@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + +block-stream2@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/block-stream2/-/block-stream2-2.1.0.tgz#ac0c5ef4298b3857796e05be8ebed72196fa054b" + integrity sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg== + dependencies: + readable-stream "^3.4.0" + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +body-parser@^1.20.0: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" + integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-or-node@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-2.1.1.tgz#738790b3a86a8fc020193fa581273fbe65eaea0f" + integrity sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg== + +browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.22.3: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +bson@^5.5.0: + version "5.5.1" + resolved "https://registry.yarnpkg.com/bson/-/bson-5.5.1.tgz#f5849d405711a7f23acdda9a442375df858e6833" + integrity sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g== + +bson@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/bson/-/bson-6.3.0.tgz#d47acba525ba7d7eb0e816c10538bce26a337fe0" + integrity sha512-balJfqwwTBddxfnidJZagCBPP/f48zj9Sdp3OJswREOgsJzHiQSaOIAtApSgDQFYgHqAvFkp53AFSqjMDZoTFw== + +buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0, buffer@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +builtins@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +cachedir@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" + integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@~1.0.2: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0, camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001587: + version "1.0.30001588" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz#07f16b65a7f95dba82377096923947fb25bce6e3" + integrity sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + integrity sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ== + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@3.1.0, cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-table3@~0.6.1: + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + integrity sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA== + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10, colorette@^2.0.16: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.1.0, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +component-emitter@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +compute-scroll-into-view@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87" + integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +confusing-browser-globals@^1.0.9: + version "1.0.11" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +connect-mongo@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/connect-mongo/-/connect-mongo-5.1.0.tgz#8eb66bf94c3e5af0442278a5f43bd15c365eac92" + integrity sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw== + dependencies: + debug "^4.3.1" + kruptein "^3.0.0" + +connect-timeout@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.9.0.tgz#bc27326b122103714bebfa0d958bab33f6522e3a" + integrity sha512-q4bsBIPd+eSGtnh/u6EBOKfuG+4YvwsN0idlOsg6KAw71Qpi0DCf2eCc/Va63QU9qdOeYC8katxoC+rHMNygZg== + dependencies: + http-errors "~1.6.1" + ms "2.0.0" + on-finished "~2.3.0" + on-headers "~1.0.1" + +console-control-strings@^1.0.0, console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +content-disposition@0.5.4, content-disposition@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +contour_plot@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/contour_plot/-/contour_plot-0.0.1.tgz#475870f032b8e338412aa5fc507880f0bf495c77" + integrity sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +cookiejar@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-to-clipboard@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +copy-webpack-plugin@^10.2.4: + version "10.2.4" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" + integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== + dependencies: + fast-glob "^3.2.7" + glob-parent "^6.0.1" + globby "^12.0.2" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.31.0, core-js-compat@^3.34.0: + version "3.36.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190" + integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== + dependencies: + browserslist "^4.22.3" + +core-js-pure@^3.23.3: + version "3.36.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.36.0.tgz#ffb34330b14e594d6a9835cf5843b4123f1d95db" + integrity sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ== + +core-js@^3.34.0: + version "3.36.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.36.0.tgz#e752fa0b0b462a0787d56e9d73f80b0f7c0dde68" + integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@2.8.5, cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" + integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@^8.1.3: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-declaration-sorter@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz#9796bcc257b4647c39993bda8d431ce32b666f80" + integrity sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ== + +css-loader@^6.4.0, css-loader@^6.8.1: + version "6.10.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.10.0.tgz#7c172b270ec7b833951b52c348861206b184a4b7" + integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.4" + postcss-modules-scope "^3.1.1" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-minimizer-webpack-plugin@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" + integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + cssnano "^6.0.1" + jest-worker "^29.4.3" + postcss "^8.4.24" + schema-utils "^4.0.1" + serialize-javascript "^6.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.0.3.tgz#b4ce755974f4dc8d3d09ac13bb6281cce3ced45e" + integrity sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA== + dependencies: + css-declaration-sorter "^7.1.1" + cssnano-utils "^4.0.1" + postcss-calc "^9.0.1" + postcss-colormin "^6.0.2" + postcss-convert-values "^6.0.2" + postcss-discard-comments "^6.0.1" + postcss-discard-duplicates "^6.0.1" + postcss-discard-empty "^6.0.1" + postcss-discard-overridden "^6.0.1" + postcss-merge-longhand "^6.0.2" + postcss-merge-rules "^6.0.3" + postcss-minify-font-values "^6.0.1" + postcss-minify-gradients "^6.0.1" + postcss-minify-params "^6.0.2" + postcss-minify-selectors "^6.0.2" + postcss-normalize-charset "^6.0.1" + postcss-normalize-display-values "^6.0.1" + postcss-normalize-positions "^6.0.1" + postcss-normalize-repeat-style "^6.0.1" + postcss-normalize-string "^6.0.1" + postcss-normalize-timing-functions "^6.0.1" + postcss-normalize-unicode "^6.0.2" + postcss-normalize-url "^6.0.1" + postcss-normalize-whitespace "^6.0.1" + postcss-ordered-values "^6.0.1" + postcss-reduce-initial "^6.0.2" + postcss-reduce-transforms "^6.0.1" + postcss-svgo "^6.0.2" + postcss-unique-selectors "^6.0.2" + +cssnano-utils@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.1.tgz#fd18b42f95938bf55ab47967705355d6047bf1da" + integrity sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ== + +cssnano@^6.0.1: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.0.3.tgz#46db972da71aa159437287fb4c6bc9c5d3cc5d93" + integrity sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw== + dependencies: + cssnano-preset-default "^6.0.3" + lilconfig "^3.0.0" + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + +cssom@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" + integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2, csstype@^3.0.8, csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +csv-parse@5.5.3: + version "5.5.3" + resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.3.tgz#0261050761ee46cd0e46421854bf9bf4de1317bf" + integrity sha512-v0KW6C0qlZzoGjk6u5tLmVfyZxNgPGXZsWTXshpAgKVGmGXzaVWGdlCFxNx5iuzcXT/oJN1HHM9DZKwtAtYa+A== + +cypress@^13.6.1: + version "13.6.5" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.5.tgz#d8ab22dda3b9a8abeebcb65dc8a2707cb73bf925" + integrity sha512-2NxSDcO2zHw5kTcosc6dzv2zppEqiXrFFhZw5cx/EWrSNZABTzpr/EyvYzGgrWm46o5173JUfuJfDQcaiZZPVQ== + dependencies: + "@cypress/request" "^3.0.0" + "@cypress/xvfb" "^1.2.4" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.7.1" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^6.2.1" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.4" + enquirer "^2.3.6" + eventemitter2 "6.4.7" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-ci "^3.0.1" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.8" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + process "^0.11.10" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.5.3" + supports-color "^8.1.1" + tmp "~0.2.1" + untildify "^4.0.0" + yauzl "^2.10.0" + +"d3-color@1 - 3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-ease@^1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.7.tgz#9a834890ef8b8ae8c558b2fe55bd57f5993b85e2" + integrity sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ== + +d3-hierarchy@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz#dab88a58ca3e7a1bc6cab390e89667fcc6d20218" + integrity sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw== + +d3-interpolate@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +d3-regression@^1.3.5: + version "1.3.10" + resolved "https://registry.yarnpkg.com/d3-regression/-/d3-regression-1.3.10.tgz#d1a411ab45044d9e8d5b8aec05f2e598e1a621c9" + integrity sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw== + +d3-timer@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5" + integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +data-urls@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" + integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + +dayjs@1.11.10, dayjs@^1.10.4, dayjs@^1.11.1: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.1.0, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize@^1.0.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + +deep-equal@^2.0.5: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + +deep-equal@~1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== + dependencies: + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" + object-keys "^1.1.1" + regexp.prototype.flags "^1.5.1" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@4.3.1, deepmerge@^4.2.2, deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.1, define-data-property@^1.1.2, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +defined@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-browser@^5.0.0, detect-browser@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + +detect-libc@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + dependencies: + address "^1.0.1" + debug "4" + +dezalgo@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== + dependencies: + asap "^2.0.0" + wrappy "1" + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv-expand@~10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" + integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== + +dotenv@~16.3.1: + version "16.3.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" + integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== + +dotignore@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" + integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== + dependencies: + minimatch "^3.0.4" + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +ejs@^3.1.7: + version "3.1.9" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" + integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.4.668: + version "1.4.677" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.677.tgz#49ee77713516740bdde32ac2d1443c444f0dafe7" + integrity sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0, enhanced-resolve@^5.7.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.6: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +enquirer@~2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.22.4: + version "1.22.4" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.4.tgz#26eb2e7538c3271141f5754d31aabfdb215f27bf" + integrity sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.6" + call-bind "^1.0.7" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.2" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.1" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.0" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.1" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.14" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.0.0, es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-iterator-helpers@^1.0.12, es-iterator-helpers@^1.0.15: + version "1.0.17" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz#123d1315780df15b34eb181022da43e734388bb8" + integrity sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ== + dependencies: + asynciterator.prototype "^1.0.0" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.22.4" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.2" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + has-property-descriptors "^1.0.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + iterator.prototype "^1.1.2" + safe-array-concat "^1.1.0" + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +es-set-tostringtag@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +esbuild@0.19.10: + version "0.19.10" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.10.tgz#55e83e4a6b702e3498b9f872d84bfb4ebcb6d16e" + integrity sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA== + optionalDependencies: + "@esbuild/aix-ppc64" "0.19.10" + "@esbuild/android-arm" "0.19.10" + "@esbuild/android-arm64" "0.19.10" + "@esbuild/android-x64" "0.19.10" + "@esbuild/darwin-arm64" "0.19.10" + "@esbuild/darwin-x64" "0.19.10" + "@esbuild/freebsd-arm64" "0.19.10" + "@esbuild/freebsd-x64" "0.19.10" + "@esbuild/linux-arm" "0.19.10" + "@esbuild/linux-arm64" "0.19.10" + "@esbuild/linux-ia32" "0.19.10" + "@esbuild/linux-loong64" "0.19.10" + "@esbuild/linux-mips64el" "0.19.10" + "@esbuild/linux-ppc64" "0.19.10" + "@esbuild/linux-riscv64" "0.19.10" + "@esbuild/linux-s390x" "0.19.10" + "@esbuild/linux-x64" "0.19.10" + "@esbuild/netbsd-x64" "0.19.10" + "@esbuild/openbsd-x64" "0.19.10" + "@esbuild/sunos-x64" "0.19.10" + "@esbuild/win32-arm64" "0.19.10" + "@esbuild/win32-ia32" "0.19.10" + "@esbuild/win32-x64" "0.19.10" + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + dependencies: + debug "^3.2.7" + +eslint-plugin-cypress@2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.1.tgz#336afa7e8e27451afaf65aa359c9509e0a4f3a7b" + integrity sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w== + dependencies: + globals "^13.20.0" + +eslint-plugin-import@2.29.1: + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.15.0" + +eslint-plugin-json@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz#251108ba1681c332e0a442ef9513bd293619de67" + integrity sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g== + dependencies: + lodash "^4.17.21" + vscode-json-languageservice "^4.1.6" + +eslint-plugin-jsx-a11y@6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" + integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== + dependencies: + "@babel/runtime" "^7.23.2" + aria-query "^5.3.0" + array-includes "^3.1.7" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "=4.7.0" + axobject-query "^3.2.1" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + es-iterator-helpers "^1.0.15" + hasown "^2.0.0" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.entries "^1.1.7" + object.fromentries "^2.0.7" + +eslint-plugin-react-hooks@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@7.33.2: + version "7.33.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" + integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.12" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.1" + string.prototype.matchall "^4.0.8" + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@8.48.0: + version "8.48.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.48.0.tgz#bf9998ba520063907ba7bfe4c480dc8be03c2155" + integrity sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "8.48.0" + "@humanwhocodes/config-array" "^0.11.10" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.0.0, espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0, esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter2@6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" + integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +executable@^4.1.0, executable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +export-from-json@1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/export-from-json/-/export-from-json-1.7.3.tgz#b67f42c9a492e5513ef2a8f7f856ed3531a80c67" + integrity sha512-Xg0L0saYz+CBz2MnaZvSEAHr17hWtHAfFWXw/frllG9t6aijuQukiU40ElOeM9nDTrtQPhLJMLN0q8lo897FYg== + +express-rate-limit@7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.1.5.tgz#af4c81143a945ea97f2599d13957440a0ddbfcfe" + integrity sha512-/iVogxu7ueadrepw1bS0X0kaRC/U0afwiYRSLg68Ts+p4Dc85Q5QKsOnPS/QUjPMHvOJQtBDrZgvkOzf8ejUYw== + +express-session@1.17.3: + version "1.17.3" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.3.tgz#14b997a15ed43e5949cb1d073725675dd2777f36" + integrity sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw== + dependencies: + cookie "0.4.2" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~2.0.0" + on-headers "~1.0.2" + parseurl "~1.3.3" + safe-buffer "5.2.1" + uid-safe "~2.1.5" + +express@^4.17.1, express@^4.17.3, express@^4.18.2: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext-list@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" + integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== + dependencies: + mime-db "^1.28.0" + +ext-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" + integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== + dependencies: + ext-list "^2.0.0" + sort-keys-length "^1.0.0" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extract-files@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-13.0.0.tgz#9065073dedbcfb5e2ae8a90988cf609834b217ec" + integrity sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g== + dependencies: + is-plain-obj "^4.1.0" + +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-fifo@^1.1.0, fast-fifo@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + +fast-glob@3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-safe-stringify@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fast-xml-parser@^4.2.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.4.tgz#385cc256ad7bbc57b91515a38a22502a9e1fca0d" + integrity sha512-utnwm92SyozgA3hhH2I8qldf2lBqm6qHOICawRNRFu1qMe3+oqr+GcXjGqTmXTMGE5T4eC03kr/rlh5C1IRdZA== + dependencies: + strnum "^1.0.5" + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +fecha@~4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" + integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== + +figures@3.2.0, figures@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-selector@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" + integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== + dependencies: + tslib "^2.4.0" + +file-type@^17.1.6: + version "17.1.6" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.1.6.tgz#18669e0577a4849ef6e73a41f8bdf1ab5ae21023" + integrity sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw== + dependencies: + readable-web-to-node-stream "^3.0.2" + strtok3 "^7.0.0-alpha.9" + token-types "^5.0.0-alpha.2" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +filename-reserved-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz#3d5dd6d4e2d73a3fed2ebc4cd0b3448869a081f7" + integrity sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw== + +filenamify@^5.0.2: + version "5.1.1" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-5.1.1.tgz#a1ccc5ae678a5e34f578afcb9b72898264d166d2" + integrity sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA== + dependencies: + filename-reserved-regex "^3.0.0" + strip-outer "^2.0.0" + trim-repeated "^2.0.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +find-versions@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-5.1.0.tgz#973f6739ce20f5e439a27eba8542a4b236c8e685" + integrity sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg== + dependencies: + semver-regex "^4.0.5" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.3.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.0.tgz#5fdca2b5e671cd38d1537427a10e02a2caa8257e" + integrity sha512-noqGuLw158+DuD9UPRKHpJ2hGxpFyDlYYrfM0mWt4XhT4n0lwzTLh70Tkdyy4kyTmyTT9Bv7bWAJqw7cgkEXDg== + +fmin@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/fmin/-/fmin-0.0.2.tgz#59bbb40d43ffdc1c94cd00a568c41f95f1973017" + integrity sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A== + dependencies: + contour_plot "^0.0.1" + json2module "^0.0.3" + rollup "^0.25.8" + tape "^4.5.1" + uglify-js "^2.6.2" + +follow-redirects@^1.0.0, follow-redirects@^1.15.0, follow-redirects@^1.15.3, follow-redirects@^1.15.4: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + +for-each@^0.3.3, for-each@~0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +fork-ts-checker-webpack-plugin@7.2.13: + version "7.2.13" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz#51ffd6a2f96f03ab64b92f8aedf305dbf3dee0f1" + integrity sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg== + dependencies: + "@babel/code-frame" "^7.16.7" + chalk "^4.1.2" + chokidar "^3.5.3" + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + fs-extra "^10.0.0" + memfs "^3.4.1" + minimatch "^3.0.4" + node-abort-controller "^3.0.1" + schema-utils "^3.1.1" + semver "^7.3.5" + tapable "^2.2.1" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +formidable@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" + integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== + dependencies: + dezalgo "^1.0.4" + hexoid "^1.0.0" + once "^1.4.0" + qs "^6.11.0" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@11.2.0, fs-extra@^11.1.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-port@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-7.0.0.tgz#ffcd83da826146529e307a341d7801cae351daff" + integrity sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw== + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +git-rev-sync@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/git-rev-sync/-/git-rev-sync-3.0.2.tgz#9763c730981187c3419b75dd270088cc5f0e161b" + integrity sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ== + dependencies: + escape-string-regexp "1.0.5" + graceful-fs "4.1.15" + shelljs "0.8.5" + +gl-matrix@^3.0.0, gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" + integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0, globals@^13.20.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^12.0.2: + version "12.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-12.2.0.tgz#2ab8046b4fba4ff6eede835b29f678f90e3d3c22" + integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== + dependencies: + array-union "^3.0.1" + dir-glob "^3.0.1" + fast-glob "^3.2.7" + ignore "^5.1.9" + merge2 "^1.4.1" + slash "^4.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^11.8.5: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@4.1.15: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +graphql-scalars@1.22.4: + version "1.22.4" + resolved "https://registry.yarnpkg.com/graphql-scalars/-/graphql-scalars-1.22.4.tgz#af092b142bcfd5c1f8c53cb70ee1955ecd4ddb03" + integrity sha512-ILnv7jq5VKHLUyoaTFX7lgYrjCd6vTee9i8/B+D4zJKJT5TguOl0KkpPEbXHjmeor8AZYrVsrYUHdqRBMX1pjA== + dependencies: + tslib "^2.5.0" + +graphql-subscriptions@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz#11ec181d475852d8aec879183e8e1eb94f2eb79a" + integrity sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA== + dependencies: + iterall "^1.3.0" + +graphql-tag@2.12.6, graphql-tag@^2.12.6: + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + +graphql-type-json@0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" + integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== + +graphql-upload-minimal@1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/graphql-upload-minimal/-/graphql-upload-minimal-1.5.5.tgz#7836ab0abe2ec9657f186ff130232a64facfa1b3" + integrity sha512-eNIBl850Sj2Lp14ak+9pK4KINQw2Hkk/t15yY3pPQ0jntkCODL5csTECxsqIYRJisoxNFnIrX4zAGlKGvXc17A== + dependencies: + busboy "^1.6.0" + +graphql-ws@5.14.3: + version "5.14.3" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.14.3.tgz#fb1fba011a0ae9c4e86d831cae2ec27955168b9a" + integrity sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ== + +graphql@16.8.1: + version "16.8.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" + integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.1, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +has@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== + +hasown@^2.0.0, hasown@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hexoid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" + integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== + +hi-base32@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" + integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== + +highlight-words-core@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" + integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== + +hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hosted-git-info@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" + integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== + dependencies: + lru-cache "^10.0.1" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +html-entities@^2.1.0, html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.1, http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +http-proxy-middleware@2.0.6, http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-server@^14.1.0: + version "14.1.1" + resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== + dependencies: + basic-auth "^2.0.1" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.2.0" + html-encoding-sniffer "^3.0.0" + http-proxy "^1.18.1" + mime "^1.6.0" + minimist "^1.2.6" + opener "^1.5.1" + portfinder "^1.0.28" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^4.0.1" + +http-signature@~1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" + integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.14.1" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-browserify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" + integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== + dependencies: + agent-base "^7.0.2" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +husky@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" + integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.13, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.0.4, ignore@^5.1.9, ignore@^5.2.0, ignore@^5.2.4: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +immutable@^4.0.0: + version "4.3.5" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0" + integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== + +import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +internal-slot@^1.0.4, internal-slot@^1.0.5, internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-arguments@^1.0.4, is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0, is-core-module@^2.13.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-generator-function@^1.0.10, is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-map@^2.0.1, is-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-negative-zero@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.2, is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-obj@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.1.4, is-regex@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.1, is-set@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.13, is-typed-array@^1.1.3: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" + integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterall@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +jake@^10.8.5: + version "10.8.7" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" + integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29, jest-config@^29.4.1, jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.4.1, jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-jsdom@29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/jsdom" "^20.0.0" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + jsdom "^20.0.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29, jest-resolve@^29.4.1, jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29, jest-util@^29.0.0, jest-util@^29.4.1, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.4.3, jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.10.0, js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsdom@^20.0.0: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== + dependencies: + abab "^2.0.6" + acorn "^8.8.1" + acorn-globals "^7.0.0" + cssom "^0.5.0" + cssstyle "^2.3.0" + data-urls "^3.0.2" + decimal.js "^10.4.2" + domexception "^4.0.0" + escodegen "^2.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.2" + parse5 "^7.1.1" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + ws "^8.11.0" + xml-name-validator "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-stream/-/json-stream-1.0.0.tgz#1a3854e28d2bbeeab31cc7ddf683d2ddc5652708" + integrity sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json2module@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/json2module/-/json2module-0.0.3.tgz#00fb5f4a9b7adfc3f0647c29cb17bcd1979be9b2" + integrity sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA== + dependencies: + rw "^1.3.2" + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== + dependencies: + string-convert "^0.2.0" + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-eslint-parser@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz#74ded53f9d716e8d0671bd167bf5391f452d5461" + integrity sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg== + dependencies: + acorn "^8.5.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + semver "^7.3.5" + +jsonc-parser@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +jsonc-parser@^3.0.0, jsonc-parser@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +jsonwebtoken@9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^7.5.4" + +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +jstat@1.9.6: + version "1.9.6" + resolved "https://registry.yarnpkg.com/jstat/-/jstat-1.9.6.tgz#60e801b0d4c26e37aab0f375d1859fe9d60e10c0" + integrity sha512-rPBkJbK2TnA8pzs93QcDDPlKcrtZWuuCo2dVR0TFLOJSxhqfWOVCSp8aV3/oSbn+4uY4yw1URtLpHQedtmXfug== + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +keyv@^4.0.0, keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.4, klona@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +kruptein@^3.0.0: + version "3.0.6" + resolved "https://registry.yarnpkg.com/kruptein/-/kruptein-3.0.6.tgz#9cf976225af4bc1fbeba069dbb24f17eebad974d" + integrity sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA== + dependencies: + asn1.js "^5.4.1" + +language-subtag-registry@^0.3.20: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ== + +less-loader@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.0.tgz#a452384259bdf8e4f6d5fdcc39543609e6313f82" + integrity sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug== + dependencies: + klona "^2.0.4" + +less@4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" + integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^3.1.0" + source-map "~0.6.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +license-webpack-plugin@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz#1e18442ed20b754b82f1adeff42249b81d11aec6" + integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== + dependencies: + webpack-sources "^3.0.0" + +lilconfig@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" + integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lines-and-columns@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" + integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== + +listr2@^3.8.3: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0, loader-utils@^2.0.3, loader-utils@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.once@^4.0.0, lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.14, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +loglevel@^1.6.8: + version "1.9.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" + integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + integrity sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^10.0.1: + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.10.1, lru-cache@^7.14.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.1, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + +memory-pager@^1.0.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" + integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@^1.1.2, methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.4.1, mime@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +mini-css-extract-plugin@~2.4.7: + version "2.4.7" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz#b9f4c4f4d727c7a3cd52a11773bb739f00177fac" + integrity sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg== + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" + integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minio@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/minio/-/minio-7.1.3.tgz#86dc95f3671045d6956920db757bb63f25bf20ee" + integrity sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA== + dependencies: + async "^3.2.4" + block-stream2 "^2.1.0" + browser-or-node "^2.1.1" + buffer-crc32 "^0.2.13" + fast-xml-parser "^4.2.2" + ipaddr.js "^2.0.1" + json-stream "^1.0.0" + lodash "^4.17.21" + mime-types "^2.1.35" + query-string "^7.1.3" + through2 "^4.0.2" + web-encoding "^1.1.5" + xml "^1.0.1" + xml2js "^0.5.0" + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mock-property@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" + integrity sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ== + dependencies: + define-data-property "^1.1.1" + functions-have-names "^1.2.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + hasown "^2.0.0" + isarray "^2.0.5" + +mongodb-connection-string-url@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" + integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== + dependencies: + "@types/whatwg-url" "^8.2.1" + whatwg-url "^11.0.0" + +mongodb-connection-string-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz#b4f87f92fd8593f3b9365f592515a06d304a1e9c" + integrity sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ== + dependencies: + "@types/whatwg-url" "^11.0.2" + whatwg-url "^13.0.0" + +mongodb-memory-server-core@9.1.3: + version "9.1.3" + resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.1.3.tgz#483e17001b69d7cd455d763ceba9c9d401085c02" + integrity sha512-94pUuTgjb6NglCbKLEZm457aACxeaT8+Jw8weEy0DyWiCBd1mk8dIuq7GE1CjmHFU2hMOCnOutdR96LhkWpgig== + dependencies: + async-mutex "^0.4.0" + camelcase "^6.3.0" + debug "^4.3.4" + find-cache-dir "^3.3.2" + follow-redirects "^1.15.3" + https-proxy-agent "^7.0.2" + mongodb "^5.9.1" + new-find-package-json "^2.0.0" + semver "^7.5.4" + tar-stream "^3.0.0" + tslib "^2.6.2" + yauzl "^2.10.0" + +mongodb-memory-server@9.1.3: + version "9.1.3" + resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.1.3.tgz#3188683a7134ea34fa4c5777e19aee28c4d09cf9" + integrity sha512-EVVNll0e6QEsNhK7IJI0x51nbmv57E6X8izO3LLEnfbSZNwERG4P5nAjJfglqCSNkT4svKp1/0kzc+ldlQttOg== + dependencies: + mongodb-memory-server-core "9.1.3" + tslib "^2.6.2" + +mongodb@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-6.3.0.tgz#ec9993b19f7ed2ea715b903fcac6171c9d1d38ca" + integrity sha512-tt0KuGjGtLUhLoU263+xvQmPHEGTw5LbcNC73EoFRYgSHwZt5tsoJC110hDyO1kjQzpgNrpdcSza9PknWN4LrA== + dependencies: + "@mongodb-js/saslprep" "^1.1.0" + bson "^6.2.0" + mongodb-connection-string-url "^3.0.0" + +mongodb@^5.9.1: + version "5.9.2" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-5.9.2.tgz#39a73b9fbc87ac9d9c1aaf8aab5c5bb69e2b913e" + integrity sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ== + dependencies: + bson "^5.5.0" + mongodb-connection-string-url "^2.6.0" + socks "^2.7.1" + optionalDependencies: + "@mongodb-js/saslprep" "^1.1.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +needle@^3.1.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049" + integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== + dependencies: + iconv-lite "^0.6.3" + sax "^1.2.4" + +negotiator@0.6.3, negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +new-find-package-json@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/new-find-package-json/-/new-find-package-json-2.0.0.tgz#96553638781db35061f351e8ccb4d07126b6407d" + integrity sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew== + dependencies: + debug "^4.3.4" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-abort-controller@^3.0.1, node-abort-controller@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-machine-id@1.1.12: + version "1.1.12" + resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" + integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +nodemailer@6.9.7: + version "6.9.7" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.7.tgz#ec2f488f62ba1558e7b19239b62778df4a5c4397" + integrity sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-package-arg@11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.1.tgz#f208b0022c29240a1c532a449bdde3f0a4708ebc" + integrity sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ== + dependencies: + hosted-git-info "^7.0.0" + proc-log "^3.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + +nx@17.2.7: + version "17.2.7" + resolved "https://registry.yarnpkg.com/nx/-/nx-17.2.7.tgz#ac7d73dea0bd23a332e9520cf4834f8421bbfbff" + integrity sha512-CnssDvDphAgyeoYzdPbz6vA/xac4BQeEiO7R9IBLIm+l1MV7boI4SpCS6abR4dbp4VTwI9uBQ9vgqNwCiEjoWg== + dependencies: + "@nrwl/tao" "17.2.7" + "@yarnpkg/lockfile" "^1.1.0" + "@yarnpkg/parsers" "3.0.0-rc.46" + "@zkochan/js-yaml" "0.0.6" + axios "^1.5.1" + chalk "^4.1.0" + cli-cursor "3.1.0" + cli-spinners "2.6.1" + cliui "^8.0.1" + dotenv "~16.3.1" + dotenv-expand "~10.0.0" + enquirer "~2.3.6" + figures "3.2.0" + flat "^5.0.2" + fs-extra "^11.1.0" + glob "7.1.4" + ignore "^5.0.4" + jest-diff "^29.4.1" + js-yaml "4.1.0" + jsonc-parser "3.2.0" + lines-and-columns "~2.0.3" + minimatch "3.0.5" + node-machine-id "1.1.12" + npm-run-path "^4.0.1" + open "^8.4.0" + semver "7.5.3" + string-width "^4.2.3" + strong-log-transformer "^2.1.0" + tar-stream "~2.2.0" + tmp "~0.2.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + yargs "^17.6.2" + yargs-parser "21.1.1" + optionalDependencies: + "@nx/nx-darwin-arm64" "17.2.7" + "@nx/nx-darwin-x64" "17.2.7" + "@nx/nx-freebsd-x64" "17.2.7" + "@nx/nx-linux-arm-gnueabihf" "17.2.7" + "@nx/nx-linux-arm64-gnu" "17.2.7" + "@nx/nx-linux-arm64-musl" "17.2.7" + "@nx/nx-linux-x64-gnu" "17.2.7" + "@nx/nx-linux-x64-musl" "17.2.7" + "@nx/nx-win32-arm64-msvc" "17.2.7" + "@nx/nx-win32-x64-msvc" "17.2.7" + +object-assign@^4, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-inspect@~1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6, object.entries@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" + integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.fromentries@^2.0.6, object.fromentries@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.groupby@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.2.tgz#494800ff5bab78fd0eff2835ec859066e00192ec" + integrity sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw== + dependencies: + array.prototype.filter "^1.0.3" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.0.0" + +object.hasown@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" + integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== + dependencies: + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.values@^1.1.6, object.values@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1, on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9, open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optimism@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" + integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== + dependencies: + "@wry/caches" "^1.0.0" + "@wry/context" "^0.7.0" + "@wry/trie" "^0.4.3" + tslib "^2.3.0" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ora@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" + integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== + dependencies: + bl "^4.0.3" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + log-symbols "^4.0.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-filter-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-2.0.0.tgz#1c0b62d5f3a2442749a2d139e6dddee6e81d8d16" + integrity sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg== + dependencies: + arch "^2.1.0" + +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +parse5@^7.0.0, parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +passport-strategy@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" + integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA== + +passport@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/passport/-/passport-0.7.0.tgz#3688415a59a48cf8068417a8a8092d4492ca3a05" + integrity sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ== + dependencies: + passport-strategy "1.x.x" + pause "0.0.1" + utils-merge "^1.0.1" + +path-browserify@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pause@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" + integrity sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg== + +pdfast@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/pdfast/-/pdfast-0.2.0.tgz#8cbc556e1bf2522177787c0de2e0d4373ba885c9" + integrity sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA== + +peek-readable@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" + integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.2.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +portfinder@^1.0.28: + version "1.0.32" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +postcss-calc@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" + integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== + dependencies: + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + +postcss-colormin@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.0.2.tgz#2af9ce753937b08e058dbc6879e4aedfab42806b" + integrity sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw== + dependencies: + browserslist "^4.22.2" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.0.2.tgz#c4a7509aeb1cc7ac3f6948fcbffc2bf8cac7c56a" + integrity sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw== + dependencies: + browserslist "^4.22.2" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.1.tgz#46176212bd9c3e5f48aa4b8b4868786726c41d36" + integrity sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg== + +postcss-discard-duplicates@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.1.tgz#112b1a95948e69b3484fdd43584dda6930977939" + integrity sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg== + +postcss-discard-empty@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.1.tgz#b34cb45ec891246da4506b53e352390fdef126c4" + integrity sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg== + +postcss-discard-overridden@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.1.tgz#c63c559237758d74bc505452393a64dda9b19ef4" + integrity sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA== + +postcss-import@~14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-loader@^6.1.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-merge-longhand@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.2.tgz#cd4e83014851da59545e9a906b245615550f4064" + integrity sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^6.0.2" + +postcss-merge-rules@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.0.3.tgz#08fcf714faaad75b1980ecd961b080ae2f8ddeb3" + integrity sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA== + dependencies: + browserslist "^4.22.2" + caniuse-api "^3.0.0" + cssnano-utils "^4.0.1" + postcss-selector-parser "^6.0.15" + +postcss-minify-font-values@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.0.1.tgz#788eb930168be90225f3937f0b70aa19d8b532b2" + integrity sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.1.tgz#4faf1880b483dc37016658aa186b42194ff9b5bc" + integrity sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w== + dependencies: + colord "^2.9.1" + cssnano-utils "^4.0.1" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.0.2.tgz#bd64af642fa5610281b8a9461598bbb91f92ae05" + integrity sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw== + dependencies: + browserslist "^4.22.2" + cssnano-utils "^4.0.1" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.2.tgz#62065b38d3453ddc6627ba50e4f4a2154b031aa0" + integrity sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg== + dependencies: + postcss-selector-parser "^6.0.15" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" + integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" + integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.1.tgz#5f70e1eb8bbdbcfcbed060ef70f179e8fef57d0c" + integrity sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg== + +postcss-normalize-display-values@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.1.tgz#ff9aa30bbf1283294bfd9cc8b6fb81ff060a7f2d" + integrity sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.1.tgz#41ffdc72994f024c6cd6e91dbfb40ab9abe6fe90" + integrity sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.1.tgz#55dc54b6f80305b280a379899a6626e0a07b04a8" + integrity sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.1.tgz#7605e0fb4ec7bf2709709991d13a949e4419db1d" + integrity sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.1.tgz#ef937b7ca2fd62ed0b46645ea5728b842a3600db" + integrity sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.2.tgz#361026744ff11baebaec771b60c2a5f36f274fd0" + integrity sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA== + dependencies: + browserslist "^4.22.2" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.1.tgz#eae58cb4f5f9a4fa5bbbf6d4222dff534ad46186" + integrity sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.1.tgz#b5933750b938814c028d3d2b2e5c0199e0037b53" + integrity sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.1.tgz#553e735d009065b362da93340e57f43d5f2d0fbc" + integrity sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA== + dependencies: + cssnano-utils "^4.0.1" + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.0.2.tgz#763d25902406c872264041df69f182eb15a5d9be" + integrity sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw== + dependencies: + browserslist "^4.22.2" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.1.tgz#7bf59d7c6e7066e3b18ef17237d2344bd3da6d75" + integrity sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.15, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.15" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.2.tgz#dbc9d03e7f346bc0d82443078602a951e0214836" + integrity sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^3.2.0" + +postcss-unique-selectors@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.2.tgz#09a34a5a31a649d3e9bca5962af0616f39d071d2" + integrity sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ== + dependencies: + postcss-selector-parser "^6.0.15" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.14, postcss@^8.4.24, postcss@^8.4.33: + version "8.4.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +pretty-bytes@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-format@^27.0.2, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +proc-log@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" + integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.5.8, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + +qrcode.react@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8" + integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== + +qrcode@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@6.10.4: + version "6.10.4" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" + integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== + dependencies: + side-channel "^1.0.4" + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +qs@^6.11.0, qs@^6.11.2, qs@^6.4.0: + version "6.11.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" + integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== + dependencies: + side-channel "^1.0.4" + +query-string@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +queue-tick@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" + integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc-cascader@~3.20.0: + version "3.20.0" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.20.0.tgz#b270f9d84ed83417ee7309ef5e56e415f1586076" + integrity sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw== + dependencies: + "@babel/runtime" "^7.12.5" + array-tree-filter "^2.1.0" + classnames "^2.3.1" + rc-select "~14.10.0" + rc-tree "~5.8.1" + rc-util "^5.37.0" + +rc-checkbox@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.1.0.tgz#6be0d9d8de2cc96fb5e37f9036a1c3e360d0a42d" + integrity sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.3.2" + rc-util "^5.25.2" + +rc-collapse@~3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.7.2.tgz#d11538ff9c705a5c988d9a4dfcc051a919692fe3" + integrity sha512-ZRw6ipDyOnfLFySxAiCMdbHtb5ePAsB9mT17PA6y1mRD/W6KHRaZeb5qK/X9xDV1CqgyxMpzw0VdS74PCcUk4A== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.3.4" + rc-util "^5.27.0" + +rc-dialog@~9.3.4: + version "9.3.4" + resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.3.4.tgz#e0decb3d4a0dbe36524a67ed2f8fe2daa4b7b73c" + integrity sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/portal" "^1.0.0-8" + classnames "^2.2.6" + rc-motion "^2.3.0" + rc-util "^5.21.0" + +rc-drawer@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.5.2.tgz#49c1f279261992f6d4653d32a03b14acd436d610" + integrity sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/portal" "^1.1.1" + classnames "^2.2.6" + rc-motion "^2.6.1" + rc-util "^5.36.0" + +rc-dropdown@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.1.0.tgz#418a68939631520de80d0865d02b440eeeb4168e" + integrity sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw== + dependencies: + "@babel/runtime" "^7.18.3" + "@rc-component/trigger" "^1.7.0" + classnames "^2.2.6" + rc-util "^5.17.0" + +rc-field-form@~1.41.0: + version "1.41.0" + resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.41.0.tgz#660ed8691fdabbc1e5b1ee6b5e0e4f534b295cf0" + integrity sha512-k9AS0wmxfJfusWDP/YXWTpteDNaQ4isJx9UKxx4/e8Dub4spFeZ54/EuN2sYrMRID/+hUznPgVZeg+Gf7XSYCw== + dependencies: + "@babel/runtime" "^7.18.0" + async-validator "^4.1.0" + rc-util "^5.32.2" + +rc-image@~7.5.1: + version "7.5.1" + resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-7.5.1.tgz#39a93354e14fe3e5eaafd9c9464e8fe3c6c171a0" + integrity sha512-Z9loECh92SQp0nSipc0MBuf5+yVC05H/pzC+Nf8xw1BKDFUJzUeehYBjaWlxly8VGBZJcTHYri61Fz9ng1G3Ag== + dependencies: + "@babel/runtime" "^7.11.2" + "@rc-component/portal" "^1.0.2" + classnames "^2.2.6" + rc-dialog "~9.3.4" + rc-motion "^2.6.2" + rc-util "^5.34.1" + +rc-input-number@~8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-8.4.0.tgz#f0d0caa2ce3a4e37f062556f9cb4c08c8c23322d" + integrity sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/mini-decimal" "^1.0.1" + classnames "^2.2.5" + rc-input "~1.3.5" + rc-util "^5.28.0" + +rc-input@~1.3.11, rc-input@~1.3.5: + version "1.3.11" + resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.3.11.tgz#08f25d6d65b418dc9001e8f36432fe323bde37fa" + integrity sha512-jhH7QP5rILanSHCGSUkdoFE5DEtpv8FIseYhuYkOZzUBeiVAiwM3q26YqZ6xBB0QFEZ/yUAgms4xW4iuub3xFQ== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.18.1" + +rc-mentions@~2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.9.1.tgz#cfe55913fd5bc156ef9814f38c1a2ceefee032ce" + integrity sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew== + dependencies: + "@babel/runtime" "^7.22.5" + "@rc-component/trigger" "^1.5.0" + classnames "^2.2.6" + rc-input "~1.3.5" + rc-menu "~9.12.0" + rc-textarea "~1.5.0" + rc-util "^5.34.1" + +rc-menu@~9.12.0, rc-menu@~9.12.4: + version "9.12.4" + resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.12.4.tgz#4959b5eeb780be7ff52aac31952b35efca46b9a3" + integrity sha512-t2NcvPLV1mFJzw4F21ojOoRVofK2rWhpKPx69q2raUsiHPDP6DDevsBILEYdsIegqBeSXoWs2bf6CueBKg3BFg== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^1.17.0" + classnames "2.x" + rc-motion "^2.4.3" + rc-overflow "^1.3.1" + rc-util "^5.27.0" + +rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" + integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.21.0" + +rc-notification@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-5.3.0.tgz#e31c86fe2350598ade8cff383babd1befa7a94fe" + integrity sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.9.0" + rc-util "^5.20.1" + +rc-overflow@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" + integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.37.0" + +rc-pagination@~4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-4.0.4.tgz#ea401388ae86eac17ed5b41212d487f12b65b773" + integrity sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.3.2" + rc-util "^5.38.0" + +rc-picker@~3.14.6: + version "3.14.6" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-3.14.6.tgz#60fc34f9883272e10f6c593fa6d82e7e7a70781b" + integrity sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^1.5.0" + classnames "^2.2.1" + rc-util "^5.30.0" + +rc-progress@~3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.5.1.tgz#a3cdfd2fe04eb5c3d43fa1c69e7dd70c73b102ae" + integrity sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-util "^5.16.1" + +rc-rate@~2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.12.0.tgz#0182deffed3b009cdcc61660da8746c39ed91ed5" + integrity sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.0.1" + +rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" + integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== + dependencies: + "@babel/runtime" "^7.20.7" + classnames "^2.2.1" + rc-util "^5.38.0" + resize-observer-polyfill "^1.5.1" + +rc-segmented@~2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.2.2.tgz#a34f12ce6c0975fc3042ae7656bcd18e1744798e" + integrity sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-motion "^2.4.4" + rc-util "^5.17.0" + +rc-select@~14.10.0: + version "14.10.0" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.10.0.tgz#5f60e61ed7c9a83c8591616b1174a1c4ab2de0cd" + integrity sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^1.5.0" + classnames "2.x" + rc-motion "^2.0.1" + rc-overflow "^1.3.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.2" + +rc-slider@~10.5.0: + version "10.5.0" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.5.0.tgz#1bd4853d114cb3403b67c485125887adb6a2a117" + integrity sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.27.0" + +rc-steps@~6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-6.0.1.tgz#c2136cd0087733f6d509209a84a5c80dc29a274d" + integrity sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g== + dependencies: + "@babel/runtime" "^7.16.7" + classnames "^2.2.3" + rc-util "^5.16.1" + +rc-switch@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-4.1.0.tgz#f37d81b4e0c5afd1274fd85367b17306bf25e7d7" + integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg== + dependencies: + "@babel/runtime" "^7.21.0" + classnames "^2.2.1" + rc-util "^5.30.0" + +rc-table@~7.36.1: + version "7.36.1" + resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.36.1.tgz#4a1a6d7e9797d553845bfa62571720cc613ecc94" + integrity sha512-9qMxEm/3Y8ukdW8I8ZvmhX0QImfNKzH0JEUlSbyaUlsYTB+/tQEbfaB8YkG4sHVZ1io4pxqK/BXoZYqebi/TIQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/context" "^1.4.0" + classnames "^2.2.5" + rc-resize-observer "^1.1.0" + rc-util "^5.37.0" + rc-virtual-list "^3.11.1" + +rc-tabs@~12.14.1: + version "12.14.1" + resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.14.1.tgz#1fe4c0bd54550c216f9612b76eff7fbe750f4d2b" + integrity sha512-1xlE7JQNYxD5RwBsM7jf2xSdUrkmTSDFLFEm2gqAgnsRlOGydEzXXNAVTOT6QcgM1G/gCm+AgG+FYPUGb4Hs4g== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "2.x" + rc-dropdown "~4.1.0" + rc-menu "~9.12.0" + rc-motion "^2.6.2" + rc-resize-observer "^1.0.0" + rc-util "^5.34.1" + +rc-textarea@~1.5.0, rc-textarea@~1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.5.3.tgz#513e837d308584996c05f540f4f58645a3a8c89a" + integrity sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-input "~1.3.5" + rc-resize-observer "^1.0.0" + rc-util "^5.27.0" + +rc-tooltip@~6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-6.1.3.tgz#83b97004a1ab918ed4936bbf089bc754254efd1b" + integrity sha512-HMSbSs5oieZ7XddtINUddBLSVgsnlaSb3bZrzzGWjXa7/B7nNedmsuz72s7EWFEro9mNa7RyF3gOXKYqvJiTcQ== + dependencies: + "@babel/runtime" "^7.11.2" + "@rc-component/trigger" "^1.18.0" + classnames "^2.3.1" + +rc-tree-select@~5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.15.0.tgz#8591f1dd28b043dde6fa1ca30c7acb198b160a42" + integrity sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-select "~14.10.0" + rc-tree "~5.8.1" + rc-util "^5.16.1" + +rc-tree@~5.8.1, rc-tree@~5.8.2: + version "5.8.5" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.8.5.tgz#f714a383be27bd87366cf32f7f85b2af1fbae6b6" + integrity sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.1" + +rc-upload@~4.3.5: + version "4.3.6" + resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.6.tgz#6a87397315cee065a04bee4103d6de9dbe2e377a" + integrity sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.5" + rc-util "^5.2.0" + +rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1: + version "5.38.2" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.2.tgz#240da546b51ee838e616f7a2e3fcf62c753b0330" + integrity sha512-yRGRPKyi84H7NkRSP6FzEIYBdUt4ufdsmXUZ7qM2H5qoByPax70NnGPkfo36N+UKUnUBj2f2Q2eUbwYMuAsIOQ== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + +rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: + version "3.11.4" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz#d0a8937843160b7b00d5586854290bf56d396af7" + integrity sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA== + dependencies: + "@babel/runtime" "^7.20.0" + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.36.0" + +react-content-loader@^5.0.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/react-content-loader/-/react-content-loader-5.1.4.tgz#854bafe4415dd9de07174621375bc308edd0ebb5" + integrity sha512-hTq7pZi2GKCK6a9d3u6XStozm0QGCEjw8cSqQReiWnh2up6IwCha5R5TF0o6SY5qUDpByloEZEZtnFxpJyENFw== + +react-csv@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/react-csv/-/react-csv-2.2.2.tgz#5bbf0d72a846412221a14880f294da9d6def9bfb" + integrity sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw== + +react-dom@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-dropzone@14.2.3: + version "14.2.3" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" + integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== + dependencies: + attr-accept "^2.2.2" + file-selector "^0.6.0" + prop-types "^15.8.1" + +react-fast-compare@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-helmet-async@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-2.0.4.tgz#50a4377778f380ed1d0136303916b38eff1bf153" + integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== + dependencies: + invariant "^2.2.4" + react-fast-compare "^3.2.2" + shallowequal "^1.1.0" + +react-highlight-words@0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" + integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.0.0, react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +react-router-dom@6.21.1: + version "6.21.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.21.1.tgz#58b459d2fe1841388c95bb068f85128c45e27349" + integrity sha512-QCNrtjtDPwHDO+AO21MJd7yIcr41UetYt5jzaB9Y1UYaPTCnVuJq6S748g1dE11OQlCFIQg+RtAA1SEZIyiBeA== + dependencies: + "@remix-run/router" "1.14.1" + react-router "6.21.1" + +react-router@6.21.1: + version "6.21.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.21.1.tgz#8db7ee8d7cfc36513c9a66b44e0897208c33be34" + integrity sha512-W0l13YlMTm1YrpVIOpjCADJqEUpz1vm+CMo47RuFX4Ftegwm6KOYsL5G3eiE52jnJpKvzm6uB/vTKTPKM8dmkA== + dependencies: + "@remix-run/router" "1.14.1" + +react@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readable-stream@3, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-web-to-node-stream@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" + integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== + dependencies: + readable-stream "^3.6.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +reflect.getprototypeof@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz#e0bd28b597518f16edaf9c0e292c631eb13e0674" + integrity sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.0.0" + get-intrinsic "^1.2.3" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@0.14.1, regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.6: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +response-iterator@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" + integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@0.13.1, retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + integrity sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg== + dependencies: + align-text "^0.1.1" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup@^0.25.8: + version "0.25.8" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.25.8.tgz#bf6ce83b87510d163446eeaa577ed6a6fc5835e0" + integrity sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA== + dependencies: + chalk "^1.1.1" + minimist "^1.2.0" + source-map-support "^0.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rw@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== + +rxjs@^7.5.1, rxjs@^7.8.0: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" + integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-filename@1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +sass-loader@^12.2.0: + version "12.6.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sass@^1.42.1: + version "1.71.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.71.0.tgz#b3085759b9b2ab503a977aecb7e91153bf941117" + integrity sha512-HKKIKf49Vkxlrav3F/w6qRuPcmImGVbIXJ2I3Kg0VMA+3Bav+8yE9G5XmP5lMj6nl4OlqbPftGAscNaNu28b8w== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sax@>=0.6.0, sax@^1.2.4, sax@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0, schema-utils@^4.0.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +scroll-into-view-if-needed@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f" + integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ== + dependencies: + compute-scroll-into-view "^3.0.2" + +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" + integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +semver-regex@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-4.0.5.tgz#fbfa36c7ba70461311f5debcb3928821eb4f9180" + integrity sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw== + +semver-truncate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-3.0.0.tgz#0e3b4825d4a4225d8ae6e7c72231182b42edba40" + integrity sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg== + dependencies: + semver "^7.3.5" + +semver@7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" + integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== + dependencies: + lru-cache "^6.0.0" + +semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425" + integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g== + dependencies: + define-data-property "^1.1.2" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + +set-function-name@^2.0.0, set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +shelljs@0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b" + integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +size-sensor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/size-sensor/-/size-sensor-1.0.2.tgz#b8f8da029683cf2b4e22f12bf8b8f0a1145e8471" + integrity sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw== + +slash@3.0.0, slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +socks@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.3.tgz#7d8a75d7ce845c0a96f710917174dba0d543a785" + integrity sha512-vfuYK48HXCTFD03G/1/zkIls3Ebr2YNa4qU9gHDZdblHLiqhJrJGkY3+0Nx0JpN9qBhJbVObc1CNciT1bIZJxw== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +sort-keys-length@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" + integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== + dependencies: + sort-keys "^1.0.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + dependencies: + is-plain-obj "^1.0.0" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-loader@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" + integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== + dependencies: + abab "^2.0.5" + iconv-lite "^0.6.3" + source-map-js "^1.0.1" + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@0.5.19: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" + integrity sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg== + dependencies: + source-map "0.1.32" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.1.32: + version "0.1.32" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" + integrity sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ== + dependencies: + amdefine ">=0.0.4" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3, source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +sparse-bitfield@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" + integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== + dependencies: + memory-pager "^1.0.2" + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.14.1: + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +stream-browserify@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-http@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +streamx@^2.15.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.16.1.tgz#2b311bd34832f08aa6bb4d6a80297c9caef89614" + integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== + dependencies: + fast-fifo "^1.1.0" + queue-tick "^1.0.1" + optionalDependencies: + bare-events "^2.2.0" + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" + integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + regexp.prototype.flags "^1.5.0" + set-function-name "^2.0.0" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.8, string.prototype.trim@~1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-outer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-2.0.0.tgz#c45c724ed9b1ff6be5f660503791404f4714084b" + integrity sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg== + +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + +strong-log-transformer@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + +strtok3@^7.0.0-alpha.9: + version "7.0.0" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" + integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^5.0.0" + +style-loader@^3.3.0, style-loader@^3.3.3: + version "3.3.4" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" + integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== + +stylehacks@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.0.2.tgz#5bf2654561752547d4548765f35c9a49659b3742" + integrity sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg== + dependencies: + browserslist "^4.22.2" + postcss-selector-parser "^6.0.15" + +stylis@^4.0.13: + version "4.3.1" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" + integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== + +stylus-loader@^7.1.0, stylus-loader@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.1.3.tgz#1fdfa0d34e8c05a569bc0902e1ecdb857d764964" + integrity sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw== + dependencies: + fast-glob "^3.2.12" + normalize-path "^3.0.0" + +stylus@^0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" + integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== + dependencies: + "@adobe/css-tools" "^4.0.1" + debug "^4.3.2" + glob "^7.1.6" + sax "~1.2.4" + source-map "^0.7.3" + +stylus@^0.62.0: + version "0.62.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.62.0.tgz#648a020e2bf90ed87587ab9c2f012757e977bb5d" + integrity sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg== + dependencies: + "@adobe/css-tools" "~4.3.1" + debug "^4.3.2" + glob "^7.1.6" + sax "~1.3.0" + source-map "^0.7.3" + +superagent@^8.0.5: + version "8.1.2" + resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" + integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== + dependencies: + component-emitter "^1.3.0" + cookiejar "^2.1.4" + debug "^4.3.4" + fast-safe-stringify "^2.1.1" + form-data "^4.0.0" + formidable "^2.1.2" + methods "^1.1.2" + mime "2.6.0" + qs "^6.11.0" + semver "^7.3.8" + +supertest@6.3.3: + version "6.3.3" + resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.3.tgz#42f4da199fee656106fd422c094cf6c9578141db" + integrity sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA== + dependencies: + methods "^1.1.2" + superagent "^8.0.5" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^3.0.2, svgo@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.2.0.tgz#7a5dff2938d8c6096e00295c2390e8e652fa805d" + integrity sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.3.1" + css-what "^6.1.0" + csso "^5.0.5" + picocolors "^1.0.0" + +swc-loader@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" + integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== + +symbol-observable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tape@^4.5.1: + version "4.17.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.17.0.tgz#de89f3671ddc5dad178d04c28dc6b0183f42268e" + integrity sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw== + dependencies: + "@ljharb/resumer" "~0.0.1" + "@ljharb/through" "~2.3.9" + call-bind "~1.0.2" + deep-equal "~1.1.1" + defined "~1.0.1" + dotignore "~0.1.2" + for-each "~0.3.3" + glob "~7.2.3" + has "~1.0.3" + inherits "~2.0.4" + is-regex "~1.1.4" + minimist "~1.2.8" + mock-property "~1.0.0" + object-inspect "~1.12.3" + resolve "~1.22.6" + string.prototype.trim "~1.2.8" + +tar-stream@^3.0.0: + version "3.1.7" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b" + integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== + dependencies: + b4a "^1.6.4" + fast-fifo "^1.2.0" + streamx "^2.15.0" + +tar-stream@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@^6.1.11: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.3: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.27.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.2.tgz#577a362515ff5635f98ba149643793a3973ba77e" + integrity sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throttle-debounce@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933" + integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg== + +throttleit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== + +through2@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +"through@>=2.2.7 <3", through@^2.3.4, through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tmp@0.2.1, tmp@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +token-types@^5.0.0-alpha.2: + version "5.0.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4" + integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + +tough-cookie@^4.1.2, tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + +tr46@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" + integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== + dependencies: + punycode "^2.3.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +trim-repeated@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-2.0.0.tgz#5d60556d6d40d9461b7c7e06c3ac20b6b1d50090" + integrity sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg== + dependencies: + escape-string-regexp "^5.0.0" + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== + dependencies: + utf8-byte-length "^1.0.1" + +ts-api-utils@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.2.1.tgz#f716c7e027494629485b21c0df6180f4d08f5e8b" + integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA== + +ts-essentials@9.4.1: + version "9.4.1" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-9.4.1.tgz#6a6b6f81c2138008a5eef216e9fa468d8d9e2ab4" + integrity sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ== + +ts-invariant@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" + integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== + dependencies: + tslib "^2.1.0" + +ts-jest@29.1.1: + version "29.1.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b" + integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" + lodash.memoize "4.x" + make-error "1.x" + semver "^7.5.3" + yargs-parser "^21.0.1" + +ts-loader@^9.3.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" + integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + source-map "^0.7.4" + +ts-node@10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +ts-node@10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths-webpack-plugin@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz#84008fc3e3e0658fdb0262758b07b4da6265ff1a" + integrity sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.7.0" + tsconfig-paths "^4.0.0" + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.10.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.5.tgz#57d44da160296d8663fd63180a1802ebf25905d5" + integrity sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typed-assert@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" + integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== + +typescript@5.3.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== + +typescript@~5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + +uglify-js@^2.6.2: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + integrity sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w== + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + integrity sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q== + +uid-safe@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" + integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== + dependencies: + random-bytes "~1.0.0" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +union@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== + dependencies: + punycode "^1.4.1" + qs "^6.11.2" + +utf8-byte-length@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" + integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.3: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +utils-merge@1.0.1, utils-merge@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@9.0.1, uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +validate-npm-package-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" + integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== + dependencies: + builtins "^5.0.0" + +value-or-promise@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" + integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vscode-json-languageservice@^4.1.6: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz#94b6f471ece193bf4a1ef37f6ab5cce86d50a8b4" + integrity sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA== + dependencies: + jsonc-parser "^3.0.0" + vscode-languageserver-textdocument "^1.0.3" + vscode-languageserver-types "^3.16.0" + vscode-nls "^5.0.0" + vscode-uri "^3.0.3" + +vscode-languageserver-textdocument@^1.0.3: + version "1.0.11" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" + integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== + +vscode-languageserver-types@^3.16.0: + version "3.17.5" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz#3273676f0cf2eab40b3f44d085acbb7f08a39d8a" + integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg== + +vscode-nls@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.2.0.tgz#3cb6893dd9bd695244d8a024bdf746eea665cc3f" + integrity sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng== + +vscode-uri@^3.0.3: + version "3.0.8" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" + integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== + +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.0, wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web-encoding@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" + integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== + dependencies: + util "^0.12.3" + optionalDependencies: + "@zxing/text-encoding" "0.9.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.9.3: + version "4.15.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^5.10.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-node-externals@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" + integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== + +webpack-sources@^3.0.0, webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-subresource-integrity@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz#8b7606b033c6ccac14e684267cb7fb1f5c2a132a" + integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== + dependencies: + typed-assert "^1.0.8" + +webpack@^5.80.0, webpack@^5.89.0: + version "5.90.3" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.3.tgz#37b8f74d3ded061ba789bb22b31e82eed75bd9ac" + integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + +whatwg-url@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-13.0.0.tgz#b7b536aca48306394a34e44bda8e99f332410f8f" + integrity sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig== + dependencies: + tr46 "^4.1.1" + webidl-conversions "^7.0.0" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-builtin-type@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" + integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + dependencies: + function.prototype.name "^1.1.5" + has-tostringtag "^1.0.0" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" + integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg== + dependencies: + available-typed-arrays "^1.0.6" + call-bind "^1.0.5" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.1" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + integrity sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg== + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + integrity sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^8.11.0, ws@^8.13.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xml2js@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" + integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xml@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.3.1, yargs@^17.6.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + integrity sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A== + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zen-observable-ts@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" + integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== + dependencies: + zen-observable "0.8.15" + +zen-observable@0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== From d58f679b0e5228df9c7f69e0b47a9f1f68a52740 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Thu, 22 Feb 2024 11:07:38 +0000 Subject: [PATCH 136/252] chore: Dependencies update --- .env | 4 + .gitignore | 2 +- nx.json | 16 +- package.json | 98 +- .../test/serverTests/log.test.ts | 3 + yarn.lock | 1722 ++++++++--------- 6 files changed, 907 insertions(+), 938 deletions(-) create mode 100644 .env diff --git a/.env b/.env new file mode 100644 index 000000000..11ed57e43 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +# Nx 18 enables using plugins to infer targets by default +# This is disabled for existing workspaces to maintain compatibility +# For more info, see: https://nx.dev/concepts/inferred-tasks +NX_ADD_PLUGINS=false \ No newline at end of file diff --git a/.gitignore b/.gitignore index daec03df8..4bf62e191 100644 --- a/.gitignore +++ b/.gitignore @@ -62,7 +62,7 @@ typings/ .yarn-integrity # dotenv environment variables file -.env +.env*local # Certificate files server.crt diff --git a/nx.json b/nx.json index 885ce7401..3bb2f4e7e 100644 --- a/nx.json +++ b/nx.json @@ -27,14 +27,6 @@ } }, "targetDefaults": { - "lint": { - "inputs": [ - "default", - "{workspaceRoot}/.eslintrc.json", - "{workspaceRoot}/.eslintrc.js" - ], - "cache": true - }, "e2e": { "inputs": [ "default", @@ -60,6 +52,14 @@ "codeCoverage": true } } + }, + "@nx/eslint:lint": { + "inputs": [ + "default", + "{workspaceRoot}/.eslintrc.json", + "{workspaceRoot}/.eslintrc.js" + ], + "cache": true } }, "defaultProject": "itmat-ui-react", diff --git a/package.json b/package.json index f0a426b65..f0b7854e6 100644 --- a/package.json +++ b/package.json @@ -23,51 +23,51 @@ "lint-fix": "nx affected --target=lint --fix" }, "devDependencies": { - "@babel/core": "^7.23.6", + "@babel/core": "^7.23.9", "@babel/preset-react": "^7.23.3", - "@nx/cypress": "17.2.7", - "@nx/esbuild": "17.2.7", - "@nx/eslint": "17.2.7", - "@nx/eslint-plugin": "17.2.7", - "@nx/express": "17.2.7", - "@nx/jest": "17.2.7", - "@nx/js": "17.2.7", - "@nx/node": "17.2.7", - "@nx/react": "17.2.7", - "@nx/web": "17.2.7", - "@nx/webpack": "17.2.7", - "@nx/workspace": "17.2.7", + "@nx/cypress": "18.0.4", + "@nx/esbuild": "18.0.4", + "@nx/eslint": "18.0.4", + "@nx/eslint-plugin": "18.0.4", + "@nx/express": "18.0.4", + "@nx/jest": "18.0.4", + "@nx/js": "18.0.4", + "@nx/node": "18.0.4", + "@nx/react": "18.0.4", + "@nx/web": "18.0.4", + "@nx/webpack": "18.0.4", + "@nx/workspace": "18.0.4", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "@svgr/webpack": "8.1.0", - "@swc/cli": "0.1.63", - "@swc/core": "1.3.101", - "@swc/jest": "0.2.29", - "@testing-library/react": "14.1.2", + "@swc/cli": "0.3.9", + "@swc/core": "1.4.2", + "@swc/jest": "0.2.36", + "@testing-library/react": "14.2.1", "@types/bcrypt": "5.0.2", "@types/connect-timeout": "0.0.39", "@types/cors": "2.8.17", "@types/express": "4.17.21", "@types/express-session": "1.17.10", "@types/fs-extra": "11.0.4", - "@types/jest": "29.5.11", + "@types/jest": "29.5.12", "@types/json2csv": "5.0.7", "@types/jsonwebtoken": "9.0.5", - "@types/node": "18.16.9", + "@types/node": "^18.16.9", "@types/nodemailer": "6.4.14", "@types/passport": "1.0.16", "@types/qrcode": "1.5.5", - "@types/react": "18.2.45", - "@types/react-dom": "18.2.18", + "@types/react": "18.2.57", + "@types/react-dom": "18.2.19", "@types/react-highlight-words": "0.16.7", - "@types/supertest": "2.0.16", + "@types/supertest": "6.0.2", "@types/tmp": "0.2.6", - "@types/uuid": "9.0.7", + "@types/uuid": "9.0.8", "@types/webpack-env": "1.18.4", - "@typescript-eslint/eslint-plugin": "6.9.1", - "@typescript-eslint/parser": "6.9.1", - "css-loader": "^6.8.1", - "cypress": "^13.6.1", - "eslint": "8.48.0", + "@typescript-eslint/eslint-plugin": "6.13.2", + "@typescript-eslint/parser": "6.13.2", + "css-loader": "^6.10.0", + "cypress": "^13.6.5", + "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-cypress": "2.15.1", "eslint-plugin-import": "2.29.1", @@ -77,49 +77,49 @@ "eslint-plugin-react-hooks": "4.6.0", "get-port": "7.0.0", "git-rev-sync": "3.0.2", - "husky": "8.0.3", + "husky": "9.0.11", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "mongodb-memory-server": "9.1.3", - "nx": "17.2.7", + "mongodb-memory-server": "9.1.6", + "nx": "18.0.4", "react-refresh": "^0.14.0", - "style-loader": "^3.3.3", + "style-loader": "^3.3.4", "stylus": "^0.62.0", "stylus-loader": "^7.1.3", - "supertest": "6.3.3", - "swc-loader": "0.2.3", + "supertest": "6.3.4", + "swc-loader": "0.2.6", "ts-essentials": "9.4.1", - "ts-jest": "29.1.1", + "ts-jest": "29.1.2", "ts-node": "10.9.2", "typescript": "5.3.3", "url-loader": "^4.1.1", - "webpack": "^5.89.0", + "webpack": "^5.90.3", "webpack-merge": "^5.10.0" }, "dependencies": { - "@ant-design/icons": "5.2.6", + "@ant-design/icons": "5.3.0", "@ant-design/plots": "1.2.6", - "@apollo/client": "3.8.8", - "@apollo/server": "4.9.5", + "@apollo/client": "3.9.5", + "@apollo/server": "4.10.0", "@ideafast/idgen": "0.1.1", - "@swc/helpers": "0.5.3", + "@swc/helpers": "0.5.6", "JSONStream": "1.3.5", - "antd": "5.12.5", + "antd": "5.14.1", "apollo-upload-client": "18.0.1", - "axios": "1.6.2", + "axios": "1.6.0", "bcrypt": "5.1.1", "connect-mongo": "5.1.0", "connect-timeout": "1.9.0", - "core-js": "^3.34.0", + "core-js": "^3.36.0", "cors": "2.8.5", "csv-parse": "5.5.3", "dayjs": "1.11.10", "deepmerge": "4.3.1", - "esbuild": "0.19.10", - "export-from-json": "1.7.3", + "esbuild": "0.20.1", + "export-from-json": "1.7.4", "express": "^4.18.2", "express-rate-limit": "7.1.5", - "express-session": "1.17.3", + "express-session": "1.18.0", "fs-extra": "11.2.0", "graphql": "16.8.1", "graphql-scalars": "1.22.4", @@ -127,7 +127,7 @@ "graphql-tag": "2.12.6", "graphql-type-json": "0.3.2", "graphql-upload-minimal": "1.5.5", - "graphql-ws": "5.14.3", + "graphql-ws": "5.15.0", "hi-base32": "0.5.1", "http-proxy-middleware": "2.0.6", "https-browserify": "1.0.0", @@ -135,7 +135,7 @@ "jstat": "1.9.6", "minio": "7.1.3", "mongodb": "6.3.0", - "nodemailer": "6.9.7", + "nodemailer": "6.9.9", "passport": "0.7.0", "path-browserify": "1.0.1", "qrcode": "1.5.3", @@ -145,7 +145,7 @@ "react-dropzone": "14.2.3", "react-helmet-async": "2.0.4", "react-highlight-words": "0.20.0", - "react-router-dom": "6.21.1", + "react-router-dom": "6.22.1", "regenerator-runtime": "0.14.1", "sanitize-filename": "1.6.3", "stream-browserify": "3.0.0", diff --git a/packages/itmat-interface/test/serverTests/log.test.ts b/packages/itmat-interface/test/serverTests/log.test.ts index f138e510b..74054b51c 100644 --- a/packages/itmat-interface/test/serverTests/log.test.ts +++ b/packages/itmat-interface/test/serverTests/log.test.ts @@ -1,3 +1,6 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck + import { v4 as uuid } from 'uuid'; import request from 'supertest'; import { print } from 'graphql'; diff --git a/yarn.lock b/yarn.lock index 71a7da71a..0fd881913 100644 --- a/yarn.lock +++ b/yarn.lock @@ -20,14 +20,14 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@ant-design/colors@^7.0.0": +"@ant-design/colors@^7.0.0", "@ant-design/colors@^7.0.2": version "7.0.2" resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.2.tgz#c5c753a467ce8d86ba7ca4736d2c01f599bb5492" integrity sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg== dependencies: "@ctrl/tinycolor" "^3.6.1" -"@ant-design/cssinjs@^1.18.1": +"@ant-design/cssinjs@^1.18.4": version "1.18.4" resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.18.4.tgz#428411628f216acb71a2423d5332f6e6af7010b5" integrity sha512-IrUAOj5TYuMG556C9gdbFuOrigyhzhU5ZYpWb3gYTxAwymVqRbvLzFCZg6OsjLBR6GhzcxYF3AhxKmjB+rA2xA== @@ -40,23 +40,12 @@ rc-util "^5.35.0" stylis "^4.0.13" -"@ant-design/icons-svg@^4.3.0", "@ant-design/icons-svg@^4.4.0": +"@ant-design/icons-svg@^4.4.0": version "4.4.2" resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6" integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== -"@ant-design/icons@5.2.6": - version "5.2.6" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.2.6.tgz#2d4a9a37f531eb2a20cebec01d6fb69cf593900d" - integrity sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw== - dependencies: - "@ant-design/colors" "^7.0.0" - "@ant-design/icons-svg" "^4.3.0" - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-util "^5.31.1" - -"@ant-design/icons@^5.2.6": +"@ant-design/icons@5.3.0", "@ant-design/icons@^5.3.0": version "5.3.0" resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.3.0.tgz#b4b57908eb4f4c31777424f10d341f6823a77d2b" integrity sha512-69FgBsIkeCjw72ZU3fJpqjhmLCPrzKGEllbrAZK7MUdt1BrKsyG6A8YDCBPKea27UQ0tRXi33PcjR4tp/tEXMg== @@ -297,18 +286,20 @@ resolved "https://registry.yarnpkg.com/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz#5da62cf64c3b4419dabfef4536b57a40c8ff0b47" integrity sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g== -"@apollo/client@3.8.8": - version "3.8.8" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.8.8.tgz#1a004b2e6de4af38668249a7d7790f6a3431e475" - integrity sha512-omjd9ryGDkadZrKW6l5ktUAdS4SNaFOccYQ4ZST0HLW83y8kQaSZOCTNlpkoBUK8cv6qP8+AxOKwLm2ho8qQ+Q== +"@apollo/client@3.9.5": + version "3.9.5" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.9.5.tgz#502ec191756a7f44788b5f08cbe7b8de594a7656" + integrity sha512-7y+c8MTPU+hhTwvcGVtMMGIgWduzrvG1mz5yJMRyqYbheBkkky3Lki6ADWVSBXG1lZoOtPYvB2zDgVfKb2HSsw== dependencies: "@graphql-typed-document-node/core" "^3.1.1" + "@wry/caches" "^1.0.0" "@wry/equality" "^0.5.6" "@wry/trie" "^0.5.0" graphql-tag "^2.12.6" hoist-non-react-statics "^3.3.2" optimism "^0.18.0" prop-types "^15.7.2" + rehackt "0.0.5" response-iterator "^0.2.6" symbol-observable "^4.0.0" ts-invariant "^0.10.3" @@ -343,10 +334,10 @@ "@apollo/utils.keyvaluecache" "^2.1.0" "@apollo/utils.logger" "^2.0.0" -"@apollo/server@4.9.5": - version "4.9.5" - resolved "https://registry.yarnpkg.com/@apollo/server/-/server-4.9.5.tgz#388b3e00bef370fbdb89dd22d5a56127afaf87ba" - integrity sha512-eDBfArYbZaTm1AGa82M1aL7lOscVhnZsH85+OWmHMIR98qntzEjNpWpQPYDTru63Qxs4kHcY29NUx/kMGZfGEA== +"@apollo/server@4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@apollo/server/-/server-4.10.0.tgz#fd3c003149b0774903c15a0cfef38e20d05aa096" + integrity sha512-pLx//lZ/pvUfWL9G8Np8+y3ujc0pYc8U7dwD6ztt9FAw8NmCPzPaDzlXLBAjGU6WnkqVBOnz8b3dOwRNjLYSUA== dependencies: "@apollo/cache-control-types" "^1.0.3" "@apollo/server-gateway-interface" "^1.1.1" @@ -364,7 +355,6 @@ "@types/express-serve-static-core" "^4.17.30" "@types/node-fetch" "^2.6.1" async-retry "^1.2.1" - body-parser "^1.20.0" cors "^2.8.5" express "^4.17.1" loglevel "^1.6.8" @@ -470,7 +460,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.22.9", "@babel/core@^7.23.6", "@babel/core@^7.23.9": +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.23.2", "@babel/core@^7.23.9": version "7.23.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== @@ -1258,7 +1248,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-runtime@^7.22.9": +"@babel/plugin-transform-runtime@^7.23.2": version "7.23.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz#2c64d0680fc8e09e1dfe8fd5c646fe72abd82004" integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== @@ -1347,7 +1337,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": +"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.23.2": version "7.23.9" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== @@ -1470,7 +1460,7 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.6", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": version "7.23.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== @@ -1528,7 +1518,7 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" -"@ctrl/tinycolor@^3.6.0", "@ctrl/tinycolor@^3.6.1": +"@ctrl/tinycolor@^3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== @@ -1575,120 +1565,120 @@ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== -"@esbuild/aix-ppc64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz#fb3922a0183d27446de00cf60d4f7baaadf98d84" - integrity sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q== - -"@esbuild/android-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz#ef31015416dd79398082409b77aaaa2ade4d531a" - integrity sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q== - -"@esbuild/android-arm@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.10.tgz#1c23c7e75473aae9fb323be5d9db225142f47f52" - integrity sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w== - -"@esbuild/android-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.10.tgz#df6a4e6d6eb8da5595cfce16d4e3f6bc24464707" - integrity sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw== - -"@esbuild/darwin-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz#8462a55db07c1b2fad61c8244ce04469ef1043be" - integrity sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA== - -"@esbuild/darwin-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz#d1de20bfd41bb75b955ba86a6b1004539e8218c1" - integrity sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA== - -"@esbuild/freebsd-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz#16904879e34c53a2e039d1284695d2db3e664d57" - integrity sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg== - -"@esbuild/freebsd-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz#8ad9e5ca9786ca3f1ef1411bfd10b08dcd9d4cef" - integrity sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag== - -"@esbuild/linux-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz#d82cf2c590faece82d28bbf1cfbe36f22ae25bd2" - integrity sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ== - -"@esbuild/linux-arm@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz#477b8e7c7bcd34369717b04dd9ee6972c84f4029" - integrity sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg== - -"@esbuild/linux-ia32@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz#d55ff822cf5b0252a57112f86857ff23be6cab0e" - integrity sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg== - -"@esbuild/linux-loong64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz#a9ad057d7e48d6c9f62ff50f6f208e331c4543c7" - integrity sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA== - -"@esbuild/linux-mips64el@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz#b011a96924773d60ebab396fbd7a08de66668179" - integrity sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A== - -"@esbuild/linux-ppc64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz#5d8b59929c029811e473f2544790ea11d588d4dd" - integrity sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ== - -"@esbuild/linux-riscv64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz#292b06978375b271bd8bc0a554e0822957508d22" - integrity sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA== - -"@esbuild/linux-s390x@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz#d30af63530f8d4fa96930374c9dd0d62bf59e069" - integrity sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA== - -"@esbuild/linux-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz#898c72eeb74d9f2fb43acf316125b475548b75ce" - integrity sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA== - -"@esbuild/netbsd-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz#fd473a5ae261b43eab6dad4dbd5a3155906e6c91" - integrity sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q== - -"@esbuild/openbsd-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz#96eb8992e526717b5272321eaad3e21f3a608e46" - integrity sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg== - -"@esbuild/sunos-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz#c16ee1c167f903eaaa6acf7372bee42d5a89c9bc" - integrity sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA== - -"@esbuild/win32-arm64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz#7e417d1971dbc7e469b4eceb6a5d1d667b5e3dcc" - integrity sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw== - -"@esbuild/win32-ia32@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz#2b52dfec6cd061ecb36171c13bae554888b439e5" - integrity sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ== - -"@esbuild/win32-x64@0.19.10": - version "0.19.10" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz#bd123a74f243d2f3a1f046447bb9b363ee25d072" - integrity sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA== +"@esbuild/aix-ppc64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz#eafa8775019b3650a77e8310ba4dbd17ca7af6d5" + integrity sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA== + +"@esbuild/android-arm64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz#68791afa389550736f682c15b963a4f37ec2f5f6" + integrity sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A== + +"@esbuild/android-arm@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.1.tgz#38c91d8ee8d5196f7fbbdf4f0061415dde3a473a" + integrity sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw== + +"@esbuild/android-x64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.1.tgz#93f6190ce997b313669c20edbf3645fc6c8d8f22" + integrity sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA== + +"@esbuild/darwin-arm64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz#0d391f2e81fda833fe609182cc2fbb65e03a3c46" + integrity sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA== + +"@esbuild/darwin-x64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz#92504077424584684862f483a2242cfde4055ba2" + integrity sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA== + +"@esbuild/freebsd-arm64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz#a1646fa6ba87029c67ac8a102bb34384b9290774" + integrity sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw== + +"@esbuild/freebsd-x64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz#41c9243ab2b3254ea7fb512f71ffdb341562e951" + integrity sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg== + +"@esbuild/linux-arm64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz#f3c1e1269fbc9eedd9591a5bdd32bf707a883156" + integrity sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w== + +"@esbuild/linux-arm@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz#4503ca7001a8ee99589c072801ce9d7540717a21" + integrity sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw== + +"@esbuild/linux-ia32@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz#98c474e3e0cbb5bcbdd8561a6e65d18f5767ce48" + integrity sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw== + +"@esbuild/linux-loong64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz#a8097d28d14b9165c725fe58fc438f80decd2f33" + integrity sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA== + +"@esbuild/linux-mips64el@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz#c44f6f0d7d017c41ad3bb15bfdb69b690656b5ea" + integrity sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA== + +"@esbuild/linux-ppc64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz#0765a55389a99237b3c84227948c6e47eba96f0d" + integrity sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw== + +"@esbuild/linux-riscv64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz#e4153b032288e3095ddf4c8be07893781b309a7e" + integrity sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg== + +"@esbuild/linux-s390x@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz#b9ab8af6e4b73b26d63c1c426d7669a5d53eb5a7" + integrity sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ== + +"@esbuild/linux-x64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz#0b25da17ac38c3e11cdd06ca3691d4d6bef2755f" + integrity sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA== + +"@esbuild/netbsd-x64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz#3148e48406cd0d4f7ba1e0bf3f4d77d548c98407" + integrity sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg== + +"@esbuild/openbsd-x64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz#7b73e852986a9750192626d377ac96ac2b749b76" + integrity sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw== + +"@esbuild/sunos-x64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz#402a441cdac2eee98d8be378c7bc23e00c1861c5" + integrity sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q== + +"@esbuild/win32-arm64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz#36c4e311085806a6a0c5fc54d1ac4d7b27e94d7b" + integrity sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A== + +"@esbuild/win32-ia32@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz#0cf933be3fb9dc58b45d149559fe03e9e22b54fe" + integrity sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw== + +"@esbuild/win32-x64@0.20.1": + version "0.20.1" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz#77583b6ea54cee7c1410ebbd54051b6a3fcbd8ba" + integrity sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" @@ -1702,7 +1692,7 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== -"@eslint/eslintrc@^2.1.2": +"@eslint/eslintrc@^2.1.4": version "2.1.4" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== @@ -1717,10 +1707,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.48.0": - version "8.48.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.48.0.tgz#642633964e217905436033a2bd08bf322849b7fb" - integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw== +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== "@graphql-tools/merge@^8.4.1": version "8.4.2" @@ -1753,7 +1743,7 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== -"@humanwhocodes/config-array@^0.11.10": +"@humanwhocodes/config-array@^0.11.13": version "0.11.14" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== @@ -1839,7 +1829,7 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/create-cache-key-function@^27.4.2", "@jest/create-cache-key-function@^29": +"@jest/create-cache-key-function@^29", "@jest/create-cache-key-function@^29.7.0": version "29.7.0" resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== @@ -2121,210 +2111,213 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nrwl/cypress@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-17.2.7.tgz#5cdd37f52c48f823f358b571afc9040353884241" - integrity sha512-Av89Er9r0kMf8YL9dNSTkHohYhAKYmxAB3Q8eVv8NmSb7FZXvY065HIoFby+6VtQnBFP+sT1YSQL/Tp+h4Bwfw== +"@nrwl/cypress@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-18.0.4.tgz#a70aacee9dffe14637840016c3a136e6abe43f05" + integrity sha512-X7ZORP9Xt3lB+7goAb5JcBfVl6FQx8BPNv6TFi9ZiKayUqovgCMPOlmL2BDizsladv+7iacnTZTdo2X/4aunJA== dependencies: - "@nx/cypress" "17.2.7" + "@nx/cypress" "18.0.4" -"@nrwl/devkit@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-17.2.7.tgz#20c5fd8e0a2813940fdfb34523d4d77788b524ff" - integrity sha512-TISLlIH3xSWre2NLg0aMUBmTvMus+xUicaMeg8DWvwSXJJIMC5QFlB1hjw0VkyLsSraHpd5PWtyDqldHWRfKUQ== +"@nrwl/devkit@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-18.0.4.tgz#5135f2f27218ca34d7b93f95f9967f75320ce75a" + integrity sha512-fKHnjg4/9MdFd2U4e8p6ja9fRa864DCyF70kB4YUB9NuUIgWLQ15Uj6wXC3xjdXmxQRyHDa7ORodVoFzdo4UCg== dependencies: - "@nx/devkit" "17.2.7" + "@nx/devkit" "18.0.4" -"@nrwl/esbuild@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-17.2.7.tgz#9c75df8777d386c9d836d880ef17734ea8ee78fe" - integrity sha512-CnCfojDRK921ABuonfVAdBQ1Bc5q/kVXBstQfnTEgcaMjWPCt/zowUnYk+llL+WkKXu33UQYLId/gskzUKzGRw== +"@nrwl/esbuild@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-18.0.4.tgz#18981fa4e584aa384af9fef042679da9dad3d00b" + integrity sha512-GOQQtyyVv02KyssXjceqQGNI9d0ZeGgJnr/MBMKKx0TGy8M8zVO2rKO7I8/o6mgx/GIGwsPrTPSoFr/zCizooA== dependencies: - "@nx/esbuild" "17.2.7" + "@nx/esbuild" "18.0.4" -"@nrwl/eslint-plugin-nx@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-17.2.7.tgz#5762b3dce6acb806c8c95bfa0610e79a0e74ecc7" - integrity sha512-YGH3FL4Dz+a9r2xmZx/SMUFOUl/An6IsZeTqkG5gC+ErejX9nT1KWOXMNh5bkl+jz0b4NvkiVvgQw+W4q2K9sg== +"@nrwl/eslint-plugin-nx@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.0.4.tgz#b9cef2b6f0075a17e93f11f99301b0c44f3e06d3" + integrity sha512-j+5d7+ANY4E7Xn0CUXi+U8DRtv1WKYfI5dxL8JF5EPAfRl7xcX9VVPA9/R5dc/PHXIPeJMIg2CEH1TetH7O6Vw== dependencies: - "@nx/eslint-plugin" "17.2.7" + "@nx/eslint-plugin" "18.0.4" -"@nrwl/express@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-17.2.7.tgz#f6aad9ae111bf8e3fc768474c6a0e9b398e1fbbb" - integrity sha512-q6QXzXKTETe+neW1+D6nNzcUP20nyOINXiG2H4cI6MHckmn6P2UFe7cLThRU1d+upCL3ftqsnpqEdxCVRZEWwQ== +"@nrwl/express@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-18.0.4.tgz#ab5b2e16cd4766371250e0a5c3c143c62b368789" + integrity sha512-MPhhI+TQ3pr7/LtR4j+sXpw5gfB1Ou0Hevz2m76pYLjfZDp5QkhUYZGhytiUnXnzgQRj757KuAbM+aU+/sPHpg== dependencies: - "@nx/express" "17.2.7" + "@nx/express" "18.0.4" -"@nrwl/jest@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-17.2.7.tgz#acd89e1cd3d99ae75431c60216b4e7b1d9bb35e6" - integrity sha512-jYeBQbS9iaybLxmxFv6N9qftRHyRpG3YlDxiHXXmWPX0OrgDjNSY3QCCReM8iqADk2TaxoIw1WDKp4tKzft2xA== +"@nrwl/jest@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-18.0.4.tgz#7d139d92ff98767ee3556e586d6ebc5ee18d0f4b" + integrity sha512-oe4qfnXc1WUPPmd9ua4mtgiqwXY+2XPz6zSkWghrrvc5wXu15tPvrBxHeU+KEXWu+rVy3iGLU2s5AivdXxEbIA== dependencies: - "@nx/jest" "17.2.7" + "@nx/jest" "18.0.4" -"@nrwl/js@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-17.2.7.tgz#b791009476584ae0a6665a5e6fafccbe7fe6b29f" - integrity sha512-8AAUmqESQ89Cbark8DlkElINMmDpEJLivan6RPksUUEK6lrZQwVnHf4eWLQzN2/C4i5XkfdxavzluuDPCqHQSQ== +"@nrwl/js@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-18.0.4.tgz#0bb7fa6198037921072f8bc2285f4b6bb25fbb9d" + integrity sha512-7aY6vjHHD99MMF+WtHSdmA7sxLmMNhbd12CQ6lXmSK41Yj82mBgQMwV/Ed+UT10XEh5uMes/iODL460SzwPMZA== dependencies: - "@nx/js" "17.2.7" + "@nx/js" "18.0.4" -"@nrwl/node@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-17.2.7.tgz#a68616fdfdb67a7227a70c1841c6b6f5a3f9ef2b" - integrity sha512-tWc9tFnQ2ue0Wv2NcMV3fJD1Kqh/vHeV/81ppeLtoYa5GBXViRJPdUinGlez0qiYegEdUbieWjDp255GIEifTw== +"@nrwl/node@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-18.0.4.tgz#c792107bbd0833dc894c52759ab5efaadfbb0377" + integrity sha512-e7kpWUazYmiiFUTdzvOUeSMukolS0TEgfEqFdPjb+L3QaN58KdrsBAiMlY1GVX2VR019nJKBJXGXn6LOYfDxUg== dependencies: - "@nx/node" "17.2.7" + "@nx/node" "18.0.4" -"@nrwl/react@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-17.2.7.tgz#c6a793fe4ba2a0e3154c50504fb4b79f719111fe" - integrity sha512-vRlJWdiPeAgkKe7XUWPceh+vocGfL8CJFmsK2mRy5BWr5rVEJ9l30c9mP7LMxukgi2NPgh1hURvCaZrlErEJ9A== +"@nrwl/react@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-18.0.4.tgz#a578a396af20bd893c9c9c2ed8e459687044f387" + integrity sha512-2hx7DpKFp+ao8l8H9aOC/ZlVC0/b3w+xCx3u0pN4LatkFvSvTiy7zV0kL9oi+FZM48Gxnm4nQf8qP4q8bT2G8g== dependencies: - "@nx/react" "17.2.7" + "@nx/react" "18.0.4" -"@nrwl/tao@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-17.2.7.tgz#a4df2089559bce0af66fbe785324c1f8abe752ec" - integrity sha512-06YYR1Ndb+nAJaQuvi2J3bX7i2dStQvDHkT+qprUXKxOrggFcPcs+7e2LwNWKDGdCu4r0qFHPlamj7y5d6qM2Q== +"@nrwl/tao@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-18.0.4.tgz#a74933a4c7d1b7c6467a526e9ac524f3b8edd212" + integrity sha512-/PzGOJevlDQnp5RPXF3WDe+w1cdohGkY+mbJUgDVA4Q5JEPT1DtE10h9GgdHdzkPjVPNYsaI4Vs/53NUdlVHHA== dependencies: - nx "17.2.7" + nx "18.0.4" tslib "^2.3.0" -"@nrwl/web@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-17.2.7.tgz#82a3b8e053edbb2be1ec99f6d5e03a854069b9e5" - integrity sha512-ZlGkmth0qqqQ0WyV6JhdNswSbgOEiDR0G8XJXeoHkDFeThlaU20JyMrqTGNDpQ04d9EpvItvv+bAueg/BLASOw== +"@nrwl/web@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-18.0.4.tgz#75158c7c7acfe75d4dd47f6097e8df78fb3373d9" + integrity sha512-NJSWj4pH/CWCFj3liOg3ExskfWqynjpGNsPS7zmkM6isbFHRXx7+s+eAVIQJtk5AttKOGeCUkUAaA91SaaTxKg== dependencies: - "@nx/web" "17.2.7" + "@nx/web" "18.0.4" -"@nrwl/webpack@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-17.2.7.tgz#9afa4a12d440515cdbec8555aceba8df1644dce1" - integrity sha512-Ornp2N/cdUNnht0ojjQrtE3ko+JpvAvWvStdZCVfXULMzy96CpGjPzRBkrX+iNee1GYEJXiHFUZhA+n6NlKB3A== +"@nrwl/webpack@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-18.0.4.tgz#efedbd097eebc27847006175585a0b9c3f40e8bc" + integrity sha512-5GP8leMQHjyvEEflkuOGIDZhZ3kteYME0sKSAmpdD7jMnR9D1OLpRbq0V2WbyhMCCCuC6ae0ihzGZy8n8VhmuQ== dependencies: - "@nx/webpack" "17.2.7" + "@nx/webpack" "18.0.4" -"@nrwl/workspace@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-17.2.7.tgz#7494d6774e45b1b9f2bf57b2fafa33ad3cd2c2db" - integrity sha512-qYb2iLliBfS4IwS1aGqeXgyFzdEcXvu+4jxZpROTcg4THJLYni3XhI/Y8gfi4OVzzCadKILMxiOukZKjjIDPlA== +"@nrwl/workspace@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-18.0.4.tgz#f1772cee1d3310b25a91d17bf303cc1e255f3e82" + integrity sha512-UFD96NeEeHLKADLBDfF2U5rFOhyMjCwYzpA+D3Yp3X25aB7D89Kan4spq9ZC/Zxethz3911nNaYy+I+L5WlDoA== dependencies: - "@nx/workspace" "17.2.7" + "@nx/workspace" "18.0.4" -"@nx/cypress@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-17.2.7.tgz#ccbc2c960e428936e4bbfc7cc9d37470028f5c58" - integrity sha512-MwzaWrIsMxjRPg5DQSBFNM+dNGru0jNjqGyMNlhAM0LPMB34I2bw5Sl6zE6GY2hm05oiFb5AbiSvc1M3ptfzmw== +"@nx/cypress@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-18.0.4.tgz#7ab91a192bcd09b674a491e4c798dcef29e2b866" + integrity sha512-G/t83/SSYNIor8aGE+u9nNbCrqcsbG4EnhESP0eXwk5k6ycW6eVGMuSlLkRe7debosL/RhGLwcw491alQug7PQ== dependencies: - "@nrwl/cypress" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/eslint" "17.2.7" - "@nx/js" "17.2.7" + "@nrwl/cypress" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/eslint" "18.0.4" + "@nx/js" "18.0.4" "@phenomnomnominal/tsquery" "~5.0.1" detect-port "^1.5.1" - semver "7.5.3" + semver "^7.5.3" tslib "^2.3.0" -"@nx/devkit@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-17.2.7.tgz#aa5d2352a963a613e415b1d3167a5b87937b6fcb" - integrity sha512-RyJyFO5PkNhMrebpv93Bci6pRkrw6guyfX7Esl/5+O6UfN0ytnmaRIrbiVwftTQ6m/T08OWrJQHZMuByP0WWHQ== +"@nx/devkit@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-18.0.4.tgz#fec28139ef5d078933c5f1b5a7e0a585672dbdd6" + integrity sha512-Vs1AXgOjMJyaWpKopD04dy0FwQ22n5ZR1bFf98Ab4Ht0WJwJE90IpUVAkwI03n5BYxAKOlQnFltsB4gu6Y8mZQ== dependencies: - "@nrwl/devkit" "17.2.7" + "@nrwl/devkit" "18.0.4" ejs "^3.1.7" enquirer "~2.3.6" ignore "^5.0.4" - semver "7.5.3" + semver "^7.5.3" tmp "~0.2.1" tslib "^2.3.0" + yargs-parser "21.1.1" -"@nx/esbuild@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-17.2.7.tgz#ea712e4d852eb0526780d51f93845f442d1bc444" - integrity sha512-Hq435xcv2hrCdbmybRKvVhrWaayfq1+tIFnMtPQZ3B/jKIjFpoWHAhdOUraGoqFrKsIkF9c40tsl6g0T5MCgbg== +"@nx/esbuild@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-18.0.4.tgz#e0e8a3d9d1eb5bd2d5c71645284f72a33971986b" + integrity sha512-TdjzTK+ml/bc1hnAnYaEiyD2sRNeOxUtsx/t/7Xmvb3SNM2OPi1eeqJNh97UFFfhauvE36NMzExn9+MpPW43OQ== dependencies: - "@nrwl/esbuild" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" + "@nrwl/esbuild" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/js" "18.0.4" chalk "^4.1.0" fast-glob "3.2.7" fs-extra "^11.1.0" tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/eslint-plugin@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-17.2.7.tgz#749938e202b546efb9ae23df79ec2c065b8e7f88" - integrity sha512-emKsCaWDOPekCJvuE6QE6CHwSR4RKULdOHotnSaE3J65cgair9djsR8SNUELsqpTSfEmtfB53Z0oZYw4zdeiFQ== +"@nx/eslint-plugin@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-18.0.4.tgz#5c74debdde3966201daa8314d72265c759ed4eed" + integrity sha512-9QdhPO7r8tv6edInHzLSvimOxshZ5swkooqf/K/83RJ+2KfN/GLEIbLWx59xcqyYxc0D0W7y2XbhjL4XZJZPbw== dependencies: - "@nrwl/eslint-plugin-nx" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" - "@typescript-eslint/type-utils" "^6.9.1" - "@typescript-eslint/utils" "^6.9.1" + "@nrwl/eslint-plugin-nx" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/js" "18.0.4" + "@typescript-eslint/type-utils" "^6.13.2" + "@typescript-eslint/utils" "^6.13.2" chalk "^4.1.0" confusing-browser-globals "^1.0.9" jsonc-eslint-parser "^2.1.0" - semver "7.5.3" + semver "^7.5.3" tslib "^2.3.0" -"@nx/eslint@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-17.2.7.tgz#26a4ea6f074d1442e6868dc46b2366166c1a83b9" - integrity sha512-A/+J9rcb9FUwGpEc5yFjFWcoF36PfXc6twOGLceFwj+oOG65h7kUnpuJgWK8gTIh911lij3TdmE6MiqSXPu3tQ== +"@nx/eslint@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-18.0.4.tgz#5078d8f1d5ec25726709dd4478da275c9accab54" + integrity sha512-6mjtPjXkS0aUWfF17D+PZI+Hhn+Cvm2yWTiDoVANsqt9rTOmlCa4fr01OcSyuaWFtkUlbKiKdQ1YYFyLD8zm7A== dependencies: - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" - "@nx/linter" "17.2.7" + "@nx/devkit" "18.0.4" + "@nx/js" "18.0.4" + "@nx/linter" "18.0.4" + eslint "^8.0.0" tslib "^2.3.0" - typescript "~5.2.2" + typescript "~5.3.2" -"@nx/express@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/express/-/express-17.2.7.tgz#b3dcccbf477f4ccc2d72b9119e7d60c330f15867" - integrity sha512-mKnTv0X+FmkC3l0Ufpj4wGdX2NLOwjnj0OQ92WfcT28N1RbH99otPCor0CziXM7fRyToSshCR61DAHKr9yYDuA== +"@nx/express@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/express/-/express-18.0.4.tgz#4cd3b3308fa21fc9a1501781576b218d2e5cbf13" + integrity sha512-Unvx65iBx98icZfYji8V7oL+kxTRW6JVysh67etLy/HPlGGYUWjFyDRFy4o+Voj+JlJ62ZDZX6qvLvvMwVTSUg== dependencies: - "@nrwl/express" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/node" "17.2.7" + "@nrwl/express" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/node" "18.0.4" tslib "^2.3.0" -"@nx/jest@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-17.2.7.tgz#2d24fc70ac093e01f233aadf594ad36d4f5860f0" - integrity sha512-lfUBZ1eCdO2ML2AdPiuXkMcQvuHaevYHB4wrRoUEQp/jui8m8ZQtIaihEy+8nmnSQTSGpCxlILRLpaNQ8gqCoQ== +"@nx/jest@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-18.0.4.tgz#cb294c6a3c17eea63ab828185fd926c5b6390b19" + integrity sha512-A114oLtWCK99CaY/hUR00/1RISf77jqEgduDFsiaoe8fpr74HN3E8Z/NWW6gG9rkB8ymnvJMJGfbrN+2/Vv75Q== dependencies: "@jest/reporters" "^29.4.1" "@jest/test-result" "^29.4.1" - "@nrwl/jest" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" + "@nrwl/jest" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/js" "18.0.4" "@phenomnomnominal/tsquery" "~5.0.1" chalk "^4.1.0" identity-obj-proxy "3.0.0" jest-config "^29.4.1" jest-resolve "^29.4.1" jest-util "^29.4.1" + minimatch "9.0.3" resolve.exports "1.1.0" tslib "^2.3.0" -"@nx/js@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-17.2.7.tgz#f2f14bdcf5cd96e23dd2689641d8ce42e9c0b187" - integrity sha512-IghIrp26b9TprxDzJlqH1ZLer+dNmnSDjoT1jviQWcjNY/8wUxe3avd7niMCpfYD6+r7sSGPZ+KVQSRwT3L09g== +"@nx/js@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/js/-/js-18.0.4.tgz#7df0f30f858c1c9af2326aaeb1f67b8eb54369c5" + integrity sha512-ma8QMTHZm0LzGYZ1xdVfSUONKb1S5qbiI1DHxhztrsSo3jARZfSAMKM3Bm7ag9MBitpDsoUlgy7JCPmGCAcxAw== dependencies: - "@babel/core" "^7.22.9" + "@babel/core" "^7.23.2" "@babel/plugin-proposal-decorators" "^7.22.7" "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-runtime" "^7.22.9" - "@babel/preset-env" "^7.22.9" + "@babel/plugin-transform-runtime" "^7.23.2" + "@babel/preset-env" "^7.23.2" "@babel/preset-typescript" "^7.22.5" "@babel/runtime" "^7.22.6" - "@nrwl/js" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/workspace" "17.2.7" + "@nrwl/js" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/workspace" "18.0.4" "@phenomnomnominal/tsquery" "~5.0.1" babel-plugin-const-enum "^1.0.1" babel-plugin-macros "^2.8.0" @@ -2336,124 +2329,124 @@ fs-extra "^11.1.0" ignore "^5.0.4" js-tokens "^4.0.0" - minimatch "3.0.5" + minimatch "9.0.3" npm-package-arg "11.0.1" npm-run-path "^4.0.1" ora "5.3.0" - semver "7.5.3" + semver "^7.5.3" source-map-support "0.5.19" ts-node "10.9.1" tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/linter@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-17.2.7.tgz#38364de5966bd8637ca830808c00fc8b7ab8406d" - integrity sha512-t85R1r+fiEV8wwU6mAD9kKq+YqAxwzBDp3Dx42cX5uokp2jsUKcTHYsibTJ7SVgViJicDLoVDonlJc8SxA0cfQ== +"@nx/linter@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-18.0.4.tgz#1526321b553ee175357025ccda836788c6411488" + integrity sha512-yCg7H63eWkjReQUagAFAoICD53ByYZDyRqlkarZe9AGRWJM4GYKhJntihsk1mUOO7Sz0a907BMaWk8Wn5HbHEA== dependencies: - "@nx/eslint" "17.2.7" + "@nx/eslint" "18.0.4" -"@nx/node@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/node/-/node-17.2.7.tgz#930897cdef951ce83ba698617fa6dc83750c9668" - integrity sha512-u3mChRmUliQENH4wBYNfqx/0Cfzj6PB9Eaj7lvOwwdquLgUgGgkFXFfYTLjHuIClYhyn2ATR84LZ+NLMaLCvdA== +"@nx/node@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/node/-/node-18.0.4.tgz#00d5890cba68df2f7f317e1ecbc909821f4e9ae7" + integrity sha512-syjRRex+QuNTnDkIBG4z4Osu7vC5eYeb/nBZX6zmo/4H8y//tbBEjYRV2Yw4wpQp/gCA6fc+WFB9JkdfrMOwrA== dependencies: - "@nrwl/node" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/eslint" "17.2.7" - "@nx/jest" "17.2.7" - "@nx/js" "17.2.7" + "@nrwl/node" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/eslint" "18.0.4" + "@nx/jest" "18.0.4" + "@nx/js" "18.0.4" tslib "^2.3.0" -"@nx/nx-darwin-arm64@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.2.7.tgz#8399b96591757367c45b5c8ee5725dcbe60007e2" - integrity sha512-d534L13VUlnSW61rabBl3TTuSpzHxtqy8eF5vsYkFSMonBDjqqNR6+vFfQEa7PW/3Qfeuw4MpmojtamCYLd/TA== - -"@nx/nx-darwin-x64@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-17.2.7.tgz#1b9cf367cfa035f1443ac0e78f8e60968ab4775f" - integrity sha512-K1pHWiSiYTJqk//ZJylvuQcNZR9HUKvOxuh2540+6X9ThQ7kzkC1abXJ4c9wwH3fYDwL29m7glh3AueJvyaXJA== - -"@nx/nx-freebsd-x64@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.2.7.tgz#731e7f8f311e6fdf50b8a8b2b060b322a9e92ad4" - integrity sha512-VyouszZjV7Ew4qNrNfG8JApm7/UcreRuC+W/YZ2ORGzM0KUnB/D4rXGmeTp1Ff+L5WUhoomwEnaBkbgqu+2wjA== - -"@nx/nx-linux-arm-gnueabihf@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.2.7.tgz#a1db4a4898e0bb1e77bdf8dbf0959ca9d073dc23" - integrity sha512-YfwW8NYi33Li1Q7BDUusNlfpJNWfXOnHt6JKvQGc8fy8StmWq13zNnU0IxPQyqCDK5Ymx95IoctFrMLpeXPAwQ== - -"@nx/nx-linux-arm64-gnu@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.2.7.tgz#7abd71cc615f4ec93fabc31ad410bd7d8eb9e668" - integrity sha512-oJyEf2q+5jj6ci6WEXvRUoU2Sj0Mo+J/0NwtPY6sRIhqgPwpmxc6Pja4zmB16iQ5ap48zstB9glfJ6qtr3iU0Q== - -"@nx/nx-linux-arm64-musl@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.2.7.tgz#938ed7504ad1d0f305304250a71b8cf18bc10533" - integrity sha512-IzsCJgJCM61THBMDghz+EY5aCeO7wBWOWq2sTDek1ve67qZtu/E/Z5qBp93JRAvNYgQT7KbC40WhaXuE/NpWEA== - -"@nx/nx-linux-x64-gnu@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.2.7.tgz#8a39bfdfc990a2fb4f1679f68195e8cea97d8c99" - integrity sha512-CCY3o9zs9ypsT40GyRGQMfl63Wy3Spu21ULcteoLTI2/py601XIdhv6zclzBqeYIWPVxMoGGlIq10m2rdEeAOA== - -"@nx/nx-linux-x64-musl@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.2.7.tgz#0dac2eff58d11524192b2a8a36d70d7c2547e39e" - integrity sha512-hBzrXpoDg1OJBl/Ja5nU3oYTBk/FW6J+jTJM1zmXJOJ8Z7NR26I783qlVLQFDYkMynwGBE3kI4a7L87p633BRw== - -"@nx/nx-win32-arm64-msvc@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.2.7.tgz#f004b2fa0fe1af256c60ddfd90fe28348f1ed4e3" - integrity sha512-imLrVpeBXQwcYDUujBZRE9YG9lqM7F8Qw51JxmCxG2twijlVeofGWw0uVHM16t95cuizt/Ho+bTfNukV7Oza3g== - -"@nx/nx-win32-x64-msvc@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.2.7.tgz#5af5b3e6fe41f432831e809ba7efc02826af8ebe" - integrity sha512-MBQxvEE1sz47prRCid+axKwb6zqcbR4XBKj+l9V5NA7/0Rw5PHjrEfWv5Lr5TckYAdIZ1PVgPHlril6hX89evw== - -"@nx/react@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/react/-/react-17.2.7.tgz#84f972ae1b2e8debc2b33100edce065e1b58858c" - integrity sha512-c+63PC0bxUmSmRgix90gpdwIwHaeQ6gyS9L1lpVouzLrqxUK4pnJkC9LzQNRc3thXSheFDYmAvXuSe2Y1WN0HA== - dependencies: - "@nrwl/react" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/eslint" "17.2.7" - "@nx/js" "17.2.7" - "@nx/web" "17.2.7" +"@nx/nx-darwin-arm64@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.0.4.tgz#c199b44ee21699acb14f6ecbada56ed19af936a3" + integrity sha512-9KJVONxUwdnFHHRNocsg7q5pliOTTfbjlr3rvhLuroV5HeTJFhUipKCQrVEhLy8e4auRdLuSz/HsgpJat3Z2cg== + +"@nx/nx-darwin-x64@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-18.0.4.tgz#859896881930d346afd6397b593f8d436722b80d" + integrity sha512-rFKHjeU0Ngz1R7UJAsbncpqwuFDjUdpcvI783r6s2eP7JoiiwtDBXvDcHiy8Odk0lPYmwDELaFZBhvdENqaDNA== + +"@nx/nx-freebsd-x64@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.0.4.tgz#2f295ff841e38f720aa9761e2c9eda90e372b380" + integrity sha512-jJx47wgRoUxVpQ+WG5+yLdxtJVuVgjphiTMRc0LOfUwKQaEHWyCA0hMK5fNmo0FAHIhGVCb/j2j9FxnCWTWpkg== + +"@nx/nx-linux-arm-gnueabihf@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.0.4.tgz#7ceb5531887996f4cf5e9ebda8dab34421d3a061" + integrity sha512-C3qWbFhEMIdTzvAHlIUHecZN3YBu7bx3S0p3gPNGmEMUMbYHP2zMlimBrZIbAxzntyGqWCqhXiFB21QhJ0t1Dw== + +"@nx/nx-linux-arm64-gnu@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.0.4.tgz#cfda70cedab2f3a7c5a9bb11ad4be180993b68c8" + integrity sha512-PxVMh9ikp8Q3hKagb66FAsek8O/08GcMF5dXBH7xc5AiQMaZ6Az/gAXOeHp274nmu3StQEpl9Il/YH6Z9f4V0w== + +"@nx/nx-linux-arm64-musl@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.0.4.tgz#1ce43e4803d3d5b3aeefa43ec54df7501b04a0b7" + integrity sha512-Iz7Z4h2/dXJJvBcyeRHa+d3Ncc4Qz+OiGm6iRDXv4zjFm5EyC1tkSZIFNlNiRjmTToNHFr4savrCjCh8wRYejw== + +"@nx/nx-linux-x64-gnu@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.0.4.tgz#0981787e067d6dd7e3f4f457eb3e24c9b12dccaa" + integrity sha512-BVLkegIwxHnEB64VBraBxyC01D3C3dVNxq2b4iNaqr4mpWNmos+G/mvcTU3NS7W8ZjpBjlXgdEkpgkl2hMKTEA== + +"@nx/nx-linux-x64-musl@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.0.4.tgz#d2857870922ee76ed9f50763ec8bd3c6244c998a" + integrity sha512-WgVy41psjCE9uxjFi4P62UrWyKQ1e2IN2FZaIuwXEB9h8OU/+g9PFpL1Cs1llNoEKnapKXX4+9b5FHF9i7EKQw== + +"@nx/nx-win32-arm64-msvc@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.0.4.tgz#92c76b7b0e1616c273a231afc0f23f1a5e68f655" + integrity sha512-YoxhOrVKnS+kcNTnCg9M61cbigzGErYgnlI8kdZzH2ArD7mhv8bfZnSZUInf5Y8oDBVpKusel7AkCSofzSwigA== + +"@nx/nx-win32-x64-msvc@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.0.4.tgz#c57cbb5e42b10322cb966270a32a2f7869634186" + integrity sha512-FdAdl5buvtUXp8hZVRkK0AZeiCu35l0u+yHsulNViYdh3OXRT1hYJ0CeqpxlLfvbHqB9JzDPtJtG0dpKHH/O0Q== + +"@nx/react@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/react/-/react-18.0.4.tgz#438ff005467ecb311a1231f84ab78db4c40ef37c" + integrity sha512-a67oULoXM0wWpTt4Tf3oJZY4CU1N2AEz5LVHE8LaKXwBi8gzbCSxVAVyeON3Jv1hNR6tmRdWFq7HuKnmKSR5rw== + dependencies: + "@nrwl/react" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/eslint" "18.0.4" + "@nx/js" "18.0.4" + "@nx/web" "18.0.4" "@phenomnomnominal/tsquery" "~5.0.1" "@svgr/webpack" "^8.0.1" chalk "^4.1.0" - file-loader "^6.2.0" - minimatch "3.0.5" + minimatch "9.0.3" tslib "^2.3.0" -"@nx/web@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/web/-/web-17.2.7.tgz#d571950ecc4c261879a4fa0430477ebb942ecfe9" - integrity sha512-UhLD84jCLNwY/dC32v3Q5gAkBuj1p6a0h1ihcXqZdMUYbV6sjJhDAnjnfHyPJWgjaoI5t6VNSTJOaMZM9EMfzg== +"@nx/web@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/web/-/web-18.0.4.tgz#cea98618d4e5832e67c8d3aac09715f6e62d3702" + integrity sha512-lcZjFEUjFly/+C4dFMLNEk9mnlolKGPrd4Z5tly0iEZCJ1tSuOYfxPraZZJFeYO88Eh10lW28aGdiHote/PLXQ== dependencies: - "@nrwl/web" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" + "@nrwl/web" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/js" "18.0.4" chalk "^4.1.0" detect-port "^1.5.1" http-server "^14.1.0" tslib "^2.3.0" -"@nx/webpack@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-17.2.7.tgz#5c849942616c8f0ff60edbcc47b55b5bd65e051e" - integrity sha512-OUxUNxgzEyrn36V4+1T3oQNKyukJphgb+DBNc6NWA9dEWf3U48KdfJuALeKoRZ5J+/lS95L8b/2ygSyu0EdpLw== +"@nx/webpack@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-18.0.4.tgz#9f0985c4e55736a26aeb26e1cc5bbfc1b4887be2" + integrity sha512-ugac88EiCDtt/WVeuR596FJanN6J4Y8EPNxO/4+Odh6+yumgQdi0Bg6OLsvmZn6M+v+Qwaqyjo5RIFMk/3pDLQ== dependencies: - "@babel/core" "^7.22.9" - "@nrwl/webpack" "17.2.7" - "@nx/devkit" "17.2.7" - "@nx/js" "17.2.7" + "@babel/core" "^7.23.2" + "@nrwl/webpack" "18.0.4" + "@nx/devkit" "18.0.4" + "@nx/js" "18.0.4" + ajv "^8.12.0" autoprefixer "^10.4.9" babel-loader "^9.1.2" browserslist "^4.21.4" @@ -2487,16 +2480,16 @@ webpack-node-externals "^3.0.0" webpack-subresource-integrity "^5.1.0" -"@nx/workspace@17.2.7": - version "17.2.7" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-17.2.7.tgz#1c930feceb3ca20750124afc03ea71b5fee7de9e" - integrity sha512-/4xrFEc6Hjl9KaB+e/RSaQ/6vHWGP1MmhdX+TRvdjNIMbZ6kdDixBjusJ6WoHXm3KhP95cSt2xmwCQNUzVn+vw== +"@nx/workspace@18.0.4": + version "18.0.4" + resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-18.0.4.tgz#e7b0b598ce7e60ee125b584135d6b76c8f99616a" + integrity sha512-0w7czYCU6+QczvdRN8HnKRU24xnam5Gf12mfw+uuU6ybslOQuRoKW+oUROwyck5P4I27XzgxcqnMTCxNDcQGWQ== dependencies: - "@nrwl/workspace" "17.2.7" - "@nx/devkit" "17.2.7" + "@nrwl/workspace" "18.0.4" + "@nx/devkit" "18.0.4" chalk "^4.1.0" enquirer "~2.3.6" - nx "17.2.7" + nx "18.0.4" tslib "^2.3.0" yargs-parser "21.1.1" @@ -2575,15 +2568,15 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@rc-component/color-picker@~1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.4.1.tgz#dcab0b660e9c4ed63a7582db68ed4a77c862cb93" - integrity sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw== +"@rc-component/color-picker@~1.5.1": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.5.2.tgz#3c687112f540925abd013833a81705393dac4bfb" + integrity sha512-YJXujYzYFAEtlXJXy0yJUhwzUWPTcniBZto+wZ/vnACmFnUTNR7dH+NOeqSwMMsssh74e9H5Jfpr5LAH2PYqUw== dependencies: - "@babel/runtime" "^7.10.1" - "@ctrl/tinycolor" "^3.6.0" + "@babel/runtime" "^7.23.6" + "@ctrl/tinycolor" "^3.6.1" classnames "^2.2.6" - rc-util "^5.30.0" + rc-util "^5.38.1" "@rc-component/context@^1.4.0": version "1.4.0" @@ -2618,10 +2611,10 @@ classnames "^2.3.2" rc-util "^5.24.4" -"@rc-component/tour@~1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.11.1.tgz#bb47af908fb6fcaf395402901a1fb505ef8fb1e6" - integrity sha512-c9Lw3/oVinj5D64Rsp8aDLOXcgdViE+hq7bj0Qoo8fTuQEh9sSpUw5OZcum943JkjeIE4hLcc5FD4a5ANtMJ4w== +"@rc-component/tour@~1.12.3": + version "1.12.3" + resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.12.3.tgz#ede2ad9272126a2ea1429a6655ed09f4d065fbc9" + integrity sha512-U4mf1FiUxGCwrX4ed8op77Y8VKur+8Y/61ylxtqGbcSoh1EBC7bWd/DkLu0ClTUrKZInqEi1FL7YgFtnT90vHA== dependencies: "@babel/runtime" "^7.18.0" "@rc-component/portal" "^1.0.0-9" @@ -2629,7 +2622,7 @@ classnames "^2.3.2" rc-util "^5.24.4" -"@rc-component/trigger@^1.17.0", "@rc-component/trigger@^1.18.0", "@rc-component/trigger@^1.18.2", "@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0": +"@rc-component/trigger@^1.17.0", "@rc-component/trigger@^1.18.0", "@rc-component/trigger@^1.18.3", "@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0": version "1.18.3" resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.3.tgz#b323b9e33f2700ca8d24a96f21401ab7b0eafdcd" integrity sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA== @@ -2641,10 +2634,10 @@ rc-resize-observer "^1.3.1" rc-util "^5.38.0" -"@remix-run/router@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.14.1.tgz#6d2dd03d52e604279c38911afc1079d58c50a755" - integrity sha512-Qg4DMQsfPNAs88rb2xkdk03N3bjK4jgX5fR24eHCTR9q6PrhZQZ4UJBPzCHJkIpTRN1UKxx2DzjZmnC+7Lj0Ow== +"@remix-run/router@1.15.1": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.1.tgz#221fd31a65186b9bc027b74573485fb3226dff7f" + integrity sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w== "@sinclair/typebox@^0.27.8": version "0.27.8" @@ -2776,105 +2769,109 @@ "@svgr/plugin-jsx" "8.1.0" "@svgr/plugin-svgo" "8.1.0" -"@swc/cli@0.1.63": - version "0.1.63" - resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.1.63.tgz#b4ab850f8c285d06d593428b14ffa3df782adcbb" - integrity sha512-EM9oxxHzmmsprYRbGqsS2M4M/Gr5Gkcl0ROYYIdlUyTkhOiX822EQiRCpPCwdutdnzH2GyaTN7wc6i0Y+CKd3A== +"@swc/cli@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.3.9.tgz#f9b331e9ec8f1f2154b1a77a8617c6dfbfc44fec" + integrity sha512-e5grxGEyNT0fYZEFmhSrRYL1kFAZAXlv+WjfQ35J6J9Hl0EtrMVymAEbGabetg2Q/2FX6HiRcjgc9LrdUCBk4A== dependencies: "@mole-inc/bin-wrapper" "^8.0.1" + "@swc/counter" "^0.1.3" commander "^7.1.0" fast-glob "^3.2.5" + minimatch "^9.0.3" + piscina "^4.3.0" semver "^7.3.8" slash "3.0.0" source-map "^0.7.3" -"@swc/core-darwin-arm64@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.101.tgz#9ffdc0e77c31b20877fa7405c82905e0c76738d0" - integrity sha512-mNFK+uHNPRXSnfTOG34zJOeMl2waM4hF4a2NY7dkMXrPqw9CoJn4MwTXJcyMiSz1/BnNjjTCHF3Yhj0jPxmkzQ== - -"@swc/core-darwin-x64@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.101.tgz#e50130e21e3cfd3029fd6cea43e8309b58ad9fa6" - integrity sha512-B085j8XOx73Fg15KsHvzYWG262bRweGr3JooO1aW5ec5pYbz5Ew9VS5JKYS03w2UBSxf2maWdbPz2UFAxg0whw== - -"@swc/core-linux-arm-gnueabihf@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.101.tgz#8cd36328e794b3c42b6c8e578bb1f42e59ba0231" - integrity sha512-9xLKRb6zSzRGPqdz52Hy5GuB1lSjmLqa0lST6MTFads3apmx4Vgs8Y5NuGhx/h2I8QM4jXdLbpqQlifpzTlSSw== - -"@swc/core-linux-arm64-gnu@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.101.tgz#d15e3885eb13a1512ba62f00ce4f5bb19f710a0c" - integrity sha512-oE+r1lo7g/vs96Weh2R5l971dt+ZLuhaUX+n3BfDdPxNHfObXgKMjO7E+QS5RbGjv/AwiPCxQmbdCp/xN5ICJA== - -"@swc/core-linux-arm64-musl@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.101.tgz#851d4cc1079b091fee36f5f64335232210749d7a" - integrity sha512-OGjYG3H4BMOTnJWJyBIovCez6KiHF30zMIu4+lGJTCrxRI2fAjGLml3PEXj8tC3FMcud7U2WUn6TdG0/te2k6g== - -"@swc/core-linux-x64-gnu@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.101.tgz#3a2a7c584db2e05a798e28361440424914563fa3" - integrity sha512-/kBMcoF12PRO/lwa8Z7w4YyiKDcXQEiLvM+S3G9EvkoKYGgkkz4Q6PSNhF5rwg/E3+Hq5/9D2R+6nrkF287ihg== - -"@swc/core-linux-x64-musl@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.101.tgz#45d1d53945994f08e93703b8de24ccac88538d0c" - integrity sha512-kDN8lm4Eew0u1p+h1l3JzoeGgZPQ05qDE0czngnjmfpsH2sOZxVj1hdiCwS5lArpy7ktaLu5JdRnx70MkUzhXw== - -"@swc/core-win32-arm64-msvc@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.101.tgz#b2610b8354e5fbca7cc5be3f728e61b046227fa8" - integrity sha512-9Wn8TTLWwJKw63K/S+jjrZb9yoJfJwCE2RV5vPCCWmlMf3U1AXj5XuWOLUX+Rp2sGKau7wZKsvywhheWm+qndQ== - -"@swc/core-win32-ia32-msvc@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.101.tgz#c919175bb4cd5e9fcfa56fbd3708167c1d445c68" - integrity sha512-onO5KvICRVlu2xmr4//V2je9O2XgS1SGKpbX206KmmjcJhXN5EYLSxW9qgg+kgV5mip+sKTHTAu7IkzkAtElYA== - -"@swc/core-win32-x64-msvc@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.101.tgz#17743fe425caffc596fde5965c9c4cf9a48aa26a" - integrity sha512-T3GeJtNQV00YmiVw/88/nxJ/H43CJvFnpvBHCVn17xbahiVUOPOduh3rc9LgAkKiNt/aV8vU3OJR+6PhfMR7UQ== - -"@swc/core@1.3.101": - version "1.3.101" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.101.tgz#4e8f1583094a73c410e48a0bebdeccdc6c66d4a5" - integrity sha512-w5aQ9qYsd/IYmXADAnkXPGDMTqkQalIi+kfFf/MHRKTpaOL7DHjMXwPp/n8hJ0qNjRvchzmPtOqtPBiER50d8A== - dependencies: - "@swc/counter" "^0.1.1" +"@swc/core-darwin-arm64@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.2.tgz#3b5677c5b9c5a7a91d953b96cd603c94064e2835" + integrity sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw== + +"@swc/core-darwin-x64@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.2.tgz#bbc8bbf420389b12541151255a50f319cc17ef96" + integrity sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ== + +"@swc/core-linux-arm-gnueabihf@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.2.tgz#aa9a18f130820717df08c9dd882043fc47e8d35a" + integrity sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ== + +"@swc/core-linux-arm64-gnu@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.2.tgz#5ef1de0ca7cc3a034aa3a1c3c1794b78e6ca207e" + integrity sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA== + +"@swc/core-linux-arm64-musl@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.2.tgz#5dfd2a8c0483770a307de0ccb6019a082ff0d902" + integrity sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw== + +"@swc/core-linux-x64-gnu@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.2.tgz#314aa76b7c1208e315e3156ab57b7188fb605bc2" + integrity sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg== + +"@swc/core-linux-x64-musl@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.2.tgz#b2b226657f6a8d48f561cb3dbe2d414cfbafe467" + integrity sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ== + +"@swc/core-win32-arm64-msvc@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.2.tgz#582f79fa328ce0f426ab8313b3d881e7315fab2f" + integrity sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ== + +"@swc/core-win32-ia32-msvc@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.2.tgz#15c8289e1c18857f79b9b888100ab1f871bf58f6" + integrity sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA== + +"@swc/core-win32-x64-msvc@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.2.tgz#c999ca7b68124d058b40a1431cdd6f56779670d5" + integrity sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw== + +"@swc/core@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.2.tgz#310b0d5e93e47ca72f54150c8f9efcb434c39b17" + integrity sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg== + dependencies: + "@swc/counter" "^0.1.2" "@swc/types" "^0.1.5" optionalDependencies: - "@swc/core-darwin-arm64" "1.3.101" - "@swc/core-darwin-x64" "1.3.101" - "@swc/core-linux-arm-gnueabihf" "1.3.101" - "@swc/core-linux-arm64-gnu" "1.3.101" - "@swc/core-linux-arm64-musl" "1.3.101" - "@swc/core-linux-x64-gnu" "1.3.101" - "@swc/core-linux-x64-musl" "1.3.101" - "@swc/core-win32-arm64-msvc" "1.3.101" - "@swc/core-win32-ia32-msvc" "1.3.101" - "@swc/core-win32-x64-msvc" "1.3.101" - -"@swc/counter@^0.1.1": + "@swc/core-darwin-arm64" "1.4.2" + "@swc/core-darwin-x64" "1.4.2" + "@swc/core-linux-arm-gnueabihf" "1.4.2" + "@swc/core-linux-arm64-gnu" "1.4.2" + "@swc/core-linux-arm64-musl" "1.4.2" + "@swc/core-linux-x64-gnu" "1.4.2" + "@swc/core-linux-x64-musl" "1.4.2" + "@swc/core-win32-arm64-msvc" "1.4.2" + "@swc/core-win32-ia32-msvc" "1.4.2" + "@swc/core-win32-x64-msvc" "1.4.2" + +"@swc/counter@^0.1.2", "@swc/counter@^0.1.3": version "0.1.3" resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== -"@swc/helpers@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" - integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== +"@swc/helpers@0.5.6": + version "0.5.6" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.6.tgz#d16d8566b7aea2bef90d059757e2d77f48224160" + integrity sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA== dependencies: tslib "^2.4.0" -"@swc/jest@0.2.29": - version "0.2.29" - resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.29.tgz#b27d647ec430c909f9bb567d1df2a47eaa3841f4" - integrity sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow== +"@swc/jest@0.2.36": + version "0.2.36" + resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.36.tgz#2797450a30d28b471997a17e901ccad946fe693e" + integrity sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw== dependencies: - "@jest/create-cache-key-function" "^27.4.2" + "@jest/create-cache-key-function" "^29.7.0" + "@swc/counter" "^0.1.3" jsonc-parser "^3.2.0" "@swc/types@^0.1.5": @@ -2903,10 +2900,10 @@ lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/react@14.1.2": - version "14.1.2" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.1.2.tgz#a2b9e9ee87721ec9ed2d7cfc51cc04e474537c32" - integrity sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg== +"@testing-library/react@14.2.1": + version "14.2.1" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.2.1.tgz#bf69aa3f71c36133349976a4a2da3687561d8310" + integrity sha512-sGdjws32ai5TLerhvzThYFbpnF9XtL65Cjf+gB0Dhr29BGqK+mAeN7SURSdu+eqgET4ANcWoC7FQpkaiGvBr+A== dependencies: "@babel/runtime" "^7.12.5" "@testing-library/dom" "^9.0.0" @@ -3155,10 +3152,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@29.5.11": - version "29.5.11" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" - integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== +"@types/jest@29.5.12": + version "29.5.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -3252,10 +3249,12 @@ dependencies: undici-types "~5.26.4" -"@types/node@18.16.9": - version "18.16.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.9.tgz#e79416d778a8714597342bb87efb5a6e914f7a73" - integrity sha512-IeB32oIV4oGArLrd7znD2rkHQ6EDCM+2Sr76dJnrHwv9OHBTTM6nuDLK9bmikXzPa0ZlWMWtRGo/Uw4mrzQedA== +"@types/node@^18.16.9": + version "18.19.17" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.17.tgz#a581a9fb4b2cfdbc61f008804f4436b2d5c40354" + integrity sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng== + dependencies: + undici-types "~5.26.4" "@types/nodemailer@6.4.14": version "6.4.14" @@ -3298,14 +3297,7 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react-dom@18.2.18": - version "18.2.18" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.18.tgz#16946e6cd43971256d874bc3d0a72074bb8571dd" - integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw== - dependencies: - "@types/react" "*" - -"@types/react-dom@^18.0.0": +"@types/react-dom@18.2.19", "@types/react-dom@^18.0.0": version "18.2.19" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58" integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA== @@ -3319,7 +3311,7 @@ dependencies: "@types/react" "*" -"@types/react@*": +"@types/react@*", "@types/react@18.2.57": version "18.2.57" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.57.tgz#147b516d8bdb2900219acbfc6f939bdeecca7691" integrity sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw== @@ -3328,15 +3320,6 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@18.2.45": - version "18.2.45" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.45.tgz#253f4fac288e7e751ab3dc542000fb687422c15c" - integrity sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - "@types/responselike@^1.0.0": version "1.0.3" resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" @@ -3405,7 +3388,7 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== -"@types/superagent@*": +"@types/superagent@^8.1.0": version "8.1.3" resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.3.tgz#6222a466e89eac9c84ad8de11870d92097e6554a" integrity sha512-R/CfN6w2XsixLb1Ii8INfn+BT9sGPvw74OavfkW4SwY+jeUcAwLZv2+bXLJkndnimxjEBm0RPHgcjW9pLCa8cw== @@ -3414,12 +3397,13 @@ "@types/methods" "^1.1.4" "@types/node" "*" -"@types/supertest@2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.16.tgz#7a1294edebecb960d957bbe9b26002a2b7f21cd7" - integrity sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg== +"@types/supertest@6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-6.0.2.tgz#2af1c466456aaf82c7c6106c6b5cbd73a5e86588" + integrity sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg== dependencies: - "@types/superagent" "*" + "@types/methods" "^1.1.4" + "@types/superagent" "^8.1.0" "@types/tmp@0.2.6": version "0.2.6" @@ -3431,10 +3415,10 @@ resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== -"@types/uuid@9.0.7": - version "9.0.7" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.7.tgz#b14cebc75455eeeb160d5fe23c2fcc0c64f724d8" - integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g== +"@types/uuid@9.0.8": + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== "@types/webidl-conversions@*": version "7.0.3" @@ -3487,16 +3471,16 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz#d8ce497dc0ed42066e195c8ecc40d45c7b1254f4" - integrity sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg== +"@typescript-eslint/eslint-plugin@6.13.2": + version "6.13.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz#2e03506c5362a65e43cb132c37c9ce2d3cb51470" + integrity sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/type-utils" "6.9.1" - "@typescript-eslint/utils" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" + "@typescript-eslint/scope-manager" "6.13.2" + "@typescript-eslint/type-utils" "6.13.2" + "@typescript-eslint/utils" "6.13.2" + "@typescript-eslint/visitor-keys" "6.13.2" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -3504,17 +3488,25 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.9.1.tgz#4f685f672f8b9580beb38d5fb99d52fc3e34f7a3" - integrity sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg== +"@typescript-eslint/parser@6.13.2": + version "6.13.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.13.2.tgz#390b79cc9a57a5f904d197a201cc4b6bc4f9afb9" + integrity sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg== dependencies: - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/typescript-estree" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" + "@typescript-eslint/scope-manager" "6.13.2" + "@typescript-eslint/types" "6.13.2" + "@typescript-eslint/typescript-estree" "6.13.2" + "@typescript-eslint/visitor-keys" "6.13.2" debug "^4.3.4" +"@typescript-eslint/scope-manager@6.13.2": + version "6.13.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz#5fa4e4adace028dafac212c770640b94e7b61052" + integrity sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA== + dependencies: + "@typescript-eslint/types" "6.13.2" + "@typescript-eslint/visitor-keys" "6.13.2" + "@typescript-eslint/scope-manager@6.21.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" @@ -3523,25 +3515,17 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/scope-manager@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz#e96afeb9a68ad1cd816dba233351f61e13956b75" - integrity sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg== +"@typescript-eslint/type-utils@6.13.2": + version "6.13.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz#ebec2da14a6bb7122e0fd31eea72a382c39c6102" + integrity sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw== dependencies: - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - -"@typescript-eslint/type-utils@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz#efd5db20ed35a74d3c7d8fba51b830ecba09ce32" - integrity sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg== - dependencies: - "@typescript-eslint/typescript-estree" "6.9.1" - "@typescript-eslint/utils" "6.9.1" + "@typescript-eslint/typescript-estree" "6.13.2" + "@typescript-eslint/utils" "6.13.2" debug "^4.3.4" ts-api-utils "^1.0.1" -"@typescript-eslint/type-utils@^6.9.1": +"@typescript-eslint/type-utils@^6.13.2": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== @@ -3551,15 +3535,28 @@ debug "^4.3.4" ts-api-utils "^1.0.1" +"@typescript-eslint/types@6.13.2": + version "6.13.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.13.2.tgz#c044aac24c2f6cefb8e921e397acad5417dd0ae6" + integrity sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg== + "@typescript-eslint/types@6.21.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== -"@typescript-eslint/types@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.9.1.tgz#a6cfc20db0fcedcb2f397ea728ef583e0ee72459" - integrity sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ== +"@typescript-eslint/typescript-estree@6.13.2": + version "6.13.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz#ae556ee154c1acf025b48d37c3ef95a1d55da258" + integrity sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w== + dependencies: + "@typescript-eslint/types" "6.13.2" + "@typescript-eslint/visitor-keys" "6.13.2" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" "@typescript-eslint/typescript-estree@6.21.0": version "6.21.0" @@ -3575,20 +3572,20 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/typescript-estree@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz#8c77910a49a04f0607ba94d78772da07dab275ad" - integrity sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw== +"@typescript-eslint/utils@6.13.2": + version "6.13.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.13.2.tgz#8eb89e53adc6d703a879b131e528807245486f89" + integrity sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ== dependencies: - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.13.2" + "@typescript-eslint/types" "6.13.2" + "@typescript-eslint/typescript-estree" "6.13.2" semver "^7.5.4" - ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.21.0", "@typescript-eslint/utils@^6.9.1": +"@typescript-eslint/utils@6.21.0", "@typescript-eslint/utils@^6.13.2": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== @@ -3601,18 +3598,13 @@ "@typescript-eslint/typescript-estree" "6.21.0" semver "^7.5.4" -"@typescript-eslint/utils@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.9.1.tgz#763da41281ef0d16974517b5f0d02d85897a1c1e" - integrity sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA== +"@typescript-eslint/visitor-keys@6.13.2": + version "6.13.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz#e0a4a80cf842bb08e6127b903284166ac4a5594c" + integrity sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw== dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/typescript-estree" "6.9.1" - semver "^7.5.4" + "@typescript-eslint/types" "6.13.2" + eslint-visitor-keys "^3.4.1" "@typescript-eslint/visitor-keys@6.21.0": version "6.21.0" @@ -3622,13 +3614,10 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" -"@typescript-eslint/visitor-keys@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz#6753a9225a0ba00459b15d6456b9c2780b66707d" - integrity sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw== - dependencies: - "@typescript-eslint/types" "6.9.1" - eslint-visitor-keys "^3.4.1" +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" @@ -3931,7 +3920,7 @@ ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.12.0, ajv@^8.9.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -4006,56 +3995,55 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -antd@5.12.5: - version "5.12.5" - resolved "https://registry.yarnpkg.com/antd/-/antd-5.12.5.tgz#b4075a13c51483ee3721afddd28f9c7b342efb78" - integrity sha512-m9r9VhTmANS4kdBwHcxI4QWIGoZh3LspXNb2SxoezRSUZ9RUFpf+gO0AjPx8EPeO/nLKsHAoCSLza9r041bAgw== +antd@5.14.1: + version "5.14.1" + resolved "https://registry.yarnpkg.com/antd/-/antd-5.14.1.tgz#e56faf6a421911543a0d232e2564a6b42d3696fa" + integrity sha512-P0Bwt9NKSZqnEJ0QAyAb13ay34FjOKsz+KEp/ts+feYsynhUxF7/Ay6d1jS6ZcNpcs+JWTlLKO59YFZ3tX07wQ== dependencies: - "@ant-design/colors" "^7.0.0" - "@ant-design/cssinjs" "^1.18.1" - "@ant-design/icons" "^5.2.6" + "@ant-design/colors" "^7.0.2" + "@ant-design/cssinjs" "^1.18.4" + "@ant-design/icons" "^5.3.0" "@ant-design/react-slick" "~1.0.2" - "@babel/runtime" "^7.23.4" "@ctrl/tinycolor" "^3.6.1" - "@rc-component/color-picker" "~1.4.1" + "@rc-component/color-picker" "~1.5.1" "@rc-component/mutate-observer" "^1.1.0" - "@rc-component/tour" "~1.11.1" - "@rc-component/trigger" "^1.18.2" - classnames "^2.3.2" + "@rc-component/tour" "~1.12.3" + "@rc-component/trigger" "^1.18.3" + classnames "^2.5.1" copy-to-clipboard "^3.3.3" - dayjs "^1.11.1" + dayjs "^1.11.10" qrcode.react "^3.1.0" - rc-cascader "~3.20.0" + rc-cascader "~3.21.2" rc-checkbox "~3.1.0" rc-collapse "~3.7.2" rc-dialog "~9.3.4" - rc-drawer "~6.5.2" + rc-drawer "~7.0.0" rc-dropdown "~4.1.0" rc-field-form "~1.41.0" rc-image "~7.5.1" - rc-input "~1.3.11" - rc-input-number "~8.4.0" - rc-mentions "~2.9.1" + rc-input "~1.4.3" + rc-input-number "~9.0.0" + rc-mentions "~2.10.1" rc-menu "~9.12.4" rc-motion "^2.9.0" rc-notification "~5.3.0" - rc-pagination "~4.0.3" - rc-picker "~3.14.6" + rc-pagination "~4.0.4" + rc-picker "~4.1.1" rc-progress "~3.5.1" rc-rate "~2.12.0" rc-resize-observer "^1.4.0" - rc-segmented "~2.2.2" - rc-select "~14.10.0" + rc-segmented "~2.3.0" + rc-select "~14.11.0" rc-slider "~10.5.0" rc-steps "~6.0.1" rc-switch "~4.1.0" - rc-table "~7.36.1" - rc-tabs "~12.14.1" - rc-textarea "~1.5.3" + rc-table "~7.39.0" + rc-tabs "~14.0.0" + rc-textarea "~1.6.3" rc-tooltip "~6.1.3" - rc-tree "~5.8.2" - rc-tree-select "~5.15.0" - rc-upload "~4.3.5" + rc-tree "~5.8.5" + rc-tree-select "~5.17.0" + rc-upload "~4.5.2" rc-util "^5.38.1" scroll-into-view-if-needed "^3.1.0" throttle-debounce "^5.0.0" @@ -4354,16 +4342,16 @@ axe-core@=4.7.0: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== -axios@1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" - integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== +axios@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.0.tgz#f1e5292f26b2fd5c2e66876adc5b06cdbd7d2102" + integrity sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0" proxy-from-env "^1.1.0" -axios@^1.5.1: +axios@^1.6.0: version "1.6.7" resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== @@ -4627,24 +4615,6 @@ body-parser@1.20.1: type-is "~1.6.18" unpipe "1.0.0" -body-parser@^1.20.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - bonjour-service@^1.0.11: version "1.2.1" resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" @@ -4926,7 +4896,7 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== -classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: +classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== @@ -5187,7 +5157,7 @@ content-disposition@0.5.4, content-disposition@^0.5.4: dependencies: safe-buffer "5.2.1" -content-type@~1.0.4, content-type@~1.0.5: +content-type@~1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== @@ -5207,16 +5177,21 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie-signature@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" + integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== cookie@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== + cookiejar@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" @@ -5260,7 +5235,7 @@ core-js-pure@^3.23.3: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.36.0.tgz#ffb34330b14e594d6a9835cf5843b4123f1d95db" integrity sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ== -core-js@^3.34.0: +core-js@^3.36.0: version "3.36.0" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.36.0.tgz#e752fa0b0b462a0787d56e9d73f80b0f7c0dde68" integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw== @@ -5361,7 +5336,7 @@ css-declaration-sorter@^7.1.1: resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz#9796bcc257b4647c39993bda8d431ce32b666f80" integrity sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ== -css-loader@^6.4.0, css-loader@^6.8.1: +css-loader@^6.10.0, css-loader@^6.4.0: version "6.10.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.10.0.tgz#7c172b270ec7b833951b52c348861206b184a4b7" integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== @@ -5506,7 +5481,7 @@ csv-parse@5.5.3: resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.3.tgz#0261050761ee46cd0e46421854bf9bf4de1317bf" integrity sha512-v0KW6C0qlZzoGjk6u5tLmVfyZxNgPGXZsWTXshpAgKVGmGXzaVWGdlCFxNx5iuzcXT/oJN1HHM9DZKwtAtYa+A== -cypress@^13.6.1: +cypress@^13.6.5: version "13.6.5" resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.5.tgz#d8ab22dda3b9a8abeebcb65dc8a2707cb73bf925" integrity sha512-2NxSDcO2zHw5kTcosc6dzv2zppEqiXrFFhZw5cx/EWrSNZABTzpr/EyvYzGgrWm46o5173JUfuJfDQcaiZZPVQ== @@ -5607,7 +5582,7 @@ data-urls@^3.0.2: whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" -dayjs@1.11.10, dayjs@^1.10.4, dayjs@^1.11.1: +dayjs@1.11.10, dayjs@^1.10.4, dayjs@^1.11.10: version "1.11.10" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== @@ -6182,34 +6157,34 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@0.19.10: - version "0.19.10" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.10.tgz#55e83e4a6b702e3498b9f872d84bfb4ebcb6d16e" - integrity sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA== +esbuild@0.20.1: + version "0.20.1" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.1.tgz#1e4cbb380ad1959db7609cb9573ee77257724a3e" + integrity sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA== optionalDependencies: - "@esbuild/aix-ppc64" "0.19.10" - "@esbuild/android-arm" "0.19.10" - "@esbuild/android-arm64" "0.19.10" - "@esbuild/android-x64" "0.19.10" - "@esbuild/darwin-arm64" "0.19.10" - "@esbuild/darwin-x64" "0.19.10" - "@esbuild/freebsd-arm64" "0.19.10" - "@esbuild/freebsd-x64" "0.19.10" - "@esbuild/linux-arm" "0.19.10" - "@esbuild/linux-arm64" "0.19.10" - "@esbuild/linux-ia32" "0.19.10" - "@esbuild/linux-loong64" "0.19.10" - "@esbuild/linux-mips64el" "0.19.10" - "@esbuild/linux-ppc64" "0.19.10" - "@esbuild/linux-riscv64" "0.19.10" - "@esbuild/linux-s390x" "0.19.10" - "@esbuild/linux-x64" "0.19.10" - "@esbuild/netbsd-x64" "0.19.10" - "@esbuild/openbsd-x64" "0.19.10" - "@esbuild/sunos-x64" "0.19.10" - "@esbuild/win32-arm64" "0.19.10" - "@esbuild/win32-ia32" "0.19.10" - "@esbuild/win32-x64" "0.19.10" + "@esbuild/aix-ppc64" "0.20.1" + "@esbuild/android-arm" "0.20.1" + "@esbuild/android-arm64" "0.20.1" + "@esbuild/android-x64" "0.20.1" + "@esbuild/darwin-arm64" "0.20.1" + "@esbuild/darwin-x64" "0.20.1" + "@esbuild/freebsd-arm64" "0.20.1" + "@esbuild/freebsd-x64" "0.20.1" + "@esbuild/linux-arm" "0.20.1" + "@esbuild/linux-arm64" "0.20.1" + "@esbuild/linux-ia32" "0.20.1" + "@esbuild/linux-loong64" "0.20.1" + "@esbuild/linux-mips64el" "0.20.1" + "@esbuild/linux-ppc64" "0.20.1" + "@esbuild/linux-riscv64" "0.20.1" + "@esbuild/linux-s390x" "0.20.1" + "@esbuild/linux-x64" "0.20.1" + "@esbuild/netbsd-x64" "0.20.1" + "@esbuild/openbsd-x64" "0.20.1" + "@esbuild/sunos-x64" "0.20.1" + "@esbuild/win32-arm64" "0.20.1" + "@esbuild/win32-ia32" "0.20.1" + "@esbuild/win32-x64" "0.20.1" escalade@^3.1.1: version "3.1.2" @@ -6381,18 +6356,19 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@8.48.0: - version "8.48.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.48.0.tgz#bf9998ba520063907ba7bfe4c480dc8be03c2155" - integrity sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg== +eslint@8.56.0, eslint@^8.0.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.48.0" - "@humanwhocodes/config-array" "^0.11.10" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.56.0" + "@humanwhocodes/config-array" "^0.11.13" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -6553,23 +6529,23 @@ expect@^29.0.0, expect@^29.7.0: jest-message-util "^29.7.0" jest-util "^29.7.0" -export-from-json@1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/export-from-json/-/export-from-json-1.7.3.tgz#b67f42c9a492e5513ef2a8f7f856ed3531a80c67" - integrity sha512-Xg0L0saYz+CBz2MnaZvSEAHr17hWtHAfFWXw/frllG9t6aijuQukiU40ElOeM9nDTrtQPhLJMLN0q8lo897FYg== +export-from-json@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/export-from-json/-/export-from-json-1.7.4.tgz#ea2ea0e88ae27870aba3727a8e7eb8c6439ca4a6" + integrity sha512-FjmpluvZS2PTYyhkoMfQoyEJMfe2bfAyNpa5Apa6C9n7SWUWyJkG/VFnzERuj3q9Jjo3iwBjwVsDQ7Z7sczthA== express-rate-limit@7.1.5: version "7.1.5" resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.1.5.tgz#af4c81143a945ea97f2599d13957440a0ddbfcfe" integrity sha512-/iVogxu7ueadrepw1bS0X0kaRC/U0afwiYRSLg68Ts+p4Dc85Q5QKsOnPS/QUjPMHvOJQtBDrZgvkOzf8ejUYw== -express-session@1.17.3: - version "1.17.3" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.17.3.tgz#14b997a15ed43e5949cb1d073725675dd2777f36" - integrity sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw== +express-session@1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.18.0.tgz#a6ae39d9091f2efba5f20fc5c65a3ce7c9ce16a3" + integrity sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ== dependencies: - cookie "0.4.2" - cookie-signature "1.0.6" + cookie "0.6.0" + cookie-signature "1.0.7" debug "2.6.9" depd "~2.0.0" on-headers "~1.0.2" @@ -6763,14 +6739,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - file-selector@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" @@ -7183,18 +7151,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -7329,10 +7285,10 @@ graphql-upload-minimal@1.5.5: dependencies: busboy "^1.6.0" -graphql-ws@5.14.3: - version "5.14.3" - resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.14.3.tgz#fb1fba011a0ae9c4e86d831cae2ec27955168b9a" - integrity sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ== +graphql-ws@5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.15.0.tgz#2db79e1b42468a8363bf5ca6168d076e2f8fdebc" + integrity sha512-xWGAtm3fig9TIhSaNsg0FaDZ8Pyn/3re3RFlP4rhQcmjRDIPpk1EhRuNB+YSJtLzttyuToaDiNhwT1OMoGnJnw== graphql@16.8.1: version "16.8.1" @@ -7605,10 +7561,10 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -husky@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +husky@9.0.11: + version "9.0.11" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" + integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== iconv-lite@0.4.24: version "0.4.24" @@ -7947,11 +7903,11 @@ is-set@^2.0.1, is-set@^2.0.2: integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" is-stream@^1.1.0: version "1.1.0" @@ -7977,7 +7933,7 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10, is-typed-array@^1.1.13, is-typed-array@^1.1.3: +is-typed-array@^1.1.13, is-typed-array@^1.1.3: version "1.1.13" resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== @@ -9217,14 +9173,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" - integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@9.0.3: +minimatch@9.0.3, minimatch@^9.0.3: version "9.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== @@ -9330,10 +9279,10 @@ mongodb-connection-string-url@^3.0.0: "@types/whatwg-url" "^11.0.2" whatwg-url "^13.0.0" -mongodb-memory-server-core@9.1.3: - version "9.1.3" - resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.1.3.tgz#483e17001b69d7cd455d763ceba9c9d401085c02" - integrity sha512-94pUuTgjb6NglCbKLEZm457aACxeaT8+Jw8weEy0DyWiCBd1mk8dIuq7GE1CjmHFU2hMOCnOutdR96LhkWpgig== +mongodb-memory-server-core@9.1.6: + version "9.1.6" + resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.1.6.tgz#0dce7831aceb80cca62e242df08cf05b533d0731" + integrity sha512-3H/dq5II+XcSbK80hicMw4zFlDxcpjt4oWJq76RlOVuLoaf3AFqVheR6Vqx9ymlIqER4Jni58FMCIIRbesia1A== dependencies: async-mutex "^0.4.0" camelcase "^6.3.0" @@ -9348,12 +9297,12 @@ mongodb-memory-server-core@9.1.3: tslib "^2.6.2" yauzl "^2.10.0" -mongodb-memory-server@9.1.3: - version "9.1.3" - resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.1.3.tgz#3188683a7134ea34fa4c5777e19aee28c4d09cf9" - integrity sha512-EVVNll0e6QEsNhK7IJI0x51nbmv57E6X8izO3LLEnfbSZNwERG4P5nAjJfglqCSNkT4svKp1/0kzc+ldlQttOg== +mongodb-memory-server@9.1.6: + version "9.1.6" + resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.1.6.tgz#31b63996b2670e0e4a98d138e6abc7c2fbeca3d3" + integrity sha512-gzcpgGYlPhuKmria37W+bvYy6W+OkX2UVG7MoP41OWFvQv2Hn7A+fLXkV+lsMmhog1lMQprdV6AR+gixgheLaw== dependencies: - mongodb-memory-server-core "9.1.3" + mongodb-memory-server-core "9.1.6" tslib "^2.6.2" mongodb@6.3.0: @@ -9434,6 +9383,14 @@ new-find-package-json@^2.0.0: dependencies: debug "^4.3.4" +nice-napi@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nice-napi/-/nice-napi-1.0.2.tgz#dc0ab5a1eac20ce548802fc5686eaa6bc654927b" + integrity sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA== + dependencies: + node-addon-api "^3.0.0" + node-gyp-build "^4.2.2" + no-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" @@ -9447,6 +9404,11 @@ node-abort-controller@^3.0.1, node-abort-controller@^3.1.1: resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + node-addon-api@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" @@ -9464,6 +9426,11 @@ node-forge@^1: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== +node-gyp-build@^4.2.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" + integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -9479,10 +9446,10 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== -nodemailer@6.9.7: - version "6.9.7" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.7.tgz#ec2f488f62ba1558e7b19239b62778df4a5c4397" - integrity sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw== +nodemailer@6.9.9: + version "6.9.9" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.9.tgz#4549bfbf710cc6addec5064dd0f19874d24248d9" + integrity sha512-dexTll8zqQoVJEZPwQAKzxxtFn0qTnjdQTchoU6Re9BUUGBJiOy3YMn/0ShTW6J5M0dfQ1NeDeRTTl4oIWgQMA== nopt@^5.0.0: version "5.0.0" @@ -9552,16 +9519,16 @@ nwsapi@^2.2.2: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== -nx@17.2.7: - version "17.2.7" - resolved "https://registry.yarnpkg.com/nx/-/nx-17.2.7.tgz#ac7d73dea0bd23a332e9520cf4834f8421bbfbff" - integrity sha512-CnssDvDphAgyeoYzdPbz6vA/xac4BQeEiO7R9IBLIm+l1MV7boI4SpCS6abR4dbp4VTwI9uBQ9vgqNwCiEjoWg== +nx@18.0.4: + version "18.0.4" + resolved "https://registry.yarnpkg.com/nx/-/nx-18.0.4.tgz#3a77de6b51869449d849dccab7db74b35ec32a6b" + integrity sha512-Njb1fGppOw/wM7nOA1hYlLduV2aL4PdXSv5QS5cVYicHT5tw5RnG/0z4j9e6QfFj2EydxVeDUtlGR98diZ3/Yw== dependencies: - "@nrwl/tao" "17.2.7" + "@nrwl/tao" "18.0.4" "@yarnpkg/lockfile" "^1.1.0" "@yarnpkg/parsers" "3.0.0-rc.46" "@zkochan/js-yaml" "0.0.6" - axios "^1.5.1" + axios "^1.6.0" chalk "^4.1.0" cli-cursor "3.1.0" cli-spinners "2.6.1" @@ -9572,17 +9539,17 @@ nx@17.2.7: figures "3.2.0" flat "^5.0.2" fs-extra "^11.1.0" - glob "7.1.4" ignore "^5.0.4" jest-diff "^29.4.1" js-yaml "4.1.0" jsonc-parser "3.2.0" lines-and-columns "~2.0.3" - minimatch "3.0.5" + minimatch "9.0.3" node-machine-id "1.1.12" npm-run-path "^4.0.1" open "^8.4.0" - semver "7.5.3" + ora "5.3.0" + semver "^7.5.3" string-width "^4.2.3" strong-log-transformer "^2.1.0" tar-stream "~2.2.0" @@ -9592,16 +9559,16 @@ nx@17.2.7: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "17.2.7" - "@nx/nx-darwin-x64" "17.2.7" - "@nx/nx-freebsd-x64" "17.2.7" - "@nx/nx-linux-arm-gnueabihf" "17.2.7" - "@nx/nx-linux-arm64-gnu" "17.2.7" - "@nx/nx-linux-arm64-musl" "17.2.7" - "@nx/nx-linux-x64-gnu" "17.2.7" - "@nx/nx-linux-x64-musl" "17.2.7" - "@nx/nx-win32-arm64-msvc" "17.2.7" - "@nx/nx-win32-x64-msvc" "17.2.7" + "@nx/nx-darwin-arm64" "18.0.4" + "@nx/nx-darwin-x64" "18.0.4" + "@nx/nx-freebsd-x64" "18.0.4" + "@nx/nx-linux-arm-gnueabihf" "18.0.4" + "@nx/nx-linux-arm64-gnu" "18.0.4" + "@nx/nx-linux-arm64-musl" "18.0.4" + "@nx/nx-linux-x64-gnu" "18.0.4" + "@nx/nx-linux-x64-musl" "18.0.4" + "@nx/nx-win32-arm64-msvc" "18.0.4" + "@nx/nx-win32-x64-msvc" "18.0.4" object-assign@^4, object-assign@^4.1.1: version "4.1.1" @@ -10007,6 +9974,13 @@ pirates@^4.0.4: resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== +piscina@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/piscina/-/piscina-4.3.2.tgz#e390da6a7127a9f3a98047c8952526ae9a297c9f" + integrity sha512-aXPak3A1LgbfDFrsmgYhQS4J7ElHRFL7iUkUqaiLNDRE69YQSFGqIZiHaXOH4NyC6EdD+awZVeE7MG0zVm9L4Q== + optionalDependencies: + nice-napi "^1.0.2" + pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -10504,25 +10478,15 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc-cascader@~3.20.0: - version "3.20.0" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.20.0.tgz#b270f9d84ed83417ee7309ef5e56e415f1586076" - integrity sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw== +rc-cascader@~3.21.2: + version "3.21.2" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.21.2.tgz#3421841131cdc15157201fefd955da31f409ac85" + integrity sha512-J7GozpgsLaOtzfIHFJFuh4oFY0ePb1w10twqK6is3pAkqHkca/PsokbDr822KIRZ8/CK8CqevxohuPDVZ1RO/A== dependencies: "@babel/runtime" "^7.12.5" array-tree-filter "^2.1.0" classnames "^2.3.1" - rc-select "~14.10.0" + rc-select "~14.11.0" rc-tree "~5.8.1" rc-util "^5.37.0" @@ -10556,10 +10520,10 @@ rc-dialog@~9.3.4: rc-motion "^2.3.0" rc-util "^5.21.0" -rc-drawer@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.5.2.tgz#49c1f279261992f6d4653d32a03b14acd436d610" - integrity sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ== +rc-drawer@~7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-7.0.0.tgz#5632ad00284431665d4ff622b274d234fc9eefb2" + integrity sha512-ePcS4KtQnn57bCbVXazHN2iC8nTPCXlWEIA/Pft87Pd9U7ZeDkdRzG47jWG2/TAFXFlFltRAMcslqmUM8NPCGA== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/portal" "^1.1.1" @@ -10598,37 +10562,37 @@ rc-image@~7.5.1: rc-motion "^2.6.2" rc-util "^5.34.1" -rc-input-number@~8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-8.4.0.tgz#f0d0caa2ce3a4e37f062556f9cb4c08c8c23322d" - integrity sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA== +rc-input-number@~9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-9.0.0.tgz#47da6eaf95b0cf566fcdf68196c4dc82b8c8f166" + integrity sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/mini-decimal" "^1.0.1" classnames "^2.2.5" - rc-input "~1.3.5" + rc-input "~1.4.0" rc-util "^5.28.0" -rc-input@~1.3.11, rc-input@~1.3.5: - version "1.3.11" - resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.3.11.tgz#08f25d6d65b418dc9001e8f36432fe323bde37fa" - integrity sha512-jhH7QP5rILanSHCGSUkdoFE5DEtpv8FIseYhuYkOZzUBeiVAiwM3q26YqZ6xBB0QFEZ/yUAgms4xW4iuub3xFQ== +rc-input@~1.4.0, rc-input@~1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.4.3.tgz#03f720f88cb56924cd1d5f78f859f41f2d62d1e0" + integrity sha512-aHyQUAIRmTlOnvk5EcNqEpJ+XMtfMpYRAJayIlJfsvvH9cAKUWboh4egm23vgMA7E+c/qm4BZcnrDcA960GC1w== dependencies: "@babel/runtime" "^7.11.1" classnames "^2.2.1" rc-util "^5.18.1" -rc-mentions@~2.9.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.9.1.tgz#cfe55913fd5bc156ef9814f38c1a2ceefee032ce" - integrity sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew== +rc-mentions@~2.10.1: + version "2.10.1" + resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.10.1.tgz#842a227cb1f9f798cbf0c906a519f7de3ab8a9b9" + integrity sha512-72qsEcr/7su+a07ndJ1j8rI9n0Ka/ngWOLYnWMMv0p2mi/5zPwPrEDTt6Uqpe8FWjWhueDJx/vzunL6IdKDYMg== dependencies: "@babel/runtime" "^7.22.5" "@rc-component/trigger" "^1.5.0" classnames "^2.2.6" - rc-input "~1.3.5" + rc-input "~1.4.0" rc-menu "~9.12.0" - rc-textarea "~1.5.0" + rc-textarea "~1.6.1" rc-util "^5.34.1" rc-menu@~9.12.0, rc-menu@~9.12.4: @@ -10662,7 +10626,7 @@ rc-notification@~5.3.0: rc-motion "^2.9.0" rc-util "^5.20.1" -rc-overflow@^1.3.1: +rc-overflow@^1.3.1, rc-overflow@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== @@ -10672,7 +10636,7 @@ rc-overflow@^1.3.1: rc-resize-observer "^1.0.0" rc-util "^5.37.0" -rc-pagination@~4.0.3: +rc-pagination@~4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-4.0.4.tgz#ea401388ae86eac17ed5b41212d487f12b65b773" integrity sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ== @@ -10681,15 +10645,17 @@ rc-pagination@~4.0.3: classnames "^2.3.2" rc-util "^5.38.0" -rc-picker@~3.14.6: - version "3.14.6" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-3.14.6.tgz#60fc34f9883272e10f6c593fa6d82e7e7a70781b" - integrity sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag== +rc-picker@~4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.1.3.tgz#62d5a170ae5c826a61bd9fa3e49fae43ca6240ef" + integrity sha512-zmS64uYgiuWNmaWAxbVoAvSMuyNzGL9iO0Z8SIZzzm8U03taHHP0/jncWuM9v+O/F7Ghm7+IrFL0dDyk7aAqIw== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/trigger" "^1.5.0" classnames "^2.2.1" - rc-util "^5.30.0" + rc-overflow "^1.3.2" + rc-resize-observer "^1.4.0" + rc-util "^5.38.1" rc-progress@~3.5.1: version "3.5.1" @@ -10719,20 +10685,20 @@ rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-util "^5.38.0" resize-observer-polyfill "^1.5.1" -rc-segmented@~2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.2.2.tgz#a34f12ce6c0975fc3042ae7656bcd18e1744798e" - integrity sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA== +rc-segmented@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.3.0.tgz#b3fe080fb434a266c02e30bb62a47d2c6e094341" + integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg== dependencies: "@babel/runtime" "^7.11.1" classnames "^2.2.1" rc-motion "^2.4.4" rc-util "^5.17.0" -rc-select@~14.10.0: - version "14.10.0" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.10.0.tgz#5f60e61ed7c9a83c8591616b1174a1c4ab2de0cd" - integrity sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag== +rc-select@~14.11.0, rc-select@~14.11.0-0: + version "14.11.0" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.11.0.tgz#37c63acea92ac1dcd0e1b7ebd9c0614b53dd8346" + integrity sha512-8J8G/7duaGjFiTXCBLWfh5P+KDWyA3KTlZDfV3xj/asMPqB2cmxfM+lH50wRiPIRsCQ6EbkCFBccPuaje3DHIg== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/trigger" "^1.5.0" @@ -10769,10 +10735,10 @@ rc-switch@~4.1.0: classnames "^2.2.1" rc-util "^5.30.0" -rc-table@~7.36.1: - version "7.36.1" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.36.1.tgz#4a1a6d7e9797d553845bfa62571720cc613ecc94" - integrity sha512-9qMxEm/3Y8ukdW8I8ZvmhX0QImfNKzH0JEUlSbyaUlsYTB+/tQEbfaB8YkG4sHVZ1io4pxqK/BXoZYqebi/TIQ== +rc-table@~7.39.0: + version "7.39.0" + resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.39.0.tgz#61822efc489c546e5a56edac47c9a092152b5280" + integrity sha512-7fHLMNsm/2DlGwyIMkdH2xIeRzb5I69bLsFaEVtX+gqmGhByy0wtOAgHkiOew3PtXozSJyh+iXifjLgQzWdczw== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/context" "^1.4.0" @@ -10781,10 +10747,10 @@ rc-table@~7.36.1: rc-util "^5.37.0" rc-virtual-list "^3.11.1" -rc-tabs@~12.14.1: - version "12.14.1" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.14.1.tgz#1fe4c0bd54550c216f9612b76eff7fbe750f4d2b" - integrity sha512-1xlE7JQNYxD5RwBsM7jf2xSdUrkmTSDFLFEm2gqAgnsRlOGydEzXXNAVTOT6QcgM1G/gCm+AgG+FYPUGb4Hs4g== +rc-tabs@~14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-14.0.0.tgz#ac1798959e1835c4d5216c9dae80943b7e5505f6" + integrity sha512-lp1YWkaPnjlyhOZCPrAWxK6/P6nMGX/BAZcAC3nuVwKz0Byfp+vNnQKK8BRCP2g/fzu+SeB5dm9aUigRu3tRkQ== dependencies: "@babel/runtime" "^7.11.2" classnames "2.x" @@ -10794,14 +10760,14 @@ rc-tabs@~12.14.1: rc-resize-observer "^1.0.0" rc-util "^5.34.1" -rc-textarea@~1.5.0, rc-textarea@~1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.5.3.tgz#513e837d308584996c05f540f4f58645a3a8c89a" - integrity sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA== +rc-textarea@~1.6.1, rc-textarea@~1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.6.3.tgz#3f294fdf5dfadbe9d0e7b695cea4da557728a9be" + integrity sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" - rc-input "~1.3.5" + rc-input "~1.4.0" rc-resize-observer "^1.0.0" rc-util "^5.27.0" @@ -10814,18 +10780,18 @@ rc-tooltip@~6.1.3: "@rc-component/trigger" "^1.18.0" classnames "^2.3.1" -rc-tree-select@~5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.15.0.tgz#8591f1dd28b043dde6fa1ca30c7acb198b160a42" - integrity sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q== +rc-tree-select@~5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.17.0.tgz#be5bcad09b5874bfcff14be758e76dd992e42359" + integrity sha512-7sRGafswBhf7n6IuHyCEFCildwQIgyKiV8zfYyUoWfZEFdhuk7lCH+DN0aHt+oJrdiY9+6Io/LDXloGe01O8XQ== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" - rc-select "~14.10.0" + rc-select "~14.11.0-0" rc-tree "~5.8.1" rc-util "^5.16.1" -rc-tree@~5.8.1, rc-tree@~5.8.2: +rc-tree@~5.8.1, rc-tree@~5.8.5: version "5.8.5" resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.8.5.tgz#f714a383be27bd87366cf32f7f85b2af1fbae6b6" integrity sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg== @@ -10836,10 +10802,10 @@ rc-tree@~5.8.1, rc-tree@~5.8.2: rc-util "^5.16.1" rc-virtual-list "^3.5.1" -rc-upload@~4.3.5: - version "4.3.6" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.6.tgz#6a87397315cee065a04bee4103d6de9dbe2e377a" - integrity sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA== +rc-upload@~4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.5.2.tgz#ea493fbaaf57d9369ee954b20e1d8bc35c818a1a" + integrity sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA== dependencies: "@babel/runtime" "^7.18.3" classnames "^2.2.5" @@ -10928,20 +10894,20 @@ react-refresh@^0.14.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== -react-router-dom@6.21.1: - version "6.21.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.21.1.tgz#58b459d2fe1841388c95bb068f85128c45e27349" - integrity sha512-QCNrtjtDPwHDO+AO21MJd7yIcr41UetYt5jzaB9Y1UYaPTCnVuJq6S748g1dE11OQlCFIQg+RtAA1SEZIyiBeA== +react-router-dom@6.22.1: + version "6.22.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.1.tgz#cfa109d4b6b0a4d00bac179bc0ad2a6469455282" + integrity sha512-iwMyyyrbL7zkKY7MRjOVRy+TMnS/OPusaFVxM2P11x9dzSzGmLsebkCvYirGq0DWB9K9hOspHYYtDz33gE5Duw== dependencies: - "@remix-run/router" "1.14.1" - react-router "6.21.1" + "@remix-run/router" "1.15.1" + react-router "6.22.1" -react-router@6.21.1: - version "6.21.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.21.1.tgz#8db7ee8d7cfc36513c9a66b44e0897208c33be34" - integrity sha512-W0l13YlMTm1YrpVIOpjCADJqEUpz1vm+CMo47RuFX4Ftegwm6KOYsL5G3eiE52jnJpKvzm6uB/vTKTPKM8dmkA== +react-router@6.22.1: + version "6.22.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.1.tgz#a5ff849bfe709438f7e139421bb28138209662c7" + integrity sha512-0pdoRGwLtemnJqn1K0XHUbnKiX0S4X8CgvVVmHGOWmofESj31msHo/1YiqcJWK7Wxfq2a4uvvtS01KAQyWK/CQ== dependencies: - "@remix-run/router" "1.14.1" + "@remix-run/router" "1.15.1" react@18.2.0: version "18.2.0" @@ -11066,6 +11032,11 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" +rehackt@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.0.5.tgz#184c82ea369d5b0b989ede0593ebea8b2bcfb1d6" + integrity sha512-BI1rV+miEkaHj8zd2n+gaMgzu/fKz7BGlb4zZ6HAiY9adDmJMkaDcmuXlJFv0eyKUob+oszs3/2gdnXUrzx2Tg== + repeat-string@^1.5.2: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -11280,9 +11251,9 @@ sass-loader@^12.2.0: neo-async "^2.6.2" sass@^1.42.1: - version "1.71.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.71.0.tgz#b3085759b9b2ab503a977aecb7e91153bf941117" - integrity sha512-HKKIKf49Vkxlrav3F/w6qRuPcmImGVbIXJ2I3Kg0VMA+3Bav+8yE9G5XmP5lMj6nl4OlqbPftGAscNaNu28b8w== + version "1.71.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.71.1.tgz#dfb09c63ce63f89353777bbd4a88c0a38386ee54" + integrity sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -11368,13 +11339,6 @@ semver-truncate@^3.0.0: dependencies: semver "^7.3.5" -semver@7.5.3: - version "7.5.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" - semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" @@ -11971,7 +11935,7 @@ strtok3@^7.0.0-alpha.9: "@tokenizer/token" "^0.3.0" peek-readable "^5.0.0" -style-loader@^3.3.0, style-loader@^3.3.3: +style-loader@^3.3.0, style-loader@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== @@ -12019,7 +11983,7 @@ stylus@^0.62.0: sax "~1.3.0" source-map "^0.7.3" -superagent@^8.0.5: +superagent@^8.1.2: version "8.1.2" resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== @@ -12035,13 +11999,13 @@ superagent@^8.0.5: qs "^6.11.0" semver "^7.3.8" -supertest@6.3.3: - version "6.3.3" - resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.3.tgz#42f4da199fee656106fd422c094cf6c9578141db" - integrity sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA== +supertest@6.3.4: + version "6.3.4" + resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.4.tgz#2145c250570c2ea5d337db3552dbfb78a2286218" + integrity sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw== dependencies: methods "^1.1.2" - superagent "^8.0.5" + superagent "^8.1.2" supports-color@^2.0.0: version "2.0.0" @@ -12092,10 +12056,12 @@ svgo@^3.0.2, svgo@^3.2.0: csso "^5.0.5" picocolors "^1.0.0" -swc-loader@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" - integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== +swc-loader@0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.6.tgz#bf0cba8eeff34bb19620ead81d1277fefaec6bc8" + integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg== + dependencies: + "@swc/counter" "^0.1.3" symbol-observable@^4.0.0: version "4.0.0" @@ -12330,10 +12296,10 @@ ts-invariant@^0.10.3: dependencies: tslib "^2.1.0" -ts-jest@29.1.1: - version "29.1.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b" - integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA== +ts-jest@29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" + integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== dependencies: bs-logger "0.x" fast-json-stable-stringify "2.x" @@ -12483,14 +12449,15 @@ typed-array-buffer@^1.0.1: is-typed-array "^1.1.13" typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" typed-array-byte-offset@^1.0.0: version "1.0.2" @@ -12521,16 +12488,11 @@ typed-assert@^1.0.8: resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== -typescript@5.3.3: +typescript@5.3.3, typescript@~5.3.2: version "5.3.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== -typescript@~5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - uglify-js@^2.6.2: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" @@ -12898,7 +12860,7 @@ webpack-subresource-integrity@^5.1.0: dependencies: typed-assert "^1.0.8" -webpack@^5.80.0, webpack@^5.89.0: +webpack@^5.80.0, webpack@^5.90.3: version "5.90.3" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.3.tgz#37b8f74d3ded061ba789bb22b31e82eed75bd9ac" integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== From bc89876e562e73ebe41c987b49149e02d2c278de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 17:21:44 +0000 Subject: [PATCH 137/252] chore(deps): bump follow-redirects from 1.15.3 to 1.15.5 Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.5. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 92 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 82 insertions(+), 10 deletions(-) diff --git a/yarn.lock b/yarn.lock index fde2e6f40..a42cda5a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -519,7 +519,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.6": +"@babel/generator@^7.23.0", "@babel/generator@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== @@ -614,7 +614,7 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.20": +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== @@ -648,7 +648,7 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.23.3": +"@babel/helper-module-transforms@^7.23.0", "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== @@ -680,7 +680,7 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.22.20": +"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.9": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== @@ -710,7 +710,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.23.4": +"@babel/helper-string-parser@^7.22.5", "@babel/helper-string-parser@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== @@ -734,6 +734,15 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" +"@babel/helpers@^7.23.0": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== + dependencies: + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + "@babel/helpers@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" @@ -766,6 +775,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.23.0", "@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + "@babel/parser@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" @@ -1281,7 +1295,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-display-name@^7.23.3": +"@babel/plugin-transform-react-display-name@^7.22.5", "@babel/plugin-transform-react-display-name@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== @@ -1306,7 +1320,7 @@ "@babel/plugin-syntax-jsx" "^7.23.3" "@babel/types" "^7.23.4" -"@babel/plugin-transform-react-pure-annotations@^7.23.3": +"@babel/plugin-transform-react-pure-annotations@^7.22.5", "@babel/plugin-transform-react-pure-annotations@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== @@ -1569,6 +1583,15 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" +"@babel/template@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + "@babel/traverse@^7.16.0", "@babel/traverse@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" @@ -1585,6 +1608,22 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.23.0", "@babel/traverse@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" @@ -1603,6 +1642,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -5969,6 +6017,11 @@ dom-accessibility-api@^0.5.9: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== +dom-align@^1.7.0: + version "1.12.4" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" + integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== + dom-serializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" @@ -6994,9 +7047,9 @@ fmin@^0.0.2: uglify-js "^2.6.2" follow-redirects@^1.0.0, follow-redirects@^1.15.0, follow-redirects@^1.15.3: - version "1.15.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" - integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" @@ -10578,6 +10631,17 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" +rc-align@^4.0.0: + version "4.0.15" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" + integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + rc-util "^5.26.0" + resize-observer-polyfill "^1.5.1" + rc-cascader@~3.20.0: version "3.20.0" resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.20.0.tgz#b270f9d84ed83417ee7309ef5e56e415f1586076" @@ -10917,6 +10981,14 @@ rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2. "@babel/runtime" "^7.18.3" react-is "^18.2.0" +rc-util@^5.26.0, rc-util@^5.33.0: + version "5.38.2" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.2.tgz#240da546b51ee838e616f7a2e3fcf62c753b0330" + integrity sha512-yRGRPKyi84H7NkRSP6FzEIYBdUt4ufdsmXUZ7qM2H5qoByPax70NnGPkfo36N+UKUnUBj2f2Q2eUbwYMuAsIOQ== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: version "3.11.3" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" From b2698e510a13cb6fc82456524b9339e86b952d27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 17:22:17 +0000 Subject: [PATCH 138/252] chore(deps): bump @adobe/css-tools from 4.3.1 to 4.3.3 Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.3.1 to 4.3.3. - [Changelog](https://github.com/adobe/css-tools/blob/main/History.md) - [Commits](https://github.com/adobe/css-tools/commits) --- updated-dependencies: - dependency-name: "@adobe/css-tools" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 99 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 83 insertions(+), 16 deletions(-) diff --git a/yarn.lock b/yarn.lock index fde2e6f40..e037668ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,15 +7,10 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@adobe/css-tools@^4.0.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.1.tgz#abfccb8ca78075a2b6187345c26243c1a0842f28" - integrity sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg== - -"@adobe/css-tools@~4.3.1": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.2.tgz#a6abc715fb6884851fca9dad37fc34739a04fd11" - integrity sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw== +"@adobe/css-tools@^4.0.1", "@adobe/css-tools@~4.3.1": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" + integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== "@ampproject/remapping@^2.2.0": version "2.2.1" @@ -519,7 +514,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.6": +"@babel/generator@^7.23.0", "@babel/generator@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== @@ -614,7 +609,7 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.20": +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== @@ -648,7 +643,7 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.23.3": +"@babel/helper-module-transforms@^7.23.0", "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== @@ -680,7 +675,7 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.22.20": +"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.9": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== @@ -710,7 +705,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.23.4": +"@babel/helper-string-parser@^7.22.5", "@babel/helper-string-parser@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== @@ -734,6 +729,15 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" +"@babel/helpers@^7.23.0": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" + integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== + dependencies: + "@babel/template" "^7.23.9" + "@babel/traverse" "^7.23.9" + "@babel/types" "^7.23.9" + "@babel/helpers@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" @@ -766,6 +770,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.23.0", "@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + "@babel/parser@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" @@ -1281,7 +1290,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-display-name@^7.23.3": +"@babel/plugin-transform-react-display-name@^7.22.5", "@babel/plugin-transform-react-display-name@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== @@ -1306,7 +1315,7 @@ "@babel/plugin-syntax-jsx" "^7.23.3" "@babel/types" "^7.23.4" -"@babel/plugin-transform-react-pure-annotations@^7.23.3": +"@babel/plugin-transform-react-pure-annotations@^7.22.5", "@babel/plugin-transform-react-pure-annotations@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== @@ -1569,6 +1578,15 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" +"@babel/template@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" + integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + "@babel/traverse@^7.16.0", "@babel/traverse@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" @@ -1585,6 +1603,22 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.23.0", "@babel/traverse@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" + integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.9" + "@babel/types" "^7.23.9" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" @@ -1603,6 +1637,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -5969,6 +6012,11 @@ dom-accessibility-api@^0.5.9: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== +dom-align@^1.7.0: + version "1.12.4" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" + integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== + dom-serializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" @@ -10578,6 +10626,17 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" +rc-align@^4.0.0: + version "4.0.15" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" + integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + rc-util "^5.26.0" + resize-observer-polyfill "^1.5.1" + rc-cascader@~3.20.0: version "3.20.0" resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.20.0.tgz#b270f9d84ed83417ee7309ef5e56e415f1586076" @@ -10917,6 +10976,14 @@ rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2. "@babel/runtime" "^7.18.3" react-is "^18.2.0" +rc-util@^5.26.0, rc-util@^5.33.0: + version "5.38.2" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.2.tgz#240da546b51ee838e616f7a2e3fcf62c753b0330" + integrity sha512-yRGRPKyi84H7NkRSP6FzEIYBdUt4ufdsmXUZ7qM2H5qoByPax70NnGPkfo36N+UKUnUBj2f2Q2eUbwYMuAsIOQ== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: version "3.11.3" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" From 1bc4ccf3f348e75f3817a857ba9410ac6a82b6c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 13:47:46 +0000 Subject: [PATCH 139/252] chore(deps): bump ip from 2.0.0 to 2.0.1 Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1. - [Commits](https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: ip dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6727d9383..f98e97b75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7864,9 +7864,9 @@ invariant@^2.2.4: loose-envify "^1.0.0" ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105" + integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ== ipaddr.js@1.9.1: version "1.9.1" From 9b06eb3f28ceb38b35a71951ef746c35bddf1d7f Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Wed, 3 Apr 2024 11:19:51 +0100 Subject: [PATCH 140/252] Allow fetch data from older versions --- .../src/graphql/resolvers/studyResolvers.ts | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts index 02eafc0bd..6ce7c8f97 100644 --- a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts @@ -373,11 +373,14 @@ export const studyResolvers = { // we obtain the data by different requests // admin used will not filtered by metadata filters if (requester.type === userTypes.ADMIN) { - if (versionId === null) { - availableDataVersions.push(null); - } - if (versionId === '-1') { - availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; + if (versionId !== undefined) { + if (versionId === null) { + availableDataVersions.push(null); + } else if (versionId === '-1') { + availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; + } else { + availableDataVersions = [versionId]; + } } fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ @@ -465,6 +468,33 @@ export const studyResolvers = { if (queryString.data_requested?.length > 0) { fieldRecords = fieldRecords.filter(el => queryString.data_requested.includes(el.fieldId)); } + } else if (versionId !== undefined) { + availableDataVersions = [versionId]; + fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + }, { + $sort: { dateAdded: -1 } + }, { + $match: { + $or: [ + metadataFilter + ] + } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray(); + if (queryString.data_requested?.length > 0) { + fieldRecords = fieldRecords.filter(el => queryString.data_requested.includes(el.fieldId)); + } } // TODO: placeholder for metadata filter From 2489667b803dcb5e4e92a5c468420736db35b4f2 Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Wed, 3 Apr 2024 15:24:12 +0100 Subject: [PATCH 141/252] Remove NX token --- nx.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nx.json b/nx.json index 3bb2f4e7e..c56167e3f 100644 --- a/nx.json +++ b/nx.json @@ -63,6 +63,5 @@ } }, "defaultProject": "itmat-ui-react", - "$schema": "./node_modules/nx/schemas/nx-schema.json", - "nxCloudAccessToken": "ZDQ1NzgyNGEtZTAzMC00MWE2LWIxZTAtOTRmYzhjMzdjYWYyfHJlYWQtd3JpdGU=" + "$schema": "./node_modules/nx/schemas/nx-schema.json" } \ No newline at end of file From 0d8e08bfbe6e5c1bf8ef4ec991183e55df7e94b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 15:11:41 +0000 Subject: [PATCH 142/252] chore(deps): bump express in /packages/itmat-docker Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/master/History.md) - [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2) --- updated-dependencies: - dependency-name: express dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- packages/itmat-docker/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/itmat-docker/package.json b/packages/itmat-docker/package.json index ea859f6b1..d972f5503 100644 --- a/packages/itmat-docker/package.json +++ b/packages/itmat-docker/package.json @@ -17,7 +17,7 @@ "dependencies": { "bcrypt": "5.1.1", "compression": "1.7.4", - "express": "4.18.2", + "express": "4.19.2", "express-rate-limit": "7.1.2", "isobject": "4.0.0", "minio": "7.1.3", From e70fb5e6745aff748b5a3da80bd1ed36a979c587 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 15:12:00 +0000 Subject: [PATCH 143/252] chore(deps): bump follow-redirects from 1.15.5 to 1.15.6 Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.5...v1.15.6) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index fe486bccf..6648fda76 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7278,9 +7278,9 @@ fmin@^0.0.2: uglify-js "^2.6.2" follow-redirects@^1.0.0, follow-redirects@^1.15.0, follow-redirects@^1.15.3, follow-redirects@^1.15.4: - version "1.15.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" - integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" From 2e48a831d4bbf6a7e06cf58c6974945471f9532c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 15:12:01 +0000 Subject: [PATCH 144/252] chore(deps): bump express from 4.18.2 to 4.19.2 Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/master/History.md) - [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2) --- updated-dependencies: - dependency-name: express dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 39 +++++++++++++++++---------------------- 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index f0b7854e6..ff8c8dc51 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ "deepmerge": "4.3.1", "esbuild": "0.20.1", "export-from-json": "1.7.4", - "express": "^4.18.2", + "express": "^4.19.2", "express-rate-limit": "7.1.5", "express-session": "1.18.0", "fs-extra": "11.2.0", diff --git a/yarn.lock b/yarn.lock index fe486bccf..a11df43b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4954,13 +4954,13 @@ bn.js@^4.0.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== +body-parser@1.20.2: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== dependencies: bytes "3.1.2" - content-type "~1.0.4" + content-type "~1.0.5" debug "2.6.9" depd "2.0.0" destroy "1.2.0" @@ -4968,7 +4968,7 @@ body-parser@1.20.1: iconv-lite "0.4.24" on-finished "2.4.1" qs "6.11.0" - raw-body "2.5.1" + raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" @@ -5534,7 +5534,7 @@ content-disposition@0.5.4, content-disposition@^0.5.4: dependencies: safe-buffer "5.2.1" -content-type@~1.0.4: +content-type@~1.0.4, content-type@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== @@ -5559,11 +5559,6 @@ cookie-signature@1.0.7: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - cookie@0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" @@ -6951,17 +6946,17 @@ express-session@1.18.0: safe-buffer "5.2.1" uid-safe "~2.1.5" -express@^4.17.1, express@^4.17.3, express@^4.18.2: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== +express@^4.17.1, express@^4.17.3, express@^4.19.2: + version "4.19.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" + integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.1" + body-parser "1.20.2" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.5.0" + cookie "0.6.0" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" @@ -10880,10 +10875,10 @@ range-parser@^1.2.1, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" http-errors "2.0.0" From 726551b84ac063b97b63a0bfc2f21b8abbb58a42 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 15:13:14 +0000 Subject: [PATCH 145/252] chore(deps): bump webpack-dev-middleware from 5.3.3 to 5.3.4 Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.3 to 5.3.4. - [Release notes](https://github.com/webpack/webpack-dev-middleware/releases) - [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md) - [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4) --- updated-dependencies: - dependency-name: webpack-dev-middleware dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index fe486bccf..643683789 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13243,9 +13243,9 @@ webidl-conversions@^7.0.0: integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + version "5.3.4" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" + integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== dependencies: colorette "^2.0.10" memfs "^3.4.3" From e80176f4f4cd321c81fa1c87555b997149588d95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 12:14:37 +0000 Subject: [PATCH 146/252] chore(deps): bump tar from 6.2.0 to 6.2.1 Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.0 to 6.2.1. - [Release notes](https://github.com/isaacs/node-tar/releases) - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/isaacs/node-tar/compare/v6.2.0...v6.2.1) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index fe486bccf..6e2a87bbc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12560,9 +12560,9 @@ tar-stream@~2.2.0: readable-stream "^3.1.1" tar@^6.1.11: - version "6.2.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" - integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" From e8ba07af79304cca23e9de7aee473b518803a805 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Fri, 19 Apr 2024 14:45:15 +0100 Subject: [PATCH 147/252] chore: Update dependencies --- .commitlintrc.js | 33 + .editorconfig | 7 +- .eslintrc.js | 29 +- .husky/commit-msg | 4 + .husky/post-checkout | 3 + .husky/post-commit | 3 + .husky/post-merge | 3 + .husky/pre-commit | 8 +- .husky/pre-push | 6 + .lintstagedrc.json | 3 + .prettierignore | 16 + .vscode/settings.json | 1 - nx.json | 7 +- package.json | 125 +- packages/itmat-commons/.lib.swcrc | 2 +- packages/itmat-commons/project.json | 4 +- packages/itmat-docker/project.json | 14 +- packages/itmat-interface/project.json | 4 +- packages/itmat-job-executor/project.json | 4 +- packages/itmat-models/.lib.swcrc | 2 +- packages/itmat-models/project.json | 4 +- packages/itmat-setup/project.json | 4 +- packages/itmat-types/.lib.swcrc | 2 +- packages/itmat-types/project.json | 4 +- packages/itmat-ui-react-e2e/project.json | 10 +- packages/itmat-ui-react/project.json | 4 +- tsconfig.base.json | 84 +- yarn.lock | 27820 +++++++++++---------- 28 files changed, 14357 insertions(+), 13853 deletions(-) create mode 100644 .commitlintrc.js create mode 100644 .husky/commit-msg create mode 100644 .husky/post-checkout create mode 100644 .husky/post-commit create mode 100644 .husky/post-merge create mode 100644 .husky/pre-push create mode 100644 .lintstagedrc.json create mode 100644 .prettierignore diff --git a/.commitlintrc.js b/.commitlintrc.js new file mode 100644 index 000000000..7f4146536 --- /dev/null +++ b/.commitlintrc.js @@ -0,0 +1,33 @@ +const { utils: { getProjects } } = require('@commitlint/config-nx-scopes'); + +module.exports = { + extends: [ + '@commitlint/config-conventional', + '@commitlint/config-nx-scopes' + ], + rules: { + 'scope-enum': async (ctx) => { + const projectFilter = ({ name }) => + !name.includes('e2e'); + const projectNames = new Set(); + (await getProjects(ctx, projectFilter)) + .forEach(element => { + projectNames.add(element); + }); + return [ + 2, + 'always', + [ + ...projectNames + ] + ]; + }, + 'subject-case': [ + 2, + 'always', + [ + 'sentence-case' + ] + ] + } +}; diff --git a/.editorconfig b/.editorconfig index 1a9f5e7c5..9b7352176 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,12 +1,13 @@ - +# Editor configuration, see http://editorconfig.org root = true -[*.{js,ts,jsx,tsx,json}] +[*] charset = utf-8 -indent_size = 4 indent_style = space +indent_size = 4 insert_final_newline = true trim_trailing_whitespace = true [*.md] +max_line_length = off trim_trailing_whitespace = false diff --git a/.eslintrc.js b/.eslintrc.js index 746d36312..6c7bb3050 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -44,8 +44,12 @@ const typescriptRules = { module.exports = { root: true, + env: { es6: true }, parserOptions: { + ecmaVersion: 2022, tsconfigRootDir: __dirname, + EXPERIMENTAL_useProjectService: true, + warnOnUnsupportedTypeScriptVersion: false, project: [ './tsconfig.eslint.json', './packages/*-e2e/tsconfig.json', @@ -55,12 +59,17 @@ module.exports = { ] }, ignorePatterns: ['**/*', '!**/*.json', '!**/*.js', '!**/*.ts', '!scripts', '!tools', '!.vscode'], - plugins: ['@nx', 'json', 'import'], + plugins: ['@nx'], overrides: [ { - files: ['*.ts', '*.tsx'], + files: ['*.ts', '*.tsx', '*.mts'], extends: ['plugin:@nx/typescript'], - rules: typescriptRules + rules: typescriptRules, + parserOptions: { + project: [ + './tsconfig.eslint.json' + ] + } }, { files: ['*.js', '*.jsx'], @@ -68,15 +77,17 @@ module.exports = { rules: javascriptRules }, { - files: ['*.spec.ts', '*.spec.tsx', '*.spec.js', '*.spec.jsx'], - env: { - jest: true - }, - rules: {} + files: ['*.mjs'], + extends: ['plugin:@nx/javascript'], + rules: javascriptRules, + parserOptions: { + sourceType: 'module' + } }, { files: ['*.json'], - extends: ['plugin:json/recommended'], + parser: 'jsonc-eslint-parser', + extends: ['plugin:jsonc/recommended-with-json'], rules: jsonRules } ] diff --git a/.husky/commit-msg b/.husky/commit-msg new file mode 100644 index 000000000..60b13c195 --- /dev/null +++ b/.husky/commit-msg @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn run lint-commit $1 \ No newline at end of file diff --git a/.husky/post-checkout b/.husky/post-checkout new file mode 100644 index 000000000..9ccde3a65 --- /dev/null +++ b/.husky/post-checkout @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-checkout.\n"; exit 2; } +git lfs post-checkout "$@" diff --git a/.husky/post-commit b/.husky/post-commit new file mode 100644 index 000000000..fde02c22c --- /dev/null +++ b/.husky/post-commit @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-commit.\n"; exit 2; } +git lfs post-commit "$@" diff --git a/.husky/post-merge b/.husky/post-merge new file mode 100644 index 000000000..53861f24b --- /dev/null +++ b/.husky/post-merge @@ -0,0 +1,3 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-merge.\n"; exit 2; } +git lfs post-merge "$@" diff --git a/.husky/pre-commit b/.husky/pre-commit index ab0d663d6..c11a10f77 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn lint-fix +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn run lint-staged \ No newline at end of file diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100644 index 000000000..922a0b27a --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,6 @@ +#!/bin/sh +command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push.\n"; exit 2; } +git lfs pre-push "$@" + +yarn run lint-check +yarn run format-check \ No newline at end of file diff --git a/.lintstagedrc.json b/.lintstagedrc.json new file mode 100644 index 000000000..91c0f003a --- /dev/null +++ b/.lintstagedrc.json @@ -0,0 +1,3 @@ +{ + "package.json": "yarn lint --fix" +} \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..0f144365e --- /dev/null +++ b/.prettierignore @@ -0,0 +1,16 @@ +# Add files here to ignore them from prettier formatting + +/.nx/cache +*.json +*.ts +*.tsx +*.mts +*.mtsx +*.cts +*.ctsx +*.js +*.jsx +*.mjs +*.mjsx +*.cjs +*.cjsx diff --git a/.vscode/settings.json b/.vscode/settings.json index 9af37e332..0d62ddcdb 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,4 @@ { - "eslint.autoFixOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, diff --git a/nx.json b/nx.json index c56167e3f..d5b8582a3 100644 --- a/nx.json +++ b/nx.json @@ -7,9 +7,6 @@ } }, "extends": "nx/presets/npm.json", - "affected": { - "defaultBase": "master" - }, "generators": { "@nx/react": { "application": { @@ -63,5 +60,7 @@ } }, "defaultProject": "itmat-ui-react", - "$schema": "./node_modules/nx/schemas/nx-schema.json" + "$schema": "./node_modules/nx/schemas/nx-schema.json", + "defaultBase": "master", + "useInferencePlugins": false } \ No newline at end of file diff --git a/package.json b/package.json index f0b7854e6..06b6b3b1b 100644 --- a/package.json +++ b/package.json @@ -19,123 +19,134 @@ "setupDatabase": "nx run-many --projects=itmat-setup --target=setup", "test": "nx affected --parallel=1 --target=test", "test-all": "nx run-many --parallel=1 --target=test", - "lint": "nx affected --target=lint", - "lint-fix": "nx affected --target=lint --fix" + "lint": "eslint .", + "lint-check": "nx affected --target=lint --parallel=1 && yarn lint", + "lint-fix": "nx affected --target=lint --parallel=1 --fix && yarn lint --fix", + "lint-commit": "commitlint -c false --edit", + "lint-staged": "lint-staged", + "format-check": "nx format:check --all", + "format-fix": "nx format --all" }, "devDependencies": { - "@babel/core": "^7.23.9", - "@babel/preset-react": "^7.23.3", - "@nx/cypress": "18.0.4", - "@nx/esbuild": "18.0.4", - "@nx/eslint": "18.0.4", - "@nx/eslint-plugin": "18.0.4", - "@nx/express": "18.0.4", - "@nx/jest": "18.0.4", - "@nx/js": "18.0.4", - "@nx/node": "18.0.4", - "@nx/react": "18.0.4", - "@nx/web": "18.0.4", - "@nx/webpack": "18.0.4", - "@nx/workspace": "18.0.4", + "@babel/core": "^7.24.4", + "@babel/preset-react": "^7.24.1", + "@nx/cypress": "18.3.2", + "@nx/esbuild": "18.3.2", + "@nx/eslint": "18.3.2", + "@nx/eslint-plugin": "18.3.2", + "@nx/express": "18.3.2", + "@nx/jest": "18.3.2", + "@nx/js": "18.3.2", + "@nx/node": "18.3.2", + "@nx/react": "18.3.2", + "@nx/web": "18.3.2", + "@nx/webpack": "18.3.2", + "@nx/workspace": "18.3.2", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "@svgr/webpack": "8.1.0", - "@swc/cli": "0.3.9", - "@swc/core": "1.4.2", + "@swc/cli": "0.3.12", + "@swc/core": "1.4.16", "@swc/jest": "0.2.36", - "@testing-library/react": "14.2.1", + "@testing-library/react": "15.0.2", "@types/bcrypt": "5.0.2", "@types/connect-timeout": "0.0.39", "@types/cors": "2.8.17", "@types/express": "4.17.21", - "@types/express-session": "1.17.10", + "@types/express-session": "1.18.0", "@types/fs-extra": "11.0.4", "@types/jest": "29.5.12", "@types/json2csv": "5.0.7", - "@types/jsonwebtoken": "9.0.5", - "@types/node": "^18.16.9", + "@types/jsonwebtoken": "9.0.6", + "@types/node": "^20.12.7", "@types/nodemailer": "6.4.14", "@types/passport": "1.0.16", "@types/qrcode": "1.5.5", - "@types/react": "18.2.57", - "@types/react-dom": "18.2.19", + "@types/react": "18.2.79", + "@types/react-dom": "18.2.25", "@types/react-highlight-words": "0.16.7", "@types/supertest": "6.0.2", "@types/tmp": "0.2.6", "@types/uuid": "9.0.8", "@types/webpack-env": "1.18.4", - "@typescript-eslint/eslint-plugin": "6.13.2", - "@typescript-eslint/parser": "6.13.2", + "@typescript-eslint/eslint-plugin": "7.7.0", + "@typescript-eslint/parser": "7.7.0", "css-loader": "^6.10.0", - "cypress": "^13.6.5", + "cypress": "^13.8.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", - "eslint-plugin-cypress": "2.15.1", + "eslint-plugin-cypress": "2.15.2", "eslint-plugin-import": "2.29.1", - "eslint-plugin-json": "3.1.0", + "eslint-plugin-jsonc": "2.15.0", "eslint-plugin-jsx-a11y": "6.8.0", - "eslint-plugin-react": "7.33.2", + "eslint-plugin-react": "7.34.1", "eslint-plugin-react-hooks": "4.6.0", - "get-port": "7.0.0", + "get-port": "7.1.0", "git-rev-sync": "3.0.2", "husky": "9.0.11", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "mongodb-memory-server": "9.1.6", - "nx": "18.0.4", + "mongodb-memory-server": "9.1.8", + "nx": "18.3.2", + "prettier": "^3.2.5", "react-refresh": "^0.14.0", "style-loader": "^3.3.4", - "stylus": "^0.62.0", + "stylus": "^0.63.0", "stylus-loader": "^7.1.3", "supertest": "6.3.4", "swc-loader": "0.2.6", - "ts-essentials": "9.4.1", + "ts-essentials": "9.4.2", "ts-jest": "29.1.2", "ts-node": "10.9.2", - "typescript": "5.3.3", + "typescript": "5.4.5", "url-loader": "^4.1.1", - "webpack": "^5.90.3", + "webpack": "^5.91.0", "webpack-merge": "^5.10.0" }, "dependencies": { - "@ant-design/icons": "5.3.0", - "@ant-design/plots": "1.2.6", - "@apollo/client": "3.9.5", - "@apollo/server": "4.10.0", + "@ant-design/icons": "5.3.6", + "@ant-design/plots": "2.2.0", + "@apollo/client": "3.9.11", + "@apollo/server": "4.10.4", + "@commitlint/config-conventional": "^18.6.2", + "@commitlint/config-nx-scopes": "^18.6.1", "@ideafast/idgen": "0.1.1", - "@swc/helpers": "0.5.6", + "@swc/helpers": "0.5.10", "JSONStream": "1.3.5", - "antd": "5.14.1", + "antd": "5.16.2", "apollo-upload-client": "18.0.1", - "axios": "1.6.0", + "axios": "1.6.8", "bcrypt": "5.1.1", + "commitlint": "^18.6.1", "connect-mongo": "5.1.0", "connect-timeout": "1.9.0", - "core-js": "^3.36.0", + "core-js": "^3.37.0", "cors": "2.8.5", - "csv-parse": "5.5.3", + "csv-parse": "5.5.5", "dayjs": "1.11.10", "deepmerge": "4.3.1", - "esbuild": "0.20.1", + "esbuild": "^0.20.2", "export-from-json": "1.7.4", - "express": "^4.18.2", - "express-rate-limit": "7.1.5", + "express": "^4.19.2", + "express-rate-limit": "7.2.0", "express-session": "1.18.0", "fs-extra": "11.2.0", "graphql": "16.8.1", - "graphql-scalars": "1.22.4", + "graphql-scalars": "1.23.0", "graphql-subscriptions": "2.0.0", "graphql-tag": "2.12.6", "graphql-type-json": "0.3.2", - "graphql-upload-minimal": "1.5.5", - "graphql-ws": "5.15.0", + "graphql-upload-minimal": "1.6.1", + "graphql-ws": "5.16.0", "hi-base32": "0.5.1", "http-proxy-middleware": "2.0.6", "https-browserify": "1.0.0", + "husky": "9.0.11", "jsonwebtoken": "9.0.2", "jstat": "1.9.6", + "lint-staged": "15.2.2", "minio": "7.1.3", - "mongodb": "6.3.0", - "nodemailer": "6.9.9", + "mongodb": "6.5.0", + "nodemailer": "6.9.13", "passport": "0.7.0", "path-browserify": "1.0.1", "qrcode": "1.5.3", @@ -145,12 +156,12 @@ "react-dropzone": "14.2.3", "react-helmet-async": "2.0.4", "react-highlight-words": "0.20.0", - "react-router-dom": "6.22.1", + "react-router-dom": "6.22.3", "regenerator-runtime": "0.14.1", "sanitize-filename": "1.6.3", "stream-browserify": "3.0.0", "stream-http": "3.2.0", - "tmp": "0.2.1", + "tmp": "0.2.3", "tslib": "^2.6.2", "url": "0.11.3", "uuid": "9.0.1" @@ -164,4 +175,4 @@ "**/jest-util": "^29", "**/pretty-format": "^29" } -} \ No newline at end of file +} diff --git a/packages/itmat-commons/.lib.swcrc b/packages/itmat-commons/.lib.swcrc index a9390f7d7..4bc7f5daf 100644 --- a/packages/itmat-commons/.lib.swcrc +++ b/packages/itmat-commons/.lib.swcrc @@ -1,6 +1,6 @@ { "jsc": { - "target": "es2017", + "target": "ES2022", "parser": { "syntax": "typescript", "decorators": true, diff --git a/packages/itmat-commons/project.json b/packages/itmat-commons/project.json index 95aac03dc..24ba384de 100644 --- a/packages/itmat-commons/project.json +++ b/packages/itmat-commons/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-commons/src", "projectType": "library", + "tags": [], "targets": { "build": { "executor": "@nx/esbuild:esbuild", @@ -35,6 +36,5 @@ "jestConfig": "packages/itmat-commons/jest.config.ts" } } - }, - "tags": [] + } } \ No newline at end of file diff --git a/packages/itmat-docker/project.json b/packages/itmat-docker/project.json index e04dce9d9..3c9f0e892 100644 --- a/packages/itmat-docker/project.json +++ b/packages/itmat-docker/project.json @@ -3,6 +3,12 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-docker/src", "projectType": "application", + "tags": [], + "implicitDependencies": [ + "itmat-interface", + "itmat-job-executor", + "itmat-ui-react" + ], "targets": { "build": { "dependsOn": [ @@ -18,11 +24,5 @@ "cwd": "packages/itmat-docker" } } - }, - "tags": [], - "implicitDependencies": [ - "itmat-interface", - "itmat-job-executor", - "itmat-ui-react" - ] + } } \ No newline at end of file diff --git a/packages/itmat-interface/project.json b/packages/itmat-interface/project.json index cc74fe6c2..7a54aa2d9 100644 --- a/packages/itmat-interface/project.json +++ b/packages/itmat-interface/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-interface/src", "projectType": "application", + "tags": [], "targets": { "build": { "executor": "@nx/webpack:webpack", @@ -59,6 +60,5 @@ "jestConfig": "packages/itmat-interface/jest.config.ts" } } - }, - "tags": [] + } } \ No newline at end of file diff --git a/packages/itmat-job-executor/project.json b/packages/itmat-job-executor/project.json index 716e75c5c..98441e830 100644 --- a/packages/itmat-job-executor/project.json +++ b/packages/itmat-job-executor/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-job-executor/src", "projectType": "application", + "tags": [], "targets": { "build": { "executor": "@nx/webpack:webpack", @@ -59,6 +60,5 @@ "jestConfig": "packages/itmat-job-executor/jest.config.ts" } } - }, - "tags": [] + } } \ No newline at end of file diff --git a/packages/itmat-models/.lib.swcrc b/packages/itmat-models/.lib.swcrc index 5442653a0..da735222a 100644 --- a/packages/itmat-models/.lib.swcrc +++ b/packages/itmat-models/.lib.swcrc @@ -1,6 +1,6 @@ { "jsc": { - "target": "es2017", + "target": "ES2022", "parser": { "syntax": "typescript", "decorators": true, diff --git a/packages/itmat-models/project.json b/packages/itmat-models/project.json index 512b10b6e..54e4917cc 100644 --- a/packages/itmat-models/project.json +++ b/packages/itmat-models/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-models/src", "projectType": "library", + "tags": [], "targets": { "build": { "executor": "@nx/esbuild:esbuild", @@ -35,6 +36,5 @@ "jestConfig": "packages/itmat-models/jest.config.ts" } } - }, - "tags": [] + } } \ No newline at end of file diff --git a/packages/itmat-setup/project.json b/packages/itmat-setup/project.json index fd6171efa..65eb45bc5 100644 --- a/packages/itmat-setup/project.json +++ b/packages/itmat-setup/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-setup/src", "projectType": "library", + "tags": [], "targets": { "build": { "executor": "@nx/js:tsc", @@ -45,6 +46,5 @@ "command": "node dist/packages/itmat-setup/src/runSetup.js" } } - }, - "tags": [] + } } \ No newline at end of file diff --git a/packages/itmat-types/.lib.swcrc b/packages/itmat-types/.lib.swcrc index 5442653a0..da735222a 100644 --- a/packages/itmat-types/.lib.swcrc +++ b/packages/itmat-types/.lib.swcrc @@ -1,6 +1,6 @@ { "jsc": { - "target": "es2017", + "target": "ES2022", "parser": { "syntax": "typescript", "decorators": true, diff --git a/packages/itmat-types/project.json b/packages/itmat-types/project.json index 3ef1e4c08..e1c497edf 100644 --- a/packages/itmat-types/project.json +++ b/packages/itmat-types/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-types/src", "projectType": "library", + "tags": [], "targets": { "build": { "executor": "@nx/esbuild:esbuild", @@ -35,6 +36,5 @@ "jestConfig": "packages/itmat-types/jest.config.ts" } } - }, - "tags": [] + } } \ No newline at end of file diff --git a/packages/itmat-ui-react-e2e/project.json b/packages/itmat-ui-react-e2e/project.json index 09fa9f398..fd7b8a45c 100644 --- a/packages/itmat-ui-react-e2e/project.json +++ b/packages/itmat-ui-react-e2e/project.json @@ -3,6 +3,10 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-ui-react-e2e/src", "projectType": "application", + "tags": [], + "implicitDependencies": [ + "itmat-ui-react" + ], "targets": { "e2e": { "executor": "@nx/cypress:cypress", @@ -23,9 +27,5 @@ "{options.outputFile}" ] } - }, - "tags": [], - "implicitDependencies": [ - "itmat-ui-react" - ] + } } \ No newline at end of file diff --git a/packages/itmat-ui-react/project.json b/packages/itmat-ui-react/project.json index 719483b56..f8de699df 100644 --- a/packages/itmat-ui-react/project.json +++ b/packages/itmat-ui-react/project.json @@ -3,6 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/itmat-ui-react/src", "projectType": "application", + "tags": [], "targets": { "build": { "executor": "@nx/webpack:webpack", @@ -84,6 +85,5 @@ "jestConfig": "packages/itmat-ui-react/jest.config.ts" } } - }, - "tags": [] + } } \ No newline at end of file diff --git a/tsconfig.base.json b/tsconfig.base.json index 161833d3e..bf400e0a0 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,43 +1,43 @@ { - "compileOnSave": false, - "compilerOptions": { - "rootDir": ".", - "sourceMap": true, - "declaration": false, - "moduleResolution": "node", - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "importHelpers": true, - "target": "es2015", - "module": "es2022", - "lib": [ - "es2017", - "dom" - ], - "esModuleInterop": true, - "skipLibCheck": true, - "skipDefaultLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "strict": true, - "baseUrl": ".", - "paths": { - "@itmat-broker/itmat-commons": [ - "packages/itmat-commons/src/index.ts" - ], - "@itmat-broker/itmat-models": [ - "packages/itmat-models/src/index.ts" - ], - "@itmat-broker/itmat-setup": [ - "packages/itmat-setup/src/index.ts" - ], - "@itmat-broker/itmat-types": [ - "packages/itmat-types/src/index.ts" - ] - } - }, - "exclude": [ - "node_modules", - "tmp" - ] -} + "compileOnSave": false, + "compilerOptions": { + "rootDir": ".", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "lib": [ + "ES2022", + "dom" + ], + "esModuleInterop": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "strict": true, + "baseUrl": ".", + "paths": { + "@itmat-broker/itmat-commons": [ + "packages/itmat-commons/src/index.ts" + ], + "@itmat-broker/itmat-models": [ + "packages/itmat-models/src/index.ts" + ], + "@itmat-broker/itmat-setup": [ + "packages/itmat-setup/src/index.ts" + ], + "@itmat-broker/itmat-types": [ + "packages/itmat-types/src/index.ts" + ] + } + }, + "exclude": [ + "node_modules", + "tmp" + ] +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index fe486bccf..c2769aea8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,13704 +1,14116 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@adobe/css-tools@^4.0.1", "@adobe/css-tools@~4.3.1": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" - integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@ant-design/colors@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.0.tgz#eb7eecead124c3533aea05d61254f0a17f2b61b3" - integrity sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg== - dependencies: - "@ctrl/tinycolor" "^3.4.0" - -"@ant-design/colors@^7.0.2": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.2.tgz#c5c753a467ce8d86ba7ca4736d2c01f599bb5492" - integrity sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg== - dependencies: - "@ctrl/tinycolor" "^3.6.1" - -"@ant-design/cssinjs@^1.18.4": - version "1.18.4" - resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.18.4.tgz#428411628f216acb71a2423d5332f6e6af7010b5" - integrity sha512-IrUAOj5TYuMG556C9gdbFuOrigyhzhU5ZYpWb3gYTxAwymVqRbvLzFCZg6OsjLBR6GhzcxYF3AhxKmjB+rA2xA== - dependencies: - "@babel/runtime" "^7.11.1" - "@emotion/hash" "^0.8.0" - "@emotion/unitless" "^0.7.5" - classnames "^2.3.1" - csstype "^3.1.3" - rc-util "^5.35.0" - stylis "^4.0.13" - -"@ant-design/icons-svg@^4.4.0": - version "4.4.2" - resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6" - integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== - -"@ant-design/icons@5.3.0", "@ant-design/icons@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.3.0.tgz#b4b57908eb4f4c31777424f10d341f6823a77d2b" - integrity sha512-69FgBsIkeCjw72ZU3fJpqjhmLCPrzKGEllbrAZK7MUdt1BrKsyG6A8YDCBPKea27UQ0tRXi33PcjR4tp/tEXMg== - dependencies: - "@ant-design/colors" "^7.0.0" - "@ant-design/icons-svg" "^4.4.0" - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-util "^5.31.1" - -"@ant-design/plots@1.2.6": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@ant-design/plots/-/plots-1.2.6.tgz#35e541484069249989f92b7d9cdc835ea87191c5" - integrity sha512-fFzB9DxRSPQa47S3WypRk4Rh+P8vBUuY/DT+IXgUrlKJtvVZUFnuYfjypX3Q/Pie2PEbI6gmskzXLxVF+3Ztvw== - dependencies: - "@antv/g2plot" "^2.2.11" - "@antv/util" "^2.0.9" - react-content-loader "^5.0.4" - -"@ant-design/react-slick@~1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz#241bb412aeacf7ff5d50c61fa5db66773fde6b56" - integrity sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ== - dependencies: - "@babel/runtime" "^7.10.4" - classnames "^2.2.5" - json2mq "^0.2.0" - resize-observer-polyfill "^1.5.1" - throttle-debounce "^5.0.0" - -"@antv/adjust@^0.2.1": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@antv/adjust/-/adjust-0.2.5.tgz#bb37bb4a0a87ca3f4b660848bc9ac07f02bcf5db" - integrity sha512-MfWZOkD9CqXRES6MBGRNe27Q577a72EIwyMnE29wIlPliFvJfWwsrONddpGU7lilMpVKecS3WAzOoip3RfPTRQ== - dependencies: - "@antv/util" "~2.0.0" - tslib "^1.10.0" - -"@antv/attr@^0.3.1": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@antv/attr/-/attr-0.3.5.tgz#0708c74fed5ad6ee03ad1e2913099ed8248f7ebf" - integrity sha512-wuj2gUo6C8Q2ASSMrVBuTcb5LcV+Tc0Egiy6bC42D0vxcQ+ta13CLxgMmHz8mjD0FxTPJDXSciyszRSC5TdLsg== - dependencies: - "@antv/color-util" "^2.0.1" - "@antv/scale" "^0.3.0" - "@antv/util" "~2.0.0" - tslib "^2.3.1" - -"@antv/color-util@^2.0.1", "@antv/color-util@^2.0.2", "@antv/color-util@^2.0.3", "@antv/color-util@^2.0.6": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@antv/color-util/-/color-util-2.0.6.tgz#5e129bb9ce3f2b9309b52102b3dc929430ccc016" - integrity sha512-KnPEaAH+XNJMjax9U35W67nzPI+QQ2x27pYlzmSIWrbj4/k8PGrARXfzDTjwoozHJY8qG62Z+Ww6Alhu2FctXQ== - dependencies: - "@antv/util" "^2.0.9" - tslib "^2.0.3" - -"@antv/component@^0.8.27": - version "0.8.35" - resolved "https://registry.yarnpkg.com/@antv/component/-/component-0.8.35.tgz#1d5b8e11bd496cb505e646f505f5f58f0c5173e9" - integrity sha512-VnRa5X77nBPI952o2xePEEMSNZ6g2mcUDrQY8mVL2kino/8TFhqDq5fTRmDXZyWyIYd4ulJTz5zgeSwAnX/INQ== - dependencies: - "@antv/color-util" "^2.0.3" - "@antv/dom-util" "~2.0.1" - "@antv/g-base" "^0.5.9" - "@antv/matrix-util" "^3.1.0-beta.1" - "@antv/path-util" "~2.0.7" - "@antv/scale" "~0.3.1" - "@antv/util" "~2.0.0" - fecha "~4.2.0" - tslib "^2.0.3" - -"@antv/coord@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@antv/coord/-/coord-0.3.1.tgz#982e261d8a1e06a198eb518ea7acc20ed875a019" - integrity sha512-rFE94C8Xzbx4xmZnHh2AnlB3Qm1n5x0VT3OROy257IH6Rm4cuzv1+tZaUBATviwZd99S+rOY9telw/+6C9GbRw== - dependencies: - "@antv/matrix-util" "^3.1.0-beta.2" - "@antv/util" "~2.0.12" - tslib "^2.1.0" - -"@antv/dom-util@^2.0.2", "@antv/dom-util@~2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@antv/dom-util/-/dom-util-2.0.4.tgz#b09b56c56fec42896fc856edad56b595b47ab514" - integrity sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ== - dependencies: - tslib "^2.0.3" - -"@antv/event-emitter@^0.1.1", "@antv/event-emitter@^0.1.2", "@antv/event-emitter@~0.1.0": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz#3e06323b9dcd55a3241ddc7c5458cfabd2095164" - integrity sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg== - -"@antv/g-base@^0.5.11", "@antv/g-base@^0.5.12", "@antv/g-base@^0.5.9", "@antv/g-base@~0.5.6": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@antv/g-base/-/g-base-0.5.15.tgz#4d4174c956ba652a4b55c4f6a2c28aaa92e7738d" - integrity sha512-QOtq50QpnKez9J75/Z8j2yZ7QDQdk8R8mVQJiHtaEO5eI7DM4ZbrsWff/Ew26JYmPWdq7nbRuARMAD4PX9uuLA== - dependencies: - "@antv/event-emitter" "^0.1.1" - "@antv/g-math" "^0.1.9" - "@antv/matrix-util" "^3.1.0-beta.1" - "@antv/path-util" "~2.0.5" - "@antv/util" "~2.0.13" - "@types/d3-timer" "^2.0.0" - d3-ease "^1.0.5" - d3-interpolate "^3.0.1" - d3-timer "^1.0.9" - detect-browser "^5.1.0" - tslib "^2.0.3" - -"@antv/g-canvas@~0.5.10": - version "0.5.14" - resolved "https://registry.yarnpkg.com/@antv/g-canvas/-/g-canvas-0.5.14.tgz#099668cb65d9c89dc2fc1000313c18298dcf8a13" - integrity sha512-IUGLEMIMAUYgaBMT8h3FTmYQYz7sjQkKWwh6Psqx+UPK86fySa+G8fMRrh1EqAL07jVB+GRnn6Ym+3FoFUgeFg== - dependencies: - "@antv/g-base" "^0.5.12" - "@antv/g-math" "^0.1.9" - "@antv/matrix-util" "^3.1.0-beta.1" - "@antv/path-util" "~2.0.5" - "@antv/util" "~2.0.0" - gl-matrix "^3.0.0" - tslib "^2.0.3" - -"@antv/g-math@^0.1.9": - version "0.1.9" - resolved "https://registry.yarnpkg.com/@antv/g-math/-/g-math-0.1.9.tgz#1f981b9aebf5c024f284389aa3e5cba8cefa1f28" - integrity sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ== - dependencies: - "@antv/util" "~2.0.0" - gl-matrix "^3.0.0" - -"@antv/g-svg@~0.5.6": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@antv/g-svg/-/g-svg-0.5.7.tgz#d63db5f8590a5f3ceab097c183ec80ed143f0a50" - integrity sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw== - dependencies: - "@antv/g-base" "^0.5.12" - "@antv/g-math" "^0.1.9" - "@antv/util" "~2.0.0" - detect-browser "^5.0.0" - tslib "^2.0.3" - -"@antv/g2@^4.1.26": - version "4.2.10" - resolved "https://registry.yarnpkg.com/@antv/g2/-/g2-4.2.10.tgz#9448082e7610eb8d16bdf7c97c2ce4f275bafdf9" - integrity sha512-/ZlJ/DFJBCvtEQgE6roxdd6sBml0fZ8ZVfzG+HdjGpA7/ceURb8XkxUcqa0E8NV+e4sFijnaAhBCdUm2whiuyA== - dependencies: - "@antv/adjust" "^0.2.1" - "@antv/attr" "^0.3.1" - "@antv/color-util" "^2.0.2" - "@antv/component" "^0.8.27" - "@antv/coord" "^0.3.0" - "@antv/dom-util" "^2.0.2" - "@antv/event-emitter" "~0.1.0" - "@antv/g-base" "~0.5.6" - "@antv/g-canvas" "~0.5.10" - "@antv/g-svg" "~0.5.6" - "@antv/matrix-util" "^3.1.0-beta.3" - "@antv/path-util" "^2.0.15" - "@antv/scale" "^0.3.14" - "@antv/util" "~2.0.5" - tslib "^2.0.0" - -"@antv/g2plot@^2.2.11": - version "2.4.31" - resolved "https://registry.yarnpkg.com/@antv/g2plot/-/g2plot-2.4.31.tgz#b444aee07d06939949eaa8ba8f8e93f948634aa5" - integrity sha512-SlWHYVsJgRN7E1Oe5Qk6yWBrSWmctmloknFmklaqe9vEeK+YB9ZLUffZvtAHT10mA2NZ+VjGUhlnMNgR9M1PQg== - dependencies: - "@antv/color-util" "^2.0.6" - "@antv/event-emitter" "^0.1.2" - "@antv/g-base" "^0.5.11" - "@antv/g2" "^4.1.26" - "@antv/matrix-util" "^3.1.0-beta.2" - "@antv/path-util" "^3.0.1" - "@antv/scale" "^0.3.18" - "@antv/util" "^2.0.17" - d3-hierarchy "^2.0.0" - d3-regression "^1.3.5" - fmin "^0.0.2" - pdfast "^0.2.0" - size-sensor "^1.0.1" - tslib "^2.0.3" - -"@antv/matrix-util@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.0.4.tgz#ea13f158aa2fb4ba2fb8d6b6b561ec467ea3ac20" - integrity sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ== - dependencies: - "@antv/util" "^2.0.9" - gl-matrix "^3.3.0" - tslib "^2.0.3" - -"@antv/matrix-util@^3.1.0-beta.1", "@antv/matrix-util@^3.1.0-beta.2", "@antv/matrix-util@^3.1.0-beta.3": - version "3.1.0-beta.3" - resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz#e061de8fa7be04605a155c69cc5ce9082eedddee" - integrity sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A== - dependencies: - "@antv/util" "^2.0.9" - gl-matrix "^3.4.3" - tslib "^2.0.3" - -"@antv/path-util@^2.0.15", "@antv/path-util@~2.0.5", "@antv/path-util@~2.0.7": - version "2.0.15" - resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-2.0.15.tgz#a6f691dfc8b7bce5be7f0aabb5bd614964325631" - integrity sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw== - dependencies: - "@antv/matrix-util" "^3.0.4" - "@antv/util" "^2.0.9" - tslib "^2.0.3" - -"@antv/path-util@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-3.0.1.tgz#42fd84222824e8ad8d1bde70f164a05924870d4a" - integrity sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q== - dependencies: - gl-matrix "^3.1.0" - lodash-es "^4.17.21" - tslib "^2.0.3" - -"@antv/scale@^0.3.0", "@antv/scale@^0.3.14", "@antv/scale@^0.3.18", "@antv/scale@~0.3.1": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@antv/scale/-/scale-0.3.18.tgz#b911f431b3e0b9547b6a65f66d0d3fa295b5ef32" - integrity sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w== - dependencies: - "@antv/util" "~2.0.3" - fecha "~4.2.0" - tslib "^2.0.0" - -"@antv/util@^2.0.17", "@antv/util@^2.0.9", "@antv/util@~2.0.0", "@antv/util@~2.0.12", "@antv/util@~2.0.13", "@antv/util@~2.0.3", "@antv/util@~2.0.5": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@antv/util/-/util-2.0.17.tgz#e8ef42aca7892815b229269f3dd10c6b3c7597a9" - integrity sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q== - dependencies: - csstype "^3.0.8" - tslib "^2.0.3" - -"@apollo/cache-control-types@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz#5da62cf64c3b4419dabfef4536b57a40c8ff0b47" - integrity sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g== - -"@apollo/client@3.9.5": - version "3.9.5" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.9.5.tgz#502ec191756a7f44788b5f08cbe7b8de594a7656" - integrity sha512-7y+c8MTPU+hhTwvcGVtMMGIgWduzrvG1mz5yJMRyqYbheBkkky3Lki6ADWVSBXG1lZoOtPYvB2zDgVfKb2HSsw== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - "@wry/caches" "^1.0.0" - "@wry/equality" "^0.5.6" - "@wry/trie" "^0.5.0" - graphql-tag "^2.12.6" - hoist-non-react-statics "^3.3.2" - optimism "^0.18.0" - prop-types "^15.7.2" - rehackt "0.0.5" - response-iterator "^0.2.6" - symbol-observable "^4.0.0" - ts-invariant "^0.10.3" - tslib "^2.3.0" - zen-observable-ts "^1.2.5" - -"@apollo/protobufjs@1.2.7": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" - integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.0" - long "^4.0.0" - -"@apollo/server-gateway-interface@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz#a79632aa921edefcd532589943f6b97c96fa4d3c" - integrity sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ== - dependencies: - "@apollo/usage-reporting-protobuf" "^4.1.1" - "@apollo/utils.fetcher" "^2.0.0" - "@apollo/utils.keyvaluecache" "^2.1.0" - "@apollo/utils.logger" "^2.0.0" - -"@apollo/server@4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@apollo/server/-/server-4.10.0.tgz#fd3c003149b0774903c15a0cfef38e20d05aa096" - integrity sha512-pLx//lZ/pvUfWL9G8Np8+y3ujc0pYc8U7dwD6ztt9FAw8NmCPzPaDzlXLBAjGU6WnkqVBOnz8b3dOwRNjLYSUA== - dependencies: - "@apollo/cache-control-types" "^1.0.3" - "@apollo/server-gateway-interface" "^1.1.1" - "@apollo/usage-reporting-protobuf" "^4.1.1" - "@apollo/utils.createhash" "^2.0.0" - "@apollo/utils.fetcher" "^2.0.0" - "@apollo/utils.isnodelike" "^2.0.0" - "@apollo/utils.keyvaluecache" "^2.1.0" - "@apollo/utils.logger" "^2.0.0" - "@apollo/utils.usagereporting" "^2.1.0" - "@apollo/utils.withrequired" "^2.0.0" - "@graphql-tools/schema" "^9.0.0" - "@josephg/resolvable" "^1.0.0" - "@types/express" "^4.17.13" - "@types/express-serve-static-core" "^4.17.30" - "@types/node-fetch" "^2.6.1" - async-retry "^1.2.1" - cors "^2.8.5" - express "^4.17.1" - loglevel "^1.6.8" - lru-cache "^7.10.1" - negotiator "^0.6.3" - node-abort-controller "^3.1.1" - node-fetch "^2.6.7" - uuid "^9.0.0" - whatwg-mimetype "^3.0.0" - -"@apollo/usage-reporting-protobuf@^4.1.0", "@apollo/usage-reporting-protobuf@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz#407c3d18c7fbed7a264f3b9a3812620b93499de1" - integrity sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA== - dependencies: - "@apollo/protobufjs" "1.2.7" - -"@apollo/utils.createhash@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz#9d982a166833ce08265ff70f8ef781d65109bdaa" - integrity sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg== - dependencies: - "@apollo/utils.isnodelike" "^2.0.1" - sha.js "^2.4.11" - -"@apollo/utils.dropunuseddefinitions@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz#916cd912cbd88769d3b0eab2d24f4674eeda8124" - integrity sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA== - -"@apollo/utils.fetcher@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz#2f6e3edc8ce79fbe916110d9baaddad7e13d955f" - integrity sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A== - -"@apollo/utils.isnodelike@^2.0.0", "@apollo/utils.isnodelike@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz#08a7e50f08d2031122efa25af089d1c6ee609f31" - integrity sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q== - -"@apollo/utils.keyvaluecache@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz#f3f79a2f00520c6ab7a77a680a4e1fec4d19e1a6" - integrity sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw== - dependencies: - "@apollo/utils.logger" "^2.0.1" - lru-cache "^7.14.1" - -"@apollo/utils.logger@^2.0.0", "@apollo/utils.logger@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-2.0.1.tgz#74faeb97d7ad9f22282dfb465bcb2e6873b8a625" - integrity sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg== - -"@apollo/utils.printwithreducedwhitespace@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz#f4fadea0ae849af2c19c339cc5420d1ddfaa905e" - integrity sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg== - -"@apollo/utils.removealiases@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz#2873c93d72d086c60fc0d77e23d0f75e66a2598f" - integrity sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA== - -"@apollo/utils.sortast@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz#58c90bb8bd24726346b61fa51ba7fcf06e922ef7" - integrity sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw== - dependencies: - lodash.sortby "^4.7.0" - -"@apollo/utils.stripsensitiveliterals@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz#2f3350483be376a98229f90185eaf19888323132" - integrity sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA== - -"@apollo/utils.usagereporting@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz#11bca6a61fcbc6e6d812004503b38916e74313f4" - integrity sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ== - dependencies: - "@apollo/usage-reporting-protobuf" "^4.1.0" - "@apollo/utils.dropunuseddefinitions" "^2.0.1" - "@apollo/utils.printwithreducedwhitespace" "^2.0.1" - "@apollo/utils.removealiases" "2.0.1" - "@apollo/utils.sortast" "^2.0.1" - "@apollo/utils.stripsensitiveliterals" "^2.0.1" - -"@apollo/utils.withrequired@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz#e72bc512582a6f26af150439f7eb7473b46ba874" - integrity sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA== - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== - dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" - -"@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.22.6": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== - -"@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.0.tgz#f8259ae0e52a123eb40f552551e647b506a94d83" - integrity sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helpers" "^7.23.0" - "@babel/parser" "^7.23.0" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" - "@babel/types" "^7.23.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@^7.23.2", "@babel/core@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" - integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.9" - "@babel/parser" "^7.23.9" - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.23.0", "@babel/generator@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== - dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/generator@^7.7.2": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== - dependencies: - "@babel/types" "^7.23.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" - integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz#b04d915ce92ce363666f816a884cdcfc9be04953" - integrity sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.4.4": - version "0.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz#64df615451cb30e94b59a9696022cffac9a10088" - integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-define-polyfill-provider@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" - integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.23.0", "@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5", "@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.23.0", "@babel/helpers@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" - integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== - dependencies: - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== - -"@babel/parser@^7.23.0", "@babel/parser@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" - integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== - -"@babel/parser@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" - integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz#20c60d4639d18f7da8602548512e9d3a4c8d7098" - integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" - integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-proposal-decorators@^7.22.7": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.6.tgz#b34e9837c4fb0277c6d571581c76595521cf2db4" - integrity sha512-D7Ccq9LfkBFnow3azZGJvZYgcfeqAw3I1e5LoTpj6UKIFQilh8yqXsIGcRIqbBdsPWIz+Ze7ZZfggSj62Qp+Fg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/plugin-syntax-decorators" "^7.23.3" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca" - integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" - integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.3.3", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-async-generator-functions@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz#93ac8e3531f347fba519b4703f9ff2a75c6ae27a" - integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-generator-functions@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce" - integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-to-generator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-block-scoped-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" - integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-static-block@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" - integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz#e7a75f815e0c534cc4c9a39c56636c84fc0d64f2" - integrity sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.23.8": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" - -"@babel/plugin-transform-destructuring@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dotall-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dynamic-import@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" - integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-export-namespace-from@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" - integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== - dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-json-strings@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" - integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-logical-assignment-operators@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" - integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" - integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-systemjs@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" - integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" - integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-transform-numeric-separator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" - integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-object-rest-spread@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" - integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== - dependencies: - "@babel/compat-data" "^7.23.3" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.23.3" - -"@babel/plugin-transform-object-super@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - -"@babel/plugin-transform-optional-catch-binding@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" - integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-methods@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" - integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-property-in-object@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" - integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz#5efc001d07ef0f7da0d73c3a86c132f73d28e43c" - integrity sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-display-name@^7.22.5", "@babel/plugin-transform-react-display-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" - integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" - -"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" - -"@babel/plugin-transform-react-pure-annotations@^7.22.5", "@babel/plugin-transform-react-pure-annotations@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" - integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-regenerator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-runtime@^7.23.2": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz#2c64d0680fc8e09e1dfe8fd5c646fe72abd82004" - integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-spread@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-template-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typescript@^7.23.3": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" - integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.23.3" - -"@babel/plugin-transform-unicode-escapes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-property-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" - integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-sets-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" - integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/preset-env@^7.20.2": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.6.tgz#ad0ea799d5a3c07db5b9a172819bbd444092187a" - integrity sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.23.3" - "@babel/plugin-syntax-import-attributes" "^7.23.3" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.4" - "@babel/plugin-transform-async-to-generator" "^7.23.3" - "@babel/plugin-transform-block-scoped-functions" "^7.23.3" - "@babel/plugin-transform-block-scoping" "^7.23.4" - "@babel/plugin-transform-class-properties" "^7.23.3" - "@babel/plugin-transform-class-static-block" "^7.23.4" - "@babel/plugin-transform-classes" "^7.23.5" - "@babel/plugin-transform-computed-properties" "^7.23.3" - "@babel/plugin-transform-destructuring" "^7.23.3" - "@babel/plugin-transform-dotall-regex" "^7.23.3" - "@babel/plugin-transform-duplicate-keys" "^7.23.3" - "@babel/plugin-transform-dynamic-import" "^7.23.4" - "@babel/plugin-transform-exponentiation-operator" "^7.23.3" - "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.6" - "@babel/plugin-transform-function-name" "^7.23.3" - "@babel/plugin-transform-json-strings" "^7.23.4" - "@babel/plugin-transform-literals" "^7.23.3" - "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" - "@babel/plugin-transform-member-expression-literals" "^7.23.3" - "@babel/plugin-transform-modules-amd" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.3" - "@babel/plugin-transform-modules-umd" "^7.23.3" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" - "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.23.4" - "@babel/plugin-transform-object-super" "^7.23.3" - "@babel/plugin-transform-optional-catch-binding" "^7.23.4" - "@babel/plugin-transform-optional-chaining" "^7.23.4" - "@babel/plugin-transform-parameters" "^7.23.3" - "@babel/plugin-transform-private-methods" "^7.23.3" - "@babel/plugin-transform-private-property-in-object" "^7.23.4" - "@babel/plugin-transform-property-literals" "^7.23.3" - "@babel/plugin-transform-regenerator" "^7.23.3" - "@babel/plugin-transform-reserved-words" "^7.23.3" - "@babel/plugin-transform-shorthand-properties" "^7.23.3" - "@babel/plugin-transform-spread" "^7.23.3" - "@babel/plugin-transform-sticky-regex" "^7.23.3" - "@babel/plugin-transform-template-literals" "^7.23.3" - "@babel/plugin-transform-typeof-symbol" "^7.23.3" - "@babel/plugin-transform-unicode-escapes" "^7.23.3" - "@babel/plugin-transform-unicode-property-regex" "^7.23.3" - "@babel/plugin-transform-unicode-regex" "^7.23.3" - "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.6" - babel-plugin-polyfill-corejs3 "^0.8.5" - babel-plugin-polyfill-regenerator "^0.5.3" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-env@^7.23.2": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" - integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.23.3" - "@babel/plugin-syntax-import-attributes" "^7.23.3" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.9" - "@babel/plugin-transform-async-to-generator" "^7.23.3" - "@babel/plugin-transform-block-scoped-functions" "^7.23.3" - "@babel/plugin-transform-block-scoping" "^7.23.4" - "@babel/plugin-transform-class-properties" "^7.23.3" - "@babel/plugin-transform-class-static-block" "^7.23.4" - "@babel/plugin-transform-classes" "^7.23.8" - "@babel/plugin-transform-computed-properties" "^7.23.3" - "@babel/plugin-transform-destructuring" "^7.23.3" - "@babel/plugin-transform-dotall-regex" "^7.23.3" - "@babel/plugin-transform-duplicate-keys" "^7.23.3" - "@babel/plugin-transform-dynamic-import" "^7.23.4" - "@babel/plugin-transform-exponentiation-operator" "^7.23.3" - "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.6" - "@babel/plugin-transform-function-name" "^7.23.3" - "@babel/plugin-transform-json-strings" "^7.23.4" - "@babel/plugin-transform-literals" "^7.23.3" - "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" - "@babel/plugin-transform-member-expression-literals" "^7.23.3" - "@babel/plugin-transform-modules-amd" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.9" - "@babel/plugin-transform-modules-umd" "^7.23.3" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" - "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.23.4" - "@babel/plugin-transform-object-super" "^7.23.3" - "@babel/plugin-transform-optional-catch-binding" "^7.23.4" - "@babel/plugin-transform-optional-chaining" "^7.23.4" - "@babel/plugin-transform-parameters" "^7.23.3" - "@babel/plugin-transform-private-methods" "^7.23.3" - "@babel/plugin-transform-private-property-in-object" "^7.23.4" - "@babel/plugin-transform-property-literals" "^7.23.3" - "@babel/plugin-transform-regenerator" "^7.23.3" - "@babel/plugin-transform-reserved-words" "^7.23.3" - "@babel/plugin-transform-shorthand-properties" "^7.23.3" - "@babel/plugin-transform-spread" "^7.23.3" - "@babel/plugin-transform-sticky-regex" "^7.23.3" - "@babel/plugin-transform-template-literals" "^7.23.3" - "@babel/plugin-transform-typeof-symbol" "^7.23.3" - "@babel/plugin-transform-unicode-escapes" "^7.23.3" - "@babel/plugin-transform-unicode-property-regex" "^7.23.3" - "@babel/plugin-transform-unicode-regex" "^7.23.3" - "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.18.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.15.tgz#9a776892b648e13cc8ca2edf5ed1264eea6b6afc" - integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.22.5" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.22.5" - -"@babel/preset-react@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" - integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.23.3" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.23.3" - -"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d" - integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.23.6": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.3.3": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/template@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" - integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/traverse@^7.16.0": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" - integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.6" - "@babel/types" "^7.23.6" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.23.0", "@babel/traverse@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" - integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.23.4", "@babel/types@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" - integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" - integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@ctrl/tinycolor@^3.4.0", "@ctrl/tinycolor@^3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" - integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== - -"@cypress/request@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" - integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - http-signature "~1.3.6" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - performance-now "^2.1.0" - qs "6.10.4" - safe-buffer "^5.1.2" - tough-cookie "^4.1.3" - tunnel-agent "^0.6.0" - uuid "^8.3.2" - -"@cypress/xvfb@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" - integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== - dependencies: - debug "^3.1.0" - lodash.once "^4.1.1" - -"@emotion/hash@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== - -"@emotion/unitless@^0.7.5": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== - -"@esbuild/aix-ppc64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.1.tgz#eafa8775019b3650a77e8310ba4dbd17ca7af6d5" - integrity sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA== - -"@esbuild/android-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.1.tgz#68791afa389550736f682c15b963a4f37ec2f5f6" - integrity sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A== - -"@esbuild/android-arm@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.1.tgz#38c91d8ee8d5196f7fbbdf4f0061415dde3a473a" - integrity sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw== - -"@esbuild/android-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.1.tgz#93f6190ce997b313669c20edbf3645fc6c8d8f22" - integrity sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA== - -"@esbuild/darwin-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.1.tgz#0d391f2e81fda833fe609182cc2fbb65e03a3c46" - integrity sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA== - -"@esbuild/darwin-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.1.tgz#92504077424584684862f483a2242cfde4055ba2" - integrity sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA== - -"@esbuild/freebsd-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.1.tgz#a1646fa6ba87029c67ac8a102bb34384b9290774" - integrity sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw== - -"@esbuild/freebsd-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.1.tgz#41c9243ab2b3254ea7fb512f71ffdb341562e951" - integrity sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg== - -"@esbuild/linux-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.1.tgz#f3c1e1269fbc9eedd9591a5bdd32bf707a883156" - integrity sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w== - -"@esbuild/linux-arm@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.1.tgz#4503ca7001a8ee99589c072801ce9d7540717a21" - integrity sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw== - -"@esbuild/linux-ia32@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.1.tgz#98c474e3e0cbb5bcbdd8561a6e65d18f5767ce48" - integrity sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw== - -"@esbuild/linux-loong64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.1.tgz#a8097d28d14b9165c725fe58fc438f80decd2f33" - integrity sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA== - -"@esbuild/linux-mips64el@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.1.tgz#c44f6f0d7d017c41ad3bb15bfdb69b690656b5ea" - integrity sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA== - -"@esbuild/linux-ppc64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.1.tgz#0765a55389a99237b3c84227948c6e47eba96f0d" - integrity sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw== - -"@esbuild/linux-riscv64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.1.tgz#e4153b032288e3095ddf4c8be07893781b309a7e" - integrity sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg== - -"@esbuild/linux-s390x@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.1.tgz#b9ab8af6e4b73b26d63c1c426d7669a5d53eb5a7" - integrity sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ== - -"@esbuild/linux-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.1.tgz#0b25da17ac38c3e11cdd06ca3691d4d6bef2755f" - integrity sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA== - -"@esbuild/netbsd-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.1.tgz#3148e48406cd0d4f7ba1e0bf3f4d77d548c98407" - integrity sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg== - -"@esbuild/openbsd-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.1.tgz#7b73e852986a9750192626d377ac96ac2b749b76" - integrity sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw== - -"@esbuild/sunos-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.1.tgz#402a441cdac2eee98d8be378c7bc23e00c1861c5" - integrity sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q== - -"@esbuild/win32-arm64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.1.tgz#36c4e311085806a6a0c5fc54d1ac4d7b27e94d7b" - integrity sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A== - -"@esbuild/win32-ia32@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.1.tgz#0cf933be3fb9dc58b45d149559fe03e9e22b54fe" - integrity sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw== - -"@esbuild/win32-x64@0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.1.tgz#77583b6ea54cee7c1410ebbd54051b6a3fcbd8ba" - integrity sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.56.0": - version "8.56.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" - integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== - -"@graphql-tools/merge@^8.4.1": - version "8.4.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.2.tgz#95778bbe26b635e8d2f60ce9856b388f11fe8288" - integrity sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw== - dependencies: - "@graphql-tools/utils" "^9.2.1" - tslib "^2.4.0" - -"@graphql-tools/schema@^9.0.0": - version "9.0.19" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.19.tgz#c4ad373b5e1b8a0cf365163435b7d236ebdd06e7" - integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== - dependencies: - "@graphql-tools/merge" "^8.4.1" - "@graphql-tools/utils" "^9.2.1" - tslib "^2.4.0" - value-or-promise "^1.0.12" - -"@graphql-tools/utils@^9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" - integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - tslib "^2.4.0" - -"@graphql-typed-document-node/core@^3.1.1": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" - integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== - -"@humanwhocodes/config-array@^0.11.13": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== - -"@ideafast/idgen@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@ideafast/idgen/-/idgen-0.1.1.tgz#966ad2d74238a77881cfa427a8c3e9225ee0c24f" - integrity sha512-1kaaUD9LXRYnUqK2yJnwMXon2F3vqKzViAbEZQTeYAghLB60EEIbC4JXoi+KbKKxYNHNB03MGWUR5y3Ec+yEgA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/create-cache-key-function@^29", "@jest/create-cache-key-function@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" - integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== - dependencies: - "@jest/types" "^29.6.3" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29", "@jest/reporters@^29.4.1", "@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29", "@jest/test-result@^29.4.1", "@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@josephg/resolvable@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" - integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.20" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" - integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@jridgewell/trace-mapping@^0.3.20": - version "0.3.22" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" - integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== - -"@ljharb/resumer@~0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@ljharb/resumer/-/resumer-0.0.1.tgz#8a940a9192dd31f6a1df17564bbd26dc6ad3e68d" - integrity sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw== - dependencies: - "@ljharb/through" "^2.3.9" - -"@ljharb/through@^2.3.9", "@ljharb/through@~2.3.9": - version "2.3.11" - resolved "https://registry.yarnpkg.com/@ljharb/through/-/through-2.3.11.tgz#783600ff12c06f21a76cc26e33abd0b1595092f9" - integrity sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w== - dependencies: - call-bind "^1.0.2" - -"@mapbox/node-pre-gyp@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" - integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== - dependencies: - detect-libc "^2.0.0" - https-proxy-agent "^5.0.0" - make-dir "^3.1.0" - node-fetch "^2.6.7" - nopt "^5.0.0" - npmlog "^5.0.1" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.11" - -"@mole-inc/bin-wrapper@^8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz#d7fd0ceb1cfa8a855293a3ed9d7d135f4d442f0e" - integrity sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA== - dependencies: - bin-check "^4.1.0" - bin-version-check "^5.0.0" - content-disposition "^0.5.4" - ext-name "^5.0.0" - file-type "^17.1.6" - filenamify "^5.0.2" - got "^11.8.5" - os-filter-obj "^2.0.0" - -"@mongodb-js/saslprep@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@mongodb-js/saslprep/-/saslprep-1.1.1.tgz#9a6c2516bc9188672c4d953ec99760ba49970da7" - integrity sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ== - dependencies: - sparse-bitfield "^3.0.3" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nrwl/cypress@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-18.0.4.tgz#a70aacee9dffe14637840016c3a136e6abe43f05" - integrity sha512-X7ZORP9Xt3lB+7goAb5JcBfVl6FQx8BPNv6TFi9ZiKayUqovgCMPOlmL2BDizsladv+7iacnTZTdo2X/4aunJA== - dependencies: - "@nx/cypress" "18.0.4" - -"@nrwl/devkit@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-18.0.4.tgz#5135f2f27218ca34d7b93f95f9967f75320ce75a" - integrity sha512-fKHnjg4/9MdFd2U4e8p6ja9fRa864DCyF70kB4YUB9NuUIgWLQ15Uj6wXC3xjdXmxQRyHDa7ORodVoFzdo4UCg== - dependencies: - "@nx/devkit" "18.0.4" - -"@nrwl/esbuild@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-18.0.4.tgz#18981fa4e584aa384af9fef042679da9dad3d00b" - integrity sha512-GOQQtyyVv02KyssXjceqQGNI9d0ZeGgJnr/MBMKKx0TGy8M8zVO2rKO7I8/o6mgx/GIGwsPrTPSoFr/zCizooA== - dependencies: - "@nx/esbuild" "18.0.4" - -"@nrwl/eslint-plugin-nx@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.0.4.tgz#b9cef2b6f0075a17e93f11f99301b0c44f3e06d3" - integrity sha512-j+5d7+ANY4E7Xn0CUXi+U8DRtv1WKYfI5dxL8JF5EPAfRl7xcX9VVPA9/R5dc/PHXIPeJMIg2CEH1TetH7O6Vw== - dependencies: - "@nx/eslint-plugin" "18.0.4" - -"@nrwl/express@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-18.0.4.tgz#ab5b2e16cd4766371250e0a5c3c143c62b368789" - integrity sha512-MPhhI+TQ3pr7/LtR4j+sXpw5gfB1Ou0Hevz2m76pYLjfZDp5QkhUYZGhytiUnXnzgQRj757KuAbM+aU+/sPHpg== - dependencies: - "@nx/express" "18.0.4" - -"@nrwl/jest@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-18.0.4.tgz#7d139d92ff98767ee3556e586d6ebc5ee18d0f4b" - integrity sha512-oe4qfnXc1WUPPmd9ua4mtgiqwXY+2XPz6zSkWghrrvc5wXu15tPvrBxHeU+KEXWu+rVy3iGLU2s5AivdXxEbIA== - dependencies: - "@nx/jest" "18.0.4" - -"@nrwl/js@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-18.0.4.tgz#0bb7fa6198037921072f8bc2285f4b6bb25fbb9d" - integrity sha512-7aY6vjHHD99MMF+WtHSdmA7sxLmMNhbd12CQ6lXmSK41Yj82mBgQMwV/Ed+UT10XEh5uMes/iODL460SzwPMZA== - dependencies: - "@nx/js" "18.0.4" - -"@nrwl/node@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-18.0.4.tgz#c792107bbd0833dc894c52759ab5efaadfbb0377" - integrity sha512-e7kpWUazYmiiFUTdzvOUeSMukolS0TEgfEqFdPjb+L3QaN58KdrsBAiMlY1GVX2VR019nJKBJXGXn6LOYfDxUg== - dependencies: - "@nx/node" "18.0.4" - -"@nrwl/react@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-18.0.4.tgz#a578a396af20bd893c9c9c2ed8e459687044f387" - integrity sha512-2hx7DpKFp+ao8l8H9aOC/ZlVC0/b3w+xCx3u0pN4LatkFvSvTiy7zV0kL9oi+FZM48Gxnm4nQf8qP4q8bT2G8g== - dependencies: - "@nx/react" "18.0.4" - -"@nrwl/tao@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-18.0.4.tgz#a74933a4c7d1b7c6467a526e9ac524f3b8edd212" - integrity sha512-/PzGOJevlDQnp5RPXF3WDe+w1cdohGkY+mbJUgDVA4Q5JEPT1DtE10h9GgdHdzkPjVPNYsaI4Vs/53NUdlVHHA== - dependencies: - nx "18.0.4" - tslib "^2.3.0" - -"@nrwl/web@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-18.0.4.tgz#75158c7c7acfe75d4dd47f6097e8df78fb3373d9" - integrity sha512-NJSWj4pH/CWCFj3liOg3ExskfWqynjpGNsPS7zmkM6isbFHRXx7+s+eAVIQJtk5AttKOGeCUkUAaA91SaaTxKg== - dependencies: - "@nx/web" "18.0.4" - -"@nrwl/webpack@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-18.0.4.tgz#efedbd097eebc27847006175585a0b9c3f40e8bc" - integrity sha512-5GP8leMQHjyvEEflkuOGIDZhZ3kteYME0sKSAmpdD7jMnR9D1OLpRbq0V2WbyhMCCCuC6ae0ihzGZy8n8VhmuQ== - dependencies: - "@nx/webpack" "18.0.4" - -"@nrwl/workspace@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-18.0.4.tgz#f1772cee1d3310b25a91d17bf303cc1e255f3e82" - integrity sha512-UFD96NeEeHLKADLBDfF2U5rFOhyMjCwYzpA+D3Yp3X25aB7D89Kan4spq9ZC/Zxethz3911nNaYy+I+L5WlDoA== - dependencies: - "@nx/workspace" "18.0.4" - -"@nx/cypress@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-18.0.4.tgz#7ab91a192bcd09b674a491e4c798dcef29e2b866" - integrity sha512-G/t83/SSYNIor8aGE+u9nNbCrqcsbG4EnhESP0eXwk5k6ycW6eVGMuSlLkRe7debosL/RhGLwcw491alQug7PQ== - dependencies: - "@nrwl/cypress" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/eslint" "18.0.4" - "@nx/js" "18.0.4" - "@phenomnomnominal/tsquery" "~5.0.1" - detect-port "^1.5.1" - semver "^7.5.3" - tslib "^2.3.0" - -"@nx/devkit@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-18.0.4.tgz#fec28139ef5d078933c5f1b5a7e0a585672dbdd6" - integrity sha512-Vs1AXgOjMJyaWpKopD04dy0FwQ22n5ZR1bFf98Ab4Ht0WJwJE90IpUVAkwI03n5BYxAKOlQnFltsB4gu6Y8mZQ== - dependencies: - "@nrwl/devkit" "18.0.4" - ejs "^3.1.7" - enquirer "~2.3.6" - ignore "^5.0.4" - semver "^7.5.3" - tmp "~0.2.1" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@nx/esbuild@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-18.0.4.tgz#e0e8a3d9d1eb5bd2d5c71645284f72a33971986b" - integrity sha512-TdjzTK+ml/bc1hnAnYaEiyD2sRNeOxUtsx/t/7Xmvb3SNM2OPi1eeqJNh97UFFfhauvE36NMzExn9+MpPW43OQ== - dependencies: - "@nrwl/esbuild" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/js" "18.0.4" - chalk "^4.1.0" - fast-glob "3.2.7" - fs-extra "^11.1.0" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - -"@nx/eslint-plugin@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-18.0.4.tgz#5c74debdde3966201daa8314d72265c759ed4eed" - integrity sha512-9QdhPO7r8tv6edInHzLSvimOxshZ5swkooqf/K/83RJ+2KfN/GLEIbLWx59xcqyYxc0D0W7y2XbhjL4XZJZPbw== - dependencies: - "@nrwl/eslint-plugin-nx" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/js" "18.0.4" - "@typescript-eslint/type-utils" "^6.13.2" - "@typescript-eslint/utils" "^6.13.2" - chalk "^4.1.0" - confusing-browser-globals "^1.0.9" - jsonc-eslint-parser "^2.1.0" - semver "^7.5.3" - tslib "^2.3.0" - -"@nx/eslint@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-18.0.4.tgz#5078d8f1d5ec25726709dd4478da275c9accab54" - integrity sha512-6mjtPjXkS0aUWfF17D+PZI+Hhn+Cvm2yWTiDoVANsqt9rTOmlCa4fr01OcSyuaWFtkUlbKiKdQ1YYFyLD8zm7A== - dependencies: - "@nx/devkit" "18.0.4" - "@nx/js" "18.0.4" - "@nx/linter" "18.0.4" - eslint "^8.0.0" - tslib "^2.3.0" - typescript "~5.3.2" - -"@nx/express@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/express/-/express-18.0.4.tgz#4cd3b3308fa21fc9a1501781576b218d2e5cbf13" - integrity sha512-Unvx65iBx98icZfYji8V7oL+kxTRW6JVysh67etLy/HPlGGYUWjFyDRFy4o+Voj+JlJ62ZDZX6qvLvvMwVTSUg== - dependencies: - "@nrwl/express" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/node" "18.0.4" - tslib "^2.3.0" - -"@nx/jest@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-18.0.4.tgz#cb294c6a3c17eea63ab828185fd926c5b6390b19" - integrity sha512-A114oLtWCK99CaY/hUR00/1RISf77jqEgduDFsiaoe8fpr74HN3E8Z/NWW6gG9rkB8ymnvJMJGfbrN+2/Vv75Q== - dependencies: - "@jest/reporters" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@nrwl/jest" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/js" "18.0.4" - "@phenomnomnominal/tsquery" "~5.0.1" - chalk "^4.1.0" - identity-obj-proxy "3.0.0" - jest-config "^29.4.1" - jest-resolve "^29.4.1" - jest-util "^29.4.1" - minimatch "9.0.3" - resolve.exports "1.1.0" - tslib "^2.3.0" - -"@nx/js@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-18.0.4.tgz#7df0f30f858c1c9af2326aaeb1f67b8eb54369c5" - integrity sha512-ma8QMTHZm0LzGYZ1xdVfSUONKb1S5qbiI1DHxhztrsSo3jARZfSAMKM3Bm7ag9MBitpDsoUlgy7JCPmGCAcxAw== - dependencies: - "@babel/core" "^7.23.2" - "@babel/plugin-proposal-decorators" "^7.22.7" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-runtime" "^7.23.2" - "@babel/preset-env" "^7.23.2" - "@babel/preset-typescript" "^7.22.5" - "@babel/runtime" "^7.22.6" - "@nrwl/js" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/workspace" "18.0.4" - "@phenomnomnominal/tsquery" "~5.0.1" - babel-plugin-const-enum "^1.0.1" - babel-plugin-macros "^2.8.0" - babel-plugin-transform-typescript-metadata "^0.3.1" - chalk "^4.1.0" - columnify "^1.6.0" - detect-port "^1.5.1" - fast-glob "3.2.7" - fs-extra "^11.1.0" - ignore "^5.0.4" - js-tokens "^4.0.0" - minimatch "9.0.3" - npm-package-arg "11.0.1" - npm-run-path "^4.0.1" - ora "5.3.0" - semver "^7.5.3" - source-map-support "0.5.19" - ts-node "10.9.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - -"@nx/linter@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-18.0.4.tgz#1526321b553ee175357025ccda836788c6411488" - integrity sha512-yCg7H63eWkjReQUagAFAoICD53ByYZDyRqlkarZe9AGRWJM4GYKhJntihsk1mUOO7Sz0a907BMaWk8Wn5HbHEA== - dependencies: - "@nx/eslint" "18.0.4" - -"@nx/node@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/node/-/node-18.0.4.tgz#00d5890cba68df2f7f317e1ecbc909821f4e9ae7" - integrity sha512-syjRRex+QuNTnDkIBG4z4Osu7vC5eYeb/nBZX6zmo/4H8y//tbBEjYRV2Yw4wpQp/gCA6fc+WFB9JkdfrMOwrA== - dependencies: - "@nrwl/node" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/eslint" "18.0.4" - "@nx/jest" "18.0.4" - "@nx/js" "18.0.4" - tslib "^2.3.0" - -"@nx/nx-darwin-arm64@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.0.4.tgz#c199b44ee21699acb14f6ecbada56ed19af936a3" - integrity sha512-9KJVONxUwdnFHHRNocsg7q5pliOTTfbjlr3rvhLuroV5HeTJFhUipKCQrVEhLy8e4auRdLuSz/HsgpJat3Z2cg== - -"@nx/nx-darwin-x64@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-18.0.4.tgz#859896881930d346afd6397b593f8d436722b80d" - integrity sha512-rFKHjeU0Ngz1R7UJAsbncpqwuFDjUdpcvI783r6s2eP7JoiiwtDBXvDcHiy8Odk0lPYmwDELaFZBhvdENqaDNA== - -"@nx/nx-freebsd-x64@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.0.4.tgz#2f295ff841e38f720aa9761e2c9eda90e372b380" - integrity sha512-jJx47wgRoUxVpQ+WG5+yLdxtJVuVgjphiTMRc0LOfUwKQaEHWyCA0hMK5fNmo0FAHIhGVCb/j2j9FxnCWTWpkg== - -"@nx/nx-linux-arm-gnueabihf@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.0.4.tgz#7ceb5531887996f4cf5e9ebda8dab34421d3a061" - integrity sha512-C3qWbFhEMIdTzvAHlIUHecZN3YBu7bx3S0p3gPNGmEMUMbYHP2zMlimBrZIbAxzntyGqWCqhXiFB21QhJ0t1Dw== - -"@nx/nx-linux-arm64-gnu@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.0.4.tgz#cfda70cedab2f3a7c5a9bb11ad4be180993b68c8" - integrity sha512-PxVMh9ikp8Q3hKagb66FAsek8O/08GcMF5dXBH7xc5AiQMaZ6Az/gAXOeHp274nmu3StQEpl9Il/YH6Z9f4V0w== - -"@nx/nx-linux-arm64-musl@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.0.4.tgz#1ce43e4803d3d5b3aeefa43ec54df7501b04a0b7" - integrity sha512-Iz7Z4h2/dXJJvBcyeRHa+d3Ncc4Qz+OiGm6iRDXv4zjFm5EyC1tkSZIFNlNiRjmTToNHFr4savrCjCh8wRYejw== - -"@nx/nx-linux-x64-gnu@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.0.4.tgz#0981787e067d6dd7e3f4f457eb3e24c9b12dccaa" - integrity sha512-BVLkegIwxHnEB64VBraBxyC01D3C3dVNxq2b4iNaqr4mpWNmos+G/mvcTU3NS7W8ZjpBjlXgdEkpgkl2hMKTEA== - -"@nx/nx-linux-x64-musl@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.0.4.tgz#d2857870922ee76ed9f50763ec8bd3c6244c998a" - integrity sha512-WgVy41psjCE9uxjFi4P62UrWyKQ1e2IN2FZaIuwXEB9h8OU/+g9PFpL1Cs1llNoEKnapKXX4+9b5FHF9i7EKQw== - -"@nx/nx-win32-arm64-msvc@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.0.4.tgz#92c76b7b0e1616c273a231afc0f23f1a5e68f655" - integrity sha512-YoxhOrVKnS+kcNTnCg9M61cbigzGErYgnlI8kdZzH2ArD7mhv8bfZnSZUInf5Y8oDBVpKusel7AkCSofzSwigA== - -"@nx/nx-win32-x64-msvc@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.0.4.tgz#c57cbb5e42b10322cb966270a32a2f7869634186" - integrity sha512-FdAdl5buvtUXp8hZVRkK0AZeiCu35l0u+yHsulNViYdh3OXRT1hYJ0CeqpxlLfvbHqB9JzDPtJtG0dpKHH/O0Q== - -"@nx/react@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/react/-/react-18.0.4.tgz#438ff005467ecb311a1231f84ab78db4c40ef37c" - integrity sha512-a67oULoXM0wWpTt4Tf3oJZY4CU1N2AEz5LVHE8LaKXwBi8gzbCSxVAVyeON3Jv1hNR6tmRdWFq7HuKnmKSR5rw== - dependencies: - "@nrwl/react" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/eslint" "18.0.4" - "@nx/js" "18.0.4" - "@nx/web" "18.0.4" - "@phenomnomnominal/tsquery" "~5.0.1" - "@svgr/webpack" "^8.0.1" - chalk "^4.1.0" - minimatch "9.0.3" - tslib "^2.3.0" - -"@nx/web@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/web/-/web-18.0.4.tgz#cea98618d4e5832e67c8d3aac09715f6e62d3702" - integrity sha512-lcZjFEUjFly/+C4dFMLNEk9mnlolKGPrd4Z5tly0iEZCJ1tSuOYfxPraZZJFeYO88Eh10lW28aGdiHote/PLXQ== - dependencies: - "@nrwl/web" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/js" "18.0.4" - chalk "^4.1.0" - detect-port "^1.5.1" - http-server "^14.1.0" - tslib "^2.3.0" - -"@nx/webpack@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-18.0.4.tgz#9f0985c4e55736a26aeb26e1cc5bbfc1b4887be2" - integrity sha512-ugac88EiCDtt/WVeuR596FJanN6J4Y8EPNxO/4+Odh6+yumgQdi0Bg6OLsvmZn6M+v+Qwaqyjo5RIFMk/3pDLQ== - dependencies: - "@babel/core" "^7.23.2" - "@nrwl/webpack" "18.0.4" - "@nx/devkit" "18.0.4" - "@nx/js" "18.0.4" - ajv "^8.12.0" - autoprefixer "^10.4.9" - babel-loader "^9.1.2" - browserslist "^4.21.4" - chalk "^4.1.0" - copy-webpack-plugin "^10.2.4" - css-loader "^6.4.0" - css-minimizer-webpack-plugin "^5.0.0" - fork-ts-checker-webpack-plugin "7.2.13" - less "4.1.3" - less-loader "11.1.0" - license-webpack-plugin "^4.0.2" - loader-utils "^2.0.3" - mini-css-extract-plugin "~2.4.7" - parse5 "4.0.0" - postcss "^8.4.14" - postcss-import "~14.1.0" - postcss-loader "^6.1.1" - rxjs "^7.8.0" - sass "^1.42.1" - sass-loader "^12.2.0" - source-map-loader "^3.0.0" - style-loader "^3.3.0" - stylus "^0.59.0" - stylus-loader "^7.1.0" - terser-webpack-plugin "^5.3.3" - ts-loader "^9.3.1" - tsconfig-paths-webpack-plugin "4.0.0" - tslib "^2.3.0" - webpack "^5.80.0" - webpack-dev-server "^4.9.3" - webpack-node-externals "^3.0.0" - webpack-subresource-integrity "^5.1.0" - -"@nx/workspace@18.0.4": - version "18.0.4" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-18.0.4.tgz#e7b0b598ce7e60ee125b584135d6b76c8f99616a" - integrity sha512-0w7czYCU6+QczvdRN8HnKRU24xnam5Gf12mfw+uuU6ybslOQuRoKW+oUROwyck5P4I27XzgxcqnMTCxNDcQGWQ== - dependencies: - "@nrwl/workspace" "18.0.4" - "@nx/devkit" "18.0.4" - chalk "^4.1.0" - enquirer "~2.3.6" - nx "18.0.4" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@phenomnomnominal/tsquery@~5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz#a2a5abc89f92c01562a32806655817516653a388" - integrity sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA== - dependencies: - esquery "^1.4.0" - -"@pmmmwh/react-refresh-webpack-plugin@^0.5.11": - version "0.5.11" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a" - integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== - dependencies: - ansi-html-community "^0.0.8" - common-path-prefix "^3.0.0" - core-js-pure "^3.23.3" - error-stack-parser "^2.0.6" - find-up "^5.0.0" - html-entities "^2.1.0" - loader-utils "^2.0.4" - schema-utils "^3.0.0" - source-map "^0.7.3" - -"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== - -"@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== - -"@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== - -"@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== - -"@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== - dependencies: - "@protobufjs/aspromise" "^1.1.1" - "@protobufjs/inquire" "^1.1.0" - -"@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== - -"@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== - -"@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== - -"@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== - -"@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== - -"@rc-component/color-picker@~1.5.1": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.5.2.tgz#3c687112f540925abd013833a81705393dac4bfb" - integrity sha512-YJXujYzYFAEtlXJXy0yJUhwzUWPTcniBZto+wZ/vnACmFnUTNR7dH+NOeqSwMMsssh74e9H5Jfpr5LAH2PYqUw== - dependencies: - "@babel/runtime" "^7.23.6" - "@ctrl/tinycolor" "^3.6.1" - classnames "^2.2.6" - rc-util "^5.38.1" - -"@rc-component/context@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@rc-component/context/-/context-1.4.0.tgz#dc6fb021d6773546af8f016ae4ce9aea088395e8" - integrity sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w== - dependencies: - "@babel/runtime" "^7.10.1" - rc-util "^5.27.0" - -"@rc-component/mini-decimal@^1.0.1": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz#7b7a362b14a0a54cb5bc6fd2b82731f29f11d9b0" - integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ== - dependencies: - "@babel/runtime" "^7.18.0" - -"@rc-component/mutate-observer@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz#ee53cc88b78aade3cd0653609215a44779386fd8" - integrity sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0", "@rc-component/portal@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" - integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/tour@~1.12.3": - version "1.12.3" - resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.12.3.tgz#ede2ad9272126a2ea1429a6655ed09f4d065fbc9" - integrity sha512-U4mf1FiUxGCwrX4ed8op77Y8VKur+8Y/61ylxtqGbcSoh1EBC7bWd/DkLu0ClTUrKZInqEi1FL7YgFtnT90vHA== - dependencies: - "@babel/runtime" "^7.18.0" - "@rc-component/portal" "^1.0.0-9" - "@rc-component/trigger" "^1.3.6" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/trigger@^1.17.0", "@rc-component/trigger@^1.18.0": - version "1.18.2" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.2.tgz#dc52c4c66fa8aaccaf0710498f2429fc05454e3b" - integrity sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA== - dependencies: - "@babel/runtime" "^7.23.2" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.38.0" - -"@rc-component/trigger@^1.18.3": - version "1.18.3" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.18.3.tgz#b323b9e33f2700ca8d24a96f21401ab7b0eafdcd" - integrity sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA== - dependencies: - "@babel/runtime" "^7.23.2" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.38.0" - -"@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0": - version "1.17.0" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.17.0.tgz#4d9522ae3ceb482dc4c35cbb1f84021bd94d7414" - integrity sha512-KN+lKHCi7L4kjuA9DU2PnwZxtIyes6R1wsexp0/Rnjr/ITELsPuC9kpzDK1+7AZMarDXUAHUdDGS2zUNEx2P0g== - dependencies: - "@babel/runtime" "^7.18.3" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-align "^4.0.0" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.33.0" - -"@remix-run/router@1.15.1": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.1.tgz#221fd31a65186b9bc027b74573485fb3226dff7f" - integrity sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/is@^4.0.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@sinonjs/commons@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" - integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - -"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== - -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== - -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== - -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== - -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== - -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" - -"@svgr/core@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" - integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - camelcase "^6.2.0" - cosmiconfig "^8.1.3" - snake-case "^3.0.4" - -"@svgr/hast-util-to-babel-ast@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" - integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== - dependencies: - "@babel/types" "^7.21.3" - entities "^4.4.0" - -"@svgr/plugin-jsx@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" - integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - "@svgr/hast-util-to-babel-ast" "8.0.0" - svg-parser "^2.0.4" - -"@svgr/plugin-svgo@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" - integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== - dependencies: - cosmiconfig "^8.1.3" - deepmerge "^4.3.1" - svgo "^3.0.2" - -"@svgr/webpack@8.1.0", "@svgr/webpack@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" - integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== - dependencies: - "@babel/core" "^7.21.3" - "@babel/plugin-transform-react-constant-elements" "^7.21.3" - "@babel/preset-env" "^7.20.2" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.21.0" - "@svgr/core" "8.1.0" - "@svgr/plugin-jsx" "8.1.0" - "@svgr/plugin-svgo" "8.1.0" - -"@swc/cli@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.3.9.tgz#f9b331e9ec8f1f2154b1a77a8617c6dfbfc44fec" - integrity sha512-e5grxGEyNT0fYZEFmhSrRYL1kFAZAXlv+WjfQ35J6J9Hl0EtrMVymAEbGabetg2Q/2FX6HiRcjgc9LrdUCBk4A== - dependencies: - "@mole-inc/bin-wrapper" "^8.0.1" - "@swc/counter" "^0.1.3" - commander "^7.1.0" - fast-glob "^3.2.5" - minimatch "^9.0.3" - piscina "^4.3.0" - semver "^7.3.8" - slash "3.0.0" - source-map "^0.7.3" - -"@swc/core-darwin-arm64@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.2.tgz#3b5677c5b9c5a7a91d953b96cd603c94064e2835" - integrity sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw== - -"@swc/core-darwin-x64@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.2.tgz#bbc8bbf420389b12541151255a50f319cc17ef96" - integrity sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ== - -"@swc/core-linux-arm-gnueabihf@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.2.tgz#aa9a18f130820717df08c9dd882043fc47e8d35a" - integrity sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ== - -"@swc/core-linux-arm64-gnu@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.2.tgz#5ef1de0ca7cc3a034aa3a1c3c1794b78e6ca207e" - integrity sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA== - -"@swc/core-linux-arm64-musl@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.2.tgz#5dfd2a8c0483770a307de0ccb6019a082ff0d902" - integrity sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw== - -"@swc/core-linux-x64-gnu@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.2.tgz#314aa76b7c1208e315e3156ab57b7188fb605bc2" - integrity sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg== - -"@swc/core-linux-x64-musl@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.2.tgz#b2b226657f6a8d48f561cb3dbe2d414cfbafe467" - integrity sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ== - -"@swc/core-win32-arm64-msvc@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.2.tgz#582f79fa328ce0f426ab8313b3d881e7315fab2f" - integrity sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ== - -"@swc/core-win32-ia32-msvc@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.2.tgz#15c8289e1c18857f79b9b888100ab1f871bf58f6" - integrity sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA== - -"@swc/core-win32-x64-msvc@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.2.tgz#c999ca7b68124d058b40a1431cdd6f56779670d5" - integrity sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw== - -"@swc/core@1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.2.tgz#310b0d5e93e47ca72f54150c8f9efcb434c39b17" - integrity sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg== - dependencies: - "@swc/counter" "^0.1.2" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.4.2" - "@swc/core-darwin-x64" "1.4.2" - "@swc/core-linux-arm-gnueabihf" "1.4.2" - "@swc/core-linux-arm64-gnu" "1.4.2" - "@swc/core-linux-arm64-musl" "1.4.2" - "@swc/core-linux-x64-gnu" "1.4.2" - "@swc/core-linux-x64-musl" "1.4.2" - "@swc/core-win32-arm64-msvc" "1.4.2" - "@swc/core-win32-ia32-msvc" "1.4.2" - "@swc/core-win32-x64-msvc" "1.4.2" - -"@swc/counter@^0.1.2", "@swc/counter@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" - integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== - -"@swc/helpers@0.5.6": - version "0.5.6" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.6.tgz#d16d8566b7aea2bef90d059757e2d77f48224160" - integrity sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA== - dependencies: - tslib "^2.4.0" - -"@swc/jest@0.2.36": - version "0.2.36" - resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.36.tgz#2797450a30d28b471997a17e901ccad946fe693e" - integrity sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw== - dependencies: - "@jest/create-cache-key-function" "^29.7.0" - "@swc/counter" "^0.1.3" - jsonc-parser "^3.2.0" - -"@swc/types@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" - integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@testing-library/dom@^9.0.0": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.3.tgz#108c23a5b0ef51121c26ae92eb3179416b0434f5" - integrity sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.1.3" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/react@14.2.1": - version "14.2.1" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.2.1.tgz#bf69aa3f71c36133349976a4a2da3687561d8310" - integrity sha512-sGdjws32ai5TLerhvzThYFbpnF9XtL65Cjf+gB0Dhr29BGqK+mAeN7SURSdu+eqgET4ANcWoC7FQpkaiGvBr+A== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^9.0.0" - "@types/react-dom" "^18.0.0" - -"@tokenizer/token@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" - integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/aria-query@^5.0.1": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" - integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.4" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b" - integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA== - dependencies: - "@babel/types" "^7.20.7" - -"@types/bcrypt@5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/bcrypt/-/bcrypt-5.0.2.tgz#22fddc11945ea4fbc3655b3e8b8847cc9f811477" - integrity sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ== - dependencies: - "@types/node" "*" - -"@types/body-parser@*": - version "1.19.5" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" - integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== - dependencies: - "@types/node" "*" - -"@types/cacheable-request@^6.0.1": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" - integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" - integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect-timeout@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/connect-timeout/-/connect-timeout-0.0.39.tgz#8b6800599808688ae74d1352e702a24d2cca4ee1" - integrity sha512-PHUX9yixjm4qjQ27Uz+F5cyG9Fio9iY7e6eWHvNT0wbA8eu9JaDqxRRiXn5uYnd09zx1fM+wEHnuBHMm9gwOuQ== - dependencies: - "@types/express" "*" - -"@types/connect@*": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/cookiejar@^2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.5.tgz#14a3e83fa641beb169a2dd8422d91c3c345a9a78" - integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== - -"@types/cors@2.8.17": - version "2.8.17" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" - integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== - dependencies: - "@types/node" "*" - -"@types/d3-timer@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-2.0.3.tgz#d74350a9eb5991f054b2cf8e92efaf22be3e1a25" - integrity sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg== - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.56.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.0.tgz#e28d045b8e530a33c9cbcfbf02332df0d1380a2c" - integrity sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.30", "@types/express-serve-static-core@^4.17.33": - version "4.17.41" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz#5077defa630c2e8d28aa9ffc2c01c157c305bef6" - integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express-session@1.17.10": - version "1.17.10" - resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.17.10.tgz#3a9394f1f314a4c657af3fb1cdb52f00fc207fd2" - integrity sha512-U32bC/s0ejXijw5MAzyaV4tuZopCh/K7fPoUDyNbsRXHvPSeymygYD1RFL99YOLhF5PNOkzswvOTRaVHdL1zMw== - dependencies: - "@types/express" "*" - -"@types/express@*", "@types/express@^4.17.13": - version "4.17.18" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.18.tgz#efabf5c4495c1880df1bdffee604b143b29c4a95" - integrity sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/express@4.17.21": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/fs-extra@11.0.4": - version "11.0.4" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45" - integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== - dependencies: - "@types/jsonfile" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/http-cache-semantics@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== - -"@types/http-errors@*": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== - -"@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@29.5.12": - version "29.5.12" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/jsdom@^20.0.0": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" - integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json2csv@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@types/json2csv/-/json2csv-5.0.7.tgz#c80ff09b669f8e3ee60be19d91326275a6a2346b" - integrity sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA== - dependencies: - "@types/node" "*" - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/jsonfile@*": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702" - integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== - dependencies: - "@types/node" "*" - -"@types/jsonwebtoken@9.0.5": - version "9.0.5" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz#0bd9b841c9e6c5a937c17656e2368f65da025588" - integrity sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA== - dependencies: - "@types/node" "*" - -"@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" - -"@types/long@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== - -"@types/methods@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@types/methods/-/methods-1.1.4.tgz#d3b7ac30ac47c91054ea951ce9eed07b1051e547" - integrity sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ== - -"@types/mime@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" - integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== - -"@types/mime@^1": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" - integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== - -"@types/node-fetch@^2.6.1": - version "2.6.9" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.9.tgz#15f529d247f1ede1824f7e7acdaa192d5f28071e" - integrity sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA== - dependencies: - "@types/node" "*" - form-data "^4.0.0" - -"@types/node-forge@^1.3.0": - version "1.3.10" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.10.tgz#62a19d4f75a8b03290578c2b04f294b1a5a71b07" - integrity sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "20.8.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.2.tgz#d76fb80d87d0d8abfe334fc6d292e83e5524efc4" - integrity sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w== - -"@types/node@^18.16.9": - version "18.19.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.17.tgz#a581a9fb4b2cfdbc61f008804f4436b2d5c40354" - integrity sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng== - dependencies: - undici-types "~5.26.4" - -"@types/nodemailer@6.4.14": - version "6.4.14" - resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.14.tgz#5c81a5e856db7f8ede80013e6dbad7c5fb2283e2" - integrity sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA== - dependencies: - "@types/node" "*" - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/passport@1.0.16": - version "1.0.16" - resolved "https://registry.yarnpkg.com/@types/passport/-/passport-1.0.16.tgz#5a2918b180a16924c4d75c31254c31cdca5ce6cf" - integrity sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A== - dependencies: - "@types/express" "*" - -"@types/prop-types@*": - version "15.7.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== - -"@types/qrcode@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.5.tgz#993ff7c6b584277eee7aac0a20861eab682f9dac" - integrity sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg== - dependencies: - "@types/node" "*" - -"@types/qs@*": - version "6.9.11" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" - integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== - -"@types/range-parser@*": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" - integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== - -"@types/react-dom@18.2.19": - version "18.2.19" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58" - integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA== - dependencies: - "@types/react" "*" - -"@types/react-dom@^18.0.0": - version "18.2.8" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.8.tgz#338f1b0a646c9f10e0a97208c1d26b9f473dffd6" - integrity sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw== - dependencies: - "@types/react" "*" - -"@types/react-highlight-words@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@types/react-highlight-words/-/react-highlight-words-0.16.7.tgz#82fdd2d2abe4c4a5c0da44be749660f6ec42f0c2" - integrity sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.2.24" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.24.tgz#3c7d68c02e0205a472f04abe4a0c1df35d995c05" - integrity sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/react@18.2.57": - version "18.2.57" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.57.tgz#147b516d8bdb2900219acbfc6f939bdeecca7691" - integrity sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/responselike@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" - integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== - dependencies: - "@types/node" "*" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - -"@types/semver@^7.5.0": - version "7.5.3" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04" - integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== - -"@types/send@*": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-index@^1.9.1": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" - integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.5" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" - integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== - dependencies: - "@types/http-errors" "*" - "@types/mime" "*" - "@types/node" "*" - -"@types/sinonjs__fake-timers@8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" - integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== - -"@types/sizzle@^2.3.2": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" - integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== - -"@types/sockjs@^0.3.33": - version "0.3.36" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" - integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/superagent@^8.1.0": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.3.tgz#6222a466e89eac9c84ad8de11870d92097e6554a" - integrity sha512-R/CfN6w2XsixLb1Ii8INfn+BT9sGPvw74OavfkW4SwY+jeUcAwLZv2+bXLJkndnimxjEBm0RPHgcjW9pLCa8cw== - dependencies: - "@types/cookiejar" "^2.1.5" - "@types/methods" "^1.1.4" - "@types/node" "*" - -"@types/supertest@6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-6.0.2.tgz#2af1c466456aaf82c7c6106c6b5cbd73a5e86588" - integrity sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg== - dependencies: - "@types/methods" "^1.1.4" - "@types/superagent" "^8.1.0" - -"@types/tmp@0.2.6": - version "0.2.6" - resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.6.tgz#d785ee90c52d7cc020e249c948c36f7b32d1e217" - integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== - -"@types/tough-cookie@*": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - -"@types/uuid@9.0.8": - version "9.0.8" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" - integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== - -"@types/webidl-conversions@*": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz#1306dbfa53768bcbcfc95a1c8cde367975581859" - integrity sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA== - -"@types/webpack-env@1.18.4": - version "1.18.4" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.4.tgz#62879b0a9c653f9b1172d403b882f2045ecce032" - integrity sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A== - -"@types/whatwg-url@^11.0.2": - version "11.0.3" - resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-11.0.3.tgz#9f584c9a9421f0971029ee504dd62a831cb8f3aa" - integrity sha512-z1ELvMijRL1QmU7QuzDkeYXSF2+dXI0ITKoQsIoVKcNBOiK5RMmWy+pYYxJTHFt8vkpZe7UsvRErQwcxZkjoUw== - dependencies: - "@types/webidl-conversions" "*" - -"@types/whatwg-url@^8.2.1": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" - integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== - dependencies: - "@types/node" "*" - "@types/webidl-conversions" "*" - -"@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - -"@typescript-eslint/eslint-plugin@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz#2e03506c5362a65e43cb132c37c9ce2d3cb51470" - integrity sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.13.2" - "@typescript-eslint/type-utils" "6.13.2" - "@typescript-eslint/utils" "6.13.2" - "@typescript-eslint/visitor-keys" "6.13.2" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.13.2.tgz#390b79cc9a57a5f904d197a201cc4b6bc4f9afb9" - integrity sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg== - dependencies: - "@typescript-eslint/scope-manager" "6.13.2" - "@typescript-eslint/types" "6.13.2" - "@typescript-eslint/typescript-estree" "6.13.2" - "@typescript-eslint/visitor-keys" "6.13.2" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz#5fa4e4adace028dafac212c770640b94e7b61052" - integrity sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA== - dependencies: - "@typescript-eslint/types" "6.13.2" - "@typescript-eslint/visitor-keys" "6.13.2" - -"@typescript-eslint/scope-manager@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" - integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - -"@typescript-eslint/type-utils@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz#ebec2da14a6bb7122e0fd31eea72a382c39c6102" - integrity sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw== - dependencies: - "@typescript-eslint/typescript-estree" "6.13.2" - "@typescript-eslint/utils" "6.13.2" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/type-utils@^6.13.2": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" - integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== - dependencies: - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.13.2.tgz#c044aac24c2f6cefb8e921e397acad5417dd0ae6" - integrity sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg== - -"@typescript-eslint/types@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" - integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== - -"@typescript-eslint/typescript-estree@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz#ae556ee154c1acf025b48d37c3ef95a1d55da258" - integrity sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w== - dependencies: - "@typescript-eslint/types" "6.13.2" - "@typescript-eslint/visitor-keys" "6.13.2" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/typescript-estree@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" - integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.13.2.tgz#8eb89e53adc6d703a879b131e528807245486f89" - integrity sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.13.2" - "@typescript-eslint/types" "6.13.2" - "@typescript-eslint/typescript-estree" "6.13.2" - semver "^7.5.4" - -"@typescript-eslint/utils@6.21.0", "@typescript-eslint/utils@^6.13.2": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" - integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.13.2": - version "6.13.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz#e0a4a80cf842bb08e6127b903284166ac4a5594c" - integrity sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw== - dependencies: - "@typescript-eslint/types" "6.13.2" - eslint-visitor-keys "^3.4.1" - -"@typescript-eslint/visitor-keys@6.21.0": - version "6.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" - integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== - dependencies: - "@typescript-eslint/types" "6.21.0" - eslint-visitor-keys "^3.4.1" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@wry/caches@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" - integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== - dependencies: - tslib "^2.3.0" - -"@wry/context@^0.7.0": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.3.tgz#240f6dfd4db5ef54f81f6597f6714e58d4f476a1" - integrity sha512-Nl8WTesHp89RF803Se9X3IiHjdmLBrIvPMaJkl+rKVJAYyPsz1TEUbu89943HpvujtSJgDUx9W4vZw3K1Mr3sA== - dependencies: - tslib "^2.3.0" - -"@wry/equality@^0.5.6": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" - integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" - integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" - integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== - dependencies: - tslib "^2.3.0" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - -"@yarnpkg/parsers@3.0.0-rc.46": - version "3.0.0-rc.46" - resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" - integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== - dependencies: - js-yaml "^3.10.0" - tslib "^2.4.0" - -"@zkochan/js-yaml@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" - integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== - dependencies: - argparse "^2.0.1" - -"@zxing/text-encoding@0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" - integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== - -JSONStream@1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.5, abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" - integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.2, acorn-walk@^8.1.1: - version "8.3.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.1.tgz#2f10f5b69329d90ae18c58bf1fa8fccd8b959a43" - integrity sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw== - -acorn@^8.1.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== - -address@^1.0.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agent-base@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" - integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== - dependencies: - debug "^4.3.4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.12.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - integrity sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg== - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -antd@5.14.1: - version "5.14.1" - resolved "https://registry.yarnpkg.com/antd/-/antd-5.14.1.tgz#e56faf6a421911543a0d232e2564a6b42d3696fa" - integrity sha512-P0Bwt9NKSZqnEJ0QAyAb13ay34FjOKsz+KEp/ts+feYsynhUxF7/Ay6d1jS6ZcNpcs+JWTlLKO59YFZ3tX07wQ== - dependencies: - "@ant-design/colors" "^7.0.2" - "@ant-design/cssinjs" "^1.18.4" - "@ant-design/icons" "^5.3.0" - "@ant-design/react-slick" "~1.0.2" - "@ctrl/tinycolor" "^3.6.1" - "@rc-component/color-picker" "~1.5.1" - "@rc-component/mutate-observer" "^1.1.0" - "@rc-component/tour" "~1.12.3" - "@rc-component/trigger" "^1.18.3" - classnames "^2.5.1" - copy-to-clipboard "^3.3.3" - dayjs "^1.11.10" - qrcode.react "^3.1.0" - rc-cascader "~3.21.2" - rc-checkbox "~3.1.0" - rc-collapse "~3.7.2" - rc-dialog "~9.3.4" - rc-drawer "~7.0.0" - rc-dropdown "~4.1.0" - rc-field-form "~1.41.0" - rc-image "~7.5.1" - rc-input "~1.4.3" - rc-input-number "~9.0.0" - rc-mentions "~2.10.1" - rc-menu "~9.12.4" - rc-motion "^2.9.0" - rc-notification "~5.3.0" - rc-pagination "~4.0.4" - rc-picker "~4.1.1" - rc-progress "~3.5.1" - rc-rate "~2.12.0" - rc-resize-observer "^1.4.0" - rc-segmented "~2.3.0" - rc-select "~14.11.0" - rc-slider "~10.5.0" - rc-steps "~6.0.1" - rc-switch "~4.1.0" - rc-table "~7.39.0" - rc-tabs "~14.0.0" - rc-textarea "~1.6.3" - rc-tooltip "~6.1.3" - rc-tree "~5.8.5" - rc-tree-select "~5.17.0" - rc-upload "~4.5.2" - rc-util "^5.38.1" - scroll-into-view-if-needed "^3.1.0" - throttle-debounce "^5.0.0" - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -apollo-upload-client@18.0.1: - version "18.0.1" - resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz#e3811f2f5a36bffef23954f796daf331be748dcb" - integrity sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA== - dependencies: - extract-files "^13.0.0" - -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -arch@^2.1.0, arch@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -aria-query@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.1.6, array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-union@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" - integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== - -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -asn1.js@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -ast-types-flow@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" - integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-mutex@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.0.tgz#ae8048cd4d04ace94347507504b3cf15e631c25f" - integrity sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA== - dependencies: - tslib "^2.4.0" - -async-retry@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" - integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== - dependencies: - retry "0.13.1" - -async-validator@^4.1.0: - version "4.2.5" - resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" - integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== - -async@^2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -async@^3.2.0, async@^3.2.3, async@^3.2.4: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -asynciterator.prototype@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" - integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== - dependencies: - has-symbols "^1.0.3" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -attr-accept@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" - integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== - -autoprefixer@^10.4.9: - version "10.4.16" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" - integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== - dependencies: - browserslist "^4.21.10" - caniuse-lite "^1.0.30001538" - fraction.js "^4.3.6" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - -axe-core@=4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" - integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== - -axios@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.0.tgz#f1e5292f26b2fd5c2e66876adc5b06cdbd7d2102" - integrity sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axios@^1.6.0: - version "1.6.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" - integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== - dependencies: - follow-redirects "^1.15.4" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axobject-query@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" - integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== - dependencies: - dequal "^2.0.3" - -b4a@^1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.4.tgz#ef1c1422cae5ce6535ec191baeed7567443f36c9" - integrity sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw== - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@^9.1.2: - version "9.1.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" - integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== - dependencies: - find-cache-dir "^4.0.0" - schema-utils "^4.0.0" - -babel-plugin-const-enum@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz#3d25524106f68f081e187829ba736b251c289861" - integrity sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.3.3" - "@babel/traverse" "^7.16.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-polyfill-corejs2@^0.4.6: - version "0.4.7" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz#679d1b94bf3360f7682e11f2cb2708828a24fe8c" - integrity sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.4.4" - semver "^6.3.1" - -babel-plugin-polyfill-corejs2@^0.4.8: - version "0.4.8" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" - integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.5.0" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.8.5: - version "0.8.7" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz#941855aa7fdaac06ed24c730a93450d2b2b76d04" - integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.4" - core-js-compat "^3.33.1" - -babel-plugin-polyfill-corejs3@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81" - integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - core-js-compat "^3.34.0" - -babel-plugin-polyfill-regenerator@^0.5.3: - version "0.5.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz#c6fc8eab610d3a11eb475391e52584bacfc020f4" - integrity sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.4" - -babel-plugin-polyfill-regenerator@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" - integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - -babel-plugin-transform-typescript-metadata@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz#7a327842d8c36ffe07ee1b5276434e56c297c9b7" - integrity sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -basic-auth@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== - dependencies: - safe-buffer "5.1.2" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -bcrypt@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.1.tgz#0f732c6dcb4e12e5b70a25e326a72965879ba6e2" - integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== - dependencies: - "@mapbox/node-pre-gyp" "^1.0.11" - node-addon-api "^5.0.0" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bin-check@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-4.1.0.tgz#fc495970bdc88bb1d5a35fc17e65c4a149fc4a49" - integrity sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA== - dependencies: - execa "^0.7.0" - executable "^4.1.0" - -bin-version-check@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-5.1.0.tgz#788e80e036a87313f8be7908bc20e5abe43f0837" - integrity sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g== - dependencies: - bin-version "^6.0.0" - semver "^7.5.3" - semver-truncate "^3.0.0" - -bin-version@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-6.0.0.tgz#08ecbe5fc87898b441425e145f9e105064d00315" - integrity sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw== - dependencies: - execa "^5.0.0" - find-versions "^5.0.0" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -blob-util@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" - integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== - -block-stream2@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/block-stream2/-/block-stream2-2.1.0.tgz#ac0c5ef4298b3857796e05be8ebed72196fa054b" - integrity sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg== - dependencies: - readable-stream "^3.4.0" - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.1.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" - integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== - dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-or-node@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-2.1.1.tgz#738790b3a86a8fc020193fa581273fbe65eaea0f" - integrity sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg== - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2: - version "4.22.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== - dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -browserslist@^4.22.3: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -bson@^5.5.0: - version "5.5.1" - resolved "https://registry.yarnpkg.com/bson/-/bson-5.5.1.tgz#f5849d405711a7f23acdda9a442375df858e6833" - integrity sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g== - -bson@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/bson/-/bson-6.2.0.tgz#4b6acafc266ba18eeee111373c2699304a9ba0a3" - integrity sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q== - -buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.5.0, buffer@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -builtins@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== - dependencies: - semver "^7.0.0" - -busboy@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-request@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" - integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -cachedir@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" - integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5, call-bind@~1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g== - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0, camelcase@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001565: - version "1.0.30001571" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz#4182e93d696ff42930f4af7eba515ddeb57917ac" - integrity sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ== - -caniuse-lite@^1.0.30001587: - version "1.0.30001588" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz#07f16b65a7f95dba82377096923947fb25bce6e3" - integrity sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - integrity sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ== - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -check-more-types@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" - integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== - -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== - -classnames@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@3.1.0, cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" - integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== - -cli-spinners@^2.5.0: - version "2.9.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== - -cli-table3@~0.6.1: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - integrity sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA== - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-support@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10, colorette@^2.0.16: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -columnify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" - integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== - dependencies: - strip-ansi "^6.0.1" - wcwidth "^1.0.0" - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -commander@^7.1.0, commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -component-emitter@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" - integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -compute-scroll-into-view@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87" - integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -confusing-browser-globals@^1.0.9: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -connect-mongo@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/connect-mongo/-/connect-mongo-5.1.0.tgz#8eb66bf94c3e5af0442278a5f43bd15c365eac92" - integrity sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw== - dependencies: - debug "^4.3.1" - kruptein "^3.0.0" - -connect-timeout@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.9.0.tgz#bc27326b122103714bebfa0d958bab33f6522e3a" - integrity sha512-q4bsBIPd+eSGtnh/u6EBOKfuG+4YvwsN0idlOsg6KAw71Qpi0DCf2eCc/Va63QU9qdOeYC8katxoC+rHMNygZg== - dependencies: - http-errors "~1.6.1" - ms "2.0.0" - on-finished "~2.3.0" - on-headers "~1.0.1" - -console-control-strings@^1.0.0, console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -content-disposition@0.5.4, content-disposition@^0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -contour_plot@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/contour_plot/-/contour_plot-0.0.1.tgz#475870f032b8e338412aa5fc507880f0bf495c77" - integrity sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie-signature@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" - integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -cookiejar@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" - integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== - -copy-anything@^2.0.1: - version "2.0.6" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" - integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== - dependencies: - is-what "^3.14.1" - -copy-to-clipboard@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -copy-webpack-plugin@^10.2.4: - version "10.2.4" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" - integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== - dependencies: - fast-glob "^3.2.7" - glob-parent "^6.0.1" - globby "^12.0.2" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - -core-js-compat@^3.31.0, core-js-compat@^3.33.1: - version "3.34.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.34.0.tgz#61a4931a13c52f8f08d924522bba65f8c94a5f17" - integrity sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA== - dependencies: - browserslist "^4.22.2" - -core-js-compat@^3.34.0: - version "3.36.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190" - integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== - dependencies: - browserslist "^4.22.3" - -core-js-pure@^3.23.3: - version "3.34.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.34.0.tgz#981e462500708664c91b827a75b011f04a8134a0" - integrity sha512-pmhivkYXkymswFfbXsANmBAewXx86UBfmagP+w0wkK06kLsLlTK5oQmsURPivzMkIBQiYq2cjamcZExIwlFQIg== - -core-js@^3.36.0: - version "3.36.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.36.0.tgz#e752fa0b0b462a0787d56e9d73f80b0f7c0dde68" - integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cors@2.8.5, cors@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -corser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" - integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^8.1.3: - version "8.3.6" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-declaration-sorter@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz#9796bcc257b4647c39993bda8d431ce32b666f80" - integrity sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ== - -css-loader@^6.10.0: - version "6.10.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.10.0.tgz#7c172b270ec7b833951b52c348861206b184a4b7" - integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.4" - postcss-modules-scope "^3.1.1" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - -css-loader@^6.4.0: - version "6.8.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" - integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.21" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.3" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.8" - -css-minimizer-webpack-plugin@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" - integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - cssnano "^6.0.1" - jest-worker "^29.4.3" - postcss "^8.4.24" - schema-utils "^4.0.1" - serialize-javascript "^6.0.1" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.0.2.tgz#0cc13e2da462b0d1632b1ebea4af78e7484592e8" - integrity sha512-VnZybFeZ63AiVqIUNlxqMxpj9VU8B5j0oKgP7WyVt/7mkyf97KsYkNzsPTV/RVmy54Pg7cBhOK4WATbdCB44gw== - dependencies: - css-declaration-sorter "^7.0.0" - cssnano-utils "^4.0.1" - postcss-calc "^9.0.1" - postcss-colormin "^6.0.1" - postcss-convert-values "^6.0.1" - postcss-discard-comments "^6.0.1" - postcss-discard-duplicates "^6.0.1" - postcss-discard-empty "^6.0.1" - postcss-discard-overridden "^6.0.1" - postcss-merge-longhand "^6.0.1" - postcss-merge-rules "^6.0.2" - postcss-minify-font-values "^6.0.1" - postcss-minify-gradients "^6.0.1" - postcss-minify-params "^6.0.1" - postcss-minify-selectors "^6.0.1" - postcss-normalize-charset "^6.0.1" - postcss-normalize-display-values "^6.0.1" - postcss-normalize-positions "^6.0.1" - postcss-normalize-repeat-style "^6.0.1" - postcss-normalize-string "^6.0.1" - postcss-normalize-timing-functions "^6.0.1" - postcss-normalize-unicode "^6.0.1" - postcss-normalize-url "^6.0.1" - postcss-normalize-whitespace "^6.0.1" - postcss-ordered-values "^6.0.1" - postcss-reduce-initial "^6.0.1" - postcss-reduce-transforms "^6.0.1" - postcss-svgo "^6.0.1" - postcss-unique-selectors "^6.0.1" - -cssnano-utils@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.1.tgz#fd18b42f95938bf55ab47967705355d6047bf1da" - integrity sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ== - -cssnano@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.0.2.tgz#7b49d60ce51e1dea3d569795f751ee49e97124c9" - integrity sha512-Tu9wv8UdN6CoiQnIVkCNvi+0rw/BwFWOJBlg2bVfEyKaadSuE3Gq/DD8tniVvggTJGwK88UjqZp7zL5sv6t1aA== - dependencies: - cssnano-preset-default "^6.0.2" - lilconfig "^3.0.0" - -csso@5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^3.0.2, csstype@^3.0.8: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -csv-parse@5.5.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.3.tgz#0261050761ee46cd0e46421854bf9bf4de1317bf" - integrity sha512-v0KW6C0qlZzoGjk6u5tLmVfyZxNgPGXZsWTXshpAgKVGmGXzaVWGdlCFxNx5iuzcXT/oJN1HHM9DZKwtAtYa+A== - -cypress@^13.6.5: - version "13.6.5" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.5.tgz#d8ab22dda3b9a8abeebcb65dc8a2707cb73bf925" - integrity sha512-2NxSDcO2zHw5kTcosc6dzv2zppEqiXrFFhZw5cx/EWrSNZABTzpr/EyvYzGgrWm46o5173JUfuJfDQcaiZZPVQ== - dependencies: - "@cypress/request" "^3.0.0" - "@cypress/xvfb" "^1.2.4" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - arch "^2.2.0" - blob-util "^2.0.2" - bluebird "^3.7.2" - buffer "^5.7.1" - cachedir "^2.3.0" - chalk "^4.1.0" - check-more-types "^2.24.0" - cli-cursor "^3.1.0" - cli-table3 "~0.6.1" - commander "^6.2.1" - common-tags "^1.8.0" - dayjs "^1.10.4" - debug "^4.3.4" - enquirer "^2.3.6" - eventemitter2 "6.4.7" - execa "4.1.0" - executable "^4.1.1" - extract-zip "2.0.1" - figures "^3.2.0" - fs-extra "^9.1.0" - getos "^3.2.1" - is-ci "^3.0.1" - is-installed-globally "~0.4.0" - lazy-ass "^1.6.0" - listr2 "^3.8.3" - lodash "^4.17.21" - log-symbols "^4.0.0" - minimist "^1.2.8" - ospath "^1.2.2" - pretty-bytes "^5.6.0" - process "^0.11.10" - proxy-from-env "1.0.0" - request-progress "^3.0.0" - semver "^7.5.3" - supports-color "^8.1.1" - tmp "~0.2.1" - untildify "^4.0.0" - yauzl "^2.10.0" - -"d3-color@1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" - integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== - -d3-ease@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.7.tgz#9a834890ef8b8ae8c558b2fe55bd57f5993b85e2" - integrity sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ== - -d3-hierarchy@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-2.0.0.tgz#dab88a58ca3e7a1bc6cab390e89667fcc6d20218" - integrity sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw== - -d3-interpolate@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" - integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== - dependencies: - d3-color "1 - 3" - -d3-regression@^1.3.5: - version "1.3.10" - resolved "https://registry.yarnpkg.com/d3-regression/-/d3-regression-1.3.10.tgz#d1a411ab45044d9e8d5b8aec05f2e598e1a621c9" - integrity sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw== - -d3-timer@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5" - integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw== - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -data-urls@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - -dayjs@1.11.10, dayjs@^1.10.4, dayjs@^1.11.10: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.1.0, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize@^1.0.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decimal.js@^10.4.2: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -decode-uri-component@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== - -deep-equal@^2.0.5: - version "2.2.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" - integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.5" - es-get-iterator "^1.1.3" - get-intrinsic "^1.2.2" - is-arguments "^1.1.1" - is-array-buffer "^3.0.2" - is-date-object "^1.0.5" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.13" - -deep-equal@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" - integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== - dependencies: - is-arguments "^1.1.1" - is-date-object "^1.0.5" - is-regex "^1.1.4" - object-is "^1.1.5" - object-keys "^1.1.1" - regexp.prototype.flags "^1.5.1" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@4.3.1, deepmerge@^4.2.2, deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -defined@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -depd@2.0.0, depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-browser@^5.0.0, detect-browser@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" - integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== - -detect-libc@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== - dependencies: - address "^1.0.1" - debug "4" - -dezalgo@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" - integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== - dependencies: - asap "^2.0.0" - wrappy "1" - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dijkstrajs@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" - integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - -dns-packet@^5.2.2: - version "5.6.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" - integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - -dom-align@^1.7.0: - version "1.12.4" - resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" - integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-expand@~10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" - integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== - -dotenv@~16.3.1: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== - -dotignore@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" - integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== - dependencies: - minimatch "^3.0.4" - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.7: - version "3.1.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" - integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.4.601: - version "1.4.616" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz#4bddbc2c76e1e9dbf449ecd5da3d8119826ea4fb" - integrity sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg== - -electron-to-chromium@^1.4.668: - version "1.4.677" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.677.tgz#49ee77713516740bdde32ac2d1443c444f0dafe7" - integrity sha512-erDa3CaDzwJOpyvfKhOiJjBVNnMM0qxHq47RheVVwsSQrgBA9ZSGV9kdaOfZDPXcHzhG7lBxhj6A7KvfLJBd6Q== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encode-utf8@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0, enhanced-resolve@^5.7.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - -enquirer@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^4.2.0, entities@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -errno@^0.1.1: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-get-iterator@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - -es-iterator-helpers@^1.0.12, es-iterator-helpers@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" - integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== - dependencies: - asynciterator.prototype "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.1" - es-abstract "^1.22.1" - es-set-tostringtag "^2.0.1" - function-bind "^1.1.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - iterator.prototype "^1.1.2" - safe-array-concat "^1.0.1" - -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -esbuild@0.20.1: - version "0.20.1" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.1.tgz#1e4cbb380ad1959db7609cb9573ee77257724a3e" - integrity sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA== - optionalDependencies: - "@esbuild/aix-ppc64" "0.20.1" - "@esbuild/android-arm" "0.20.1" - "@esbuild/android-arm64" "0.20.1" - "@esbuild/android-x64" "0.20.1" - "@esbuild/darwin-arm64" "0.20.1" - "@esbuild/darwin-x64" "0.20.1" - "@esbuild/freebsd-arm64" "0.20.1" - "@esbuild/freebsd-x64" "0.20.1" - "@esbuild/linux-arm" "0.20.1" - "@esbuild/linux-arm64" "0.20.1" - "@esbuild/linux-ia32" "0.20.1" - "@esbuild/linux-loong64" "0.20.1" - "@esbuild/linux-mips64el" "0.20.1" - "@esbuild/linux-ppc64" "0.20.1" - "@esbuild/linux-riscv64" "0.20.1" - "@esbuild/linux-s390x" "0.20.1" - "@esbuild/linux-x64" "0.20.1" - "@esbuild/netbsd-x64" "0.20.1" - "@esbuild/openbsd-x64" "0.20.1" - "@esbuild/sunos-x64" "0.20.1" - "@esbuild/win32-arm64" "0.20.1" - "@esbuild/win32-ia32" "0.20.1" - "@esbuild/win32-x64" "0.20.1" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-cypress@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.1.tgz#336afa7e8e27451afaf65aa359c9509e0a4f3a7b" - integrity sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w== - dependencies: - globals "^13.20.0" - -eslint-plugin-import@2.29.1: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.15.0" - -eslint-plugin-json@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-json/-/eslint-plugin-json-3.1.0.tgz#251108ba1681c332e0a442ef9513bd293619de67" - integrity sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g== - dependencies: - lodash "^4.17.21" - vscode-json-languageservice "^4.1.6" - -eslint-plugin-jsx-a11y@6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" - integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== - dependencies: - "@babel/runtime" "^7.23.2" - aria-query "^5.3.0" - array-includes "^3.1.7" - array.prototype.flatmap "^1.3.2" - ast-types-flow "^0.0.8" - axe-core "=4.7.0" - axobject-query "^3.2.1" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - es-iterator-helpers "^1.0.15" - hasown "^2.0.0" - jsx-ast-utils "^3.3.5" - language-tags "^1.0.9" - minimatch "^3.1.2" - object.entries "^1.1.7" - object.fromentries "^2.0.7" - -eslint-plugin-react-hooks@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@7.33.2: - version "7.33.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" - integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - es-iterator-helpers "^1.0.12" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.4" - semver "^6.3.1" - string.prototype.matchall "^4.0.8" - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@8.56.0, eslint@^8.0.0: - version "8.56.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" - integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.56.0" - "@humanwhocodes/config-array" "^0.11.13" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.0.0, espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0, esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eventemitter2@6.4.7: - version "6.4.7" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" - integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -executable@^4.1.0, executable@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" - integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== - dependencies: - pify "^2.2.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -export-from-json@1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/export-from-json/-/export-from-json-1.7.4.tgz#ea2ea0e88ae27870aba3727a8e7eb8c6439ca4a6" - integrity sha512-FjmpluvZS2PTYyhkoMfQoyEJMfe2bfAyNpa5Apa6C9n7SWUWyJkG/VFnzERuj3q9Jjo3iwBjwVsDQ7Z7sczthA== - -express-rate-limit@7.1.5: - version "7.1.5" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.1.5.tgz#af4c81143a945ea97f2599d13957440a0ddbfcfe" - integrity sha512-/iVogxu7ueadrepw1bS0X0kaRC/U0afwiYRSLg68Ts+p4Dc85Q5QKsOnPS/QUjPMHvOJQtBDrZgvkOzf8ejUYw== - -express-session@1.18.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.18.0.tgz#a6ae39d9091f2efba5f20fc5c65a3ce7c9ce16a3" - integrity sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ== - dependencies: - cookie "0.6.0" - cookie-signature "1.0.7" - debug "2.6.9" - depd "~2.0.0" - on-headers "~1.0.2" - parseurl "~1.3.3" - safe-buffer "5.2.1" - uid-safe "~2.1.5" - -express@^4.17.1, express@^4.17.3, express@^4.18.2: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext-list@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" - integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== - dependencies: - mime-db "^1.28.0" - -ext-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" - integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== - dependencies: - ext-list "^2.0.0" - sort-keys-length "^1.0.0" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extract-files@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-13.0.0.tgz#9065073dedbcfb5e2ae8a90988cf609834b217ec" - integrity sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g== - dependencies: - is-plain-obj "^4.1.0" - -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-fifo@^1.1.0, fast-fifo@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" - integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== - -fast-glob@3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fast-xml-parser@^4.2.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz#761e641260706d6e13251c4ef8e3f5694d4b0d79" - integrity sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg== - dependencies: - strnum "^1.0.5" - -fastq@^1.6.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" - integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -fecha@~4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" - integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== - -figures@3.2.0, figures@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-selector@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" - integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== - dependencies: - tslib "^2.4.0" - -file-type@^17.1.6: - version "17.1.6" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.1.6.tgz#18669e0577a4849ef6e73a41f8bdf1ab5ae21023" - integrity sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw== - dependencies: - readable-web-to-node-stream "^3.0.2" - strtok3 "^7.0.0-alpha.9" - token-types "^5.0.0-alpha.2" - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -filename-reserved-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz#3d5dd6d4e2d73a3fed2ebc4cd0b3448869a081f7" - integrity sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw== - -filenamify@^5.0.2: - version "5.1.1" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-5.1.1.tgz#a1ccc5ae678a5e34f578afcb9b72898264d166d2" - integrity sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA== - dependencies: - filename-reserved-regex "^3.0.0" - strip-outer "^2.0.0" - trim-repeated "^2.0.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-cache-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" - integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== - dependencies: - common-path-prefix "^3.0.0" - pkg-dir "^7.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - -find-versions@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-5.1.0.tgz#973f6739ce20f5e439a27eba8542a4b236c8e685" - integrity sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg== - dependencies: - semver-regex "^4.0.5" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -fmin@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/fmin/-/fmin-0.0.2.tgz#59bbb40d43ffdc1c94cd00a568c41f95f1973017" - integrity sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A== - dependencies: - contour_plot "^0.0.1" - json2module "^0.0.3" - rollup "^0.25.8" - tape "^4.5.1" - uglify-js "^2.6.2" - -follow-redirects@^1.0.0, follow-redirects@^1.15.0, follow-redirects@^1.15.3, follow-redirects@^1.15.4: - version "1.15.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" - integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== - -for-each@^0.3.3, for-each@~0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -fork-ts-checker-webpack-plugin@7.2.13: - version "7.2.13" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz#51ffd6a2f96f03ab64b92f8aedf305dbf3dee0f1" - integrity sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg== - dependencies: - "@babel/code-frame" "^7.16.7" - chalk "^4.1.2" - chokidar "^3.5.3" - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - fs-extra "^10.0.0" - memfs "^3.4.1" - minimatch "^3.0.4" - node-abort-controller "^3.0.1" - schema-utils "^3.1.1" - semver "^7.3.5" - tapable "^2.2.1" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -formidable@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" - integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== - dependencies: - dezalgo "^1.0.4" - hexoid "^1.0.0" - once "^1.4.0" - qs "^6.11.0" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.3.6: - version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^11.1.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.1, function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gauge@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" - integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== - dependencies: - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-port@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-7.0.0.tgz#ffcd83da826146529e307a341d7801cae351daff" - integrity sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -getos@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" - integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== - dependencies: - async "^3.2.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -git-rev-sync@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/git-rev-sync/-/git-rev-sync-3.0.2.tgz#9763c730981187c3419b75dd270088cc5f0e161b" - integrity sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ== - dependencies: - escape-string-regexp "1.0.5" - graceful-fs "4.1.15" - shelljs "0.8.5" - -gl-matrix@^3.0.0, gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" - integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1, glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0, globals@^13.20.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^12.0.2: - version "12.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-12.2.0.tgz#2ab8046b4fba4ff6eede835b29f678f90e3d3c22" - integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== - dependencies: - array-union "^3.0.1" - dir-glob "^3.0.1" - fast-glob "^3.2.7" - ignore "^5.1.9" - merge2 "^1.4.1" - slash "^4.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@^11.8.5: - version "11.8.6" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" - integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -graceful-fs@4.1.15: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -graphql-scalars@1.22.4: - version "1.22.4" - resolved "https://registry.yarnpkg.com/graphql-scalars/-/graphql-scalars-1.22.4.tgz#af092b142bcfd5c1f8c53cb70ee1955ecd4ddb03" - integrity sha512-ILnv7jq5VKHLUyoaTFX7lgYrjCd6vTee9i8/B+D4zJKJT5TguOl0KkpPEbXHjmeor8AZYrVsrYUHdqRBMX1pjA== - dependencies: - tslib "^2.5.0" - -graphql-subscriptions@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz#11ec181d475852d8aec879183e8e1eb94f2eb79a" - integrity sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA== - dependencies: - iterall "^1.3.0" - -graphql-tag@2.12.6, graphql-tag@^2.12.6: - version "2.12.6" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" - integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== - dependencies: - tslib "^2.1.0" - -graphql-type-json@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" - integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== - -graphql-upload-minimal@1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/graphql-upload-minimal/-/graphql-upload-minimal-1.5.5.tgz#7836ab0abe2ec9657f186ff130232a64facfa1b3" - integrity sha512-eNIBl850Sj2Lp14ak+9pK4KINQw2Hkk/t15yY3pPQ0jntkCODL5csTECxsqIYRJisoxNFnIrX4zAGlKGvXc17A== - dependencies: - busboy "^1.6.0" - -graphql-ws@5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.15.0.tgz#2db79e1b42468a8363bf5ca6168d076e2f8fdebc" - integrity sha512-xWGAtm3fig9TIhSaNsg0FaDZ8Pyn/3re3RFlP4rhQcmjRDIPpk1EhRuNB+YSJtLzttyuToaDiNhwT1OMoGnJnw== - -graphql@16.8.1: - version "16.8.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" - integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -has@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" - integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hexoid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" - integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== - -hi-base32@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" - integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== - -highlight-words-core@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" - integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== - -hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hosted-git-info@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" - integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== - dependencies: - lru-cache "^10.0.1" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -html-entities@^2.1.0, html-entities@^2.3.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" - integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.1, http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-proxy-middleware@2.0.6, http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-server@^14.1.0: - version "14.1.1" - resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" - integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== - dependencies: - basic-auth "^2.0.1" - chalk "^4.1.2" - corser "^2.0.1" - he "^1.2.0" - html-encoding-sniffer "^3.0.0" - http-proxy "^1.18.1" - mime "^1.6.0" - minimist "^1.2.6" - opener "^1.5.1" - portfinder "^1.0.28" - secure-compare "3.0.1" - union "~0.5.0" - url-join "^4.0.1" - -http-signature@~1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" - integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - sshpk "^1.14.1" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -https-browserify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" - integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== - dependencies: - agent-base "^7.0.2" - debug "4" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -husky@9.0.11: - version "9.0.11" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" - integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.6.3, iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.0.4, ignore@^5.1.9, ignore@^5.2.0, ignore@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== - -immutable@^4.0.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f" - integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA== - -import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -internal-slot@^1.0.4, internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - -is-arguments@^1.0.4, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== - dependencies: - has-tostringtag "^1.0.0" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== - dependencies: - call-bind "^1.0.2" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.10, is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.2, is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-obj@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4, is-regex@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -is-what@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" - integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -iterall@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" - integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== - -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== - dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" - -jake@^10.8.5: - version "10.8.7" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" - integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29, jest-config@^29.4.1, jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.4.1, jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-jsdom@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" - integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/jsdom" "^20.0.0" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - jsdom "^20.0.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29, jest-resolve@^29.4.1, jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29, jest-util@^29.0.0, jest-util@^29.4.1, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.4.3, jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.10.0, js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsdom@^20.0.0: - version "20.0.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" - integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== - dependencies: - abab "^2.0.6" - acorn "^8.8.1" - acorn-globals "^7.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.4.2" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.2" - parse5 "^7.1.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^4.1.2" - w3c-xmlserializer "^4.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.11.0" - xml-name-validator "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-stream/-/json-stream-1.0.0.tgz#1a3854e28d2bbeeab31cc7ddf683d2ddc5652708" - integrity sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json2module@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/json2module/-/json2module-0.0.3.tgz#00fb5f4a9b7adfc3f0647c29cb17bcd1979be9b2" - integrity sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA== - dependencies: - rw "^1.3.2" - -json2mq@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" - integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== - dependencies: - string-convert "^0.2.0" - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-eslint-parser@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz#74ded53f9d716e8d0671bd167bf5391f452d5461" - integrity sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg== - dependencies: - acorn "^8.5.0" - eslint-visitor-keys "^3.0.0" - espree "^9.0.0" - semver "^7.3.5" - -jsonc-parser@3.2.0, jsonc-parser@^3.0.0, jsonc-parser@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -jsonwebtoken@9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" - integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -jsprim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" - integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -jstat@1.9.6: - version "1.9.6" - resolved "https://registry.yarnpkg.com/jstat/-/jstat-1.9.6.tgz#60e801b0d4c26e37aab0f375d1859fe9d60e10c0" - integrity sha512-rPBkJbK2TnA8pzs93QcDDPlKcrtZWuuCo2dVR0TFLOJSxhqfWOVCSp8aV3/oSbn+4uY4yw1URtLpHQedtmXfug== - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -keyv@^4.0.0, keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4, klona@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -kruptein@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/kruptein/-/kruptein-3.0.6.tgz#9cf976225af4bc1fbeba069dbb24f17eebad974d" - integrity sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA== - dependencies: - asn1.js "^5.4.1" - -language-subtag-registry@^0.3.20: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" - integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== - dependencies: - language-subtag-registry "^0.3.20" - -launch-editor@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" - integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.8.1" - -lazy-ass@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" - integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ== - -less-loader@11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.0.tgz#a452384259bdf8e4f6d5fdcc39543609e6313f82" - integrity sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug== - dependencies: - klona "^2.0.4" - -less@4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" - integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== - dependencies: - copy-anything "^2.0.1" - parse-node-version "^1.0.1" - tslib "^2.3.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - needle "^3.1.0" - source-map "~0.6.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -license-webpack-plugin@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz#1e18442ed20b754b82f1adeff42249b81d11aec6" - integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== - dependencies: - webpack-sources "^3.0.0" - -lilconfig@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" - integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lines-and-columns@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" - integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== - -listr2@^3.8.3: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0, loader-utils@^2.0.3, loader-utils@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.memoize@4.x, lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.once@^4.0.0, lodash.once@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.14, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -loglevel@^1.6.8: - version "1.8.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" - integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== - -long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - integrity sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^10.0.1: - version "10.1.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" - integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.10.1, lru-cache@^7.14.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.4.1, memfs@^3.4.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -memoize-one@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" - integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== - -memory-pager@^1.0.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" - integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@^1.1.2, methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0, mime@^1.4.1, mime@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -mini-css-extract-plugin@~2.4.7: - version "2.4.7" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz#b9f4c4f4d727c7a3cd52a11773bb739f00177fac" - integrity sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg== - dependencies: - schema-utils "^4.0.0" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@9.0.3, minimatch@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minio@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/minio/-/minio-7.1.3.tgz#86dc95f3671045d6956920db757bb63f25bf20ee" - integrity sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA== - dependencies: - async "^3.2.4" - block-stream2 "^2.1.0" - browser-or-node "^2.1.1" - buffer-crc32 "^0.2.13" - fast-xml-parser "^4.2.2" - ipaddr.js "^2.0.1" - json-stream "^1.0.0" - lodash "^4.17.21" - mime-types "^2.1.35" - query-string "^7.1.3" - through2 "^4.0.2" - web-encoding "^1.1.5" - xml "^1.0.1" - xml2js "^0.5.0" - -minipass@^3.0.0: - version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mock-property@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" - integrity sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ== - dependencies: - define-data-property "^1.1.1" - functions-have-names "^1.2.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - hasown "^2.0.0" - isarray "^2.0.5" - -mongodb-connection-string-url@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" - integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== - dependencies: - "@types/whatwg-url" "^8.2.1" - whatwg-url "^11.0.0" - -mongodb-connection-string-url@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz#b4f87f92fd8593f3b9365f592515a06d304a1e9c" - integrity sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ== - dependencies: - "@types/whatwg-url" "^11.0.2" - whatwg-url "^13.0.0" - -mongodb-memory-server-core@9.1.6: - version "9.1.6" - resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.1.6.tgz#0dce7831aceb80cca62e242df08cf05b533d0731" - integrity sha512-3H/dq5II+XcSbK80hicMw4zFlDxcpjt4oWJq76RlOVuLoaf3AFqVheR6Vqx9ymlIqER4Jni58FMCIIRbesia1A== - dependencies: - async-mutex "^0.4.0" - camelcase "^6.3.0" - debug "^4.3.4" - find-cache-dir "^3.3.2" - follow-redirects "^1.15.3" - https-proxy-agent "^7.0.2" - mongodb "^5.9.1" - new-find-package-json "^2.0.0" - semver "^7.5.4" - tar-stream "^3.0.0" - tslib "^2.6.2" - yauzl "^2.10.0" - -mongodb-memory-server@9.1.6: - version "9.1.6" - resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.1.6.tgz#31b63996b2670e0e4a98d138e6abc7c2fbeca3d3" - integrity sha512-gzcpgGYlPhuKmria37W+bvYy6W+OkX2UVG7MoP41OWFvQv2Hn7A+fLXkV+lsMmhog1lMQprdV6AR+gixgheLaw== - dependencies: - mongodb-memory-server-core "9.1.6" - tslib "^2.6.2" - -mongodb@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-6.3.0.tgz#ec9993b19f7ed2ea715b903fcac6171c9d1d38ca" - integrity sha512-tt0KuGjGtLUhLoU263+xvQmPHEGTw5LbcNC73EoFRYgSHwZt5tsoJC110hDyO1kjQzpgNrpdcSza9PknWN4LrA== - dependencies: - "@mongodb-js/saslprep" "^1.1.0" - bson "^6.2.0" - mongodb-connection-string-url "^3.0.0" - -mongodb@^5.9.1: - version "5.9.2" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-5.9.2.tgz#39a73b9fbc87ac9d9c1aaf8aab5c5bb69e2b913e" - integrity sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ== - dependencies: - bson "^5.5.0" - mongodb-connection-string-url "^2.6.0" - socks "^2.7.1" - optionalDependencies: - "@mongodb-js/saslprep" "^1.1.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -needle@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049" - integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== - dependencies: - iconv-lite "^0.6.3" - sax "^1.2.4" - -negotiator@0.6.3, negotiator@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -new-find-package-json@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/new-find-package-json/-/new-find-package-json-2.0.0.tgz#96553638781db35061f351e8ccb4d07126b6407d" - integrity sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew== - dependencies: - debug "^4.3.4" - -nice-napi@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nice-napi/-/nice-napi-1.0.2.tgz#dc0ab5a1eac20ce548802fc5686eaa6bc654927b" - integrity sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA== - dependencies: - node-addon-api "^3.0.0" - node-gyp-build "^4.2.2" - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-abort-controller@^3.0.1, node-abort-controller@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - -node-addon-api@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== - -node-addon-api@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== - -node-fetch@^2.6.7: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-gyp-build@^4.2.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" - integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-machine-id@1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" - integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -nodemailer@6.9.9: - version "6.9.9" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.9.tgz#4549bfbf710cc6addec5064dd0f19874d24248d9" - integrity sha512-dexTll8zqQoVJEZPwQAKzxxtFn0qTnjdQTchoU6Re9BUUGBJiOy3YMn/0ShTW6J5M0dfQ1NeDeRTTl4oIWgQMA== - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-package-arg@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.1.tgz#f208b0022c29240a1c532a449bdde3f0a4708ebc" - integrity sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ== - dependencies: - hosted-git-info "^7.0.0" - proc-log "^3.0.0" - semver "^7.3.5" - validate-npm-package-name "^5.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== - -nx@18.0.4: - version "18.0.4" - resolved "https://registry.yarnpkg.com/nx/-/nx-18.0.4.tgz#3a77de6b51869449d849dccab7db74b35ec32a6b" - integrity sha512-Njb1fGppOw/wM7nOA1hYlLduV2aL4PdXSv5QS5cVYicHT5tw5RnG/0z4j9e6QfFj2EydxVeDUtlGR98diZ3/Yw== - dependencies: - "@nrwl/tao" "18.0.4" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.0-rc.46" - "@zkochan/js-yaml" "0.0.6" - axios "^1.6.0" - chalk "^4.1.0" - cli-cursor "3.1.0" - cli-spinners "2.6.1" - cliui "^8.0.1" - dotenv "~16.3.1" - dotenv-expand "~10.0.0" - enquirer "~2.3.6" - figures "3.2.0" - flat "^5.0.2" - fs-extra "^11.1.0" - ignore "^5.0.4" - jest-diff "^29.4.1" - js-yaml "4.1.0" - jsonc-parser "3.2.0" - lines-and-columns "~2.0.3" - minimatch "9.0.3" - node-machine-id "1.1.12" - npm-run-path "^4.0.1" - open "^8.4.0" - ora "5.3.0" - semver "^7.5.3" - string-width "^4.2.3" - strong-log-transformer "^2.1.0" - tar-stream "~2.2.0" - tmp "~0.2.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - yargs "^17.6.2" - yargs-parser "21.1.1" - optionalDependencies: - "@nx/nx-darwin-arm64" "18.0.4" - "@nx/nx-darwin-x64" "18.0.4" - "@nx/nx-freebsd-x64" "18.0.4" - "@nx/nx-linux-arm-gnueabihf" "18.0.4" - "@nx/nx-linux-arm64-gnu" "18.0.4" - "@nx/nx-linux-arm64-musl" "18.0.4" - "@nx/nx-linux-x64-gnu" "18.0.4" - "@nx/nx-linux-x64-musl" "18.0.4" - "@nx/nx-win32-arm64-msvc" "18.0.4" - "@nx/nx-win32-x64-msvc" "18.0.4" - -object-assign@^4, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-inspect@~1.12.3: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6, object.entries@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.6, object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== - dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.values@^1.1.6, object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1, on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optimism@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" - integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== - dependencies: - "@wry/caches" "^1.0.0" - "@wry/context" "^0.7.0" - "@wry/trie" "^0.4.3" - tslib "^2.3.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -ora@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" - integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== - dependencies: - bl "^4.0.3" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - log-symbols "^4.0.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-filter-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-2.0.0.tgz#1c0b62d5f3a2442749a2d139e6dddee6e81d8d16" - integrity sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg== - dependencies: - arch "^2.1.0" - -ospath@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-node-version@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - -parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -passport-strategy@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" - integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA== - -passport@0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/passport/-/passport-0.7.0.tgz#3688415a59a48cf8068417a8a8092d4492ca3a05" - integrity sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ== - dependencies: - passport-strategy "1.x.x" - pause "0.0.1" - utils-merge "^1.0.1" - -path-browserify@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pause@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" - integrity sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg== - -pdfast@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/pdfast/-/pdfast-0.2.0.tgz#8cbc556e1bf2522177787c0de2e0d4373ba885c9" - integrity sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA== - -peek-readable@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" - integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.2.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -piscina@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/piscina/-/piscina-4.3.2.tgz#e390da6a7127a9f3a98047c8952526ae9a297c9f" - integrity sha512-aXPak3A1LgbfDFrsmgYhQS4J7ElHRFL7iUkUqaiLNDRE69YQSFGqIZiHaXOH4NyC6EdD+awZVeE7MG0zVm9L4Q== - optionalDependencies: - nice-napi "^1.0.2" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-dir@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" - integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== - dependencies: - find-up "^6.3.0" - -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - -portfinder@^1.0.28: - version "1.0.32" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" - integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== - dependencies: - async "^2.6.4" - debug "^3.2.7" - mkdirp "^0.5.6" - -postcss-calc@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" - integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== - dependencies: - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - -postcss-colormin@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.0.1.tgz#3aa61d38a88dbdeeb7252fae67809a7ac547a129" - integrity sha512-Tb9aR2wCJCzKuNjIeMzVNd0nXjQy25HDgFmmaRsHnP0eP/k8uQWE4S8voX5S2coO5CeKrp+USFs1Ayv9Tpxx6w== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.0.1.tgz#a1451cb7e53b67b3db95c37276c5decb997409f2" - integrity sha512-zTd4Vh0HxGkhg5aHtfCogcRHzGkvblfdWlQ53lIh1cJhYcGyIxh2hgtKoVh40AMktRERet+JKdB04nNG19kjmA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.1.tgz#46176212bd9c3e5f48aa4b8b4868786726c41d36" - integrity sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg== - -postcss-discard-duplicates@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.1.tgz#112b1a95948e69b3484fdd43584dda6930977939" - integrity sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg== - -postcss-discard-empty@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.1.tgz#b34cb45ec891246da4506b53e352390fdef126c4" - integrity sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg== - -postcss-discard-overridden@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.1.tgz#c63c559237758d74bc505452393a64dda9b19ef4" - integrity sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA== - -postcss-import@~14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-loader@^6.1.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - -postcss-merge-longhand@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.1.tgz#5a1145868c615e643ca0996d9e9c3f09ad8de854" - integrity sha512-vmr/HZQzaPXc45FRvSctqFTF05UaDnTn5ABX+UtQPJznDWT/QaFbVc/pJ5C2YPxx2J2XcfmWowlKwtCDwiQ5hA== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^6.0.1" - -postcss-merge-rules@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.0.2.tgz#b0f0063a05d671b7093a86f0faa6d2c6695dc036" - integrity sha512-6lm8bl0UfriSfxI+F/cezrebqqP8w702UC6SjZlUlBYwuRVNbmgcJuQU7yePIvD4MNT53r/acQCUAyulrpgmeQ== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^4.0.1" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.0.1.tgz#788eb930168be90225f3937f0b70aa19d8b532b2" - integrity sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.1.tgz#4faf1880b483dc37016658aa186b42194ff9b5bc" - integrity sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w== - dependencies: - colord "^2.9.1" - cssnano-utils "^4.0.1" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.0.1.tgz#79b83947bae2aa991df12646c7f463276abb0aef" - integrity sha512-eFvGWArqh4khPIgPDu6SZNcaLctx97nO7c59OXnRtGntAp5/VS4gjMhhW9qUFsK6mQ27pEZGt2kR+mPizI+Z9g== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^4.0.1" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.1.tgz#7b2f05651a2f734da1fa50dea62cfc47e67d68f9" - integrity sha512-mfReq5wrS6vkunxvJp6GDuOk+Ak6JV7134gp8L+ANRnV9VwqzTvBtX6lpohooVU750AR0D3pVx2Zn6uCCwOAfQ== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" - integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-local-by-default@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" - integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.0.tgz#fbfddfda93a31f310f1d152c2bb4d3f3c5592ee0" - integrity sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-scope@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" - integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-normalize-charset@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.1.tgz#5f70e1eb8bbdbcfcbed060ef70f179e8fef57d0c" - integrity sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg== - -postcss-normalize-display-values@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.1.tgz#ff9aa30bbf1283294bfd9cc8b6fb81ff060a7f2d" - integrity sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.1.tgz#41ffdc72994f024c6cd6e91dbfb40ab9abe6fe90" - integrity sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.1.tgz#55dc54b6f80305b280a379899a6626e0a07b04a8" - integrity sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.1.tgz#7605e0fb4ec7bf2709709991d13a949e4419db1d" - integrity sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.1.tgz#ef937b7ca2fd62ed0b46645ea5728b842a3600db" - integrity sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.1.tgz#a652faa02fc8ce5d1429ac0782575d8d66a60d9b" - integrity sha512-ok9DsI94nEF79MkvmLfHfn8ddnKXA7w+8YuUoz5m7b6TOdoaRCpvu/QMHXQs9+DwUbvp+ytzz04J55CPy77PuQ== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.1.tgz#eae58cb4f5f9a4fa5bbbf6d4222dff534ad46186" - integrity sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.1.tgz#b5933750b938814c028d3d2b2e5c0199e0037b53" - integrity sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.1.tgz#553e735d009065b362da93340e57f43d5f2d0fbc" - integrity sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA== - dependencies: - cssnano-utils "^4.0.1" - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.0.1.tgz#37621ba31a18fd75eb9c76e818cca2a2adb13238" - integrity sha512-cgzsI2ThG1PMSdSyM9A+bVxiiVgPIVz9f5c6H+TqEv0CA89iCOO81mwLWRWLgOKFtQkKob9nNpnkxG/1RlgFcA== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.1.tgz#7bf59d7c6e7066e3b18ef17237d2344bd3da6d75" - integrity sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: - version "6.0.13" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.1.tgz#6bf63713ef5cb40f1bedd2c2cfca2486b41d5184" - integrity sha512-eWV4Rrqa06LzTgqirOv5Ln6WTGyU7Pbeqj9WEyKo9tpnWixNATVJMeaEcOHOW1ZYyjcG8wSJwX/28DvU3oy3HA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^3.0.5" - -postcss-unique-selectors@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.1.tgz#e6d071c2ea64ce265eb55ea9c170ff951183c712" - integrity sha512-/KCCEpNNR7oXVJ38/Id7GC9Nt0zxO1T3zVbhVaq6F6LSG+3gU3B7+QuTHfD0v8NPEHlzewAout29S0InmB78EQ== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.4.14, postcss@^8.4.21, postcss@^8.4.24: - version "8.4.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" - integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.33: - version "8.4.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" - integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -pretty-bytes@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-format@^27.0.2, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -proc-log@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" - integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.5.8, prop-types@^15.7.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== - -qrcode.react@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8" - integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== - -qrcode@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" - integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - -qs@6.10.4: - version "6.10.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" - integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== - dependencies: - side-channel "^1.0.4" - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.0, qs@^6.11.2, qs@^6.4.0: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -query-string@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" - integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== - dependencies: - decode-uri-component "^0.2.2" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" - integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -random-bytes@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc-align@^4.0.0: - version "4.0.15" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" - integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - dom-align "^1.7.0" - rc-util "^5.26.0" - resize-observer-polyfill "^1.5.1" - -rc-cascader@~3.21.2: - version "3.21.2" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.21.2.tgz#3421841131cdc15157201fefd955da31f409ac85" - integrity sha512-J7GozpgsLaOtzfIHFJFuh4oFY0ePb1w10twqK6is3pAkqHkca/PsokbDr822KIRZ8/CK8CqevxohuPDVZ1RO/A== - dependencies: - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - classnames "^2.3.1" - rc-select "~14.11.0" - rc-tree "~5.8.1" - rc-util "^5.37.0" - -rc-checkbox@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.1.0.tgz#6be0d9d8de2cc96fb5e37f9036a1c3e360d0a42d" - integrity sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.3.2" - rc-util "^5.25.2" - -rc-collapse@~3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.7.2.tgz#d11538ff9c705a5c988d9a4dfcc051a919692fe3" - integrity sha512-ZRw6ipDyOnfLFySxAiCMdbHtb5ePAsB9mT17PA6y1mRD/W6KHRaZeb5qK/X9xDV1CqgyxMpzw0VdS74PCcUk4A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.3.4" - rc-util "^5.27.0" - -rc-dialog@~9.3.4: - version "9.3.4" - resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.3.4.tgz#e0decb3d4a0dbe36524a67ed2f8fe2daa4b7b73c" - integrity sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.0.0-8" - classnames "^2.2.6" - rc-motion "^2.3.0" - rc-util "^5.21.0" - -rc-drawer@~7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-7.0.0.tgz#5632ad00284431665d4ff622b274d234fc9eefb2" - integrity sha512-ePcS4KtQnn57bCbVXazHN2iC8nTPCXlWEIA/Pft87Pd9U7ZeDkdRzG47jWG2/TAFXFlFltRAMcslqmUM8NPCGA== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.1.1" - classnames "^2.2.6" - rc-motion "^2.6.1" - rc-util "^5.36.0" - -rc-dropdown@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.1.0.tgz#418a68939631520de80d0865d02b440eeeb4168e" - integrity sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw== - dependencies: - "@babel/runtime" "^7.18.3" - "@rc-component/trigger" "^1.7.0" - classnames "^2.2.6" - rc-util "^5.17.0" - -rc-field-form@~1.41.0: - version "1.41.0" - resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.41.0.tgz#660ed8691fdabbc1e5b1ee6b5e0e4f534b295cf0" - integrity sha512-k9AS0wmxfJfusWDP/YXWTpteDNaQ4isJx9UKxx4/e8Dub4spFeZ54/EuN2sYrMRID/+hUznPgVZeg+Gf7XSYCw== - dependencies: - "@babel/runtime" "^7.18.0" - async-validator "^4.1.0" - rc-util "^5.32.2" - -rc-image@~7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-7.5.1.tgz#39a93354e14fe3e5eaafd9c9464e8fe3c6c171a0" - integrity sha512-Z9loECh92SQp0nSipc0MBuf5+yVC05H/pzC+Nf8xw1BKDFUJzUeehYBjaWlxly8VGBZJcTHYri61Fz9ng1G3Ag== - dependencies: - "@babel/runtime" "^7.11.2" - "@rc-component/portal" "^1.0.2" - classnames "^2.2.6" - rc-dialog "~9.3.4" - rc-motion "^2.6.2" - rc-util "^5.34.1" - -rc-input-number@~9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-9.0.0.tgz#47da6eaf95b0cf566fcdf68196c4dc82b8c8f166" - integrity sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/mini-decimal" "^1.0.1" - classnames "^2.2.5" - rc-input "~1.4.0" - rc-util "^5.28.0" - -rc-input@~1.4.0, rc-input@~1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.4.3.tgz#03f720f88cb56924cd1d5f78f859f41f2d62d1e0" - integrity sha512-aHyQUAIRmTlOnvk5EcNqEpJ+XMtfMpYRAJayIlJfsvvH9cAKUWboh4egm23vgMA7E+c/qm4BZcnrDcA960GC1w== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.18.1" - -rc-mentions@~2.10.1: - version "2.10.1" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.10.1.tgz#842a227cb1f9f798cbf0c906a519f7de3ab8a9b9" - integrity sha512-72qsEcr/7su+a07ndJ1j8rI9n0Ka/ngWOLYnWMMv0p2mi/5zPwPrEDTt6Uqpe8FWjWhueDJx/vzunL6IdKDYMg== - dependencies: - "@babel/runtime" "^7.22.5" - "@rc-component/trigger" "^1.5.0" - classnames "^2.2.6" - rc-input "~1.4.0" - rc-menu "~9.12.0" - rc-textarea "~1.6.1" - rc-util "^5.34.1" - -rc-menu@~9.12.0, rc-menu@~9.12.4: - version "9.12.4" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.12.4.tgz#4959b5eeb780be7ff52aac31952b35efca46b9a3" - integrity sha512-t2NcvPLV1mFJzw4F21ojOoRVofK2rWhpKPx69q2raUsiHPDP6DDevsBILEYdsIegqBeSXoWs2bf6CueBKg3BFg== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.17.0" - classnames "2.x" - rc-motion "^2.4.3" - rc-overflow "^1.3.1" - rc-util "^5.27.0" - -rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" - integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.21.0" - -rc-notification@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-5.3.0.tgz#e31c86fe2350598ade8cff383babd1befa7a94fe" - integrity sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.9.0" - rc-util "^5.20.1" - -rc-overflow@^1.3.1, rc-overflow@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" - integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.37.0" - -rc-pagination@~4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-4.0.4.tgz#ea401388ae86eac17ed5b41212d487f12b65b773" - integrity sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.3.2" - rc-util "^5.38.0" - -rc-picker@~4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.1.3.tgz#62d5a170ae5c826a61bd9fa3e49fae43ca6240ef" - integrity sha512-zmS64uYgiuWNmaWAxbVoAvSMuyNzGL9iO0Z8SIZzzm8U03taHHP0/jncWuM9v+O/F7Ghm7+IrFL0dDyk7aAqIw== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.5.0" - classnames "^2.2.1" - rc-overflow "^1.3.2" - rc-resize-observer "^1.4.0" - rc-util "^5.38.1" - -rc-progress@~3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.5.1.tgz#a3cdfd2fe04eb5c3d43fa1c69e7dd70c73b102ae" - integrity sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-util "^5.16.1" - -rc-rate@~2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.12.0.tgz#0182deffed3b009cdcc61660da8746c39ed91ed5" - integrity sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.0.1" - -rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" - integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== - dependencies: - "@babel/runtime" "^7.20.7" - classnames "^2.2.1" - rc-util "^5.38.0" - resize-observer-polyfill "^1.5.1" - -rc-segmented@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.3.0.tgz#b3fe080fb434a266c02e30bb62a47d2c6e094341" - integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-motion "^2.4.4" - rc-util "^5.17.0" - -rc-select@~14.11.0, rc-select@~14.11.0-0: - version "14.11.0" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.11.0.tgz#37c63acea92ac1dcd0e1b7ebd9c0614b53dd8346" - integrity sha512-8J8G/7duaGjFiTXCBLWfh5P+KDWyA3KTlZDfV3xj/asMPqB2cmxfM+lH50wRiPIRsCQ6EbkCFBccPuaje3DHIg== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.5.0" - classnames "2.x" - rc-motion "^2.0.1" - rc-overflow "^1.3.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.2" - -rc-slider@~10.5.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.5.0.tgz#1bd4853d114cb3403b67c485125887adb6a2a117" - integrity sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.27.0" - -rc-steps@~6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-6.0.1.tgz#c2136cd0087733f6d509209a84a5c80dc29a274d" - integrity sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g== - dependencies: - "@babel/runtime" "^7.16.7" - classnames "^2.2.3" - rc-util "^5.16.1" - -rc-switch@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-4.1.0.tgz#f37d81b4e0c5afd1274fd85367b17306bf25e7d7" - integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg== - dependencies: - "@babel/runtime" "^7.21.0" - classnames "^2.2.1" - rc-util "^5.30.0" - -rc-table@~7.39.0: - version "7.39.0" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.39.0.tgz#61822efc489c546e5a56edac47c9a092152b5280" - integrity sha512-7fHLMNsm/2DlGwyIMkdH2xIeRzb5I69bLsFaEVtX+gqmGhByy0wtOAgHkiOew3PtXozSJyh+iXifjLgQzWdczw== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/context" "^1.4.0" - classnames "^2.2.5" - rc-resize-observer "^1.1.0" - rc-util "^5.37.0" - rc-virtual-list "^3.11.1" - -rc-tabs@~14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-14.0.0.tgz#ac1798959e1835c4d5216c9dae80943b7e5505f6" - integrity sha512-lp1YWkaPnjlyhOZCPrAWxK6/P6nMGX/BAZcAC3nuVwKz0Byfp+vNnQKK8BRCP2g/fzu+SeB5dm9aUigRu3tRkQ== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "2.x" - rc-dropdown "~4.1.0" - rc-menu "~9.12.0" - rc-motion "^2.6.2" - rc-resize-observer "^1.0.0" - rc-util "^5.34.1" - -rc-textarea@~1.6.1, rc-textarea@~1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.6.3.tgz#3f294fdf5dfadbe9d0e7b695cea4da557728a9be" - integrity sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-input "~1.4.0" - rc-resize-observer "^1.0.0" - rc-util "^5.27.0" - -rc-tooltip@~6.1.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-6.1.3.tgz#83b97004a1ab918ed4936bbf089bc754254efd1b" - integrity sha512-HMSbSs5oieZ7XddtINUddBLSVgsnlaSb3bZrzzGWjXa7/B7nNedmsuz72s7EWFEro9mNa7RyF3gOXKYqvJiTcQ== - dependencies: - "@babel/runtime" "^7.11.2" - "@rc-component/trigger" "^1.18.0" - classnames "^2.3.1" - -rc-tree-select@~5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.17.0.tgz#be5bcad09b5874bfcff14be758e76dd992e42359" - integrity sha512-7sRGafswBhf7n6IuHyCEFCildwQIgyKiV8zfYyUoWfZEFdhuk7lCH+DN0aHt+oJrdiY9+6Io/LDXloGe01O8XQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-select "~14.11.0-0" - rc-tree "~5.8.1" - rc-util "^5.16.1" - -rc-tree@~5.8.1: - version "5.8.2" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.8.2.tgz#ed3a3f7c56597bbeab3303407a9e1739bbf15621" - integrity sha512-xH/fcgLHWTLmrSuNphU8XAqV7CdaOQgm4KywlLGNoTMhDAcNR3GVNP6cZzb0GrKmIZ9yae+QLot/cAgUdPRMzg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.1" - -rc-tree@~5.8.5: - version "5.8.5" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.8.5.tgz#f714a383be27bd87366cf32f7f85b2af1fbae6b6" - integrity sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.1" - -rc-upload@~4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.5.2.tgz#ea493fbaaf57d9369ee954b20e1d8bc35c818a1a" - integrity sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA== - dependencies: - "@babel/runtime" "^7.18.3" - classnames "^2.2.5" - rc-util "^5.2.0" - -rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1: - version "5.38.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.1.tgz#4915503b89855f5c5cd9afd4c72a7a17568777bb" - integrity sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng== - dependencies: - "@babel/runtime" "^7.18.3" - react-is "^18.2.0" - -rc-util@^5.26.0, rc-util@^5.33.0: - version "5.38.2" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.2.tgz#240da546b51ee838e616f7a2e3fcf62c753b0330" - integrity sha512-yRGRPKyi84H7NkRSP6FzEIYBdUt4ufdsmXUZ7qM2H5qoByPax70NnGPkfo36N+UKUnUBj2f2Q2eUbwYMuAsIOQ== - dependencies: - "@babel/runtime" "^7.18.3" - react-is "^18.2.0" - -rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: - version "3.11.3" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz#77d4e12e20c1ba314b43c0e37e118296674c5401" - integrity sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q== - dependencies: - "@babel/runtime" "^7.20.0" - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.36.0" - -react-content-loader@^5.0.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/react-content-loader/-/react-content-loader-5.1.4.tgz#854bafe4415dd9de07174621375bc308edd0ebb5" - integrity sha512-hTq7pZi2GKCK6a9d3u6XStozm0QGCEjw8cSqQReiWnh2up6IwCha5R5TF0o6SY5qUDpByloEZEZtnFxpJyENFw== - -react-csv@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-csv/-/react-csv-2.2.2.tgz#5bbf0d72a846412221a14880f294da9d6def9bfb" - integrity sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw== - -react-dom@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-dropzone@14.2.3: - version "14.2.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" - integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== - dependencies: - attr-accept "^2.2.2" - file-selector "^0.6.0" - prop-types "^15.8.1" - -react-fast-compare@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -react-helmet-async@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-2.0.4.tgz#50a4377778f380ed1d0136303916b38eff1bf153" - integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== - dependencies: - invariant "^2.2.4" - react-fast-compare "^3.2.2" - shallowequal "^1.1.0" - -react-highlight-words@0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" - integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== - dependencies: - highlight-words-core "^1.2.0" - memoize-one "^4.0.0" - prop-types "^15.5.8" - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.0.0, react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react-router-dom@6.22.1: - version "6.22.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.1.tgz#cfa109d4b6b0a4d00bac179bc0ad2a6469455282" - integrity sha512-iwMyyyrbL7zkKY7MRjOVRy+TMnS/OPusaFVxM2P11x9dzSzGmLsebkCvYirGq0DWB9K9hOspHYYtDz33gE5Duw== - dependencies: - "@remix-run/router" "1.15.1" - react-router "6.22.1" - -react-router@6.22.1: - version "6.22.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.1.tgz#a5ff849bfe709438f7e139421bb28138209662c7" - integrity sha512-0pdoRGwLtemnJqn1K0XHUbnKiX0S4X8CgvVVmHGOWmofESj31msHo/1YiqcJWK7Wxfq2a4uvvtS01KAQyWK/CQ== - dependencies: - "@remix-run/router" "1.15.1" - -react@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readable-stream@3, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-web-to-node-stream@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" - integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== - dependencies: - readable-stream "^3.6.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -reflect.getprototypeof@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3" - integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" - -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -rehackt@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.0.5.tgz#184c82ea369d5b0b989ede0593ebea8b2bcfb1d6" - integrity sha512-BI1rV+miEkaHj8zd2n+gaMgzu/fKz7BGlb4zZ6HAiY9adDmJMkaDcmuXlJFv0eyKUob+oszs3/2gdnXUrzx2Tg== - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -request-progress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== - dependencies: - throttleit "^1.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-alpn@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.6: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.4: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -response-iterator@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" - integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== - -responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -retry@0.13.1, retry@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - integrity sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg== - dependencies: - align-text "^0.1.1" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^0.25.8: - version "0.25.8" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.25.8.tgz#bf6ce83b87510d163446eeaa577ed6a6fc5835e0" - integrity sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA== - dependencies: - chalk "^1.1.1" - minimist "^1.2.0" - source-map-support "^0.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rw@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== - -rxjs@^7.5.1, rxjs@^7.8.0: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sanitize-filename@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" - integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== - dependencies: - truncate-utf8-bytes "^1.0.0" - -sass-loader@^12.2.0: - version "12.6.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - -sass@^1.42.1: - version "1.69.5" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.69.5.tgz#23e18d1c757a35f2e52cc81871060b9ad653dfde" - integrity sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -sax@>=0.6.0, sax@^1.2.4, sax@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== - -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0, schema-utils@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -scroll-into-view-if-needed@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f" - integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ== - dependencies: - compute-scroll-into-view "^3.0.2" - -secure-compare@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" - integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== - dependencies: - "@types/node-forge" "^1.3.0" - node-forge "^1" - -semver-regex@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-4.0.5.tgz#fbfa36c7ba70461311f5debcb3928821eb4f9180" - integrity sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw== - -semver-truncate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-3.0.0.tgz#0e3b4825d4a4225d8ae6e7c72231182b42edba40" - integrity sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg== - dependencies: - semver "^7.3.5" - -semver@^5.6.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== - dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -set-function-name@^2.0.0, set-function-name@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.11: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -shelljs@0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -size-sensor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/size-sensor/-/size-sensor-1.0.2.tgz#b8f8da029683cf2b4e22f12bf8b8f0a1145e8471" - integrity sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw== - -slash@3.0.0, slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -socks@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" - integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== - dependencies: - ip "^2.0.0" - smart-buffer "^4.2.0" - -sort-keys-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" - integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== - dependencies: - sort-keys "^1.0.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== - dependencies: - is-plain-obj "^1.0.0" - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-loader@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" - integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.3.2: - version "0.3.3" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" - integrity sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg== - dependencies: - source-map "0.1.32" - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.1.32: - version "0.1.32" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" - integrity sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ== - dependencies: - amdefine ">=0.0.4" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3, source-map@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -sparse-bitfield@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" - integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== - dependencies: - memory-pager "^1.0.2" - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sshpk@^1.14.1: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - -stream-browserify@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-http@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - -streamx@^2.15.0: - version "2.15.6" - resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.6.tgz#28bf36997ebc7bf6c08f9eba958735231b833887" - integrity sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw== - dependencies: - fast-fifo "^1.1.0" - queue-tick "^1.0.1" - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - -string-convert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" - integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.8, string.prototype.trim@~1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-outer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-2.0.0.tgz#c45c724ed9b1ff6be5f660503791404f4714084b" - integrity sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg== - -strnum@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" - integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== - -strong-log-transformer@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" - integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== - dependencies: - duplexer "^0.1.1" - minimist "^1.2.0" - through "^2.3.4" - -strtok3@^7.0.0-alpha.9: - version "7.0.0" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" - integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== - dependencies: - "@tokenizer/token" "^0.3.0" - peek-readable "^5.0.0" - -style-loader@^3.3.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" - integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== - -style-loader@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" - integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== - -stylehacks@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.0.1.tgz#c103f0149e268a290a0dda3fce8fd4c5459a13c3" - integrity sha512-jTqG2aIoX2fYg0YsGvqE4ooE/e75WmaEjnNiP6Ag7irLtHxML8NJRxRxS0HyDpde8DRGuEXTFVHVfR5Tmbxqzg== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" - -stylis@^4.0.13: - version "4.3.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.0.tgz#abe305a669fc3d8777e10eefcfc73ad861c5588c" - integrity sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ== - -stylus-loader@^7.1.0, stylus-loader@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.1.3.tgz#1fdfa0d34e8c05a569bc0902e1ecdb857d764964" - integrity sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw== - dependencies: - fast-glob "^3.2.12" - normalize-path "^3.0.0" - -stylus@^0.59.0: - version "0.59.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" - integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== - dependencies: - "@adobe/css-tools" "^4.0.1" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.2.4" - source-map "^0.7.3" - -stylus@^0.62.0: - version "0.62.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.62.0.tgz#648a020e2bf90ed87587ab9c2f012757e977bb5d" - integrity sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg== - dependencies: - "@adobe/css-tools" "~4.3.1" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.3.0" - source-map "^0.7.3" - -superagent@^8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" - integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== - dependencies: - component-emitter "^1.3.0" - cookiejar "^2.1.4" - debug "^4.3.4" - fast-safe-stringify "^2.1.1" - form-data "^4.0.0" - formidable "^2.1.2" - methods "^1.1.2" - mime "2.6.0" - qs "^6.11.0" - semver "^7.3.8" - -supertest@6.3.4: - version "6.3.4" - resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.4.tgz#2145c250570c2ea5d337db3552dbfb78a2286218" - integrity sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw== - dependencies: - methods "^1.1.2" - superagent "^8.1.2" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0, supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^3.0.2, svgo@^3.0.5: - version "3.1.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.1.0.tgz#7e63855c8da73297d5d5765e968f9679a0f8d24a" - integrity sha512-R5SnNA89w1dYgNv570591F66v34b3eQShpIBcQtZtM5trJwm1VvxbIoMpRYY3ybTAutcKTLEmTsdnaknOHbiQA== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.2.1" - css-what "^6.1.0" - csso "5.0.5" - picocolors "^1.0.0" - -swc-loader@0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.6.tgz#bf0cba8eeff34bb19620ead81d1277fefaec6bc8" - integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg== - dependencies: - "@swc/counter" "^0.1.3" - -symbol-observable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tape@^4.5.1: - version "4.17.0" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.17.0.tgz#de89f3671ddc5dad178d04c28dc6b0183f42268e" - integrity sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw== - dependencies: - "@ljharb/resumer" "~0.0.1" - "@ljharb/through" "~2.3.9" - call-bind "~1.0.2" - deep-equal "~1.1.1" - defined "~1.0.1" - dotignore "~0.1.2" - for-each "~0.3.3" - glob "~7.2.3" - has "~1.0.3" - inherits "~2.0.4" - is-regex "~1.1.4" - minimist "~1.2.8" - mock-property "~1.0.0" - object-inspect "~1.12.3" - resolve "~1.22.6" - string.prototype.trim "~1.2.8" - -tar-stream@^3.0.0: - version "3.1.6" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.6.tgz#6520607b55a06f4a2e2e04db360ba7d338cc5bab" - integrity sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg== - dependencies: - b4a "^1.6.4" - fast-fifo "^1.2.0" - streamx "^2.15.0" - -tar-stream@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar@^6.1.11: - version "6.2.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" - integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7: - version "5.3.9" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" - integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.17" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.16.8" - -terser@^5.16.8: - version "5.26.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.26.0.tgz#ee9f05d929f4189a9c28a0feb889d96d50126fe1" - integrity sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -terser@^5.26.0: - version "5.27.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.2.tgz#577a362515ff5635f98ba149643793a3973ba77e" - integrity sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throttle-debounce@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933" - integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg== - -throttleit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" - integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== - -through2@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -"through@>=2.2.7 <3", through@^2.3.4, through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tmp@0.2.1, tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -token-types@^5.0.0-alpha.2: - version "5.0.1" - resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4" - integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== - dependencies: - "@tokenizer/token" "^0.3.0" - ieee754 "^1.2.1" - -tough-cookie@^4.1.2, tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - -tr46@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" - integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== - dependencies: - punycode "^2.3.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -trim-repeated@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-2.0.0.tgz#5d60556d6d40d9461b7c7e06c3ac20b6b1d50090" - integrity sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg== - dependencies: - escape-string-regexp "^5.0.0" - -truncate-utf8-bytes@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" - integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== - dependencies: - utf8-byte-length "^1.0.1" - -ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== - -ts-essentials@9.4.1: - version "9.4.1" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-9.4.1.tgz#6a6b6f81c2138008a5eef216e9fa468d8d9e2ab4" - integrity sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ== - -ts-invariant@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" - integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== - dependencies: - tslib "^2.1.0" - -ts-jest@29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" - integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" - -ts-loader@^9.3.1: - version "9.5.1" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" - integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - source-map "^0.7.4" - -ts-node@10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -ts-node@10.9.2: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths-webpack-plugin@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz#84008fc3e3e0658fdb0262758b07b4da6265ff1a" - integrity sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.7.0" - tsconfig-paths "^4.0.0" - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.10.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typed-assert@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" - integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== - -typescript@5.3.3, typescript@~5.3.2: - version "5.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== - -uglify-js@^2.6.2: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - integrity sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w== - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - integrity sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q== - -uid-safe@~2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" - integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== - dependencies: - random-bytes "~1.0.0" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -union@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" - integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== - dependencies: - qs "^6.4.0" - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-join@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" - integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== - -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" - integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== - dependencies: - punycode "^1.4.1" - qs "^6.11.2" - -utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.3: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utils-merge@1.0.1, utils-merge@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@9.0.1, uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -validate-npm-package-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" - integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== - dependencies: - builtins "^5.0.0" - -value-or-promise@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" - integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vscode-json-languageservice@^4.1.6: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz#94b6f471ece193bf4a1ef37f6ab5cce86d50a8b4" - integrity sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA== - dependencies: - jsonc-parser "^3.0.0" - vscode-languageserver-textdocument "^1.0.3" - vscode-languageserver-types "^3.16.0" - vscode-nls "^5.0.0" - vscode-uri "^3.0.3" - -vscode-languageserver-textdocument@^1.0.3: - version "1.0.11" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz#0822a000e7d4dc083312580d7575fe9e3ba2e2bf" - integrity sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA== - -vscode-languageserver-types@^3.16.0: - version "3.17.5" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz#3273676f0cf2eab40b3f44d085acbb7f08a39d8a" - integrity sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg== - -vscode-nls@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.2.0.tgz#3cb6893dd9bd695244d8a024bdf746eea665cc3f" - integrity sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng== - -vscode-uri@^3.0.3: - version "3.0.8" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" - integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== - -w3c-xmlserializer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" - integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== - dependencies: - xml-name-validator "^4.0.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -wcwidth@^1.0.0, wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -web-encoding@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" - integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== - dependencies: - util "^0.12.3" - optionalDependencies: - "@zxing/text-encoding" "0.9.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.9.3: - version "4.15.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" - integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.13.0" - -webpack-merge@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - -webpack-node-externals@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" - integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== - -webpack-sources@^3.0.0, webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack-subresource-integrity@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz#8b7606b033c6ccac14e684267cb7fb1f5c2a132a" - integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== - dependencies: - typed-assert "^1.0.8" - -webpack@^5.80.0: - version "5.88.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e" - integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -webpack@^5.90.3: - version "5.90.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.3.tgz#37b8f74d3ded061ba789bb22b31e82eed75bd9ac" - integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -whatwg-url@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-13.0.0.tgz#b7b536aca48306394a34e44bda8e99f332410f8f" - integrity sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig== - dependencies: - tr46 "^4.1.1" - webidl-conversions "^7.0.0" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== - dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" - is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" - is-generator-function "^1.0.10" - is-regex "^1.1.4" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" - -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - integrity sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg== - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - integrity sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^8.11.0, ws@^8.13.0: - version "8.15.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.15.1.tgz#271ba33a45ca0cc477940f7f200cd7fba7ee1997" - integrity sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xml2js@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" - integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xml@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" - integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.3.1, yargs@^17.6.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - integrity sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A== - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -zen-observable-ts@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" - integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== - dependencies: - zen-observable "0.8.15" - -zen-observable@0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adobe/css-tools@^4.0.1", "@adobe/css-tools@~4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" + integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@ant-design/charts-util@0.0.1-alpha.5": + version "0.0.1-alpha.5" + resolved "https://registry.yarnpkg.com/@ant-design/charts-util/-/charts-util-0.0.1-alpha.5.tgz#bb8ab113194f0ffeddb688d54bfd63d6f0007fb7" + integrity sha512-EwTUjRPhU2CUyI2e11pAi9aOQg9oEWdFEWxv1f4j+Ta4doYXd1yTl94Zy9JvigiEj4qv8dPGl0PUd3r+qMVrAg== + +"@ant-design/colors@^7.0.0", "@ant-design/colors@^7.0.2": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.2.tgz#c5c753a467ce8d86ba7ca4736d2c01f599bb5492" + integrity sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg== + dependencies: + "@ctrl/tinycolor" "^3.6.1" + +"@ant-design/cssinjs@^1.18.5": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.19.1.tgz#d3bb4f58ee884c9c757688e611e7a6de9867ea75" + integrity sha512-hgQ3wiys3X0sqDKWkqCJ6EYdF79i9JCvtavmIGwuuPUKmoJXV8Ff0sY+yQQSxk2dRmMyam/bYKo/Bwor45hnZw== + dependencies: + "@babel/runtime" "^7.11.1" + "@emotion/hash" "^0.8.0" + "@emotion/unitless" "^0.7.5" + classnames "^2.3.1" + csstype "^3.1.3" + rc-util "^5.35.0" + stylis "^4.0.13" + +"@ant-design/icons-svg@^4.4.0": + version "4.4.2" + resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6" + integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== + +"@ant-design/icons@5.3.6", "@ant-design/icons@^5.3.6": + version "5.3.6" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.3.6.tgz#172bbcfcfa39f9a1d9ef73ad5cf98c6184fb83f8" + integrity sha512-JeWsgNjvkTTC73YDPgWOgdScRku/iHN9JU0qk39OSEmJSCiRghQMLlxGTCY5ovbRRoXjxHXnUKgQEgBDnQfKmA== + dependencies: + "@ant-design/colors" "^7.0.0" + "@ant-design/icons-svg" "^4.4.0" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-util "^5.31.1" + +"@ant-design/plots@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ant-design/plots/-/plots-2.2.0.tgz#9606de1dfd5ca0297c38a77ea483815d7417c2f5" + integrity sha512-tCsOyPwxQ8xr5wMOWrFO3CEgdboXxMzMPrydZ7szXULi8LzztO9HHrg5WClwjAr9Zgfit0fHjmPd1FkIBP4k7A== + dependencies: + "@ant-design/charts-util" "0.0.1-alpha.5" + "@antv/event-emitter" "^0.1.3" + "@antv/g" "^6.0.0" + "@antv/g2" "^5.1.18" + "@antv/g2-extension-plot" "^0.2.0" + +"@ant-design/react-slick@~1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.1.2.tgz#f84ce3e4d0dc941f02b16f1d1d6d7a371ffbb4f1" + integrity sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA== + dependencies: + "@babel/runtime" "^7.10.4" + classnames "^2.2.5" + json2mq "^0.2.0" + resize-observer-polyfill "^1.5.1" + throttle-debounce "^5.0.0" + +"@antv/component@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@antv/component/-/component-2.0.0.tgz#f1ae55ddc7d94bcd4cb2a38de88889822ff6b94d" + integrity sha512-wl1pmqLIW/Zt9p7twMcAlvowHU81iV4bb5XWS38DL7gimSONHRh5C/uYKCXKB1KtHAH5d25YHESoGMBc0L3r+w== + dependencies: + "@antv/g" "^6.0.0" + "@antv/scale" "^0.4.3" + "@antv/util" "^3.3.5" + svg-path-parser "^1.1.0" + +"@antv/coord@^0.4.6": + version "0.4.7" + resolved "https://registry.yarnpkg.com/@antv/coord/-/coord-0.4.7.tgz#3ef6c6e3f9ca0f024b90888549946061f35df77a" + integrity sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA== + dependencies: + "@antv/scale" "^0.4.12" + "@antv/util" "^2.0.13" + gl-matrix "^3.4.3" + +"@antv/event-emitter@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz#3e06323b9dcd55a3241ddc7c5458cfabd2095164" + integrity sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg== + +"@antv/g-camera-api@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-camera-api/-/g-camera-api-2.0.1.tgz#6b838a636372901a3a46683fa8c40d5a3c30f516" + integrity sha512-TQuX7heO9Dk1bxBvk2Byk42QlHFimpPbI8LdrKQ25RrwTca7+94lZEbWXaN7J58yi4FQQDBiWZsNkbFK5wP37g== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-canvas@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-canvas/-/g-canvas-2.0.1.tgz#aed2a64bb1811fac14ea58b6e1566dd29676ab8e" + integrity sha512-I9Tc8csfvQ84tq14PbqzxuxybWoxK79m27eyOZIZH6k5QQucMyl7rk8ctjh2+YF/QYrXJeL2OMzKgkbECFxwnA== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/g-plugin-canvas-path-generator" "2.0.1" + "@antv/g-plugin-canvas-picker" "2.0.1" + "@antv/g-plugin-canvas-renderer" "2.0.1" + "@antv/g-plugin-dom-interaction" "2.0.1" + "@antv/g-plugin-html-renderer" "2.0.1" + "@antv/g-plugin-image-loader" "2.0.1" + "@antv/util" "^3.3.5" + tslib "^2.5.3" + +"@antv/g-dom-mutation-observer-api@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-2.0.1.tgz#e140c26945822b8ec9df2022f7100cf7f283320e" + integrity sha512-Jg/nc6klNpjTfvCb1tv1a5ICJRtRRGbXb+vNA37UJvttae/p2hLPOKYbLBcuNs4mQf+AOxY2TZ/3Z3onxjM6Aw== + dependencies: + "@antv/g-lite" "2.0.1" + +"@antv/g-lite@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-lite/-/g-lite-2.0.1.tgz#f765a669956812724b267430f26edf1fb40f91e8" + integrity sha512-buCkPKLWwErCySgwZVvLJow2bw9oK3Xk5VXzzOiuIqn5RAjEIyn0zSmMV6+KFiLteG9weIc/trb75rT2yVXUHw== + dependencies: + "@antv/g-math" "3.0.0" + "@antv/util" "^3.3.5" + d3-color "^1.4.0" + eventemitter3 "^5.0.1" + gl-matrix "^3.4.3" + rbush "^3.0.1" + tslib "^2.5.3" + +"@antv/g-math@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@antv/g-math/-/g-math-3.0.0.tgz#834d993391546e39ae5a30452572fdc49a7c57ec" + integrity sha512-AkmiNIEL1vgqTPeGY2wtsMdBBqKFwF7SKSgs+D1iOS/rqYMsXdhp/HvtuQ5tx/HdawE/ZzTiicIYopc520ADZw== + dependencies: + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-plugin-canvas-path-generator@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-2.0.1.tgz#de01b59e3a79dce5d6ae672769ebb3a99d521e9f" + integrity sha512-AEWkYW3j2q0dhZpY4w1zOTpl/qkkpQbGsT3XdSLXjQokx+ot4l7X3F+QYGobPoUkJbQxtiU1uiAhUAsIKLVjuQ== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/g-math" "3.0.0" + "@antv/util" "^3.3.5" + tslib "^2.5.3" + +"@antv/g-plugin-canvas-picker@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-2.0.1.tgz#188023307c33ad7fd427a59830d01f8b40ae7c61" + integrity sha512-0GN3Lhq3TtKY0EBk0//pQK1sBOFLd/W7ofNK4HorpP9GZyRugBHz1v8MEPrN7pCRE9jVLnLFGscLCtIuX2KEnA== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/g-math" "3.0.0" + "@antv/g-plugin-canvas-path-generator" "2.0.1" + "@antv/g-plugin-canvas-renderer" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-plugin-canvas-renderer@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-2.0.1.tgz#63afb3a9621e7fb183ae5ca46836d2b53ffa2d8b" + integrity sha512-WcxuqAGsI25yXspLJRc6uZtstWvwDGzFFVZ2FuJLYOFFI8C6v/BJ6Ptzq81e8ocVpy8mNuEUlxzh/V4IOYeg0g== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/g-math" "3.0.0" + "@antv/g-plugin-canvas-path-generator" "2.0.1" + "@antv/g-plugin-image-loader" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-plugin-dom-interaction@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-2.0.1.tgz#fed457d04c704bf66fe99b0e9d004a8c08e6ccd6" + integrity sha512-r6LByuKIReLQs4oU5duDBS+mhnMG8uMX/4jbGpFdf5NoFSCldcRgUiYW7m3RrPBOCSRcDsbXkKUqGAgKf67gnQ== + dependencies: + "@antv/g-lite" "2.0.1" + tslib "^2.5.3" + +"@antv/g-plugin-dragndrop@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-2.0.1.tgz#81a40af003c46826e735e2384d80e146a0a54124" + integrity sha512-ylw0G5SLUtjdYaWmDAZw1FrkK7ECxH1tQAtt8h3x9yQSeFSN3b0Kg559cyeJwf9FpMwCyMUpRjFULdb6zGDvrg== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + tslib "^2.5.3" + +"@antv/g-plugin-html-renderer@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-2.0.1.tgz#e89a388a3538dd5adb27a543a6ba8c985e478285" + integrity sha512-+UlRf+0aelxdr3cI5qVdsg3iTZkXR+CpEQHnMzx8Z4Uyf/67qNOJp5JFFVLXAvVqSkH/v8mWRmEcP3fEc9U6Dg== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-plugin-image-loader@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@antv/g-plugin-image-loader/-/g-plugin-image-loader-2.0.1.tgz#55649c6fc3a0757d6bb3f96ffea62e2625037ec8" + integrity sha512-5FJI7mmoPHlMGhBLJhLXGMZh1//xPvnu6CDZTp0adNRTJiMWVf/QlZSjBTrxlPLk60nmdSPS780K1mBf69fo8w== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-web-animations-api@2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@antv/g-web-animations-api/-/g-web-animations-api-2.0.2.tgz#c9ba452722ed1077429ad7f92fea21585c1e409f" + integrity sha512-7zkbboSkSEGuUlpyD955KPriozbZ7dYSTPyUgkRdtmmeUrs+38wAfU1N0ZaQHT4rsTXupbsCxnXRfq03q/bEkA== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + tslib "^2.5.3" + +"@antv/g2-extension-plot@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@antv/g2-extension-plot/-/g2-extension-plot-0.2.0.tgz#3c400e4e4bc8d1c8d2ffafa4fbdaf39a90cfebeb" + integrity sha512-XeJquOmZw3dHTj2qRNZJZlkX5qDrGJDMhuknHHMgGsj1PoPc8sOWzACesWVHB9tmHJqwheySWmwf4KLxtUBZ9w== + dependencies: + "@antv/g2" "^5.1.8" + "@antv/util" "^3.3.5" + d3-array "^3.2.4" + d3-hierarchy "^3.1.2" + +"@antv/g2@^5.1.18", "@antv/g2@^5.1.8": + version "5.1.19" + resolved "https://registry.yarnpkg.com/@antv/g2/-/g2-5.1.19.tgz#4b5ab17b643134773012fde95021d3745ce227ab" + integrity sha512-sVzxgAm6DE65wRQpZ3O+OaRlCjESC12oT2Rle6Cifb80dC6LDjZ4aBT9O90QCYibCJj6WCTrDQSasi+7ALo7MA== + dependencies: + "@antv/component" "^2.0.0" + "@antv/coord" "^0.4.6" + "@antv/event-emitter" "^0.1.3" + "@antv/g" "^6.0.0" + "@antv/g-canvas" "^2.0.0" + "@antv/g-plugin-dragndrop" "^2.0.0" + "@antv/path-util" "^3.0.1" + "@antv/scale" "^0.4.12" + "@antv/util" "^3.3.5" + d3-array "^3.2.4" + d3-dsv "^3.0.1" + d3-force "^3.0.0" + d3-format "^3.1.0" + d3-geo "^3.1.0" + d3-hierarchy "^3.1.2" + d3-path "^3.1.0" + d3-scale-chromatic "^3.0.0" + d3-shape "^3.2.0" + d3-voronoi "^1.1.4" + flru "^1.0.2" + fmin "^0.0.2" + pdfast "^0.2.0" + +"@antv/g@^6.0.0": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@antv/g/-/g-6.0.2.tgz#71b9acc6143500f36e55de4a120ce67cfb302c48" + integrity sha512-ZCpxUtU4JU1PIh2bDUlcnqLd8zJ2bOdx4EHYYTgUfMwu/hL2p/OYzg26A2qj91FL00JuZNEXVZdKAy5tm8jzmw== + dependencies: + "@antv/g-camera-api" "2.0.1" + "@antv/g-dom-mutation-observer-api" "2.0.1" + "@antv/g-lite" "2.0.1" + "@antv/g-web-animations-api" "2.0.2" + +"@antv/path-util@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-3.0.1.tgz#42fd84222824e8ad8d1bde70f164a05924870d4a" + integrity sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q== + dependencies: + gl-matrix "^3.1.0" + lodash-es "^4.17.21" + tslib "^2.0.3" + +"@antv/scale@^0.4.12", "@antv/scale@^0.4.3": + version "0.4.15" + resolved "https://registry.yarnpkg.com/@antv/scale/-/scale-0.4.15.tgz#491f3443f81c024f2bd9ac991bffa6e62809fe7f" + integrity sha512-b3b2U1L55fcJg0fB/BloVvcngPo/QxhosWgjn6JmYLVLezxDYMO+zdQou8hxpsLMUVhH15NqRDcM/1n4U6G04g== + dependencies: + "@antv/util" "^2.0.13" + color-string "^1.5.5" + fecha "^4.2.1" + +"@antv/util@^2.0.13": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@antv/util/-/util-2.0.17.tgz#e8ef42aca7892815b229269f3dd10c6b3c7597a9" + integrity sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q== + dependencies: + csstype "^3.0.8" + tslib "^2.0.3" + +"@antv/util@^3.3.5": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@antv/util/-/util-3.3.7.tgz#35a900f0e9b65defbb92ec0e92a20b8189a18815" + integrity sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg== + dependencies: + fast-deep-equal "^3.1.3" + gl-matrix "^3.3.0" + tslib "^2.3.1" + +"@apollo/cache-control-types@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz#5da62cf64c3b4419dabfef4536b57a40c8ff0b47" + integrity sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g== + +"@apollo/client@3.9.11": + version "3.9.11" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.9.11.tgz#737e5c35c21d6f3b78423033ad81837a8a6992e0" + integrity sha512-H7e9m7cRcFO93tokwzqrsbnfKorkpV24xU30hFH5u2g6B+c1DMo/ouyF/YrBPdrTzqxQCjTUmds/FLmJ7626GA== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + "@wry/caches" "^1.0.0" + "@wry/equality" "^0.5.6" + "@wry/trie" "^0.5.0" + graphql-tag "^2.12.6" + hoist-non-react-statics "^3.3.2" + optimism "^0.18.0" + prop-types "^15.7.2" + rehackt "0.0.6" + response-iterator "^0.2.6" + symbol-observable "^4.0.0" + ts-invariant "^0.10.3" + tslib "^2.3.0" + zen-observable-ts "^1.2.5" + +"@apollo/protobufjs@1.2.7": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" + integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + long "^4.0.0" + +"@apollo/server-gateway-interface@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz#a79632aa921edefcd532589943f6b97c96fa4d3c" + integrity sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ== + dependencies: + "@apollo/usage-reporting-protobuf" "^4.1.1" + "@apollo/utils.fetcher" "^2.0.0" + "@apollo/utils.keyvaluecache" "^2.1.0" + "@apollo/utils.logger" "^2.0.0" + +"@apollo/server@4.10.4": + version "4.10.4" + resolved "https://registry.yarnpkg.com/@apollo/server/-/server-4.10.4.tgz#98590173721b63bdec7ab2fe15179c8a04955233" + integrity sha512-HS12CUa1wq8f5zKXOKJRwRdESFp4por9AINecpcsEUV9jsCP/NqPILgx0hCOOFJuKxmnaL7070xO6l5xmOq4Fw== + dependencies: + "@apollo/cache-control-types" "^1.0.3" + "@apollo/server-gateway-interface" "^1.1.1" + "@apollo/usage-reporting-protobuf" "^4.1.1" + "@apollo/utils.createhash" "^2.0.0" + "@apollo/utils.fetcher" "^2.0.0" + "@apollo/utils.isnodelike" "^2.0.0" + "@apollo/utils.keyvaluecache" "^2.1.0" + "@apollo/utils.logger" "^2.0.0" + "@apollo/utils.usagereporting" "^2.1.0" + "@apollo/utils.withrequired" "^2.0.0" + "@graphql-tools/schema" "^9.0.0" + "@josephg/resolvable" "^1.0.0" + "@types/express" "^4.17.13" + "@types/express-serve-static-core" "^4.17.30" + "@types/node-fetch" "^2.6.1" + async-retry "^1.2.1" + cors "^2.8.5" + express "^4.17.1" + loglevel "^1.6.8" + lru-cache "^7.10.1" + negotiator "^0.6.3" + node-abort-controller "^3.1.1" + node-fetch "^2.6.7" + uuid "^9.0.0" + whatwg-mimetype "^3.0.0" + +"@apollo/usage-reporting-protobuf@^4.1.0", "@apollo/usage-reporting-protobuf@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz#407c3d18c7fbed7a264f3b9a3812620b93499de1" + integrity sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA== + dependencies: + "@apollo/protobufjs" "1.2.7" + +"@apollo/utils.createhash@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz#9d982a166833ce08265ff70f8ef781d65109bdaa" + integrity sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg== + dependencies: + "@apollo/utils.isnodelike" "^2.0.1" + sha.js "^2.4.11" + +"@apollo/utils.dropunuseddefinitions@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz#916cd912cbd88769d3b0eab2d24f4674eeda8124" + integrity sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA== + +"@apollo/utils.fetcher@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz#2f6e3edc8ce79fbe916110d9baaddad7e13d955f" + integrity sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A== + +"@apollo/utils.isnodelike@^2.0.0", "@apollo/utils.isnodelike@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz#08a7e50f08d2031122efa25af089d1c6ee609f31" + integrity sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q== + +"@apollo/utils.keyvaluecache@^2.1.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz#f3f79a2f00520c6ab7a77a680a4e1fec4d19e1a6" + integrity sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw== + dependencies: + "@apollo/utils.logger" "^2.0.1" + lru-cache "^7.14.1" + +"@apollo/utils.logger@^2.0.0", "@apollo/utils.logger@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-2.0.1.tgz#74faeb97d7ad9f22282dfb465bcb2e6873b8a625" + integrity sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg== + +"@apollo/utils.printwithreducedwhitespace@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz#f4fadea0ae849af2c19c339cc5420d1ddfaa905e" + integrity sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg== + +"@apollo/utils.removealiases@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz#2873c93d72d086c60fc0d77e23d0f75e66a2598f" + integrity sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA== + +"@apollo/utils.sortast@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz#58c90bb8bd24726346b61fa51ba7fcf06e922ef7" + integrity sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw== + dependencies: + lodash.sortby "^4.7.0" + +"@apollo/utils.stripsensitiveliterals@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz#2f3350483be376a98229f90185eaf19888323132" + integrity sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA== + +"@apollo/utils.usagereporting@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz#11bca6a61fcbc6e6d812004503b38916e74313f4" + integrity sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ== + dependencies: + "@apollo/usage-reporting-protobuf" "^4.1.0" + "@apollo/utils.dropunuseddefinitions" "^2.0.1" + "@apollo/utils.printwithreducedwhitespace" "^2.0.1" + "@apollo/utils.removealiases" "2.0.1" + "@apollo/utils.sortast" "^2.0.1" + "@apollo/utils.stripsensitiveliterals" "^2.0.1" + +"@apollo/utils.withrequired@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz#e72bc512582a6f26af150439f7eb7473b46ba874" + integrity sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA== + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" + integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.23.2", "@babel/core@^7.23.9", "@babel/core@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" + integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.4" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.24.4" + "@babel/parser" "^7.24.4" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.1" + "@babel/types" "^7.24.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.24.1", "@babel/generator@^7.24.4", "@babel/generator@^7.7.2": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" + integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== + dependencies: + "@babel/types" "^7.24.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz#c806f73788a6800a5cfbbc04d2df7ee4d927cce3" + integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.1": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd" + integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1" + integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6" + integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.1" + "@babel/types" "^7.24.0" + +"@babel/highlight@^7.24.2": + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" + integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" + integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz#6125f0158543fb4edf1c22f322f3db67f21cb3e1" + integrity sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf" + integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3" + integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988" + integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-proposal-decorators@^7.22.7": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz#bab2b9e174a2680f0a80f341f3ec70f809f8bb4b" + integrity sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-decorators" "^7.24.1" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz#71d9ad06063a6ac5430db126b5df48c70ee885fa" + integrity sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" + integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-attributes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093" + integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.24.1", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.24.1", "@babel/plugin-syntax-typescript@^7.3.3", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" + integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-async-generator-functions@^7.24.3": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89" + integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4" + integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== + dependencies: + "@babel/helper-module-imports" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380" + integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-block-scoping@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz#28f5c010b66fbb8ccdeef853bef1935c434d7012" + integrity sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29" + integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-class-static-block@^7.24.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz#1a4653c0cf8ac46441ec406dece6e9bc590356a4" + integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz#5bc8fc160ed96378184bc10042af47f50884dcb1" + integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7" + integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/template" "^7.24.0" + +"@babel/plugin-transform-destructuring@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz#b1e8243af4a0206841973786292b8c8dd8447345" + integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-dotall-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13" + integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-duplicate-keys@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88" + integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-dynamic-import@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd" + integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4" + integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-export-namespace-from@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd" + integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" + integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361" + integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-json-strings@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7" + integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096" + integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-logical-assignment-operators@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40" + integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489" + integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-amd@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39" + integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-commonjs@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9" + integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e" + integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef" + integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34" + integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" + integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8" + integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz#5a3ce73caf0e7871a02e1c31e8b473093af241ff" + integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.24.1" + +"@babel/plugin-transform-object-super@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520" + integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" + +"@babel/plugin-transform-optional-catch-binding@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da" + integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6" + integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz#983c15d114da190506c75b616ceb0f817afcc510" + integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-private-methods@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a" + integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-private-property-in-object@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz#756443d400274f8fb7896742962cc1b9f25c1f6a" + integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825" + integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-constant-elements@^7.21.3": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz#d493a0918b9fdad7540f5afd9b5eb5c52500d18d" + integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-display-name@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz#554e3e1a25d181f040cf698b93fd289a03bfdcdb" + integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" + +"@babel/plugin-transform-react-pure-annotations@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz#c86bce22a53956331210d268e49a0ff06e392470" + integrity sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-regenerator@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c" + integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1" + integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-runtime@^7.23.2": + version "7.24.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz#dc58ad4a31810a890550365cc922e1ff5acb5d7f" + integrity sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ== + dependencies: + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-plugin-utils" "^7.24.0" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.1" + babel-plugin-polyfill-regenerator "^0.6.1" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" + integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391" + integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9" + integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-template-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" + integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-typeof-symbol@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz#6831f78647080dec044f7e9f68003d99424f94c7" + integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-typescript@^7.24.1": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz#03e0492537a4b953e491f53f2bc88245574ebd15" + integrity sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-typescript" "^7.24.1" + +"@babel/plugin-transform-unicode-escapes@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4" + integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-property-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e" + integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385" + integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-sets-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f" + integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.23.2": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.4.tgz#46dbbcd608771373b88f956ffb67d471dce0d23b" + integrity sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== + dependencies: + "@babel/compat-data" "^7.24.4" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.4" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.24.1" + "@babel/plugin-syntax-import-attributes" "^7.24.1" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.24.1" + "@babel/plugin-transform-async-generator-functions" "^7.24.3" + "@babel/plugin-transform-async-to-generator" "^7.24.1" + "@babel/plugin-transform-block-scoped-functions" "^7.24.1" + "@babel/plugin-transform-block-scoping" "^7.24.4" + "@babel/plugin-transform-class-properties" "^7.24.1" + "@babel/plugin-transform-class-static-block" "^7.24.4" + "@babel/plugin-transform-classes" "^7.24.1" + "@babel/plugin-transform-computed-properties" "^7.24.1" + "@babel/plugin-transform-destructuring" "^7.24.1" + "@babel/plugin-transform-dotall-regex" "^7.24.1" + "@babel/plugin-transform-duplicate-keys" "^7.24.1" + "@babel/plugin-transform-dynamic-import" "^7.24.1" + "@babel/plugin-transform-exponentiation-operator" "^7.24.1" + "@babel/plugin-transform-export-namespace-from" "^7.24.1" + "@babel/plugin-transform-for-of" "^7.24.1" + "@babel/plugin-transform-function-name" "^7.24.1" + "@babel/plugin-transform-json-strings" "^7.24.1" + "@babel/plugin-transform-literals" "^7.24.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" + "@babel/plugin-transform-member-expression-literals" "^7.24.1" + "@babel/plugin-transform-modules-amd" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-modules-systemjs" "^7.24.1" + "@babel/plugin-transform-modules-umd" "^7.24.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.24.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" + "@babel/plugin-transform-numeric-separator" "^7.24.1" + "@babel/plugin-transform-object-rest-spread" "^7.24.1" + "@babel/plugin-transform-object-super" "^7.24.1" + "@babel/plugin-transform-optional-catch-binding" "^7.24.1" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + "@babel/plugin-transform-parameters" "^7.24.1" + "@babel/plugin-transform-private-methods" "^7.24.1" + "@babel/plugin-transform-private-property-in-object" "^7.24.1" + "@babel/plugin-transform-property-literals" "^7.24.1" + "@babel/plugin-transform-regenerator" "^7.24.1" + "@babel/plugin-transform-reserved-words" "^7.24.1" + "@babel/plugin-transform-shorthand-properties" "^7.24.1" + "@babel/plugin-transform-spread" "^7.24.1" + "@babel/plugin-transform-sticky-regex" "^7.24.1" + "@babel/plugin-transform-template-literals" "^7.24.1" + "@babel/plugin-transform-typeof-symbol" "^7.24.1" + "@babel/plugin-transform-unicode-escapes" "^7.24.1" + "@babel/plugin-transform-unicode-property-regex" "^7.24.1" + "@babel/plugin-transform-unicode-regex" "^7.24.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.1.tgz#2450c2ac5cc498ef6101a6ca5474de251e33aa95" + integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-transform-react-display-name" "^7.24.1" + "@babel/plugin-transform-react-jsx" "^7.23.4" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.24.1" + +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" + integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-typescript" "^7.24.1" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.6", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" + integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.16.0", "@babel/traverse@^7.24.1": + version "7.24.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" + integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== + dependencies: + "@babel/code-frame" "^7.24.1" + "@babel/generator" "^7.24.1" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.1" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@commitlint/cli@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.6.1.tgz#78bffdfa00d6f01425d53096954993d83f2b343d" + integrity sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw== + dependencies: + "@commitlint/format" "^18.6.1" + "@commitlint/lint" "^18.6.1" + "@commitlint/load" "^18.6.1" + "@commitlint/read" "^18.6.1" + "@commitlint/types" "^18.6.1" + execa "^5.0.0" + lodash.isfunction "^3.0.9" + resolve-from "5.0.0" + resolve-global "1.0.0" + yargs "^17.0.0" + +"@commitlint/config-conventional@^18.6.2": + version "18.6.3" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.6.3.tgz#1b2740dbe325d76e05924c46bc1504340b701ca1" + integrity sha512-8ZrRHqF6je+TRaFoJVwszwnOXb/VeYrPmTwPhf0WxpzpGTcYy1p0SPyZ2eRn/sRi/obnWAcobtDAq6+gJQQNhQ== + dependencies: + "@commitlint/types" "^18.6.1" + conventional-changelog-conventionalcommits "^7.0.2" + +"@commitlint/config-nx-scopes@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/config-nx-scopes/-/config-nx-scopes-18.6.1.tgz#18342feff2d88a1abccd96e52692389e5903c586" + integrity sha512-bNO1ts4k0P0QvigO4mibUbif9E4IYbtVA35Bdq2d6tFekJJs5BPaSQs8w+A0HWJfHIHAbrMhgupMDMyKDIEMyw== + +"@commitlint/config-validator@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.6.1.tgz#e0d71a99c984a68586c7ae7afd3f52342022fae8" + integrity sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw== + dependencies: + "@commitlint/types" "^18.6.1" + ajv "^8.11.0" + +"@commitlint/ensure@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.6.1.tgz#17141e083200ca94d8480dc23b0e8f8b1fd37b7f" + integrity sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ== + dependencies: + "@commitlint/types" "^18.6.1" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" + +"@commitlint/execute-rule@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-18.6.1.tgz#18175e043fe6fb5fceea7b8530316c644f93dfe6" + integrity sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg== + +"@commitlint/format@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.6.1.tgz#5f2b8b3ae4d8d80bd9239178e97df63e5b8d280a" + integrity sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg== + dependencies: + "@commitlint/types" "^18.6.1" + chalk "^4.1.0" + +"@commitlint/is-ignored@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.6.1.tgz#4ee08ba91ff3defb06e0ef19259a9c6734a8d06e" + integrity sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA== + dependencies: + "@commitlint/types" "^18.6.1" + semver "7.6.0" + +"@commitlint/lint@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.6.1.tgz#fe3834636c99ee14534a8eb3832831ac362e9fd8" + integrity sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ== + dependencies: + "@commitlint/is-ignored" "^18.6.1" + "@commitlint/parse" "^18.6.1" + "@commitlint/rules" "^18.6.1" + "@commitlint/types" "^18.6.1" + +"@commitlint/load@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.6.1.tgz#fb79ed7ee8b5897a9b5c274c1e24eda9162df816" + integrity sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA== + dependencies: + "@commitlint/config-validator" "^18.6.1" + "@commitlint/execute-rule" "^18.6.1" + "@commitlint/resolve-extends" "^18.6.1" + "@commitlint/types" "^18.6.1" + chalk "^4.1.0" + cosmiconfig "^8.3.6" + cosmiconfig-typescript-loader "^5.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" + resolve-from "^5.0.0" + +"@commitlint/message@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-18.6.1.tgz#107bd40923ad23d2de56c92a68b179ebfb7e314e" + integrity sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw== + +"@commitlint/parse@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.6.1.tgz#2946b814125e907b9c4d63d3e71d0c1b54b30b62" + integrity sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ== + dependencies: + "@commitlint/types" "^18.6.1" + conventional-changelog-angular "^7.0.0" + conventional-commits-parser "^5.0.0" + +"@commitlint/read@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.6.1.tgz#8c138311ed9749427920c369f6276be136f2aa50" + integrity sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w== + dependencies: + "@commitlint/top-level" "^18.6.1" + "@commitlint/types" "^18.6.1" + git-raw-commits "^2.0.11" + minimist "^1.2.6" + +"@commitlint/resolve-extends@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.6.1.tgz#f0572c682fc24dbabe2e0f42873261e0fa42c91a" + integrity sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ== + dependencies: + "@commitlint/config-validator" "^18.6.1" + "@commitlint/types" "^18.6.1" + import-fresh "^3.0.0" + lodash.mergewith "^4.6.2" + resolve-from "^5.0.0" + resolve-global "^1.0.0" + +"@commitlint/rules@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.6.1.tgz#da25aeffe6c0e1c7625e44f46089fb8860986caf" + integrity sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew== + dependencies: + "@commitlint/ensure" "^18.6.1" + "@commitlint/message" "^18.6.1" + "@commitlint/to-lines" "^18.6.1" + "@commitlint/types" "^18.6.1" + execa "^5.0.0" + +"@commitlint/to-lines@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-18.6.1.tgz#d28827a4a540c98eea1aae31dafd66f80b2f1b9e" + integrity sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q== + +"@commitlint/top-level@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-18.6.1.tgz#429fcb985e3beaba9b17e05c0ae61926c647baf0" + integrity sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw== + dependencies: + find-up "^5.0.0" + +"@commitlint/types@^18.6.1": + version "18.6.1" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.6.1.tgz#7eb3ab2d799d9166fbb98b96b0744581e59a4ad4" + integrity sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg== + dependencies: + chalk "^4.1.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@ctrl/tinycolor@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" + integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== + +"@cypress/request@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" + integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + http-signature "~1.3.6" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + performance-now "^2.1.0" + qs "6.10.4" + safe-buffer "^5.1.2" + tough-cookie "^4.1.3" + tunnel-agent "^0.6.0" + uuid "^8.3.2" + +"@cypress/xvfb@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" + integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + +"@emotion/unitless@^0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== + +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== + +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== + +"@graphql-tools/merge@^8.4.1": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.2.tgz#95778bbe26b635e8d2f60ce9856b388f11fe8288" + integrity sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw== + dependencies: + "@graphql-tools/utils" "^9.2.1" + tslib "^2.4.0" + +"@graphql-tools/schema@^9.0.0": + version "9.0.19" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.19.tgz#c4ad373b5e1b8a0cf365163435b7d236ebdd06e7" + integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== + dependencies: + "@graphql-tools/merge" "^8.4.1" + "@graphql-tools/utils" "^9.2.1" + tslib "^2.4.0" + value-or-promise "^1.0.12" + +"@graphql-tools/utils@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" + integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + tslib "^2.4.0" + +"@graphql-typed-document-node/core@^3.1.1": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== + +"@humanwhocodes/config-array@^0.11.13", "@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + +"@ideafast/idgen@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@ideafast/idgen/-/idgen-0.1.1.tgz#966ad2d74238a77881cfa427a8c3e9225ee0c24f" + integrity sha512-1kaaUD9LXRYnUqK2yJnwMXon2F3vqKzViAbEZQTeYAghLB60EEIbC4JXoi+KbKKxYNHNB03MGWUR5y3Ec+yEgA== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/create-cache-key-function@^29", "@jest/create-cache-key-function@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== + dependencies: + "@jest/types" "^29.6.3" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29", "@jest/reporters@^29.4.1", "@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29", "@jest/test-result@^29.4.1", "@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@josephg/resolvable@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" + integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== + +"@ljharb/resumer@~0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@ljharb/resumer/-/resumer-0.0.1.tgz#8a940a9192dd31f6a1df17564bbd26dc6ad3e68d" + integrity sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw== + dependencies: + "@ljharb/through" "^2.3.9" + +"@ljharb/through@^2.3.9", "@ljharb/through@~2.3.9": + version "2.3.13" + resolved "https://registry.yarnpkg.com/@ljharb/through/-/through-2.3.13.tgz#b7e4766e0b65aa82e529be945ab078de79874edc" + integrity sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== + dependencies: + call-bind "^1.0.7" + +"@mapbox/node-pre-gyp@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" + integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== + dependencies: + detect-libc "^2.0.0" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.7" + nopt "^5.0.0" + npmlog "^5.0.1" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.11" + +"@mole-inc/bin-wrapper@^8.0.1": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz#d7fd0ceb1cfa8a855293a3ed9d7d135f4d442f0e" + integrity sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA== + dependencies: + bin-check "^4.1.0" + bin-version-check "^5.0.0" + content-disposition "^0.5.4" + ext-name "^5.0.0" + file-type "^17.1.6" + filenamify "^5.0.2" + got "^11.8.5" + os-filter-obj "^2.0.0" + +"@mongodb-js/saslprep@^1.1.0", "@mongodb-js/saslprep@^1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz#0c48a96c8d799e81fae311b7251aa5c1dc7c6e95" + integrity sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA== + dependencies: + sparse-bitfield "^3.0.3" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nrwl/cypress@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-18.3.2.tgz#cfac64a2654fd3cb7c7af85d50753f230a366afe" + integrity sha512-URumzi1TlAdBPrRYVyE8mhB3FUNaMqP0wB6laWyv11Ya2vWoYhVonfAHVPDyjEhjDGrcFH4e648Jig54VNFQrA== + dependencies: + "@nx/cypress" "18.3.2" + +"@nrwl/devkit@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-18.3.2.tgz#21aa1db02ddc1d26856d964526e1120ca7479612" + integrity sha512-srguS6WNE/sP99OTfPqUdI22CNEocvxyz4TOB6Uj5zcFiKIFOlWn0NFwathdWVKwvsszY1Zvt/YiVjzYNUDqWw== + dependencies: + "@nx/devkit" "18.3.2" + +"@nrwl/esbuild@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-18.3.2.tgz#5dc4d7bceee8cfe6b3f47a4eccc881ce086abb06" + integrity sha512-d9RUt4bfgBGYMiCnegIwUmjJA+HBW5ep+DdpmURbNfhHwuNjtW2nu6zOqfc88CVxjjl+V6v6EVdDb2ADLx03FA== + dependencies: + "@nx/esbuild" "18.3.2" + +"@nrwl/eslint-plugin-nx@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.3.2.tgz#27fc0b57804898a079595a2558128384e8990841" + integrity sha512-EwMYEy0hCKbx7hjKzX9bqJmhNsvNi4R5QtcZ8ySG/8nJViFPRgF0CtnVpjF4Kc3Yhog+c+bBs1DInxGsRtIieQ== + dependencies: + "@nx/eslint-plugin" "18.3.2" + +"@nrwl/express@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-18.3.2.tgz#d6cff283ef740a311dc220959ee0b24fc3d8f6e1" + integrity sha512-ppFsOfvk/tcbrZexYZ0Qh5wny6t61Ub+8WcmKCzwJ5a3+JwdY4T7L5cp7qh2SAVvuEDaz9z0/bhfRgAkFCljQQ== + dependencies: + "@nx/express" "18.3.2" + +"@nrwl/jest@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-18.3.2.tgz#e63dea1dfce0733a581c3b81ba6398cb6637d83c" + integrity sha512-V3zH1qoXprwZfBKx+y37kGu9hoVzOm1JwvHAOKXK6DktWgq/DaihCkRJ1f3xbOJIrBAGKmV0jnhnoGhsDfJUcQ== + dependencies: + "@nx/jest" "18.3.2" + +"@nrwl/js@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-18.3.2.tgz#6d8eccf157c912a0f047ee5aab5ece36f5652704" + integrity sha512-/vYlncYqQeK9u7vsqLP2huwIXzmwDlkzkaHo35X6JcCY2Xph+TLsV8ZiZs5ygTtkt+po8Th4g0l3NZfZ1EtZvg== + dependencies: + "@nx/js" "18.3.2" + +"@nrwl/node@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-18.3.2.tgz#0d4e967dd527febf2defddcf69849932ded6cb0d" + integrity sha512-k5DW3KfR7poE12IhBKt+qyLeH72AqPJtV6VQOk8g91HyG4PmWAL9+laZvlekr1RhLBc4jBLw5/xaR2a6lqEVew== + dependencies: + "@nx/node" "18.3.2" + +"@nrwl/react@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-18.3.2.tgz#d3b056ce2c121ecf2e428ad980853a7bbef59e4f" + integrity sha512-fdHitQQxAovy4Ez53+C3+KkN51WU4PO0UrlkWtlOqOpOWDS9VOUmj6nc2MO7i9EDZ9FwaV+JhIh6ZhasLuP0vw== + dependencies: + "@nx/react" "18.3.2" + +"@nrwl/tao@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-18.3.2.tgz#20f99fb5ee76aacb0efda7a1c264f890c4e6c163" + integrity sha512-TQmaUMEIlKcytBpaHVG3VMPhfoJl09u3KaE6F1eJcFi7+za8rivH+HM+jlhwCAOlaC9bmnvJy0GvnFa5WtScsg== + dependencies: + nx "18.3.2" + tslib "^2.3.0" + +"@nrwl/web@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-18.3.2.tgz#56c2eca8b1bee22e91961a704f3bf1c6f76da26e" + integrity sha512-QHWGsLoSQfgwfive/77alaEh3w3k25yuuWgtPfIgcoR5fHYezXhGbBNE7XAihEjsdg/nY+k1fnEwrFYKg57r0A== + dependencies: + "@nx/web" "18.3.2" + +"@nrwl/webpack@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-18.3.2.tgz#c3b5d316a97af3f4832dbbaedb3a32c487478f26" + integrity sha512-3W8vNjs8R3vtLxKyv+hgT9IGlMHijmKIoQiuFcpvrc8gN8d/du1wnj1DfPAKblhV+1we5YBmPjJNRWzeXbI0YA== + dependencies: + "@nx/webpack" "18.3.2" + +"@nrwl/workspace@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-18.3.2.tgz#2206071e4f6af3da4bc6b2205bc66d7638b7e21a" + integrity sha512-Bv9EuaH5egyNfiojkkW/P/CcNgbbU5XyHInClS1u6MfFhM8N9+ptLMYNobtx0K8tLnE2jxYCxbi1lLy1oy7ebg== + dependencies: + "@nx/workspace" "18.3.2" + +"@nx/cypress@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-18.3.2.tgz#0eb6b8c85a18be526c45da4f92c569146c7e373a" + integrity sha512-cdtNXUQeQ677eDwTKW9SoGJv5neMdCGOgqGM7GkQine1wDAxw+i//6U2BvH3sYd8b9DGMbKQwxyiQciKBdTigw== + dependencies: + "@nrwl/cypress" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/eslint" "18.3.2" + "@nx/js" "18.3.2" + "@phenomnomnominal/tsquery" "~5.0.1" + detect-port "^1.5.1" + semver "^7.5.3" + tslib "^2.3.0" + +"@nx/devkit@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-18.3.2.tgz#f2515620b87a6880096ae59f9899f23844370ba6" + integrity sha512-H55m7R6zKteZ5DE0o2IOwpwo8RQXiH4RkBELWn9YkSQPvps8K7psyMzPQofP37qD5S0u7pYjGIWiJDzij+OeEQ== + dependencies: + "@nrwl/devkit" "18.3.2" + ejs "^3.1.7" + enquirer "~2.3.6" + ignore "^5.0.4" + semver "^7.5.3" + tmp "~0.2.1" + tslib "^2.3.0" + yargs-parser "21.1.1" + +"@nx/esbuild@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-18.3.2.tgz#0210d50dcfdbe12979dcca630e90ef8f20e9cc7d" + integrity sha512-DiH3vqC/4+VYcIXWSIoYLmPM6Ld3rJFnKNLhYqYc+laTVz1CY+ZNzB+bxyHlfbYJZP0+ObhFwtnF5SPxJXm0/Q== + dependencies: + "@nrwl/esbuild" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/js" "18.3.2" + chalk "^4.1.0" + fast-glob "3.2.7" + fs-extra "^11.1.0" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + +"@nx/eslint-plugin@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-18.3.2.tgz#e3126728b7731c75fcf02e51dcf8baa1745d6bd0" + integrity sha512-/itrQZ4jFWTigZUrj96SRDX0VWZcaP9jl1GKOpwFL3jNigHad1whjr0TbESkJLE38BWGUrPH0OPPsQe59CETnQ== + dependencies: + "@nrwl/eslint-plugin-nx" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/js" "18.3.2" + "@typescript-eslint/type-utils" "^7.3.0" + "@typescript-eslint/utils" "^7.3.0" + chalk "^4.1.0" + confusing-browser-globals "^1.0.9" + jsonc-eslint-parser "^2.1.0" + semver "^7.5.3" + tslib "^2.3.0" + +"@nx/eslint@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-18.3.2.tgz#47028d32f6f27e558b6a44cc1f8e52450d0805f7" + integrity sha512-A2ys6tGtvUifcUZIB8s5tTmEt3D3DySxk7JYFpHpCTWzySU0FXhng7Zf585sESf1U0jLoQ0x+FYvtMuZdOyvxg== + dependencies: + "@nx/devkit" "18.3.2" + "@nx/js" "18.3.2" + "@nx/linter" "18.3.2" + eslint "^8.0.0" + tslib "^2.3.0" + typescript "~5.4.2" + +"@nx/express@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/express/-/express-18.3.2.tgz#6dd2f211720bd13f31a06de2b48c27fb9c929c84" + integrity sha512-0VdQ2DtHWe7RqRuqsFM8POWAe+7PphNVD1QHqsuxJDZN1eqfL3EQtDAoIdzimFRdU+JE9vGsCK8jM0Tr3sfmyw== + dependencies: + "@nrwl/express" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/node" "18.3.2" + tslib "^2.3.0" + +"@nx/jest@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-18.3.2.tgz#6294fbc64ebf04be5557d135e2cf719d7dca7008" + integrity sha512-Kn8STXrvHfhM3sdHPYNFz3smfMIwldp0x6DPclFd9HMJYcR63t55eYsvUqCwSY/T87qyjLoYtgeJO6k9hq6Rgw== + dependencies: + "@jest/reporters" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@nrwl/jest" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/js" "18.3.2" + "@phenomnomnominal/tsquery" "~5.0.1" + chalk "^4.1.0" + identity-obj-proxy "3.0.0" + jest-config "^29.4.1" + jest-resolve "^29.4.1" + jest-util "^29.4.1" + minimatch "9.0.3" + resolve.exports "1.1.0" + tslib "^2.3.0" + yargs-parser "21.1.1" + +"@nx/js@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/js/-/js-18.3.2.tgz#fdaf042cd5dea30892d97b30f584491aabb58a78" + integrity sha512-272opZpNpijPH/KecAeG1JFamRuS05DJKM+V/otSUwAjtakx8DmKfy0X1bNJ1ajMFyk55F5MuIeEhM4I856iVw== + dependencies: + "@babel/core" "^7.23.2" + "@babel/plugin-proposal-decorators" "^7.22.7" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-runtime" "^7.23.2" + "@babel/preset-env" "^7.23.2" + "@babel/preset-typescript" "^7.22.5" + "@babel/runtime" "^7.22.6" + "@nrwl/js" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/workspace" "18.3.2" + "@phenomnomnominal/tsquery" "~5.0.1" + babel-plugin-const-enum "^1.0.1" + babel-plugin-macros "^2.8.0" + babel-plugin-transform-typescript-metadata "^0.3.1" + chalk "^4.1.0" + columnify "^1.6.0" + detect-port "^1.5.1" + fast-glob "3.2.7" + fs-extra "^11.1.0" + ignore "^5.0.4" + js-tokens "^4.0.0" + minimatch "9.0.3" + npm-package-arg "11.0.1" + npm-run-path "^4.0.1" + ora "5.3.0" + semver "^7.5.3" + source-map-support "0.5.19" + ts-node "10.9.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + +"@nx/linter@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-18.3.2.tgz#13706fe0d43240bf55c267e46309361b205dd346" + integrity sha512-vX1NhzE15JTramqTukDA4AueTedlfDyuIlSgFUK5Ilhd88i8C9BCzEgdagk9IlIqIHnGN/XtrqZRFVmPJ1uZXA== + dependencies: + "@nx/eslint" "18.3.2" + +"@nx/node@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/node/-/node-18.3.2.tgz#739e3c8ea22a886d52e932a003b867049c848488" + integrity sha512-HcbUU76V3x0xZ8Lr8RaZxKwirLOuQHfLgA7TxHapuwy5U2dfoQHThlf5dsjb8wZVi62h6IBeYmP/E7Y91hpxuw== + dependencies: + "@nrwl/node" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/eslint" "18.3.2" + "@nx/jest" "18.3.2" + "@nx/js" "18.3.2" + tslib "^2.3.0" + +"@nx/nx-darwin-arm64@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.2.tgz#2aee0898234376bdd2c9b7928b18c4ce2c9afc99" + integrity sha512-x+C4a+DMGxHks/aKtyYa5+muF5BrJcDwxSPazRmrI9c80vo3J8TYjryXPHyZ/L3/3oNp72FtyPR46z3qf8NpQQ== + +"@nx/nx-darwin-x64@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-18.3.2.tgz#45f8bc9fdd071138f513ad6b88f1988736747eb6" + integrity sha512-5krmqFbsaeDLpSRaonEqlAiL4MBIWVguE9vs0/lp6vlnyIXT3TRftk4B4Tpi+PqIN6tC/Ll8gGoHzSdwHboAcg== + +"@nx/nx-freebsd-x64@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.3.2.tgz#0e8722f29ad49f114b1b486fdc17878a40549868" + integrity sha512-FenZBqJ5FK/QoExmngolq3q5NsOmJgrhy1Q3NiG0yOTcXnwIZO9pHmRDTZ33niTxuXSRvCgvJE4uBAM9YvptYw== + +"@nx/nx-linux-arm-gnueabihf@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.3.2.tgz#a8ea0482f034ca34354b7cdd4a3311ee986edde1" + integrity sha512-xjh4WvRIN1vZpsL4tFlaAoZ15R/R4a7e+4Ai8h8evRA7Mz31k/iUEpfcF+6EJfwFX0IjI59QnWzZ19Z5XFfl0Q== + +"@nx/nx-linux-arm64-gnu@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.3.2.tgz#798409918ffb0096f07540a080e7001793e3b607" + integrity sha512-Y82fDCuIjirdsS1tKfqC91qLdVhYS6NcU310fzMP4HI4A4WwdcMqHnn6E/O2glYW9CTYRQANo89fB44Zqbg7Cg== + +"@nx/nx-linux-arm64-musl@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.3.2.tgz#976e8d01229cccb76e738fab69a6b7218c59f60a" + integrity sha512-iaGfejem22yJI707jlWMDwlUFStT3zzm+hUJOWcTH/owREVDDcX9SrYOcNoqecipGFttwEow7jtgg2E/9mb20A== + +"@nx/nx-linux-x64-gnu@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.3.2.tgz#d41644efe55fa7d8c9d0a1a5d8eff7283d51377c" + integrity sha512-VV6T/tXURZ0r2N6VArI0JW4+Lf6Zq4UssCn6GS3cj75q7OhsQDqgcVIjET7zjqRhrc6ndZdi7d4YdEndOEMU+Q== + +"@nx/nx-linux-x64-musl@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.3.2.tgz#9ad2492a4b9b5fb4ccea513b8c554d0645ee93f3" + integrity sha512-Pg3/HmNbCTd5Hm/EXHu+FRl4OInbqX44qh0pMpSuCSIjVPbyCXlKCQRsQWo6d3KQIUOvYsBZRAKjHVhhywcScg== + +"@nx/nx-win32-arm64-msvc@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.3.2.tgz#fff2b1a856f91ce3e36d6a4cd9d358a20a776feb" + integrity sha512-c1aOj27HjQPDrGwHm2ytQfHQNMFJ8AyKLtWOEGMhUwDsRRqHd61Pg8kqSac1A9sdrSq4jRfVYsbzaGl1bE+gcw== + +"@nx/nx-win32-x64-msvc@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.3.2.tgz#58e9fd9ab952794b098b7081e0b2b617b3ba52e6" + integrity sha512-yDSYZch5RUQKFeGBloAbIKIeYNg8862ZX/lT54GeSYnI/32KqFABwuCV+tGjvPoTgA4Q0sI/F8i0NPhYwsC1Ww== + +"@nx/react@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/react/-/react-18.3.2.tgz#a57bd927609f7f3f542022cf3d51485b684c15e1" + integrity sha512-JHaHD0D7Sv43CPRTFuBX3I/CIZ06nbj56Tvd5G+XK8e+rcYznnUn3feTdAv1Jel9BPwRcxMuOiObqSmcD0ZaiA== + dependencies: + "@nrwl/react" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/eslint" "18.3.2" + "@nx/js" "18.3.2" + "@nx/web" "18.3.2" + "@phenomnomnominal/tsquery" "~5.0.1" + "@svgr/webpack" "^8.0.1" + chalk "^4.1.0" + file-loader "^6.2.0" + minimatch "9.0.3" + tslib "^2.3.0" + +"@nx/web@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/web/-/web-18.3.2.tgz#ddead0495b141085581c96429386b36afdb2f287" + integrity sha512-blai/s6OlsHu4YgOJ1TTc8Ed69lnwaSI92O064RanXzHHcouBm7R4P7d5Dn7LgEwTxFIF/M3KOXIc7LBSKykmQ== + dependencies: + "@nrwl/web" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/js" "18.3.2" + chalk "^4.1.0" + detect-port "^1.5.1" + http-server "^14.1.0" + tslib "^2.3.0" + +"@nx/webpack@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-18.3.2.tgz#82681fc616cc1b654477b4316dc6f43bf80e9684" + integrity sha512-nKWp6FhLTpX0aqfdPEJGUfAK5AMZb9ACnCJqbVUgtSUjrnwQzifcaep6Qm41uJUvAhF3tsBxUx9YwQZu09wgIQ== + dependencies: + "@babel/core" "^7.23.2" + "@nrwl/webpack" "18.3.2" + "@nx/devkit" "18.3.2" + "@nx/js" "18.3.2" + ajv "^8.12.0" + autoprefixer "^10.4.9" + babel-loader "^9.1.2" + browserslist "^4.21.4" + chalk "^4.1.0" + copy-webpack-plugin "^10.2.4" + css-loader "^6.4.0" + css-minimizer-webpack-plugin "^5.0.0" + fork-ts-checker-webpack-plugin "7.2.13" + less "4.1.3" + less-loader "11.1.0" + license-webpack-plugin "^4.0.2" + loader-utils "^2.0.3" + mini-css-extract-plugin "~2.4.7" + parse5 "4.0.0" + postcss "^8.4.14" + postcss-import "~14.1.0" + postcss-loader "^6.1.1" + rxjs "^7.8.0" + sass "^1.42.1" + sass-loader "^12.2.0" + source-map-loader "^3.0.0" + style-loader "^3.3.0" + stylus "^0.59.0" + stylus-loader "^7.1.0" + terser-webpack-plugin "^5.3.3" + ts-loader "^9.3.1" + tsconfig-paths-webpack-plugin "4.0.0" + tslib "^2.3.0" + webpack "^5.80.0" + webpack-dev-server "^4.9.3" + webpack-node-externals "^3.0.0" + webpack-subresource-integrity "^5.1.0" + +"@nx/workspace@18.3.2": + version "18.3.2" + resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-18.3.2.tgz#2b9cecbe92c3dacf34d827df54595ec7281dc87d" + integrity sha512-PMNouZpzu+RpwxBDCjqPAD6YwK8GYXh+vT+2cg/BBzFBCUvBZgSSLIYfZDNDKASgqvhFbgEePWZZnfGnxenj1A== + dependencies: + "@nrwl/workspace" "18.3.2" + "@nx/devkit" "18.3.2" + chalk "^4.1.0" + enquirer "~2.3.6" + nx "18.3.2" + tslib "^2.3.0" + yargs-parser "21.1.1" + +"@phenomnomnominal/tsquery@~5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz#a2a5abc89f92c01562a32806655817516653a388" + integrity sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA== + dependencies: + esquery "^1.4.0" + +"@pmmmwh/react-refresh-webpack-plugin@^0.5.11": + version "0.5.11" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a" + integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== + dependencies: + ansi-html-community "^0.0.8" + common-path-prefix "^3.0.0" + core-js-pure "^3.23.3" + error-stack-parser "^2.0.6" + find-up "^5.0.0" + html-entities "^2.1.0" + loader-utils "^2.0.4" + schema-utils "^3.0.0" + source-map "^0.7.3" + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + +"@rc-component/color-picker@~1.5.3": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.5.3.tgz#f3b0e14bb67ec5ee77d1fd5d261f63dd4fd00449" + integrity sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw== + dependencies: + "@babel/runtime" "^7.23.6" + "@ctrl/tinycolor" "^3.6.1" + classnames "^2.2.6" + rc-util "^5.38.1" + +"@rc-component/context@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@rc-component/context/-/context-1.4.0.tgz#dc6fb021d6773546af8f016ae4ce9aea088395e8" + integrity sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w== + dependencies: + "@babel/runtime" "^7.10.1" + rc-util "^5.27.0" + +"@rc-component/mini-decimal@^1.0.1": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz#7b7a362b14a0a54cb5bc6fd2b82731f29f11d9b0" + integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ== + dependencies: + "@babel/runtime" "^7.18.0" + +"@rc-component/mutate-observer@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz#ee53cc88b78aade3cd0653609215a44779386fd8" + integrity sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0", "@rc-component/portal@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" + integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/tour@~1.14.2": + version "1.14.2" + resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.14.2.tgz#142f0973975eb0e3af3c75aa868ffc9d8ba27cae" + integrity sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g== + dependencies: + "@babel/runtime" "^7.18.0" + "@rc-component/portal" "^1.0.0-9" + "@rc-component/trigger" "^2.0.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/trigger@^2.0.0", "@rc-component/trigger@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-2.1.1.tgz#47973f1156ba63810c913eb46cbaedeba913874b" + integrity sha512-UjHkedkgtEcgQu87w1VuWug1idoDJV7VUt0swxHXRcmei2uu1AuUzGBPEUlmOmXGJ+YtTgZfVLi7kuAUKoZTMA== + dependencies: + "@babel/runtime" "^7.23.2" + "@rc-component/portal" "^1.1.0" + classnames "^2.3.2" + rc-motion "^2.0.0" + rc-resize-observer "^1.3.1" + rc-util "^5.38.0" + +"@remix-run/router@1.15.3": + version "1.15.3" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.3.tgz#d2509048d69dbb72d5389a14945339f1430b2d3c" + integrity sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@svgr/webpack@8.1.0", "@svgr/webpack@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" + integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== + dependencies: + "@babel/core" "^7.21.3" + "@babel/plugin-transform-react-constant-elements" "^7.21.3" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + +"@swc/cli@0.3.12": + version "0.3.12" + resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.3.12.tgz#0c083946989d55c83a5bffdb73273a1756f7fd4b" + integrity sha512-h7bvxT+4+UDrLWJLFHt6V+vNAcUNii2G4aGSSotKz1ECEk4MyEh5CWxmeSscwuz5K3i+4DWTgm4+4EyMCQKn+g== + dependencies: + "@mole-inc/bin-wrapper" "^8.0.1" + "@swc/counter" "^0.1.3" + commander "^8.3.0" + fast-glob "^3.2.5" + minimatch "^9.0.3" + piscina "^4.3.0" + semver "^7.3.8" + slash "3.0.0" + source-map "^0.7.3" + +"@swc/core-darwin-arm64@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.16.tgz#2cd45d709ce76d448d96bf8d0006849541436611" + integrity sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ== + +"@swc/core-darwin-x64@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.16.tgz#a5bc7d8b1dd850adb0bb95c6b5c742b92201fd01" + integrity sha512-t3bgqFoYLWvyVtVL6KkFNCINEoOrIlyggT/kJRgi1y0aXSr0oVgcrQ4ezJpdeahZZ4N+Q6vT3ffM30yIunELNA== + +"@swc/core-linux-arm-gnueabihf@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.16.tgz#961744908ee5cbb79bc009dcf58cc8b831111f38" + integrity sha512-DvHuwvEF86YvSd0lwnzVcjOTZ0jcxewIbsN0vc/0fqm9qBdMMjr9ox6VCam1n3yYeRtj4VFgrjeNFksqbUejdQ== + +"@swc/core-linux-arm64-gnu@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.16.tgz#43713be3f26757d82d2745dc25f8b63400e0a3d0" + integrity sha512-9Uu5YlPbyCvbidjKtYEsPpyZlu16roOZ5c2tP1vHfnU9bgf5Tz5q5VovSduNxPHx+ed2iC1b1URODHvDzbbDuQ== + +"@swc/core-linux-arm64-musl@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.16.tgz#394a7d030f3a61902bd3947bb9d70d26d42f3c81" + integrity sha512-/YZq/qB1CHpeoL0eMzyqK5/tYZn/rzKoCYDviFU4uduSUIJsDJQuQA/skdqUzqbheOXKAd4mnJ1hT04RbJ8FPQ== + +"@swc/core-linux-x64-gnu@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.16.tgz#71eb108b784f9d551ee8a35ebcdaed972f567981" + integrity sha512-UUjaW5VTngZYDcA8yQlrFmqs1tLi1TxbKlnaJwoNhel9zRQ0yG1YEVGrzTvv4YApSuIiDK18t+Ip927bwucuVQ== + +"@swc/core-linux-x64-musl@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.16.tgz#10dbaedb4e3dfc7268e3a9a66ad3431471ef035b" + integrity sha512-aFhxPifevDTwEDKPi4eRYWzC0p/WYJeiFkkpNU5Uc7a7M5iMWPAbPFUbHesdlb9Jfqs5c07oyz86u+/HySBNPQ== + +"@swc/core-win32-arm64-msvc@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.16.tgz#80247adff6c245ff32b44d773c1a148858cd655f" + integrity sha512-bTD43MbhIHL2s5QgCwyleaGwl96Gk/scF2TaVKdUe4QlJCDV/YK9h5oIBAp63ckHtE8GHlH4c8dZNBiAXn4Org== + +"@swc/core-win32-ia32-msvc@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.16.tgz#e540afc3ccf3224267b4ddfb408f9d9737984686" + integrity sha512-/lmZeAN/qV5XbK2SEvi8e2RkIg8FQNYiSA8y2/Zb4gTUMKVO5JMLH0BSWMiIKMstKDPDSxMWgwJaQHF8UMyPmQ== + +"@swc/core-win32-x64-msvc@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.16.tgz#f880939fca32c181adfe7e3abd2b6b7857bd3489" + integrity sha512-BPAfFfODWXtUu6SwaTTftDHvcbDyWBSI/oanUeRbQR5vVWkXoQ3cxLTsDluc3H74IqXS5z1Uyoe0vNo2hB1opA== + +"@swc/core@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.16.tgz#d175bae2acfecd53bcbd4293f1fba5ec316634a0" + integrity sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA== + dependencies: + "@swc/counter" "^0.1.2" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.4.16" + "@swc/core-darwin-x64" "1.4.16" + "@swc/core-linux-arm-gnueabihf" "1.4.16" + "@swc/core-linux-arm64-gnu" "1.4.16" + "@swc/core-linux-arm64-musl" "1.4.16" + "@swc/core-linux-x64-gnu" "1.4.16" + "@swc/core-linux-x64-musl" "1.4.16" + "@swc/core-win32-arm64-msvc" "1.4.16" + "@swc/core-win32-ia32-msvc" "1.4.16" + "@swc/core-win32-x64-msvc" "1.4.16" + +"@swc/counter@^0.1.2", "@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@0.5.10": + version "0.5.10" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.10.tgz#5720082d007197cd85743dd599198097126a3f6e" + integrity sha512-CU+RF9FySljn7HVSkkjiB84hWkvTaI3rtLvF433+jRSBL2hMu3zX5bGhHS8C80SM++h4xy8hBSnUHFQHmRXSBw== + dependencies: + tslib "^2.4.0" + +"@swc/jest@0.2.36": + version "0.2.36" + resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.36.tgz#2797450a30d28b471997a17e901ccad946fe693e" + integrity sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw== + dependencies: + "@jest/create-cache-key-function" "^29.7.0" + "@swc/counter" "^0.1.3" + jsonc-parser "^3.2.0" + +"@swc/types@^0.1.5": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.6.tgz#2f13f748995b247d146de2784d3eb7195410faba" + integrity sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg== + dependencies: + "@swc/counter" "^0.1.3" + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@testing-library/dom@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.0.0.tgz#ae1ab88aad35a728a38264041163174cafd7e8dd" + integrity sha512-PmJPnogldqoVFf+EwbHvbBJ98MmqASV8kLrBYgsDNxQcFMeIS7JFL48sfyXvuMtgmWO/wMhh25odr+8VhDmn4g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.3.0" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + +"@testing-library/react@15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-15.0.2.tgz#d0fd7e9c41b819557639acf5f18e4cd1007ec295" + integrity sha512-5mzIpuytB1ctpyywvyaY2TAAUQVCZIGqwiqFQf6u9lvj/SJQepGUzNV18Xpk+NLCaCE2j7CWrZE0tEf9xLZYiQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^10.0.0" + "@types/react-dom" "^18.0.0" + +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/aria-query@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/bcrypt@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/bcrypt/-/bcrypt-5.0.2.tgz#22fddc11945ea4fbc3655b3e8b8847cc9f811477" + integrity sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ== + dependencies: + "@types/node" "*" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect-timeout@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/connect-timeout/-/connect-timeout-0.0.39.tgz#8b6800599808688ae74d1352e702a24d2cca4ee1" + integrity sha512-PHUX9yixjm4qjQ27Uz+F5cyG9Fio9iY7e6eWHvNT0wbA8eu9JaDqxRRiXn5uYnd09zx1fM+wEHnuBHMm9gwOuQ== + dependencies: + "@types/express" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/cookiejar@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.5.tgz#14a3e83fa641beb169a2dd8422d91c3c345a9a78" + integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== + +"@types/cors@2.8.17": + version "2.8.17" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" + integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.56.9" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.9.tgz#403e9ced04a34e63f1c383c5b8ee1a94442c8cc4" + integrity sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.30", "@types/express-serve-static-core@^4.17.33": + version "4.19.0" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz#3ae8ab3767d98d0b682cda063c3339e1e86ccfaa" + integrity sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express-session@1.18.0": + version "1.18.0" + resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.18.0.tgz#7c6f25c3604b28d6bc08a2e3929997bbc7672fa2" + integrity sha512-27JdDRgor6PoYlURY+Y5kCakqp5ulC0kmf7y+QwaY+hv9jEFuQOThgkjyA53RP3jmKuBsH5GR6qEfFmvb8mwOA== + dependencies: + "@types/express" "*" + +"@types/express@*", "@types/express@4.17.21", "@types/express@^4.17.13": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/fs-extra@11.0.4": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45" + integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== + dependencies: + "@types/jsonfile" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/http-cache-semantics@*": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.8": + version "1.17.14" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@29.5.12": + version "29.5.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/jsdom@^20.0.0": + version "20.0.1" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" + integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== + dependencies: + "@types/node" "*" + "@types/tough-cookie" "*" + parse5 "^7.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json2csv@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@types/json2csv/-/json2csv-5.0.7.tgz#c80ff09b669f8e3ee60be19d91326275a6a2346b" + integrity sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA== + dependencies: + "@types/node" "*" + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/jsonfile@*": + version "6.1.4" + resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702" + integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== + dependencies: + "@types/node" "*" + +"@types/jsonwebtoken@9.0.6": + version "9.0.6" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz#d1af3544d99ad992fb6681bbe60676e06b032bd3" + integrity sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw== + dependencies: + "@types/node" "*" + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + +"@types/long@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + +"@types/methods@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@types/methods/-/methods-1.1.4.tgz#d3b7ac30ac47c91054ea951ce9eed07b1051e547" + integrity sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/minimist@^1.2.0": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/node-fetch@^2.6.1": + version "2.6.11" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" + integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== + dependencies: + "@types/node" "*" + form-data "^4.0.0" + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@^20.12.7": + version "20.12.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" + integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== + dependencies: + undici-types "~5.26.4" + +"@types/nodemailer@6.4.14": + version "6.4.14" + resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.14.tgz#5c81a5e856db7f8ede80013e6dbad7c5fb2283e2" + integrity sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA== + dependencies: + "@types/node" "*" + +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/passport@1.0.16": + version "1.0.16" + resolved "https://registry.yarnpkg.com/@types/passport/-/passport-1.0.16.tgz#5a2918b180a16924c4d75c31254c31cdca5ce6cf" + integrity sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A== + dependencies: + "@types/express" "*" + +"@types/prop-types@*": + version "15.7.12" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + +"@types/qrcode@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.5.tgz#993ff7c6b584277eee7aac0a20861eab682f9dac" + integrity sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg== + dependencies: + "@types/node" "*" + +"@types/qs@*": + version "6.9.15" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" + integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/react-dom@18.2.25", "@types/react-dom@^18.0.0": + version "18.2.25" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.25.tgz#2946a30081f53e7c8d585eb138277245caedc521" + integrity sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA== + dependencies: + "@types/react" "*" + +"@types/react-highlight-words@0.16.7": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@types/react-highlight-words/-/react-highlight-words-0.16.7.tgz#82fdd2d2abe4c4a5c0da44be749660f6ec42f0c2" + integrity sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@18.2.79": + version "18.2.79" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.79.tgz#c40efb4f255711f554d47b449f796d1c7756d865" + integrity sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/responselike@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== + dependencies: + "@types/node" "*" + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/semver@^7.5.8": + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.7" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" + integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + "@types/send" "*" + +"@types/sinonjs__fake-timers@8.1.1": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" + integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== + +"@types/sizzle@^2.3.2": + version "2.3.8" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" + integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== + +"@types/sockjs@^0.3.33": + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/superagent@^8.1.0": + version "8.1.6" + resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.6.tgz#e660543b1a4b7c7473caec4799de87ff68216270" + integrity sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ== + dependencies: + "@types/cookiejar" "^2.1.5" + "@types/methods" "^1.1.4" + "@types/node" "*" + +"@types/supertest@6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-6.0.2.tgz#2af1c466456aaf82c7c6106c6b5cbd73a5e86588" + integrity sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg== + dependencies: + "@types/methods" "^1.1.4" + "@types/superagent" "^8.1.0" + +"@types/tmp@0.2.6": + version "0.2.6" + resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.6.tgz#d785ee90c52d7cc020e249c948c36f7b32d1e217" + integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== + +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + +"@types/uuid@9.0.8": + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== + +"@types/webidl-conversions@*": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz#1306dbfa53768bcbcfc95a1c8cde367975581859" + integrity sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA== + +"@types/webpack-env@1.18.4": + version "1.18.4" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.4.tgz#62879b0a9c653f9b1172d403b882f2045ecce032" + integrity sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A== + +"@types/whatwg-url@^11.0.2": + version "11.0.4" + resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-11.0.4.tgz#ffed0dc8d89d91f62e3f368fcbda222a487c4f63" + integrity sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw== + dependencies: + "@types/webidl-conversions" "*" + +"@types/whatwg-url@^8.2.1": + version "8.2.2" + resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" + integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== + dependencies: + "@types/node" "*" + "@types/webidl-conversions" "*" + +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz#bf34a02f221811505b8bf2f31060c8560c1bb0a3" + integrity sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/type-utils" "7.7.0" + "@typescript-eslint/utils" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.7.0.tgz#6b1b3ce76c5de002c43af8ae933613b0f2b4bcc6" + integrity sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg== + dependencies: + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/typescript-estree" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz#3f0db079b275bb8b0cb5be7613fb3130cfb5de77" + integrity sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw== + dependencies: + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" + +"@typescript-eslint/type-utils@7.7.0", "@typescript-eslint/type-utils@^7.3.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz#36792ff4209a781b058de61631a48df17bdefbc5" + integrity sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg== + dependencies: + "@typescript-eslint/typescript-estree" "7.7.0" + "@typescript-eslint/utils" "7.7.0" + debug "^4.3.4" + ts-api-utils "^1.3.0" + +"@typescript-eslint/types@7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.7.0.tgz#23af4d24bf9ce15d8d301236e3e3014143604f27" + integrity sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w== + +"@typescript-eslint/typescript-estree@7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz#b5dd6383b4c6a852d7b256a37af971e8982be97f" + integrity sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ== + dependencies: + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/utils@7.7.0", "@typescript-eslint/utils@^7.3.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.7.0.tgz#3d2b6606a60ac34f3c625facfb3b3ab7e126f58d" + integrity sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.15" + "@types/semver" "^7.5.8" + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/typescript-estree" "7.7.0" + semver "^7.6.0" + +"@typescript-eslint/visitor-keys@7.7.0": + version "7.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz#950148cf1ac11562a2d903fdf7acf76714a2dc9e" + integrity sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA== + dependencies: + "@typescript-eslint/types" "7.7.0" + eslint-visitor-keys "^3.4.3" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@xtuc/long" "4.2.2" + +"@wry/caches@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" + integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== + dependencies: + tslib "^2.3.0" + +"@wry/context@^0.7.0": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.4.tgz#e32d750fa075955c4ab2cfb8c48095e1d42d5990" + integrity sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== + dependencies: + tslib "^2.3.0" + +"@wry/equality@^0.5.6": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" + integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" + integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" + integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== + dependencies: + tslib "^2.3.0" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +"@yarnpkg/parsers@3.0.0-rc.46": + version "3.0.0-rc.46" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" + integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== + dependencies: + js-yaml "^3.10.0" + tslib "^2.4.0" + +"@zkochan/js-yaml@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" + integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== + dependencies: + argparse "^2.0.1" + +"@zxing/text-encoding@0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" + integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== + +JSONStream@1.3.5, JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abab@^2.0.5, abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.1.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +address@^1.0.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agent-base@^7.0.2: + version "7.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.11.0, ajv@^8.12.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + integrity sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg== + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-escapes@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f" + integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.0.0, ansi-styles@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +antd@5.16.2: + version "5.16.2" + resolved "https://registry.yarnpkg.com/antd/-/antd-5.16.2.tgz#30ef0294699bc12b4fce5ca30baa5779c2bd2659" + integrity sha512-46BC1IaCRzkdcTAs1TuIZ1D56JrIRP5yWGrlfV+kGjro1c2dVaQP7yGXA2/m29uF41TqptxOYl36opY5ydN++A== + dependencies: + "@ant-design/colors" "^7.0.2" + "@ant-design/cssinjs" "^1.18.5" + "@ant-design/icons" "^5.3.6" + "@ant-design/react-slick" "~1.1.2" + "@babel/runtime" "^7.24.4" + "@ctrl/tinycolor" "^3.6.1" + "@rc-component/color-picker" "~1.5.3" + "@rc-component/mutate-observer" "^1.1.0" + "@rc-component/tour" "~1.14.2" + "@rc-component/trigger" "^2.1.1" + classnames "^2.5.1" + copy-to-clipboard "^3.3.3" + dayjs "^1.11.10" + qrcode.react "^3.1.0" + rc-cascader "~3.24.1" + rc-checkbox "~3.2.0" + rc-collapse "~3.7.3" + rc-dialog "~9.4.0" + rc-drawer "~7.1.0" + rc-dropdown "~4.2.0" + rc-field-form "~1.44.0" + rc-image "~7.6.0" + rc-input "~1.4.5" + rc-input-number "~9.0.0" + rc-mentions "~2.11.1" + rc-menu "~9.13.0" + rc-motion "^2.9.0" + rc-notification "~5.4.0" + rc-pagination "~4.0.4" + rc-picker "~4.3.2" + rc-progress "~4.0.0" + rc-rate "~2.12.0" + rc-resize-observer "^1.4.0" + rc-segmented "~2.3.0" + rc-select "~14.13.1" + rc-slider "~10.5.0" + rc-steps "~6.0.1" + rc-switch "~4.1.0" + rc-table "~7.45.4" + rc-tabs "~14.1.1" + rc-textarea "~1.6.3" + rc-tooltip "~6.2.0" + rc-tree "~5.8.5" + rc-tree-select "~5.19.0" + rc-upload "~4.5.2" + rc-util "^5.39.1" + scroll-into-view-if-needed "^3.1.0" + throttle-debounce "^5.0.0" + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apollo-upload-client@18.0.1: + version "18.0.1" + resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz#e3811f2f5a36bffef23954f796daf331be748dcb" + integrity sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA== + dependencies: + extract-files "^13.0.0" + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +arch@^2.1.0, arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@5.3.0, aria-query@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + +array-includes@^3.1.6, array-includes@^3.1.7: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-union@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" + integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== + +array.prototype.findlast@^1.2.4: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.toreversed@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" + integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" + integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.1.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +asn1.js@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-mutex@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.1.tgz#bccf55b96f2baf8df90ed798cb5544a1f6ee4c2c" + integrity sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA== + dependencies: + tslib "^2.4.0" + +async-retry@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +async-validator@^4.1.0: + version "4.2.5" + resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +async@^3.2.0, async@^3.2.3, async@^3.2.4: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +attr-accept@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + +autoprefixer@^10.4.9: + version "10.4.19" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" + integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== + dependencies: + browserslist "^4.23.0" + caniuse-lite "^1.0.30001599" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +axe-core@=4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" + integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== + +axios@1.6.8, axios@^1.6.0: + version "1.6.8" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" + integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axobject-query@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" + integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== + dependencies: + dequal "^2.0.3" + +b4a@^1.6.4: + version "1.6.6" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.6.tgz#a4cc349a3851987c3c4ac2d7785c18744f6da9ba" + integrity sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== + +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@^9.1.2: + version "9.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== + dependencies: + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" + +babel-plugin-const-enum@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz#3d25524106f68f081e187829ba736b251c289861" + integrity sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-typescript" "^7.3.3" + "@babel/traverse" "^7.16.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.10" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1" + integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.1" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz#4f08ef4c62c7a7f66a35ed4c0d75e30506acc6be" + integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.1" + +babel-plugin-transform-typescript-metadata@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz#7a327842d8c36ffe07ee1b5276434e56c297c9b7" + integrity sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +bare-events@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.2.2.tgz#a98a41841f98b2efe7ecc5c5468814469b018078" + integrity sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +bcrypt@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.1.tgz#0f732c6dcb4e12e5b70a25e326a72965879ba6e2" + integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.11" + node-addon-api "^5.0.0" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +bin-check@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-4.1.0.tgz#fc495970bdc88bb1d5a35fc17e65c4a149fc4a49" + integrity sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA== + dependencies: + execa "^0.7.0" + executable "^4.1.0" + +bin-version-check@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-5.1.0.tgz#788e80e036a87313f8be7908bc20e5abe43f0837" + integrity sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g== + dependencies: + bin-version "^6.0.0" + semver "^7.5.3" + semver-truncate "^3.0.0" + +bin-version@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-6.0.0.tgz#08ecbe5fc87898b441425e145f9e105064d00315" + integrity sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw== + dependencies: + execa "^5.0.0" + find-versions "^5.0.0" + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +blob-util@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" + integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== + +block-stream2@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/block-stream2/-/block-stream2-2.1.0.tgz#ac0c5ef4298b3857796e05be8ebed72196fa054b" + integrity sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg== + dependencies: + readable-stream "^3.4.0" + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +body-parser@1.20.2: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" + integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-or-node@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-2.1.1.tgz#738790b3a86a8fc020193fa581273fbe65eaea0f" + integrity sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg== + +browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.23.0: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +bson@^5.5.0: + version "5.5.1" + resolved "https://registry.yarnpkg.com/bson/-/bson-5.5.1.tgz#f5849d405711a7f23acdda9a442375df858e6833" + integrity sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g== + +bson@^6.4.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/bson/-/bson-6.6.0.tgz#f225137eb49fe19bee4d87949a0515c05176e2ad" + integrity sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA== + +buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0, buffer@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +builtins@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" + integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== + dependencies: + semver "^7.0.0" + +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +cachedir@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" + integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@~1.0.2: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0, camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: + version "1.0.30001610" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz#2f44ed6e21d359e914271ae35b68903632628ccf" + integrity sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + integrity sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ== + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +chalk@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +check-more-types@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== + +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@3.1.0, cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== + dependencies: + restore-cursor "^4.0.0" + +cli-spinners@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-table3@~0.6.1: + version "0.6.4" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.4.tgz#d1c536b8a3f2e7bec58f67ac9e5769b1b30088b0" + integrity sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +cli-truncate@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" + integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== + dependencies: + slice-ansi "^5.0.0" + string-width "^7.0.0" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + integrity sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA== + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.5: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color-support@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colord@^2.9.3: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10, colorette@^2.0.16, colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + +commander@7, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commitlint@^18.6.1: + version "18.6.1" + resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-18.6.1.tgz#0f583f08dbef1d54599b3022b553c52b0c0b5db3" + integrity sha512-I10mj1OmBCrPUHItRqeCEj0uxCdWxL15sCfS1Poq8av2FcX/KvRoiH8jTNG0cVDA2ns7IftugTAM+nLvOavLsw== + dependencies: + "@commitlint/cli" "^18.6.1" + "@commitlint/types" "^18.6.1" + +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +component-emitter@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +compute-scroll-into-view@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87" + integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +confusing-browser-globals@^1.0.9: + version "1.0.11" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +connect-mongo@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/connect-mongo/-/connect-mongo-5.1.0.tgz#8eb66bf94c3e5af0442278a5f43bd15c365eac92" + integrity sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw== + dependencies: + debug "^4.3.1" + kruptein "^3.0.0" + +connect-timeout@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.9.0.tgz#bc27326b122103714bebfa0d958bab33f6522e3a" + integrity sha512-q4bsBIPd+eSGtnh/u6EBOKfuG+4YvwsN0idlOsg6KAw71Qpi0DCf2eCc/Va63QU9qdOeYC8katxoC+rHMNygZg== + dependencies: + http-errors "~1.6.1" + ms "2.0.0" + on-finished "~2.3.0" + on-headers "~1.0.1" + +console-control-strings@^1.0.0, console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +content-disposition@0.5.4, content-disposition@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +contour_plot@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/contour_plot/-/contour_plot-0.0.1.tgz#475870f032b8e338412aa5fc507880f0bf495c77" + integrity sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw== + +conventional-changelog-angular@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" + integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-conventionalcommits@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz#aa5da0f1b2543094889e8cf7616ebe1a8f5c70d5" + integrity sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w== + dependencies: + compare-func "^2.0.0" + +conventional-commits-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#57f3594b81ad54d40c1b4280f04554df28627d9a" + integrity sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA== + dependencies: + JSONStream "^1.3.5" + is-text-path "^2.0.0" + meow "^12.0.1" + split2 "^4.0.0" + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie-signature@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" + integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== + +cookie@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== + +cookiejar@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-to-clipboard@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +copy-webpack-plugin@^10.2.4: + version "10.2.4" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" + integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== + dependencies: + fast-glob "^3.2.7" + glob-parent "^6.0.1" + globby "^12.0.2" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.31.0, core-js-compat@^3.36.1: + version "3.36.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8" + integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== + dependencies: + browserslist "^4.23.0" + +core-js-pure@^3.23.3: + version "3.36.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.36.1.tgz#1461c89e76116528b54eba20a0aff30164087a94" + integrity sha512-NXCvHvSVYSrewP0L5OhltzXeWFJLo2AL2TYnj6iLV3Bw8mM62wAQMNgUCRI6EBu6hVVpbCxmOPlxh1Ikw2PfUA== + +core-js@^3.37.0: + version "3.37.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.0.tgz#d8dde58e91d156b2547c19d8a4efd5c7f6c426bb" + integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@2.8.5, cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" + integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== + +cosmiconfig-typescript-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz#0d3becfe022a871f7275ceb2397d692e06045dc8" + integrity sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA== + dependencies: + jiti "^1.19.1" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@^8.1.3, cosmiconfig@^8.3.6: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-declaration-sorter@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" + integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== + +css-loader@^6.10.0, css-loader@^6.4.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" + integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-minimizer-webpack-plugin@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" + integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + cssnano "^6.0.1" + jest-worker "^29.4.3" + postcss "^8.4.24" + schema-utils "^4.0.1" + serialize-javascript "^6.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e" + integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== + dependencies: + browserslist "^4.23.0" + css-declaration-sorter "^7.2.0" + cssnano-utils "^4.0.2" + postcss-calc "^9.0.1" + postcss-colormin "^6.1.0" + postcss-convert-values "^6.1.0" + postcss-discard-comments "^6.0.2" + postcss-discard-duplicates "^6.0.3" + postcss-discard-empty "^6.0.3" + postcss-discard-overridden "^6.0.2" + postcss-merge-longhand "^6.0.5" + postcss-merge-rules "^6.1.1" + postcss-minify-font-values "^6.1.0" + postcss-minify-gradients "^6.0.3" + postcss-minify-params "^6.1.0" + postcss-minify-selectors "^6.0.4" + postcss-normalize-charset "^6.0.2" + postcss-normalize-display-values "^6.0.2" + postcss-normalize-positions "^6.0.2" + postcss-normalize-repeat-style "^6.0.2" + postcss-normalize-string "^6.0.2" + postcss-normalize-timing-functions "^6.0.2" + postcss-normalize-unicode "^6.1.0" + postcss-normalize-url "^6.0.2" + postcss-normalize-whitespace "^6.0.2" + postcss-ordered-values "^6.0.2" + postcss-reduce-initial "^6.1.0" + postcss-reduce-transforms "^6.0.2" + postcss-svgo "^6.0.3" + postcss-unique-selectors "^6.0.4" + +cssnano-utils@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c" + integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== + +cssnano@^6.0.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8" + integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== + dependencies: + cssnano-preset-default "^6.1.2" + lilconfig "^3.1.1" + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + +cssom@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" + integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2, csstype@^3.0.8, csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +csv-parse@5.5.5: + version "5.5.5" + resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517" + integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ== + +cypress@^13.8.0: + version "13.8.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.8.0.tgz#118e94161334e03841714c9b9b3600ae853c11f9" + integrity sha512-Qau//mtrwEGOU9cn2YjavECKyDUwBh8J2tit+y9s1wsv6C3BX+rlv6I9afmQnL8PmEEzJ6be7nppMHacFzZkTw== + dependencies: + "@cypress/request" "^3.0.0" + "@cypress/xvfb" "^1.2.4" + "@types/sinonjs__fake-timers" "8.1.1" + "@types/sizzle" "^2.3.2" + arch "^2.2.0" + blob-util "^2.0.2" + bluebird "^3.7.2" + buffer "^5.7.1" + cachedir "^2.3.0" + chalk "^4.1.0" + check-more-types "^2.24.0" + cli-cursor "^3.1.0" + cli-table3 "~0.6.1" + commander "^6.2.1" + common-tags "^1.8.0" + dayjs "^1.10.4" + debug "^4.3.4" + enquirer "^2.3.6" + eventemitter2 "6.4.7" + execa "4.1.0" + executable "^4.1.1" + extract-zip "2.0.1" + figures "^3.2.0" + fs-extra "^9.1.0" + getos "^3.2.1" + is-ci "^3.0.1" + is-installed-globally "~0.4.0" + lazy-ass "^1.6.0" + listr2 "^3.8.3" + lodash "^4.17.21" + log-symbols "^4.0.0" + minimist "^1.2.8" + ospath "^1.2.2" + pretty-bytes "^5.6.0" + process "^0.11.10" + proxy-from-env "1.0.0" + request-progress "^3.0.0" + semver "^7.5.3" + supports-color "^8.1.1" + tmp "~0.2.1" + untildify "^4.0.0" + yauzl "^2.10.0" + +"d3-array@2.5.0 - 3", d3-array@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +"d3-color@1 - 3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-color@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a" + integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q== + +"d3-dispatch@1 - 3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +d3-dsv@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" + integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== + dependencies: + commander "7" + iconv-lite "0.6" + rw "1" + +d3-force@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" + integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== + dependencies: + d3-dispatch "1 - 3" + d3-quadtree "1 - 3" + d3-timer "1 - 3" + +d3-format@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" + integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== + +d3-geo@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.1.tgz#6027cf51246f9b2ebd64f99e01dc7c3364033a4d" + integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== + dependencies: + d3-array "2.5.0 - 3" + +d3-hierarchy@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== + +"d3-interpolate@1 - 3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + +"d3-quadtree@1 - 3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" + integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== + +d3-scale-chromatic@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#34c39da298b23c20e02f1a4b239bd0f22e7f1314" + integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== + dependencies: + d3-color "1 - 3" + d3-interpolate "1 - 3" + +d3-shape@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + +"d3-timer@1 - 3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +d3-voronoi@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297" + integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +data-urls@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" + integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +dayjs@1.11.10, dayjs@^1.10.4, dayjs@^1.11.10: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.1.0, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +dedent@^1.0.0: + version "1.5.3" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== + +deep-equal@~1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== + dependencies: + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" + object-keys "^1.1.1" + regexp.prototype.flags "^1.5.1" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@4.3.1, deepmerge@^4.2.2, deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +defined@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-libc@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + dependencies: + address "^1.0.1" + debug "4" + +dezalgo@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== + dependencies: + asap "^2.0.0" + wrappy "1" + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@~10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" + integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== + +dotenv@~16.3.1: + version "16.3.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" + integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== + +dotignore@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" + integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== + dependencies: + minimatch "^3.0.4" + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +ejs@^3.1.7: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.4.668: + version "1.4.737" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.737.tgz#3a774a58e04980741f65d440f5fdf57af18b6dde" + integrity sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0, enhanced-resolve@^5.16.0, enhanced-resolve@^5.7.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz#65ec88778083056cb32487faa9aef82ed0864787" + integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.6: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +enquirer@~2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-iterator-helpers@^1.0.15, es-iterator-helpers@^1.0.17: + version "1.0.18" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz#4d3424f46b24df38d064af6fbbc89274e29ea69d" + integrity sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + iterator.prototype "^1.1.2" + safe-array-concat "^1.1.2" + +es-module-lexer@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.0.tgz#4878fee3789ad99e065f975fdd3c645529ff0236" + integrity sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw== + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +esbuild@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + optionalDependencies: + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-compat-utils@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz#f7b2eb2befec25a370fac76934d3f9189f312a65" + integrity sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg== + dependencies: + semver "^7.5.4" + +eslint-config-prettier@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" + integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== + dependencies: + debug "^3.2.7" + +eslint-plugin-cypress@2.15.2: + version "2.15.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.2.tgz#f22e12fad4c434edad7b298ef92bac8fa087ffa0" + integrity sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ== + dependencies: + globals "^13.20.0" + +eslint-plugin-import@2.29.1: + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.15.0" + +eslint-plugin-jsonc@2.15.0: + version "2.15.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.15.0.tgz#3d6e329ae37a4240e2647c0e71f77ec6725a6897" + integrity sha512-wAphMVgTQPAKAYV8d/QEkEYDg8uer9nMQ85N17IUiJcAWLxJs83/Exe59dEH9yKUpvpLf46H+wR7/U7lZ3/NpQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + eslint-compat-utils "^0.5.0" + espree "^9.6.1" + graphemer "^1.4.0" + jsonc-eslint-parser "^2.0.4" + natural-compare "^1.4.0" + synckit "^0.6.0" + +eslint-plugin-jsx-a11y@6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" + integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== + dependencies: + "@babel/runtime" "^7.23.2" + aria-query "^5.3.0" + array-includes "^3.1.7" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "=4.7.0" + axobject-query "^3.2.1" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + es-iterator-helpers "^1.0.15" + hasown "^2.0.0" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.entries "^1.1.7" + object.fromentries "^2.0.7" + +eslint-plugin-react-hooks@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@7.34.1: + version "7.34.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz#6806b70c97796f5bbfb235a5d3379ece5f4da997" + integrity sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlast "^1.2.4" + array.prototype.flatmap "^1.3.2" + array.prototype.toreversed "^1.1.2" + array.prototype.tosorted "^1.1.3" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.17" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.7" + object.fromentries "^2.0.7" + object.hasown "^1.1.3" + object.values "^1.1.7" + prop-types "^15.8.1" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.10" + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@8.56.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.56.0" + "@humanwhocodes/config-array" "^0.11.13" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +eslint@^8.0.0: + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.0.0, espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0, esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter2@6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" + integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +executable@^4.1.0, executable@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +export-from-json@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/export-from-json/-/export-from-json-1.7.4.tgz#ea2ea0e88ae27870aba3727a8e7eb8c6439ca4a6" + integrity sha512-FjmpluvZS2PTYyhkoMfQoyEJMfe2bfAyNpa5Apa6C9n7SWUWyJkG/VFnzERuj3q9Jjo3iwBjwVsDQ7Z7sczthA== + +express-rate-limit@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.2.0.tgz#06ce387dd5388f429cab8263c514fc07bf90a445" + integrity sha512-T7nul1t4TNyfZMJ7pKRKkdeVJWa2CqB8NA1P8BwYaoDI5QSBZARv5oMS43J7b7I5P+4asjVXjb7ONuwDKucahg== + +express-session@1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.18.0.tgz#a6ae39d9091f2efba5f20fc5c65a3ce7c9ce16a3" + integrity sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ== + dependencies: + cookie "0.6.0" + cookie-signature "1.0.7" + debug "2.6.9" + depd "~2.0.0" + on-headers "~1.0.2" + parseurl "~1.3.3" + safe-buffer "5.2.1" + uid-safe "~2.1.5" + +express@^4.17.1, express@^4.17.3, express@^4.19.2: + version "4.19.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" + integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.2" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.6.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext-list@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" + integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== + dependencies: + mime-db "^1.28.0" + +ext-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" + integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== + dependencies: + ext-list "^2.0.0" + sort-keys-length "^1.0.0" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extract-files@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-13.0.0.tgz#9065073dedbcfb5e2ae8a90988cf609834b217ec" + integrity sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g== + dependencies: + is-plain-obj "^4.1.0" + +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-fifo@^1.1.0, fast-fifo@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + +fast-glob@3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-safe-stringify@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fast-xml-parser@^4.2.2: + version "4.3.6" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz#190f9d99097f0c8f2d3a0e681a10404afca052ff" + integrity sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw== + dependencies: + strnum "^1.0.5" + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +fecha@^4.2.1: + version "4.2.3" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" + integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== + +figures@3.2.0, figures@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-selector@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" + integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== + dependencies: + tslib "^2.4.0" + +file-type@^17.1.6: + version "17.1.6" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.1.6.tgz#18669e0577a4849ef6e73a41f8bdf1ab5ae21023" + integrity sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw== + dependencies: + readable-web-to-node-stream "^3.0.2" + strtok3 "^7.0.0-alpha.9" + token-types "^5.0.0-alpha.2" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +filename-reserved-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz#3d5dd6d4e2d73a3fed2ebc4cd0b3448869a081f7" + integrity sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw== + +filenamify@^5.0.2: + version "5.1.1" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-5.1.1.tgz#a1ccc5ae678a5e34f578afcb9b72898264d166d2" + integrity sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA== + dependencies: + filename-reserved-regex "^3.0.0" + strip-outer "^2.0.0" + trim-repeated "^2.0.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +find-versions@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-5.1.0.tgz#973f6739ce20f5e439a27eba8542a4b236c8e685" + integrity sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg== + dependencies: + semver-regex "^4.0.5" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +flru@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flru/-/flru-1.0.2.tgz#1ae514c62b8b035ffff9ca9e4563ddcc817f4845" + integrity sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog== + +fmin@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/fmin/-/fmin-0.0.2.tgz#59bbb40d43ffdc1c94cd00a568c41f95f1973017" + integrity sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A== + dependencies: + contour_plot "^0.0.1" + json2module "^0.0.3" + rollup "^0.25.8" + tape "^4.5.1" + uglify-js "^2.6.2" + +follow-redirects@^1.0.0, follow-redirects@^1.15.6: + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + +for-each@^0.3.3, for-each@~0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +fork-ts-checker-webpack-plugin@7.2.13: + version "7.2.13" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz#51ffd6a2f96f03ab64b92f8aedf305dbf3dee0f1" + integrity sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg== + dependencies: + "@babel/code-frame" "^7.16.7" + chalk "^4.1.2" + chokidar "^3.5.3" + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + fs-extra "^10.0.0" + memfs "^3.4.1" + minimatch "^3.0.4" + node-abort-controller "^3.0.1" + schema-utils "^3.1.1" + semver "^7.3.5" + tapable "^2.2.1" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +formidable@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" + integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== + dependencies: + dezalgo "^1.0.4" + hexoid "^1.0.0" + once "^1.4.0" + qs "^6.11.0" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@11.2.0, fs-extra@^11.1.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-east-asian-width@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" + integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-port@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-7.1.0.tgz#d5a500ebfc7aa705294ec2b83cc38c5d0e364fec" + integrity sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw== + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +git-raw-commits@^2.0.11: + version "2.0.11" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +git-rev-sync@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/git-rev-sync/-/git-rev-sync-3.0.2.tgz#9763c730981187c3419b75dd270088cc5f0e161b" + integrity sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ== + dependencies: + escape-string-regexp "1.0.5" + graceful-fs "4.1.15" + shelljs "0.8.5" + +gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" + integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== + dependencies: + ini "^1.3.4" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0, globals@^13.20.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^12.0.2: + version "12.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-12.2.0.tgz#2ab8046b4fba4ff6eede835b29f678f90e3d3c22" + integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== + dependencies: + array-union "^3.0.1" + dir-glob "^3.0.1" + fast-glob "^3.2.7" + ignore "^5.1.9" + merge2 "^1.4.1" + slash "^4.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^11.8.5: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@4.1.15: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +graphql-scalars@1.23.0: + version "1.23.0" + resolved "https://registry.yarnpkg.com/graphql-scalars/-/graphql-scalars-1.23.0.tgz#486785d1a6f9449277054a92afc7e1fb73f459d6" + integrity sha512-YTRNcwitkn8CqYcleKOx9IvedA8JIERn8BRq21nlKgOr4NEcTaWEG0sT+H92eF3ALTFbPgsqfft4cw+MGgv0Gg== + dependencies: + tslib "^2.5.0" + +graphql-subscriptions@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz#11ec181d475852d8aec879183e8e1eb94f2eb79a" + integrity sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA== + dependencies: + iterall "^1.3.0" + +graphql-tag@2.12.6, graphql-tag@^2.12.6: + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + +graphql-type-json@0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" + integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== + +graphql-upload-minimal@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/graphql-upload-minimal/-/graphql-upload-minimal-1.6.1.tgz#1cdc30a8dbc86f16d90450b6a92364822b07410b" + integrity sha512-wNUf/KqA0B/OguL1k6qWa4AmAduLUAhXzovh9i14SKbpBa8HX2vc7f+fR67S0rG7fSpGdM/aivxzC329/+9xXw== + dependencies: + busboy "^1.6.0" + +graphql-ws@5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.16.0.tgz#849efe02f384b4332109329be01d74c345842729" + integrity sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A== + +graphql@16.8.1: + version "16.8.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" + integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +has@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hexoid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" + integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== + +hi-base32@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" + integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== + +highlight-words-core@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" + integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== + +hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" + integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== + dependencies: + lru-cache "^10.0.1" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +html-entities@^2.1.0, html-entities@^2.3.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" + integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.1, http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +http-proxy-middleware@2.0.6, http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-server@^14.1.0: + version "14.1.1" + resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== + dependencies: + basic-auth "^2.0.1" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.2.0" + html-encoding-sniffer "^3.0.0" + http-proxy "^1.18.1" + mime "^1.6.0" + minimist "^1.2.6" + opener "^1.5.1" + portfinder "^1.0.28" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^4.0.1" + +http-signature@~1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" + integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== + dependencies: + assert-plus "^1.0.0" + jsprim "^2.0.2" + sshpk "^1.14.1" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-browserify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" + integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== + dependencies: + agent-base "^7.0.2" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + +husky@9.0.11: + version "9.0.11" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" + integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@0.6, iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.13, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.0.4, ignore@^5.1.9, ignore@^5.2.0, ignore@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +immutable@^4.0.0: + version "4.3.5" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0" + integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-arguments@^1.0.4, is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-fullwidth-code-point@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" + integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== + dependencies: + get-east-asian-width "^1.0.0" + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-generator-function@^1.0.10, is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.2, is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-obj@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.1.4, is-regex@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-text-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" + integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw== + dependencies: + text-extensions "^2.0.0" + +is-typed-array@^1.1.13, is-typed-array@^1.1.3: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" + integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterall@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +jake@^10.8.5: + version "10.8.7" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" + integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29, jest-config@^29.4.1, jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.4.1, jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-jsdom@29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/jsdom" "^20.0.0" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + jsdom "^20.0.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29, jest-resolve@^29.4.1, jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29, jest-util@^29.0.0, jest-util@^29.4.1, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.4.3, jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +jiti@^1.19.1: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.10.0, js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jsdom@^20.0.0: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== + dependencies: + abab "^2.0.6" + acorn "^8.8.1" + acorn-globals "^7.0.0" + cssom "^0.5.0" + cssstyle "^2.3.0" + data-urls "^3.0.2" + decimal.js "^10.4.2" + domexception "^4.0.0" + escodegen "^2.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.2" + parse5 "^7.1.1" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + ws "^8.11.0" + xml-name-validator "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-stream/-/json-stream-1.0.0.tgz#1a3854e28d2bbeeab31cc7ddf683d2ddc5652708" + integrity sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json2module@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/json2module/-/json2module-0.0.3.tgz#00fb5f4a9b7adfc3f0647c29cb17bcd1979be9b2" + integrity sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA== + dependencies: + rw "^1.3.2" + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== + dependencies: + string-convert "^0.2.0" + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-eslint-parser@^2.0.4, jsonc-eslint-parser@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz#74ded53f9d716e8d0671bd167bf5391f452d5461" + integrity sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg== + dependencies: + acorn "^8.5.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + semver "^7.3.5" + +jsonc-parser@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +jsonc-parser@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +jsonwebtoken@9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^7.5.4" + +jsprim@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" + integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +jstat@1.9.6: + version "1.9.6" + resolved "https://registry.yarnpkg.com/jstat/-/jstat-1.9.6.tgz#60e801b0d4c26e37aab0f375d1859fe9d60e10c0" + integrity sha512-rPBkJbK2TnA8pzs93QcDDPlKcrtZWuuCo2dVR0TFLOJSxhqfWOVCSp8aV3/oSbn+4uY4yw1URtLpHQedtmXfug== + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +keyv@^4.0.0, keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.4, klona@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +kruptein@^3.0.0: + version "3.0.6" + resolved "https://registry.yarnpkg.com/kruptein/-/kruptein-3.0.6.tgz#9cf976225af4bc1fbeba069dbb24f17eebad974d" + integrity sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA== + dependencies: + asn1.js "^5.4.1" + +language-subtag-registry@^0.3.20: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +lazy-ass@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ== + +less-loader@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.0.tgz#a452384259bdf8e4f6d5fdcc39543609e6313f82" + integrity sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug== + dependencies: + klona "^2.0.4" + +less@4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" + integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^3.1.0" + source-map "~0.6.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +license-webpack-plugin@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz#1e18442ed20b754b82f1adeff42249b81d11aec6" + integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== + dependencies: + webpack-sources "^3.0.0" + +lilconfig@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + +lilconfig@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" + integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lines-and-columns@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" + integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== + +lint-staged@15.2.2: + version "15.2.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" + integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== + dependencies: + chalk "5.3.0" + commander "11.1.0" + debug "4.3.4" + execa "8.0.1" + lilconfig "3.0.0" + listr2 "8.0.1" + micromatch "4.0.5" + pidtree "0.6.0" + string-argv "0.3.2" + yaml "2.3.4" + +listr2@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" + integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== + dependencies: + cli-truncate "^4.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.0.0" + rfdc "^1.3.0" + wrap-ansi "^9.0.0" + +listr2@^3.8.3: + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== + dependencies: + cli-truncate "^2.1.0" + colorette "^2.0.16" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.5.1" + through "^2.3.8" + wrap-ansi "^7.0.0" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0, loader-utils@^2.0.3, loader-utils@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.once@^4.0.0, lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +log-update@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" + integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== + dependencies: + ansi-escapes "^6.2.0" + cli-cursor "^4.0.0" + slice-ansi "^7.0.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" + +loglevel@^1.6.8: + version "1.9.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" + integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + integrity sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^10.0.1: + version "10.2.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.10.1, lru-cache@^7.14.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.1, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + +memory-pager@^1.0.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" + integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + +meow@^12.0.1: + version "12.1.1" + resolved "https://registry.yarnpkg.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" + integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== + +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@^1.1.2, methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.4.1, mime@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +mini-css-extract-plugin@~2.4.7: + version "2.4.7" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz#b9f4c4f4d727c7a3cd52a11773bb739f00177fac" + integrity sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg== + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.3, minimatch@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minio@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/minio/-/minio-7.1.3.tgz#86dc95f3671045d6956920db757bb63f25bf20ee" + integrity sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA== + dependencies: + async "^3.2.4" + block-stream2 "^2.1.0" + browser-or-node "^2.1.1" + buffer-crc32 "^0.2.13" + fast-xml-parser "^4.2.2" + ipaddr.js "^2.0.1" + json-stream "^1.0.0" + lodash "^4.17.21" + mime-types "^2.1.35" + query-string "^7.1.3" + through2 "^4.0.2" + web-encoding "^1.1.5" + xml "^1.0.1" + xml2js "^0.5.0" + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mock-property@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" + integrity sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ== + dependencies: + define-data-property "^1.1.1" + functions-have-names "^1.2.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + hasown "^2.0.0" + isarray "^2.0.5" + +mongodb-connection-string-url@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" + integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== + dependencies: + "@types/whatwg-url" "^8.2.1" + whatwg-url "^11.0.0" + +mongodb-connection-string-url@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz#b4f87f92fd8593f3b9365f592515a06d304a1e9c" + integrity sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ== + dependencies: + "@types/whatwg-url" "^11.0.2" + whatwg-url "^13.0.0" + +mongodb-memory-server-core@9.1.8: + version "9.1.8" + resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.1.8.tgz#b281015aada6f228203f4e9bb56eca43ed76d3f5" + integrity sha512-iCWwaP7De4lm1lRCUKB2ffUYr6GB0I/cj6fK0NV9dgwc9fA3xapHTTT/cPYRNx29M5gmAOSaOpUgjP7i2GZ/LQ== + dependencies: + async-mutex "^0.4.0" + camelcase "^6.3.0" + debug "^4.3.4" + find-cache-dir "^3.3.2" + follow-redirects "^1.15.6" + https-proxy-agent "^7.0.2" + mongodb "^5.9.1" + new-find-package-json "^2.0.0" + semver "^7.5.4" + tar-stream "^3.0.0" + tslib "^2.6.2" + yauzl "^2.10.0" + +mongodb-memory-server@9.1.8: + version "9.1.8" + resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.1.8.tgz#165979e1da6aaec2d71694592a37d621182625b3" + integrity sha512-QumPTOlWWWzgW6dtV4bf+ZFdTxenHSSGS4ZT85Vbb+FzPVoOtfcFwYlSfC9IM4e2nw7xvnQZvWtILYseO6HE9Q== + dependencies: + mongodb-memory-server-core "9.1.8" + tslib "^2.6.2" + +mongodb@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-6.5.0.tgz#3735b4fba085b26ca06f7744e9639bc538e93d87" + integrity sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA== + dependencies: + "@mongodb-js/saslprep" "^1.1.5" + bson "^6.4.0" + mongodb-connection-string-url "^3.0.0" + +mongodb@^5.9.1: + version "5.9.2" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-5.9.2.tgz#39a73b9fbc87ac9d9c1aaf8aab5c5bb69e2b913e" + integrity sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ== + dependencies: + bson "^5.5.0" + mongodb-connection-string-url "^2.6.0" + socks "^2.7.1" + optionalDependencies: + "@mongodb-js/saslprep" "^1.1.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +needle@^3.1.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049" + integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== + dependencies: + iconv-lite "^0.6.3" + sax "^1.2.4" + +negotiator@0.6.3, negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +new-find-package-json@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/new-find-package-json/-/new-find-package-json-2.0.0.tgz#96553638781db35061f351e8ccb4d07126b6407d" + integrity sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew== + dependencies: + debug "^4.3.4" + +nice-napi@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nice-napi/-/nice-napi-1.0.2.tgz#dc0ab5a1eac20ce548802fc5686eaa6bc654927b" + integrity sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA== + dependencies: + node-addon-api "^3.0.0" + node-gyp-build "^4.2.2" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-abort-controller@^3.0.1, node-abort-controller@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp-build@^4.2.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" + integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-machine-id@1.1.12: + version "1.1.12" + resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" + integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +nodemailer@6.9.13: + version "6.9.13" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.13.tgz#5b292bf1e92645f4852ca872c56a6ba6c4a3d3d6" + integrity sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-package-arg@11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.1.tgz#f208b0022c29240a1c532a449bdde3f0a4708ebc" + integrity sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ== + dependencies: + hosted-git-info "^7.0.0" + proc-log "^3.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + +nx@18.3.2: + version "18.3.2" + resolved "https://registry.yarnpkg.com/nx/-/nx-18.3.2.tgz#4ce7b2dae228c0515d21c5d834883e60a8296635" + integrity sha512-kgkfmkwJQQ8Fp5AkvoZlnRaUrdJhckte8RyFhy86VeYjUcWYzV6shrbasKxTB0ZvCikHYjbI7QnmVYmZujEjhQ== + dependencies: + "@nrwl/tao" "18.3.2" + "@yarnpkg/lockfile" "^1.1.0" + "@yarnpkg/parsers" "3.0.0-rc.46" + "@zkochan/js-yaml" "0.0.6" + axios "^1.6.0" + chalk "^4.1.0" + cli-cursor "3.1.0" + cli-spinners "2.6.1" + cliui "^8.0.1" + dotenv "~16.3.1" + dotenv-expand "~10.0.0" + enquirer "~2.3.6" + figures "3.2.0" + flat "^5.0.2" + fs-extra "^11.1.0" + ignore "^5.0.4" + jest-diff "^29.4.1" + js-yaml "4.1.0" + jsonc-parser "3.2.0" + lines-and-columns "~2.0.3" + minimatch "9.0.3" + node-machine-id "1.1.12" + npm-run-path "^4.0.1" + open "^8.4.0" + ora "5.3.0" + semver "^7.5.3" + string-width "^4.2.3" + strong-log-transformer "^2.1.0" + tar-stream "~2.2.0" + tmp "~0.2.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + yargs "^17.6.2" + yargs-parser "21.1.1" + optionalDependencies: + "@nx/nx-darwin-arm64" "18.3.2" + "@nx/nx-darwin-x64" "18.3.2" + "@nx/nx-freebsd-x64" "18.3.2" + "@nx/nx-linux-arm-gnueabihf" "18.3.2" + "@nx/nx-linux-arm64-gnu" "18.3.2" + "@nx/nx-linux-arm64-musl" "18.3.2" + "@nx/nx-linux-x64-gnu" "18.3.2" + "@nx/nx-linux-x64-musl" "18.3.2" + "@nx/nx-win32-arm64-msvc" "18.3.2" + "@nx/nx-win32-x64-msvc" "18.3.2" + +object-assign@^4, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-inspect@~1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +object.fromentries@^2.0.7: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.hasown@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.4.tgz#e270ae377e4c120cdcb7656ce66884a6218283dc" + integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== + dependencies: + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.values@^1.1.6, object.values@^1.1.7: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1, on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +open@^8.0.9, open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optimism@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" + integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== + dependencies: + "@wry/caches" "^1.0.0" + "@wry/context" "^0.7.0" + "@wry/trie" "^0.4.3" + tslib "^2.3.0" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ora@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" + integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== + dependencies: + bl "^4.0.3" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + log-symbols "^4.0.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-filter-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-2.0.0.tgz#1c0b62d5f3a2442749a2d139e6dddee6e81d8d16" + integrity sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg== + dependencies: + arch "^2.1.0" + +ospath@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +parse5@^7.0.0, parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +passport-strategy@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" + integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA== + +passport@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/passport/-/passport-0.7.0.tgz#3688415a59a48cf8068417a8a8092d4492ca3a05" + integrity sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ== + dependencies: + passport-strategy "1.x.x" + pause "0.0.1" + utils-merge "^1.0.1" + +path-browserify@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pause@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" + integrity sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg== + +pdfast@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/pdfast/-/pdfast-0.2.0.tgz#8cbc556e1bf2522177787c0de2e0d4373ba885c9" + integrity sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA== + +peek-readable@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" + integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + +pify@^2.2.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +piscina@^4.3.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/piscina/-/piscina-4.4.0.tgz#e3af8e5721d8fad08c6ccaf8a64f9f42279efbb5" + integrity sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg== + optionalDependencies: + nice-napi "^1.0.2" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +portfinder@^1.0.28: + version "1.0.32" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +postcss-calc@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" + integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== + dependencies: + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + +postcss-colormin@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d" + integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + colord "^2.9.3" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48" + integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c" + integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== + +postcss-discard-duplicates@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb" + integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== + +postcss-discard-empty@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9" + integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== + +postcss-discard-overridden@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d" + integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== + +postcss-import@~14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-loader@^6.1.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-merge-longhand@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a" + integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^6.1.1" + +postcss-merge-rules@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d" + integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + cssnano-utils "^4.0.2" + postcss-selector-parser "^6.0.16" + +postcss-minify-font-values@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59" + integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6" + integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== + dependencies: + colord "^2.9.3" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08" + integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== + dependencies: + browserslist "^4.23.0" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff" + integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== + +postcss-modules-local-by-default@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz#f1b9bd757a8edf4d8556e8d0f4f894260e3df78f" + integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz#a43d28289a169ce2c15c00c4e64c0858e43457d5" + integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1" + integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== + +postcss-normalize-display-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535" + integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a" + integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3" + integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363" + integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0" + integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e" + integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79" + integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd" + integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5" + integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== + dependencies: + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba" + integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d" + integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.16" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04" + integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa" + integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^3.2.0" + +postcss-unique-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088" + integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.14, postcss@^8.4.24, postcss@^8.4.33: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + +pretty-bytes@^5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-format@^27.0.2, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +proc-log@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" + integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.5.8, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pure-rand@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== + +qrcode.react@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8" + integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== + +qrcode@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@6.10.4: + version "6.10.4" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" + integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== + dependencies: + side-channel "^1.0.4" + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +qs@^6.11.0, qs@^6.11.2, qs@^6.4.0: + version "6.12.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a" + integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== + dependencies: + side-channel "^1.0.6" + +query-string@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +queue-tick@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" + integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +quickselect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" + integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== + +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rbush@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" + integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== + dependencies: + quickselect "^2.0.0" + +rc-cascader@~3.24.1: + version "3.24.1" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.24.1.tgz#603bac4427f8865b6ec056705bae8485c65d7798" + integrity sha512-RgKuYgEGPx+6wCgguYFHjMsDZdCyydZd58YJRCfYQ8FObqLnZW0x/vUcEyPjhWIj1EhjV958IcR+NFPDbbj9kg== + dependencies: + "@babel/runtime" "^7.12.5" + array-tree-filter "^2.1.0" + classnames "^2.3.1" + rc-select "~14.13.0" + rc-tree "~5.8.1" + rc-util "^5.37.0" + +rc-checkbox@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.2.0.tgz#04f83b7f2bf63eaf0e2da25e947b88a0a6321b5a" + integrity sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.3.2" + rc-util "^5.25.2" + +rc-collapse@~3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.7.3.tgz#68161683d8fd1004bef4eb281fc106f3c8dc16eb" + integrity sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.3.4" + rc-util "^5.27.0" + +rc-dialog@~9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.4.0.tgz#194c107d34cb36a56f1db4a49dc73f6d59eeae85" + integrity sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/portal" "^1.0.0-8" + classnames "^2.2.6" + rc-motion "^2.3.0" + rc-util "^5.21.0" + +rc-drawer@~7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-7.1.0.tgz#2beabb8bab1784aea255d0d850bc206c3dc715da" + integrity sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w== + dependencies: + "@babel/runtime" "^7.23.9" + "@rc-component/portal" "^1.1.1" + classnames "^2.2.6" + rc-motion "^2.6.1" + rc-util "^5.38.1" + +rc-dropdown@~4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.2.0.tgz#c6052fcfe9c701487b141e411cdc277dc7c6f061" + integrity sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng== + dependencies: + "@babel/runtime" "^7.18.3" + "@rc-component/trigger" "^2.0.0" + classnames "^2.2.6" + rc-util "^5.17.0" + +rc-field-form@~1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.44.0.tgz#a66548790fbcee8c5432e9f2efcd1b46b090984b" + integrity sha512-el7w87fyDUsca63Y/s8qJcq9kNkf/J5h+iTdqG5WsSHLH0e6Usl7QuYSmSVzJMgtp40mOVZIY/W/QP9zwrp1FA== + dependencies: + "@babel/runtime" "^7.18.0" + async-validator "^4.1.0" + rc-util "^5.32.2" + +rc-image@~7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-7.6.0.tgz#2867087b77c8595ea9eb37d18ca863e47904b191" + integrity sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg== + dependencies: + "@babel/runtime" "^7.11.2" + "@rc-component/portal" "^1.0.2" + classnames "^2.2.6" + rc-dialog "~9.4.0" + rc-motion "^2.6.2" + rc-util "^5.34.1" + +rc-input-number@~9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-9.0.0.tgz#47da6eaf95b0cf566fcdf68196c4dc82b8c8f166" + integrity sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/mini-decimal" "^1.0.1" + classnames "^2.2.5" + rc-input "~1.4.0" + rc-util "^5.28.0" + +rc-input@~1.4.0, rc-input@~1.4.5: + version "1.4.5" + resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.4.5.tgz#1f2f13fb1adb15fce5936aebcfab354f41b4f348" + integrity sha512-AjzykhwnwYTRSwwgCu70CGKBIAv6bP2nqnFptnNTprph/TF1BAs0Qxl91mie/BR6n827WIJB6ZjaRf9iiMwAfw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.18.1" + +rc-mentions@~2.11.1: + version "2.11.1" + resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.11.1.tgz#3e742d4b558965701021cff75b84af6cd4744ed3" + integrity sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw== + dependencies: + "@babel/runtime" "^7.22.5" + "@rc-component/trigger" "^2.0.0" + classnames "^2.2.6" + rc-input "~1.4.0" + rc-menu "~9.13.0" + rc-textarea "~1.6.1" + rc-util "^5.34.1" + +rc-menu@~9.13.0: + version "9.13.0" + resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.13.0.tgz#55426531af5fd0a2a0e0a50020cbd002b231edf9" + integrity sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^2.0.0" + classnames "2.x" + rc-motion "^2.4.3" + rc-overflow "^1.3.1" + rc-util "^5.27.0" + +rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" + integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.21.0" + +rc-notification@~5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-5.4.0.tgz#c5ea20bfe4ed2dbacc7ef945777626c050945db8" + integrity sha512-li19y9RoYJciF3WRFvD+DvWS70jdL8Fr+Gfb/OshK+iY6iTkwzoigmSIp76/kWh5tF5i/i9im12X3nsF85GYdA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.9.0" + rc-util "^5.20.1" + +rc-overflow@^1.3.1, rc-overflow@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" + integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.37.0" + +rc-pagination@~4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-4.0.4.tgz#ea401388ae86eac17ed5b41212d487f12b65b773" + integrity sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.3.2" + rc-util "^5.38.0" + +rc-picker@~4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.3.2.tgz#b62e02122b3b6043a5a347674e5d003b8e51873e" + integrity sha512-2NtobLxG2YqllXn4YczbupgIH6PSqzjCfFCnGlgPIY9k0HZti8WmBPjS1OD9JKQl+Tdg0pMVUeTEc07y4X9ZRQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^2.0.0" + classnames "^2.2.1" + rc-overflow "^1.3.2" + rc-resize-observer "^1.4.0" + rc-util "^5.38.1" + +rc-progress@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-4.0.0.tgz#5382147d9add33d3a5fbd264001373df6440e126" + integrity sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-util "^5.16.1" + +rc-rate@~2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.12.0.tgz#0182deffed3b009cdcc61660da8746c39ed91ed5" + integrity sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.0.1" + +rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" + integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== + dependencies: + "@babel/runtime" "^7.20.7" + classnames "^2.2.1" + rc-util "^5.38.0" + resize-observer-polyfill "^1.5.1" + +rc-segmented@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.3.0.tgz#b3fe080fb434a266c02e30bb62a47d2c6e094341" + integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-motion "^2.4.4" + rc-util "^5.17.0" + +rc-select@~14.13.0, rc-select@~14.13.1: + version "14.13.1" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.13.1.tgz#2d3ca539032bf8184e511597bb93436e5b9cf02c" + integrity sha512-A1VHqjIOemxLnUGRxLGVqXBs8jGcJemI5NXxOJwU5PQc1wigAu1T4PRLgMkTPDOz8gPhlY9dwsPzMgakMc2QjQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^2.1.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-overflow "^1.3.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.2" + +rc-slider@~10.5.0: + version "10.5.0" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.5.0.tgz#1bd4853d114cb3403b67c485125887adb6a2a117" + integrity sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.27.0" + +rc-steps@~6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-6.0.1.tgz#c2136cd0087733f6d509209a84a5c80dc29a274d" + integrity sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g== + dependencies: + "@babel/runtime" "^7.16.7" + classnames "^2.2.3" + rc-util "^5.16.1" + +rc-switch@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-4.1.0.tgz#f37d81b4e0c5afd1274fd85367b17306bf25e7d7" + integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg== + dependencies: + "@babel/runtime" "^7.21.0" + classnames "^2.2.1" + rc-util "^5.30.0" + +rc-table@~7.45.4: + version "7.45.4" + resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.45.4.tgz#8657450d836f691e94ff2282a1c8ee344fe551e6" + integrity sha512-6aSbGrnkN2GLSt3s1x+wa4f3j/VEgg1uKPpaLY5qHH1/nFyreS2V7DFJ0TfUb18allf2FQl7oVYEjTixlBXEyQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/context" "^1.4.0" + classnames "^2.2.5" + rc-resize-observer "^1.1.0" + rc-util "^5.37.0" + rc-virtual-list "^3.11.1" + +rc-tabs@~14.1.1: + version "14.1.1" + resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-14.1.1.tgz#f49467feb69af0156c7864d04c21396e4c5c7911" + integrity sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "2.x" + rc-dropdown "~4.2.0" + rc-menu "~9.13.0" + rc-motion "^2.6.2" + rc-resize-observer "^1.0.0" + rc-util "^5.34.1" + +rc-textarea@~1.6.1, rc-textarea@~1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.6.3.tgz#3f294fdf5dfadbe9d0e7b695cea4da557728a9be" + integrity sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-input "~1.4.0" + rc-resize-observer "^1.0.0" + rc-util "^5.27.0" + +rc-tooltip@~6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-6.2.0.tgz#4dd7575674137a5b14f118a5c16435d3f5e4a9c9" + integrity sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw== + dependencies: + "@babel/runtime" "^7.11.2" + "@rc-component/trigger" "^2.0.0" + classnames "^2.3.1" + +rc-tree-select@~5.19.0: + version "5.19.0" + resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.19.0.tgz#1da83694ffeeeed7ba5e4bd49a1d7df48501677d" + integrity sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-select "~14.13.0" + rc-tree "~5.8.1" + rc-util "^5.16.1" + +rc-tree@~5.8.1, rc-tree@~5.8.5: + version "5.8.5" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.8.5.tgz#f714a383be27bd87366cf32f7f85b2af1fbae6b6" + integrity sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.1" + +rc-upload@~4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.5.2.tgz#ea493fbaaf57d9369ee954b20e1d8bc35c818a1a" + integrity sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.5" + rc-util "^5.2.0" + +rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1, rc-util@^5.39.1: + version "5.39.1" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.39.1.tgz#7bca4fb55e20add0eef5c23166cd9f9e5f51a8a1" + integrity sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + +rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: + version "3.11.4" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz#d0a8937843160b7b00d5586854290bf56d396af7" + integrity sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA== + dependencies: + "@babel/runtime" "^7.20.0" + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.36.0" + +react-csv@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/react-csv/-/react-csv-2.2.2.tgz#5bbf0d72a846412221a14880f294da9d6def9bfb" + integrity sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw== + +react-dom@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-dropzone@14.2.3: + version "14.2.3" + resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" + integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== + dependencies: + attr-accept "^2.2.2" + file-selector "^0.6.0" + prop-types "^15.8.1" + +react-fast-compare@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-helmet-async@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-2.0.4.tgz#50a4377778f380ed1d0136303916b38eff1bf153" + integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== + dependencies: + invariant "^2.2.4" + react-fast-compare "^3.2.2" + shallowequal "^1.1.0" + +react-highlight-words@0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" + integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.0.0, react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +react-router-dom@6.22.3: + version "6.22.3" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.3.tgz#9781415667fd1361a475146c5826d9f16752a691" + integrity sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw== + dependencies: + "@remix-run/router" "1.15.3" + react-router "6.22.3" + +react-router@6.22.3: + version "6.22.3" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.3.tgz#9d9142f35e08be08c736a2082db5f0c9540a885e" + integrity sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ== + dependencies: + "@remix-run/router" "1.15.3" + +react@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-web-to-node-stream@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" + integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== + dependencies: + readable-stream "^3.6.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +reflect.getprototypeof@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" + integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@0.14.1, regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +rehackt@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.0.6.tgz#7a0a2247f2295e7548915417e44fbbf03bf004f4" + integrity sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw== + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== + dependencies: + throttleit "^1.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@5.0.0, resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-global@1.0.0, resolve-global@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" + integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== + dependencies: + global-dirs "^0.1.1" + +resolve.exports@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.6: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +response-iterator@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" + integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@0.13.1, retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + integrity sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg== + dependencies: + align-text "^0.1.1" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup@^0.25.8: + version "0.25.8" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.25.8.tgz#bf6ce83b87510d163446eeaa577ed6a6fc5835e0" + integrity sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA== + dependencies: + chalk "^1.1.1" + minimist "^1.2.0" + source-map-support "^0.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rw@1, rw@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== + +rxjs@^7.5.1, rxjs@^7.8.0: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-filename@1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +sass-loader@^12.2.0: + version "12.6.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sass@^1.42.1: + version "1.75.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.75.0.tgz#91bbe87fb02dfcc34e052ddd6ab80f60d392be6c" + integrity sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sax@>=0.6.0, sax@^1.2.4, sax@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0, schema-utils@^4.0.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +scroll-into-view-if-needed@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f" + integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ== + dependencies: + compute-scroll-into-view "^3.0.2" + +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" + integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +semver-regex@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-4.0.5.tgz#fbfa36c7ba70461311f5debcb3928821eb4f9180" + integrity sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw== + +semver-truncate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-3.0.0.tgz#0e3b4825d4a4225d8ae6e7c72231182b42edba40" + integrity sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg== + dependencies: + semver "^7.3.5" + +"semver@2 || 3 || 4 || 5", semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@7.6.0, semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1, set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +shelljs@0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4, side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@3.0.0, slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +slice-ansi@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" + integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== + dependencies: + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +socks@^2.7.1: + version "2.8.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +sort-keys-length@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" + integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== + dependencies: + sort-keys "^1.0.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + dependencies: + is-plain-obj "^1.0.0" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map-loader@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" + integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== + dependencies: + abab "^2.0.5" + iconv-lite "^0.6.3" + source-map-js "^1.0.1" + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@0.5.19: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" + integrity sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg== + dependencies: + source-map "0.1.32" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.1.32: + version "0.1.32" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" + integrity sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ== + dependencies: + amdefine ">=0.0.4" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3, source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +sparse-bitfield@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" + integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== + dependencies: + memory-pager "^1.0.2" + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.17" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.14.1: + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stream-browserify@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-http@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +streamx@^2.15.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.16.1.tgz#2b311bd34832f08aa6bb4d6a80297c9caef89614" + integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== + dependencies: + fast-fifo "^1.1.0" + queue-tick "^1.0.1" + optionalDependencies: + bare-events "^2.2.0" + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string-argv@0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" + integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + +string.prototype.matchall@^4.0.10: + version "4.0.11" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" + +string.prototype.trim@^1.2.9, string.prototype.trim@~1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-outer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-2.0.0.tgz#c45c724ed9b1ff6be5f660503791404f4714084b" + integrity sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg== + +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + +strong-log-transformer@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + +strtok3@^7.0.0-alpha.9: + version "7.0.0" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" + integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^5.0.0" + +style-loader@^3.3.0, style-loader@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" + integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== + +stylehacks@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6" + integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== + dependencies: + browserslist "^4.23.0" + postcss-selector-parser "^6.0.16" + +stylis@^4.0.13: + version "4.3.1" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" + integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== + +stylus-loader@^7.1.0, stylus-loader@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.1.3.tgz#1fdfa0d34e8c05a569bc0902e1ecdb857d764964" + integrity sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw== + dependencies: + fast-glob "^3.2.12" + normalize-path "^3.0.0" + +stylus@^0.59.0: + version "0.59.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" + integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== + dependencies: + "@adobe/css-tools" "^4.0.1" + debug "^4.3.2" + glob "^7.1.6" + sax "~1.2.4" + source-map "^0.7.3" + +stylus@^0.63.0: + version "0.63.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.63.0.tgz#511e8d56f2005b09010fbc1f62561c7b6f72a490" + integrity sha512-OMlgrTCPzE/ibtRMoeLVhOY0RcNuNWh0rhAVqeKnk/QwcuUKQbnqhZ1kg2vzD8VU/6h3FoPTq4RJPHgLBvX6Bw== + dependencies: + "@adobe/css-tools" "~4.3.3" + debug "^4.3.2" + glob "^7.1.6" + sax "~1.3.0" + source-map "^0.7.3" + +superagent@^8.1.2: + version "8.1.2" + resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" + integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== + dependencies: + component-emitter "^1.3.0" + cookiejar "^2.1.4" + debug "^4.3.4" + fast-safe-stringify "^2.1.1" + form-data "^4.0.0" + formidable "^2.1.2" + methods "^1.1.2" + mime "2.6.0" + qs "^6.11.0" + semver "^7.3.8" + +supertest@6.3.4: + version "6.3.4" + resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.4.tgz#2145c250570c2ea5d337db3552dbfb78a2286218" + integrity sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw== + dependencies: + methods "^1.1.2" + superagent "^8.1.2" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svg-path-parser@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/svg-path-parser/-/svg-path-parser-1.1.0.tgz#e16b4b39df0d2b0d39e8347db79fdda1453a6046" + integrity sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A== + +svgo@^3.0.2, svgo@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.2.0.tgz#7a5dff2938d8c6096e00295c2390e8e652fa805d" + integrity sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.3.1" + css-what "^6.1.0" + csso "^5.0.5" + picocolors "^1.0.0" + +swc-loader@0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.6.tgz#bf0cba8eeff34bb19620ead81d1277fefaec6bc8" + integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg== + dependencies: + "@swc/counter" "^0.1.3" + +symbol-observable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +synckit@^0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.6.2.tgz#e1540b97825f2855f7170b98276e8463167f33eb" + integrity sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA== + dependencies: + tslib "^2.3.1" + +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tape@^4.5.1: + version "4.17.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.17.0.tgz#de89f3671ddc5dad178d04c28dc6b0183f42268e" + integrity sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw== + dependencies: + "@ljharb/resumer" "~0.0.1" + "@ljharb/through" "~2.3.9" + call-bind "~1.0.2" + deep-equal "~1.1.1" + defined "~1.0.1" + dotignore "~0.1.2" + for-each "~0.3.3" + glob "~7.2.3" + has "~1.0.3" + inherits "~2.0.4" + is-regex "~1.1.4" + minimist "~1.2.8" + mock-property "~1.0.0" + object-inspect "~1.12.3" + resolve "~1.22.6" + string.prototype.trim "~1.2.8" + +tar-stream@^3.0.0: + version "3.1.7" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b" + integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== + dependencies: + b4a "^1.6.4" + fast-fifo "^1.2.0" + streamx "^2.15.0" + +tar-stream@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@^6.1.11: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.3: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.30.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.3.tgz#f1bb68ded42408c316b548e3ec2526d7dd03f4d2" + integrity sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-extensions@^2.0.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-2.4.0.tgz#a1cfcc50cf34da41bfd047cc744f804d1680ea34" + integrity sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throttle-debounce@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933" + integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg== + +throttleit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" + integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== + +through2@^4.0.0, through2@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +"through@>=2.2.7 <3", through@^2.3.4, through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tmp@0.2.3, tmp@~0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +token-types@^5.0.0-alpha.2: + version "5.0.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4" + integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + +tough-cookie@^4.1.2, tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + +tr46@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" + integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== + dependencies: + punycode "^2.3.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +trim-repeated@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-2.0.0.tgz#5d60556d6d40d9461b7c7e06c3ac20b6b1d50090" + integrity sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg== + dependencies: + escape-string-regexp "^5.0.0" + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== + dependencies: + utf8-byte-length "^1.0.1" + +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + +ts-essentials@9.4.2: + version "9.4.2" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-9.4.2.tgz#6d4bd23b46b61bf3e031816cc887e839eb62c33c" + integrity sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ== + +ts-invariant@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" + integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== + dependencies: + tslib "^2.1.0" + +ts-jest@29.1.2: + version "29.1.2" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" + integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" + lodash.memoize "4.x" + make-error "1.x" + semver "^7.5.3" + yargs-parser "^21.0.1" + +ts-loader@^9.3.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" + integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + source-map "^0.7.4" + +ts-node@10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +ts-node@10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths-webpack-plugin@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz#84008fc3e3e0658fdb0262758b07b4da6265ff1a" + integrity sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.7.0" + tsconfig-paths "^4.0.0" + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.3, tslib@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typed-assert@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" + integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== + +typescript@5.4.5, typescript@~5.4.2: + version "5.4.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== + +uglify-js@^2.6.2: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + integrity sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w== + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + integrity sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q== + +uid-safe@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" + integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== + dependencies: + random-bytes "~1.0.0" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +union@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== + dependencies: + punycode "^1.4.1" + qs "^6.11.2" + +utf8-byte-length@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" + integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.3: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +utils-merge@1.0.1, utils-merge@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@9.0.1, uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" + integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== + dependencies: + builtins "^5.0.0" + +value-or-promise@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" + integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +watchpack@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" + integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.0, wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web-encoding@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" + integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== + dependencies: + util "^0.12.3" + optionalDependencies: + "@zxing/text-encoding" "0.9.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +webpack-dev-middleware@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" + integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.9.3: + version "4.15.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" + integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.4" + ws "^8.13.0" + +webpack-merge@^5.10.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-node-externals@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" + integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== + +webpack-sources@^3.0.0, webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-subresource-integrity@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz#8b7606b033c6ccac14e684267cb7fb1f5c2a132a" + integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== + dependencies: + typed-assert "^1.0.8" + +webpack@^5.80.0, webpack@^5.91.0: + version "5.91.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" + integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.16.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + +whatwg-url@^13.0.0: + version "13.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-13.0.0.tgz#b7b536aca48306394a34e44bda8e99f332410f8f" + integrity sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig== + dependencies: + tr46 "^4.1.1" + webidl-conversions "^7.0.0" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-builtin-type@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" + integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + dependencies: + function.prototype.name "^1.1.5" + has-tostringtag "^1.0.0" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +which-collection@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + integrity sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg== + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + integrity sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" + integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^8.11.0, ws@^8.13.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xml2js@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" + integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xml@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + +yaml@^1.10.0, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.0.0, yargs@^17.3.1, yargs@^17.6.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + integrity sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A== + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zen-observable-ts@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" + integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== + dependencies: + zen-observable "0.8.15" + +zen-observable@0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== From cbd0b4721119f04338ada1257d1e828bc61dc4c7 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Fri, 19 Apr 2024 14:45:57 +0100 Subject: [PATCH 148/252] chore: Run linter fixing --- .gitguardian.yml | 6 +- .github/dependabot.yml | 44 ++--- .github/workflows/99_ci.yml | 180 +++++++++--------- .github/workflows/codeql.yml | 89 +++++---- README.md | 26 +-- lgtm.yml | 6 +- packages/itmat-commons/README.md | 8 - .../test/unitTests/objStore.test.ts | 2 +- .../itmat-interface/src/interfaceRunner.ts | 4 +- packages/itmat-interface/src/utils/noop.ts | 1 - .../test/serverTests/_loginHelper.ts | 12 +- .../src/curation/CSVCurator.ts | 2 +- .../src/curation/FieldCurator.ts | 2 +- .../src/curation/JSONCurator.ts | 2 +- .../src/jobExecutorRunner.ts | 4 +- .../UKB_FIELD_INFO_UPLOAD_Handler.ts | 2 +- packages/itmat-job-executor/src/utils/noop.ts | 1 - .../test/unit_tests/csvcurator.test.ts | 2 +- .../test/unit_tests/fieldcurator.test.ts | 2 +- .../test/unit_tests/jsoncurator.test.ts | 2 +- packages/itmat-setup/.babelrc | 2 +- packages/itmat-setup/README.md | 3 - packages/itmat-ui-react/.babelrc | 2 +- .../src/components/apolloClient.ts | 2 +- .../datasetDetail/projectPage.module.css | 10 +- .../tabContent/admin/tabContent.module.css | 2 +- .../dashboard/tabContent.module.css | 4 +- .../tabContent/data/tabContent.module.css | 19 +- .../tabContent/files/fileTab.tsx | 4 +- .../tabContent/files/tabContent.module.css | 8 +- .../detailSections/projectDetail.module.css | 7 +- .../tabContent/projects/tabContent.module.css | 5 +- .../components/datasetList/addNewDataSet.tsx | 2 +- .../datasetList/datasetPage.module.css | 5 +- .../src/components/log/logList.module.css | 70 +++---- .../src/components/login/login.module.css | 2 +- .../src/components/login/login.tsx | 2 +- .../src/components/login/register.tsx | 4 +- .../login/requestResetPasswordPage.tsx | 2 +- .../components/login/resetPasswordPage.tsx | 4 +- .../src/components/profile/profile.module.css | 48 ++--- .../src/components/profile/profile.tsx | 12 +- .../tabContent/admin/tabContent.module.css | 2 +- .../dashboard/tabContent.module.css | 1 - .../tabContent/data/tabContent.module.css | 8 +- .../projectList/projectPage.module.css | 5 +- .../loadSpinner/loadSpinner.module.css | 12 +- .../roleControlSection.module.css | 12 +- .../roleControlSection/roleControlSection.tsx | 10 +- .../reusable/subsection/subsection.module.css | 3 +- .../components/scaffold/scaffold.module.css | 4 +- .../src/components/users/sections.module.css | 2 +- .../src/components/users/userDetails.tsx | 2 +- .../src/components/users/userList.module.css | 4 +- packages/itmat-ui-react/src/css/antd.css | 4 +- packages/itmat-ui-react/src/css/global.css | 28 ++- .../itmat-ui-react/src/css/query.module.css | 6 +- .../src/css/studyControl.module.css | 10 +- packages/itmat-ui-react/src/index.html | 35 ++-- packages/itmat-ui-react/src/styles.css | 4 +- .../src/utils/dmpCrypto/dmp.key.ts | 17 +- packages/itmat-ui-react/src/utils/noop.ts | 1 - tsconfig.base.json | 84 ++++---- 63 files changed, 425 insertions(+), 445 deletions(-) diff --git a/.gitguardian.yml b/.gitguardian.yml index 0bc6a2a0d..4e615e204 100644 --- a/.gitguardian.yml +++ b/.gitguardian.yml @@ -1,3 +1,3 @@ -paths-ignore: - - "**/*.test.*" - - "**/*.sample.json" +paths-ignore: + - "**/*.test.*" + - "**/*.sample.json" diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ee634af37..31587c568 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,24 +1,24 @@ version: 2 updates: - - package-ecosystem: "npm" - directory: "/" - schedule: - interval: "weekly" - open-pull-requests-limit: 10 - target-branch: "develop" - labels: - - "dependencies" - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - target-branch: "develop" - labels: - - "actions" - - package-ecosystem: "docker" - directory: "/" - schedule: - interval: "weekly" - target-branch: "develop" - labels: - - "docker" + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + target-branch: "develop" + labels: + - "dependencies" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + target-branch: "develop" + labels: + - "actions" + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "weekly" + target-branch: "develop" + labels: + - "docker" diff --git a/.github/workflows/99_ci.yml b/.github/workflows/99_ci.yml index ba878d72e..c623956df 100644 --- a/.github/workflows/99_ci.yml +++ b/.github/workflows/99_ci.yml @@ -1,90 +1,90 @@ -name: Test and Build CI - -on: [push] - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest] - node: [20.x] - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Derive appropriate SHAs for base and head for `nx affected` commands - uses: nrwl/nx-set-shas@v4 - with: - main-branch-name: master - error-on-no-successful-workflow: true - - - run: | - echo "Nx base: ${{ env.NX_BASE }}" - echo "Git head: ${{ env.NX_HEAD }}" - - - name: Using Node.js ${{ matrix.node }} - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node }} - cache: yarn - - - name: Disable TCP/UDP Offloading - shell: bash - run: | - if [ "$RUNNER_OS" == "Linux" ]; then - sudo ethtool -K eth0 tx off rx off - exit 0 - elif [ "$RUNNER_OS" == "macOS" ]; then - sudo sysctl -w net.link.generic.system.hwcksum_tx=0 - sudo sysctl -w net.link.generic.system.hwcksum_rx=0 - exit 0 - else - echo "$RUNNER_OS not supported" - exit 0 - fi - - - name: Installing dependencies - run: | - yarn install --network-timeout 1000000 --forzen-lockfile - - - name: Checking for lint - run: | - yarn run nx affected --target=lint --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} - - - name: Building packages - run: | - yarn run nx affected --target=build --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --parallel=1 - - - name: Running unit tests - run: | - yarn run nx affected --target=test --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --parallel=1 - env: - CI: true - - # email_test: - # runs-on: itmat - # strategy: - # matrix: - # node: [10.x, 12.x] - # steps: - # - uses: actions/checkout@v1 - # - name: Using Node.js ${{ matrix.node }} - # uses: actions/setup-node@v1 - # with: - # node-version: ${{ matrix.node }} - # - name: Installing dependencies - # run: yarn install - # - name: Checking for lint - # run: yarn run lint - # - name: Building packages - # run: yarn run build - # - name: Running unit tests - # run: yarn run test - # env: - # CI: true - # TEST_SMTP_CRED: ${{ secrets.TEST_SMTP_CRED }} - # TEST_SMTP_USERNAME: ${{ secrets.TEST_SMTP_USERNAME }} - # TEST_RECEIVER_EMAIL_ADDR: ${{ secrets.TEST_RECEIVER_EMAIL_ADDR }} +name: Test and Build CI + +on: [push] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + node: [20.x] + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Derive appropriate SHAs for base and head for `nx affected` commands + uses: nrwl/nx-set-shas@v4 + with: + main-branch-name: master + error-on-no-successful-workflow: true + + - run: | + echo "Nx base: ${{ env.NX_BASE }}" + echo "Git head: ${{ env.NX_HEAD }}" + + - name: Using Node.js ${{ matrix.node }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + cache: yarn + + - name: Disable TCP/UDP Offloading + shell: bash + run: | + if [ "$RUNNER_OS" == "Linux" ]; then + sudo ethtool -K eth0 tx off rx off + exit 0 + elif [ "$RUNNER_OS" == "macOS" ]; then + sudo sysctl -w net.link.generic.system.hwcksum_tx=0 + sudo sysctl -w net.link.generic.system.hwcksum_rx=0 + exit 0 + else + echo "$RUNNER_OS not supported" + exit 0 + fi + + - name: Installing dependencies + run: | + yarn install --network-timeout 1000000 --forzen-lockfile + + - name: Checking for lint + run: | + yarn run nx affected --target=lint --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} + + - name: Building packages + run: | + yarn run nx affected --target=build --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --parallel=1 + + - name: Running unit tests + run: | + yarn run nx affected --target=test --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} --parallel=1 + env: + CI: true + + # email_test: + # runs-on: itmat + # strategy: + # matrix: + # node: [10.x, 12.x] + # steps: + # - uses: actions/checkout@v1 + # - name: Using Node.js ${{ matrix.node }} + # uses: actions/setup-node@v1 + # with: + # node-version: ${{ matrix.node }} + # - name: Installing dependencies + # run: yarn install + # - name: Checking for lint + # run: yarn run lint + # - name: Building packages + # run: yarn run build + # - name: Running unit tests + # run: yarn run test + # env: + # CI: true + # TEST_SMTP_CRED: ${{ secrets.TEST_SMTP_CRED }} + # TEST_SMTP_USERNAME: ${{ secrets.TEST_SMTP_USERNAME }} + # TEST_RECEIVER_EMAIL_ADDR: ${{ secrets.TEST_RECEIVER_EMAIL_ADDR }} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index b4c03545f..73c3f95fb 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,50 +1,49 @@ name: "Code scanning - action" on: - push: - # Dependabot triggered push events have read-only access, but uploading code - # scanning requires write access. - branches-ignore: [dependabot/**] - pull_request: - schedule: - - cron: '0 19 * * 0' + push: + # Dependabot triggered push events have read-only access, but uploading code + # scanning requires write access. + branches-ignore: [dependabot/**] + pull_request: + schedule: + - cron: "0 19 * * 0" jobs: - CodeQL-Build: - - # CodeQL runs on ubuntu-latest and windows-latest - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - # Override language selection by uncommenting this and choosing your languages - # with: - # languages: go, javascript, csharp, python, cpp, java - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + CodeQL-Build: + # CodeQL runs on ubuntu-latest and windows-latest + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + # Override language selection by uncommenting this and choosing your languages + # with: + # languages: go, javascript, csharp, python, cpp, java + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 diff --git a/README.md b/README.md index 9eb9f8834..479338ec1 100644 --- a/README.md +++ b/README.md @@ -23,28 +23,28 @@ To make our life easier, we use [Yarn](https://yarnpkg.com/) a lot. Make sure yo This software requires both MongoDB and MinIO to be available. Follow the installation guidelines for these software directly from their respective websites: -- [https://docs.mongodb.com](https://docs.mongodb.com/manual/installation/) -- [https://docs.min.io](https://docs.min.io/docs/minio-quickstart-guide.html) +- [https://docs.mongodb.com](https://docs.mongodb.com/manual/installation/) +- [https://docs.min.io](https://docs.min.io/docs/minio-quickstart-guide.html) ### Install dependencies and build the project Building the library is easy. First run `yarn install && yarn build`, to build the application. The current application is built ontop of a system called ICL-ITMAT-Broker comprised of multiple components including : -- itmat-commons -- itmat-docker -- itmat-interface -- itmat-job-executor -- itmat-models -- itmat-setup -- itmat-types -- itmat-ui-react -- itmat-ui-react-e2e +- itmat-commons +- itmat-docker +- itmat-interface +- itmat-job-executor +- itmat-models +- itmat-setup +- itmat-types +- itmat-ui-react +- itmat-ui-react-e2e ### Requirements bootstrap (quick treatment) Using Docker to quickly setup a development environment for the DMP is easy. -*Note: The IP addresses, ranges, paths and container names used below serve as examples only, those should be adjusted to match you environment settings and requirements.* +_Note: The IP addresses, ranges, paths and container names used below serve as examples only, those should be adjusted to match you environment settings and requirements._ First create an environment file for the MinIO server: @@ -82,7 +82,7 @@ rs0 [direct: primary] admin> rs.status().ok 1 ``` -Depending on your DNS configuration you may need to add the container hostname map to IP (MongoDB listening) to your `/etc/hosts` file. +Depending on your DNS configuration you may need to add the container hostname map to IP (MongoDB listening) to your `/etc/hosts` file. `127.0.0.1 [hostname of MongoDB container]` (If your dmp service is running on the host machine, you need to add this line to the hosts file on your host machine, because the MongoDB client in the host machine will try to connect to the MongoDB server by its hostname of the container) diff --git a/lgtm.yml b/lgtm.yml index d1e1374df..e4cb7b808 100644 --- a/lgtm.yml +++ b/lgtm.yml @@ -1,3 +1,3 @@ -path_classifiers: - library: - - exclude: "**/msrCrypto.js" \ No newline at end of file +path_classifiers: + library: + - exclude: "**/msrCrypto.js" diff --git a/packages/itmat-commons/README.md b/packages/itmat-commons/README.md index a60ec17fc..abc221ef5 100644 --- a/packages/itmat-commons/README.md +++ b/packages/itmat-commons/README.md @@ -2,18 +2,10 @@ This library was generated with [Nx](https://nx.dev). - - ## Building Run `nx build itmat-commons` to build the library. - - - - ## Running unit tests Run `nx test itmat-commons` to execute the unit tests via [Jest](https://jestjs.io). - - diff --git a/packages/itmat-commons/test/unitTests/objStore.test.ts b/packages/itmat-commons/test/unitTests/objStore.test.ts index eaff8650f..4167dfbf9 100644 --- a/packages/itmat-commons/test/unitTests/objStore.test.ts +++ b/packages/itmat-commons/test/unitTests/objStore.test.ts @@ -99,7 +99,7 @@ if (global.hasMinio) describe('OBJECT STORE CLASS TESTS', () => { 'sdfsad0fjds0fafdsj21' ); - const streamToString = (inputStream: Readable) => { + const streamToString = async (inputStream: Readable) => { return new Promise((resolve, reject) => { let string = ''; inputStream diff --git a/packages/itmat-interface/src/interfaceRunner.ts b/packages/itmat-interface/src/interfaceRunner.ts index 112a8edcc..89f2461ac 100644 --- a/packages/itmat-interface/src/interfaceRunner.ts +++ b/packages/itmat-interface/src/interfaceRunner.ts @@ -17,13 +17,13 @@ class ITMATInterfaceRunner extends Runner { * @return {Promise} Resolve to a native Express.js router ready to use on success. * In case of error, an ErrorStack is rejected. */ - public start(): Promise { + public async start(): Promise { const _this = this; return new Promise((resolve, reject) => { // Operate database migration if necessary db.connect(this.config.database, MongoClient) - .then(() => objStore.connect(this.config.objectStore)) + .then(async () => objStore.connect(this.config.objectStore)) .then(async () => { const jobChangestream = db.collections!.jobs_collection.watch([ diff --git a/packages/itmat-interface/src/utils/noop.ts b/packages/itmat-interface/src/utils/noop.ts index 65d573907..5e791dcc8 100644 --- a/packages/itmat-interface/src/utils/noop.ts +++ b/packages/itmat-interface/src/utils/noop.ts @@ -1,2 +1 @@ -/* eslint-disable import/no-anonymous-default-export */ export default (): void => { return; }; diff --git a/packages/itmat-interface/test/serverTests/_loginHelper.ts b/packages/itmat-interface/test/serverTests/_loginHelper.ts index 2c2d00cfb..68c9fc614 100644 --- a/packages/itmat-interface/test/serverTests/_loginHelper.ts +++ b/packages/itmat-interface/test/serverTests/_loginHelper.ts @@ -3,17 +3,17 @@ import { LOGIN, LOGOUT } from '@itmat-broker/itmat-models'; import * as mfa from '../../src/utils/mfa'; import { SuperTest, Test } from 'supertest'; -export function connectAdmin(agent: SuperTest): Promise { +export async function connectAdmin(agent: SuperTest): Promise { const adminSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; return connectAgent(agent, 'admin', 'admin', adminSecret); } -export function connectUser(agent: SuperTest): Promise { +export async function connectUser(agent: SuperTest): Promise { const userSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; return connectAgent(agent, 'standardUser', 'admin', userSecret); } -export function connectAgent(agent: SuperTest, user: string, pw: string, secret: string): Promise { +export async function connectAgent(agent: SuperTest, user: string, pw: string, secret: string): Promise { const otp = mfa.generateTOTP(secret).toString(); return new Promise((resolve, reject) => agent.post('/graphql') .set('Content-type', 'application/json') @@ -25,10 +25,10 @@ export function connectAgent(agent: SuperTest, user: string, pw: string, s if (res.status === 200) return resolve(); return reject(); - }).catch(() => null)); + }).catch(reject)); } -export function disconnectAgent(agent: SuperTest): Promise { +export async function disconnectAgent(agent: SuperTest): Promise { return new Promise((resolve, reject) => agent.post('/graphql') .send({ query: print(LOGOUT) @@ -37,5 +37,5 @@ export function disconnectAgent(agent: SuperTest): Promise { if (res.status === 200) return resolve(); return reject(); - }).catch(() => null)); + }).catch(reject)); } diff --git a/packages/itmat-job-executor/src/curation/CSVCurator.ts b/packages/itmat-job-executor/src/curation/CSVCurator.ts index 84864bd0e..062d9adaf 100644 --- a/packages/itmat-job-executor/src/curation/CSVCurator.ts +++ b/packages/itmat-job-executor/src/curation/CSVCurator.ts @@ -37,7 +37,7 @@ export class CSVCurator { } /* return list of errors. [] if no error */ - public processIncomingStreamAndUploadToMongo(): Promise { + public async processIncomingStreamAndUploadToMongo(): Promise { return new Promise((resolve) => { let lineNum = 0; let isHeader = true; diff --git a/packages/itmat-job-executor/src/curation/FieldCurator.ts b/packages/itmat-job-executor/src/curation/FieldCurator.ts index ff514360e..504269405 100644 --- a/packages/itmat-job-executor/src/curation/FieldCurator.ts +++ b/packages/itmat-job-executor/src/curation/FieldCurator.ts @@ -27,7 +27,7 @@ export class FieldCurator { } /* return list of errors. [] if no error */ - public processIncomingStreamAndUploadToMongo(): Promise { + public async processIncomingStreamAndUploadToMongo(): Promise { /** * ID Database TableName TableID SequentialOrder QuestionNumber Fieldname Label Label_DE Label_NL Label_IT Label_ES Label_PL * Label_F EligibleAnswer IneligibleAnswer Validation DataType ControlType SystemGenerated ValueList Length DisplayFormat Nullable Required diff --git a/packages/itmat-job-executor/src/curation/JSONCurator.ts b/packages/itmat-job-executor/src/curation/JSONCurator.ts index 6d2fad057..af1a7d8a4 100644 --- a/packages/itmat-job-executor/src/curation/JSONCurator.ts +++ b/packages/itmat-job-executor/src/curation/JSONCurator.ts @@ -36,7 +36,7 @@ export class JSONCurator { } /* return list of errors. [] if no error */ - public processIncomingStreamAndUploadToMongo(): Promise { + public async processIncomingStreamAndUploadToMongo(): Promise { return new Promise((resolve) => { let isHeader = true; let objectNum = 0; diff --git a/packages/itmat-job-executor/src/jobExecutorRunner.ts b/packages/itmat-job-executor/src/jobExecutorRunner.ts index 2a2ae5638..dd488dd8c 100644 --- a/packages/itmat-job-executor/src/jobExecutorRunner.ts +++ b/packages/itmat-job-executor/src/jobExecutorRunner.ts @@ -23,13 +23,13 @@ class ITMATJobExecutorRunner extends Runner { * @return {Promise} Resolve to a native Express.js router ready to use on success. * In case of error, an ErrorStack is rejected. */ - public start(): Promise { + public async start(): Promise { const _this = this; return new Promise((resolve, reject) => { // Operate database migration if necessary db.connect(this.config.database, MongoClient) - .then(() => objStore.connect(this.config.objectStore)) + .then(async () => objStore.connect(this.config.objectStore)) .then(() => { _this.router = new Router(); diff --git a/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts b/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts index ff3d160a7..4e77da051 100644 --- a/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts +++ b/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts @@ -57,7 +57,7 @@ export class UKB_FIELD_INFO_UPLOAD_Handler extends JobHandler { // } } -function processCodesFileStreamAndReturnList(incomingStream: Readable): Promise { +async function processCodesFileStreamAndReturnList(incomingStream: Readable): Promise { const parseOptions: csvparse.Options = { delimiter: ',', quote: '"', relax_column_count: true, skip_records_with_error: true }; const csvparseStream = csvparse.parse(parseOptions); const parseStream = incomingStream.pipe(csvparseStream); diff --git a/packages/itmat-job-executor/src/utils/noop.ts b/packages/itmat-job-executor/src/utils/noop.ts index 65d573907..5e791dcc8 100644 --- a/packages/itmat-job-executor/src/utils/noop.ts +++ b/packages/itmat-job-executor/src/utils/noop.ts @@ -1,2 +1 @@ -/* eslint-disable import/no-anonymous-default-export */ export default (): void => { return; }; diff --git a/packages/itmat-job-executor/test/unit_tests/csvcurator.test.ts b/packages/itmat-job-executor/test/unit_tests/csvcurator.test.ts index a646b6d17..989214d7f 100644 --- a/packages/itmat-job-executor/test/unit_tests/csvcurator.test.ts +++ b/packages/itmat-job-executor/test/unit_tests/csvcurator.test.ts @@ -323,7 +323,7 @@ describe('CSVCuratorClass', () => { return this; }; this.upsert = () => { return this; }; - this.execute = () => new Promise((resolve) => { + this.execute = async () => new Promise((resolve) => { setTimeout(() => { this._executeCalled.push(this._insertArray.length); resolve(); diff --git a/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts b/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts index 419c6dd90..55994c77a 100644 --- a/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts +++ b/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts @@ -115,7 +115,7 @@ describe('FieldCuratorClass', () => { this._insertArray = []; this._executeCalled = []; // array of length of _insertArray when execute() is called this.insert = (object: any) => { this._insertArray.push(object); }; - this.execute = () => new Promise((resolve) => { + this.execute = async () => new Promise((resolve) => { setTimeout(() => { this._executeCalled.push(this._insertArray.length); resolve(); diff --git a/packages/itmat-job-executor/test/unit_tests/jsoncurator.test.ts b/packages/itmat-job-executor/test/unit_tests/jsoncurator.test.ts index 745b146a4..8742394ae 100644 --- a/packages/itmat-job-executor/test/unit_tests/jsoncurator.test.ts +++ b/packages/itmat-job-executor/test/unit_tests/jsoncurator.test.ts @@ -317,7 +317,7 @@ describe('JSONCuratorClass', () => { return this; }; this.upsert = () => { return this; }; - this.execute = () => new Promise((resolve) => { + this.execute = async () => new Promise((resolve) => { setTimeout(() => { this._executeCalled.push(this._insertArray.length); resolve(); diff --git a/packages/itmat-setup/.babelrc b/packages/itmat-setup/.babelrc index 171d92f23..b34c8a529 100644 --- a/packages/itmat-setup/.babelrc +++ b/packages/itmat-setup/.babelrc @@ -7,4 +7,4 @@ } ] ] -} \ No newline at end of file +} diff --git a/packages/itmat-setup/README.md b/packages/itmat-setup/README.md index f2c25f67f..c80c2231b 100644 --- a/packages/itmat-setup/README.md +++ b/packages/itmat-setup/README.md @@ -2,13 +2,10 @@ This library was generated with [Nx](https://nx.dev). - ## Running unit tests Run `nx test itmat-setup` to execute the unit tests via [Jest](https://jestjs.io). - ## Running lint Run `nx lint itmat-setup` to execute the lint via [ESLint](https://eslint.org/). - diff --git a/packages/itmat-ui-react/.babelrc b/packages/itmat-ui-react/.babelrc index 9d74c5df9..870a13e32 100644 --- a/packages/itmat-ui-react/.babelrc +++ b/packages/itmat-ui-react/.babelrc @@ -8,4 +8,4 @@ ] ], "plugins": [] -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/apolloClient.ts b/packages/itmat-ui-react/src/components/apolloClient.ts index 4c66dbb0a..f9bf230bd 100644 --- a/packages/itmat-ui-react/src/components/apolloClient.ts +++ b/packages/itmat-ui-react/src/components/apolloClient.ts @@ -35,7 +35,7 @@ const customFetch = (uri, options): any => { type: response.headers?.['Content-Type'], body: response.data, url: uri, - text: () => { + text: async () => { return Promise.resolve(JSON.stringify(response.data)); } })); diff --git a/packages/itmat-ui-react/src/components/datasetDetail/projectPage.module.css b/packages/itmat-ui-react/src/components/datasetDetail/projectPage.module.css index 21bd3c36e..cdeacd350 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/projectPage.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/projectPage.module.css @@ -1,7 +1,7 @@ .page_container { grid-template-columns: 100%; grid-template-rows: 60px calc(100% - 60px); - grid-template-areas: + grid-template-areas: "ariane" "content"; display: grid; @@ -45,9 +45,9 @@ } .tabs a:hover { - -webkit-box-shadow:inset 0px -2px 0px 0px var(--color-primary-color); - -moz-box-shadow:inset 0px -3px 0px 0px var(--color-primary-color); - box-shadow:inset 0px -3px 0px 0px var(--color-primary-color); + -webkit-box-shadow: inset 0px -2px 0px 0px var(--color-primary-color); + -moz-box-shadow: inset 0px -3px 0px 0px var(--color-primary-color); + box-shadow: inset 0px -3px 0px 0px var(--color-primary-color); color: var(--color-button-active); } @@ -59,4 +59,4 @@ overflow: auto; grid-area: content; position: relative; -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/tabContent.module.css index c1830a9fa..0af02956a 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/tabContent.module.css @@ -3,7 +3,7 @@ grid-template-columns: 60% 40%; grid-template-rows: 100%; height: 100%; - grid-template-areas: "main sub" + grid-template-areas: "main sub"; } .main_page { diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/tabContent.module.css index 023f92d39..25deb7bd0 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/tabContent.module.css @@ -47,7 +47,7 @@ .errorStatus_td > svg { height: 1rem; width: 1rem; - cursor: context-menu + cursor: context-menu; } .error_wrapper > div { @@ -70,4 +70,4 @@ .error_wrapper > div:hover { display: unset; -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/tabContent.module.css index 30e61b3b1..90b6be295 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/tabContent.module.css @@ -6,7 +6,7 @@ height: 100%; } -.scaffold_wrapper>div { +.scaffold_wrapper > div { height: 100%; overflow: auto; } @@ -18,7 +18,7 @@ grid-template-areas: "a a" "left right" - "c d" + "c d"; } .left_panel { @@ -48,7 +48,7 @@ cursor: pointer; font-size: 1rem; padding: 0.5rem; - border-bottom: 1px solid var(--color-primary-color) + border-bottom: 1px solid var(--color-primary-color); } .add_new_fields_section .selected_tab { @@ -59,27 +59,27 @@ display: grid; grid-template-columns: 30% 5% 30% 5% 30%; /* grid-template-rows: 150px 150px; */ - grid-template-areas: "patients empty1 records empty2 unversioned" + grid-template-areas: + "patients empty1 records empty2 unversioned" "version empty1 visits empty2 empty3" "date date date empty5 dummy" "filename filename filename filename filename"; height: 100%; } -.data_summary_section>div { +.data_summary_section > div { background-color: var(--color-ariane-tab-active-background); padding: 1rem; margin-bottom: 2rem; overflow: hidden; } -.data_summary_section>div>div { +.data_summary_section > div > div { height: 100%; width: 100%; overflow: hidden; } - .top_panel h5 { font-size: 1rem; margin-right: 25rem; @@ -127,17 +127,16 @@ width: unset; display: inline-block; font-weight: normal; - } .switchButton { display: inline-block; width: 3rem; - transform: scale(0.7) + transform: scale(0.7); } .switchButton:hover { - background: rgb(90, 90, 90) + background: rgb(90, 90, 90); } .infocircle { diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx index 7773cce54..9c349610c 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx @@ -615,7 +615,7 @@ const EditableCell: FunctionComponent = ({ rules={[ { required: true, message: <> }, ({ getFieldValue }) => ({ - validator() { + async validator() { if (getFieldValue('startDate') && getFieldValue('endDate')) return Promise.resolve(); return Promise.reject('Missing dates'); @@ -639,7 +639,7 @@ const EditableCell: FunctionComponent = ({ name={dataIndex} hasFeedback rules={[{ - required: true, message: <>, validator: (__unused__rule, value) => { + required: true, message: <>, validator: async (__unused__rule, value) => { if (dataIndex === 'participantId') { if (!Object.keys(sites).includes(value?.[0])) throw new Error('Invalid site marker'); diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/tabContent.module.css index 7f22438d9..10689dc00 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/tabContent.module.css @@ -9,7 +9,7 @@ grid-template-columns: 65% 35%; grid-template-rows: 100%; height: 100%; - grid-template-areas: "leftPanel rightPanel" + grid-template-areas: "leftPanel rightPanel"; } .left_panel { @@ -52,7 +52,7 @@ color: white; font-size: 1rem; padding: 0.5rem; - border-bottom: 1px solid var(--color-primary-color) + border-bottom: 1px solid var(--color-primary-color); } .add_new_fields_section .selected_tab { @@ -60,7 +60,7 @@ } .drop_overlay::after { - content: ''; + content: ""; position: absolute; border: 0.5rem dashed #555; z-index: 10000; @@ -70,6 +70,6 @@ left: 0.5rem; } -.editable_row [class*=ant-form-item-explain] { +.editable_row [class*="ant-form-item-explain"] { display: none; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.module.css index ee02ae6d0..870f59010 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.module.css @@ -4,7 +4,8 @@ width: 100%; grid-template-columns: 80% 20%; grid-template-rows: 50px calc(100% - 50px); - grid-template-areas: "ariane ariane" + grid-template-areas: + "ariane ariane" "leftpanel rightpanel"; } @@ -33,7 +34,7 @@ } /* backbutton to project list */ -.project_detail_title>a>div { +.project_detail_title > a > div { display: inline-block; background: var(--color-ariane-tab-active-background); width: 50px; @@ -43,6 +44,6 @@ } /* backbutton to project list */ -.project_detail_title>a>div:hover { +.project_detail_title > a > div:hover { background: var(--color-scroll-bar-active); } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/tabContent.module.css index e13bda742..fb1610a38 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/tabContent.module.css @@ -10,7 +10,8 @@ padding: 2rem; height: 100%; } -/* right panel*/ .tab_page_wrapper > div:nth-child(2) { +/* right panel*/ +.tab_page_wrapper > div:nth-child(2) { background: var(--color-additional-panel-background); } @@ -27,4 +28,4 @@ font-size: 1.2rem; margin: 0 0 1rem 0; overflow: hidden; -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx b/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx index af8eccece..9fb20500a 100644 --- a/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx +++ b/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx @@ -33,7 +33,7 @@ export const AddNewDataSet: FunctionComponent = () => { :
-
createStudy({ variables })}> + createStudy({ variables })}> diff --git a/packages/itmat-ui-react/src/components/datasetList/datasetPage.module.css b/packages/itmat-ui-react/src/components/datasetList/datasetPage.module.css index 59a9a96a3..2060aa7be 100644 --- a/packages/itmat-ui-react/src/components/datasetList/datasetPage.module.css +++ b/packages/itmat-ui-react/src/components/datasetList/datasetPage.module.css @@ -1,12 +1,11 @@ .page_container { grid-template-columns: 50% 50%; grid-template-rows: 100%; - grid-template-areas: - "projectListPanel -"; + grid-template-areas: "projectListPanel -"; display: grid; height: 100%; } .project_list + div { background: var(--color-additional-panel-background); -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/log/logList.module.css b/packages/itmat-ui-react/src/components/log/logList.module.css index d1cb47e2d..6b9769450 100644 --- a/packages/itmat-ui-react/src/components/log/logList.module.css +++ b/packages/itmat-ui-react/src/components/log/logList.module.css @@ -3,7 +3,7 @@ grid-template-rows: 100%; display: grid; height: 100%; - grid-template-areas: "userList" + grid-template-areas: "userList"; } .log_list_section { @@ -29,17 +29,17 @@ display: inline-block; width: 40px; height: 20px; - } - - /* Hide default HTML checkbox */ - .switch input { +} + +/* Hide default HTML checkbox */ +.switch input { opacity: 0; width: 0; height: 0; - } - - /* The slider */ - .slider { +} + +/* The slider */ +.slider { position: absolute; cursor: pointer; top: 0; @@ -47,11 +47,11 @@ right: 0; bottom: 0; background-color: #ccc; - -webkit-transition: .4s; - transition: .4s; - } - - .slider:before { + -webkit-transition: 0.4s; + transition: 0.4s; +} + +.slider:before { position: absolute; content: ""; height: 20px; @@ -59,29 +59,29 @@ left: 0px; bottom: 0px; background-color: white; - -webkit-transition: .4s; - transition: .4s; - } - - input:checked + .slider { - background-color: #2196F3; - } - - input:focus + .slider { - box-shadow: 0 0 1px #2196F3; - } - - input:checked + .slider:before { + -webkit-transition: 0.4s; + transition: 0.4s; +} + +input:checked + .slider { + background-color: #2196f3; +} + +input:focus + .slider { + box-shadow: 0 0 1px #2196f3; +} + +input:checked + .slider:before { -webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px); - } - - /* Rounded sliders */ - .slider.round { +} + +/* Rounded sliders */ +.slider.round { border-radius: 34px; - } - - .slider.round:before { +} + +.slider.round:before { border-radius: 50%; - } \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/login/login.module.css b/packages/itmat-ui-react/src/components/login/login.module.css index ad010154f..5da657838 100644 --- a/packages/itmat-ui-react/src/components/login/login.module.css +++ b/packages/itmat-ui-react/src/components/login/login.module.css @@ -14,7 +14,7 @@ padding-bottom: 4rem; } -.login_box [class*=ant-select] { +.login_box [class*="ant-select"] { text-align: left; } diff --git a/packages/itmat-ui-react/src/components/login/login.tsx b/packages/itmat-ui-react/src/components/login/login.tsx index 37941ca09..a8c20bc3f 100644 --- a/packages/itmat-ui-react/src/components/login/login.tsx +++ b/packages/itmat-ui-react/src/components/login/login.tsx @@ -27,7 +27,7 @@ export const LoginBox: FunctionComponent = () => {

Welcome


- login({ variables })}> + login({ variables })}> diff --git a/packages/itmat-ui-react/src/components/login/register.tsx b/packages/itmat-ui-react/src/components/login/register.tsx index 46692bf2f..149c186e0 100644 --- a/packages/itmat-ui-react/src/components/login/register.tsx +++ b/packages/itmat-ui-react/src/components/login/register.tsx @@ -47,7 +47,7 @@ export const RegisterNewUser: FunctionComponent = () => {

Register an Account


- createUser({ variables })}> + createUser({ variables })}> @@ -57,7 +57,7 @@ export const RegisterNewUser: FunctionComponent = () => { ({ - validator(rule, value) { + async validator(rule, value) { if (!value || getFieldValue('password') === value) { return Promise.resolve(); } diff --git a/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx b/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx index e58735493..24adc56d6 100644 --- a/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx +++ b/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx @@ -46,7 +46,7 @@ export const RequestResetPassword: FunctionComponent = () => {

Forgot your {forgotUsername ? 'username' : 'password'}?


- requestPasswordReset({ + requestPasswordReset({ variables: { ...variables, forgotUsername, diff --git a/packages/itmat-ui-react/src/components/login/resetPasswordPage.tsx b/packages/itmat-ui-react/src/components/login/resetPasswordPage.tsx index 963fed73f..ec980b9f9 100644 --- a/packages/itmat-ui-react/src/components/login/resetPasswordPage.tsx +++ b/packages/itmat-ui-react/src/components/login/resetPasswordPage.tsx @@ -75,7 +75,7 @@ export const ResetPasswordPage: FunctionComponent = () => {

Reset your password


- resetPassword({ + resetPassword({ variables: { ...variables, encryptedEmail, @@ -88,7 +88,7 @@ export const ResetPasswordPage: FunctionComponent = () => { ({ - validator(rule, value) { + async validator(rule, value) { if (!value || getFieldValue('newPassword') === value) { return Promise.resolve(); } diff --git a/packages/itmat-ui-react/src/components/profile/profile.module.css b/packages/itmat-ui-react/src/components/profile/profile.module.css index b1e5ae753..a185a6c61 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.module.css +++ b/packages/itmat-ui-react/src/components/profile/profile.module.css @@ -3,60 +3,60 @@ grid-template-rows: 100%; display: grid; height: 100%; - grid-template-areas: "userList" + grid-template-areas: "userList"; } .user_list_section { - grid-area: userList; + grid-area: userList; } .user_detail { - grid-area: userDetail; - background: var(--color-additional-panel-background); + grid-area: userDetail; + background: var(--color-additional-panel-background); } .user_list > table:first-of-type thead:first-of-type tr:first-of-type { - background: var(--color-background); + background: var(--color-background); } .create_new_user button { - display: inline-block; - width: 40%; + display: inline-block; + width: 40%; } .button_clicked button { - background-color: red; + background-color: red; } .submit_cancel_button_wrapper { - display: flex; - width: 100%; + display: flex; + width: 100%; } .submit_cancel_button_wrapper a { - width: 50%; - margin-right: 0.5rem; + width: 50%; + margin-right: 0.5rem; } .submit_cancel_button_wrapper button { - width: 100%; - margin: 0px; + width: 100%; + margin: 0px; } .really_delete_button { - background-color: red; - cursor: pointer; - margin-right: 1rem; + background-color: red; + cursor: pointer; + margin-right: 1rem; } .request_sent_button { - cursor: unset; - background: var(--color-status-finish); - color: var(--color-font-color); + cursor: unset; + background: var(--color-status-finish); + color: var(--color-font-color); } .request_sent_button:hover { - cursor: unset; - background: var(--color-status-finish); - color: var(--color-font-color); -} \ No newline at end of file + cursor: unset; + background: var(--color-status-finish); + color: var(--color-font-color); +} diff --git a/packages/itmat-ui-react/src/components/profile/profile.tsx b/packages/itmat-ui-react/src/components/profile/profile.tsx index f79efc5dc..fbf37551f 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.tsx +++ b/packages/itmat-ui-react/src/components/profile/profile.tsx @@ -143,7 +143,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce createdAt: dayjs(user.createdAt), expiredAt: dayjs(user.expiredAt), organisation: orgList.find(org => org.id === user.organisation)?.name - }} layout='vertical' onFinish={(variables) => submit({ variables: formatSubmitObj(variables) })}> + }} layout='vertical' onFinish={async (variables) => submit({ variables: formatSubmitObj(variables) })}> @@ -318,7 +318,7 @@ export const RegisterPublicKey: FunctionComponent<{ userId: string }> = ({ userI {(submit, { loading, error }) => submit({ variables })}> + }} layout='vertical' onFinish={async (variables) => submit({ variables })}> @@ -414,7 +414,7 @@ export const RegisterPublicKey: FunctionComponent<{ userId: string }> = ({ userI <> submit({ variables })}> + }} layout='vertical' onFinish={async (variables) => submit({ variables })}> @@ -462,7 +462,7 @@ export const RegisterPublicKey: FunctionComponent<{ userId: string }> = ({ userI
- @@ -534,7 +534,7 @@ export const RsaSigner: FunctionComponent = () => {

Public Key:


-
@@ -593,7 +593,7 @@ export const TokenManagement: FunctionComponent<{ userId: string }> = ({ userId return (
tokenGen({ variables })}> + }} layout='vertical' onFinish={async (variables) => tokenGen({ variables })}>

To generate an access token, you need to enter the signature signed by your private-key

Current refresh counter: {ipubkey?.refreshCounter}

diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/admin/tabContent.module.css b/packages/itmat-ui-react/src/components/projectDetail/tabContent/admin/tabContent.module.css index 99c365a58..2196e3d82 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/admin/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/admin/tabContent.module.css @@ -3,7 +3,7 @@ grid-template-columns: 80% 20%; grid-template-rows: 100%; height: 100%; - grid-template-areas: "main sub" + grid-template-areas: "main sub"; } .main_page { diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/tabContent.module.css b/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/tabContent.module.css index 4f2f95294..19f2b31c6 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/tabContent.module.css @@ -3,4 +3,3 @@ height: 100%; overflow: auto; } - diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/tabContent.module.css b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/tabContent.module.css index b28eafaf2..1a79f0e64 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/tabContent.module.css @@ -21,7 +21,7 @@ "b b" "c c" "d d" - "e e" + "e e"; } .metadata span { @@ -58,7 +58,7 @@ } .grid_icon { - font-size: '600px'; + font-size: "600px"; } .title { @@ -83,7 +83,7 @@ "a a" "b b" "c c" - "d e" + "d e"; } .metadata span { @@ -120,7 +120,7 @@ } .grid_icon { - font-size: '600px'; + font-size: "600px"; } .title { diff --git a/packages/itmat-ui-react/src/components/projectList/projectPage.module.css b/packages/itmat-ui-react/src/components/projectList/projectPage.module.css index f2782525e..8b34aaeed 100644 --- a/packages/itmat-ui-react/src/components/projectList/projectPage.module.css +++ b/packages/itmat-ui-react/src/components/projectList/projectPage.module.css @@ -1,12 +1,11 @@ .page_container { grid-template-columns: 40% 60%; grid-template-rows: 100%; - grid-template-areas: - "projectListPanel -"; + grid-template-areas: "projectListPanel -"; display: grid; height: 100%; } .page_container > div:nth-child(2) { background: var(--color-additional-panel-background); -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/reusable/loadSpinner/loadSpinner.module.css b/packages/itmat-ui-react/src/components/reusable/loadSpinner/loadSpinner.module.css index e72c6986a..f4654116b 100644 --- a/packages/itmat-ui-react/src/components/reusable/loadSpinner/loadSpinner.module.css +++ b/packages/itmat-ui-react/src/components/reusable/loadSpinner/loadSpinner.module.css @@ -7,18 +7,18 @@ } .loader { - --path: #2F3545; + --path: #2f3545; --dot: #bf1472; --duration: 3s; width: 44px; height: 44px; - position: relative; + position: relative; display: inline-block; margin: 0 16px; } .loader:before { - content: ''; + content: ""; width: 6px; height: 6px; border-radius: 50%; @@ -28,7 +28,8 @@ top: 37px; left: 21px; transform: translate(-10px, -18px); - animation: dotTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; + animation: dotTriangle var(--duration) + cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; } .loader svg { @@ -45,7 +46,8 @@ stroke-linecap: round; stroke-dasharray: 145 calc(221 - 145) 145 calc(221 - 145); stroke-dashoffset: 0; - animation: pathTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; + animation: pathTriangle var(--duration) + cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite; } @keyframes pathTriangle { diff --git a/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.module.css b/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.module.css index 852b174b6..80efb005e 100644 --- a/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.module.css +++ b/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.module.css @@ -3,7 +3,7 @@ grid-template-columns: 60% 40%; grid-template-rows: 100%; height: 100%; - grid-template-areas: "main sub" + grid-template-areas: "main sub"; } .main_page { @@ -84,7 +84,7 @@ width: 100%; } -.permissions_section>div { +.permissions_section > div { padding: 0.4rem 1rem; display: inline-block; margin: 0 1rem 1rem 0; @@ -93,17 +93,17 @@ box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3); } -.permissions_section>div:not(.permission_selected):hover { +.permissions_section > div:not(.permission_selected):hover { background-color: var(--color-permission-unselected); } -.permissions_section>.permission_selected { +.permissions_section > .permission_selected { color: black; background-color: var(--color-status-finish); } -.permissions_section>.permission_selected::after { - content: '✓' +.permissions_section > .permission_selected::after { + content: "✓"; } .data_permissions { diff --git a/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx b/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx index 464e30056..5b6cc5237 100644 --- a/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx +++ b/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx @@ -61,7 +61,7 @@ export const RoleDescriptor: FunctionComponent = ({ :
- Are you sure about deleting role {role.name}?} onConfirm={() => removeRole({ variables: { roleId: role.id } })} okText='Yes' cancelText='No'> + Are you sure about deleting role {role.name}?} onConfirm={async () => removeRole({ variables: { roleId: role.id } })} okText='Yes' cancelText='No'>
@@ -130,7 +130,7 @@ export const AddRole: FunctionComponent = ({ return (
- addNewRole({ + addNewRole({ variables: { ...variables, studyId, @@ -267,7 +267,7 @@ const PermissionsControlPanel: FunctionComponent = ...role.permissions.data, ...role.permissions.manage, description: role.description - }} layout='vertical' onFinish={(variables) => submit({ + }} layout='vertical' onFinish={async (variables) => submit({ variables: { roleId: role.id, permissionChanges: { @@ -468,7 +468,7 @@ const UsersControlPanel: FunctionComponent = ({ const [editUsers, { loading }] = useMutation(EDIT_ROLE); const { loading: getOrgsLoading, error: getOrgsError, data: getOrgsData } = useQuery(GET_ORGANISATIONS); - const handleSelect = (value: string) => { + const handleSelect = async (value: string) => { return editUsers({ variables: { roleId, @@ -481,7 +481,7 @@ const UsersControlPanel: FunctionComponent = ({ }); }; - const handleDeselect = (value: string) => { + const handleDeselect = async (value: string) => { return editUsers({ variables: { roleId, diff --git a/packages/itmat-ui-react/src/components/reusable/subsection/subsection.module.css b/packages/itmat-ui-react/src/components/reusable/subsection/subsection.module.css index 74b852efa..b878ac506 100644 --- a/packages/itmat-ui-react/src/components/reusable/subsection/subsection.module.css +++ b/packages/itmat-ui-react/src/components/reusable/subsection/subsection.module.css @@ -6,9 +6,8 @@ padding-left: 0.8rem; font-weight: normal; color: var(--color-font-color); - } .content_section > div { padding-top: 1rem; -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/scaffold/scaffold.module.css b/packages/itmat-ui-react/src/components/scaffold/scaffold.module.css index cd9665476..10efc3ead 100644 --- a/packages/itmat-ui-react/src/components/scaffold/scaffold.module.css +++ b/packages/itmat-ui-react/src/components/scaffold/scaffold.module.css @@ -7,7 +7,7 @@ display: grid; grid-template-columns: 16rem 1fr; grid-template-rows: calc(100% - 2rem) 2rem; - grid-template-areas: "mainMenuBar mainPanel" "statusBar statusBar" + grid-template-areas: "mainMenuBar mainPanel" "statusBar statusBar"; } .main_panel { @@ -60,4 +60,4 @@ .clickedButton .button svg { fill: var(--color-background); -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/components/users/sections.module.css b/packages/itmat-ui-react/src/components/users/sections.module.css index 16cfb9ec7..a65695a4b 100644 --- a/packages/itmat-ui-react/src/components/users/sections.module.css +++ b/packages/itmat-ui-react/src/components/users/sections.module.css @@ -5,7 +5,7 @@ .one_project h5 { font-size: 1.1rem; color: var(--color-primary-color); - font-weight: bold + font-weight: bold; } .one_project h5:hover { diff --git a/packages/itmat-ui-react/src/components/users/userDetails.tsx b/packages/itmat-ui-react/src/components/users/userDetails.tsx index 5876f1173..4fe8feabc 100644 --- a/packages/itmat-ui-react/src/components/users/userDetails.tsx +++ b/packages/itmat-ui-react/src/components/users/userDetails.tsx @@ -144,7 +144,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce createdAt: dayjs(user.createdAt), expiredAt: dayjs(user.expiredAt), organisation: orgList.find(org => org.id === user.organisation)?.id - }} layout='vertical' onFinish={(variables) => submit({ variables: formatSubmitObj(variables) })}> + }} layout='vertical' onFinish={async (variables) => submit({ variables: formatSubmitObj(variables) })}> diff --git a/packages/itmat-ui-react/src/components/users/userList.module.css b/packages/itmat-ui-react/src/components/users/userList.module.css index f29599774..da814f160 100644 --- a/packages/itmat-ui-react/src/components/users/userList.module.css +++ b/packages/itmat-ui-react/src/components/users/userList.module.css @@ -3,7 +3,7 @@ grid-template-rows: 100%; display: grid; height: 100%; - grid-template-areas: "userList userDetail" + grid-template-areas: "userList userDetail"; } .user_list_section { @@ -59,4 +59,4 @@ cursor: unset; background: var(--color-status-finish); color: var(--color-font-color); -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/css/antd.css b/packages/itmat-ui-react/src/css/antd.css index bce25bce1..1a4a9cc57 100644 --- a/packages/itmat-ui-react/src/css/antd.css +++ b/packages/itmat-ui-react/src/css/antd.css @@ -1,4 +1,4 @@ -@import '~antd/dist/reset.css'; +@import "~antd/dist/reset.css"; /* .ant-tree li .ant-tree-node-content-wrapper:hover { @@ -68,4 +68,4 @@ .ant-switch-checked { background-color: var(--color-primary-color) !important; } -*/ \ No newline at end of file +*/ diff --git a/packages/itmat-ui-react/src/css/global.css b/packages/itmat-ui-react/src/css/global.css index 51c1c7394..7d312f3b3 100644 --- a/packages/itmat-ui-react/src/css/global.css +++ b/packages/itmat-ui-react/src/css/global.css @@ -38,7 +38,7 @@ --color-status-cancelled: #9e78d0; /* set to 0 if customised */ --animation-duration: 0.4s; - --font-family: 'Inter'; + --font-family: "Inter"; } @font-face { @@ -91,7 +91,7 @@ body, background: var(--color-additional-panel-background); } -.additional_panel>.page_ariane { +.additional_panel > .page_ariane { background: var(--color-additional-panel-ariane); } @@ -151,15 +151,15 @@ body, @keyframes error_banner_blink { 0% { - background: rgb(224, 66, 66) + background: rgb(224, 66, 66); } 50% { - background: rgb(233, 106, 106) + background: rgb(233, 106, 106); } 100% { - background: rgb(224, 66, 66) + background: rgb(224, 66, 66); } } @@ -177,15 +177,15 @@ body, @keyframes save_banner_blink { 0% { - background: rgb(132, 175, 66) + background: rgb(132, 175, 66); } 50% { - background: rgb(179, 240, 88) + background: rgb(179, 240, 88); } 100% { - background: rgb(132, 175, 66) + background: rgb(132, 175, 66); } } @@ -203,20 +203,18 @@ body, @keyframes warning_banner_blink { 0% { - background: rgb(255, 238, 0) + background: rgb(255, 238, 0); } 50% { - background: rgb(255, 249, 172) + background: rgb(255, 249, 172); } 100% { - background: rgb(255, 238, 0) + background: rgb(255, 238, 0); } } - - .warning_banner { background: rgb(255, 238, 0); border-radius: 0.2rem; @@ -261,5 +259,5 @@ body, border: 0; width: 100%; height: 100%; - grid-area: editorCore -} \ No newline at end of file + grid-area: editorCore; +} diff --git a/packages/itmat-ui-react/src/css/query.module.css b/packages/itmat-ui-react/src/css/query.module.css index 2fbcb1768..f49db5977 100644 --- a/packages/itmat-ui-react/src/css/query.module.css +++ b/packages/itmat-ui-react/src/css/query.module.css @@ -48,7 +48,7 @@ padding: 0px; border: 0px; grid-template-rows: 1fr 3rem; - grid-template-areas: "editorCore" "submitButton" + grid-template-areas: "editorCore" "submitButton"; } .submitButton { @@ -60,7 +60,6 @@ box-shadow: 2px; color: rgb(241, 241, 241); font-weight: bold; - } .submitButton:hover { @@ -75,7 +74,6 @@ cursor: pointer; } - .fields { grid-area: fields; height: 100%; @@ -93,4 +91,4 @@ .fields > div:hover { background-color: grey; cursor: pointer; -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/css/studyControl.module.css b/packages/itmat-ui-react/src/css/studyControl.module.css index cd1f4565a..4dc79dec0 100644 --- a/packages/itmat-ui-react/src/css/studyControl.module.css +++ b/packages/itmat-ui-react/src/css/studyControl.module.css @@ -4,8 +4,7 @@ display: grid; grid-template-columns: 1.5fr 1fr; grid-template-rows: 100%; - grid-template-areas: - "studyDashboard extraActionPanel" + grid-template-areas: "studyDashboard extraActionPanel"; } .studyDashboard { @@ -20,9 +19,9 @@ display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr; - grid-template-areas: + grid-template-areas: "jobs jobs addShortcut" - "applicationList curation deleteStudy" + "applicationList curation deleteStudy"; } } @@ -33,7 +32,6 @@ overflow: auto; } - .studyControl > div > div { padding: 2% 2%; } @@ -43,4 +41,4 @@ margin-left: -3px; text-transform: capitalize; color: var(--color-text-title-rightpanel); -} \ No newline at end of file +} diff --git a/packages/itmat-ui-react/src/index.html b/packages/itmat-ui-react/src/index.html index 7c60e4e81..19ff8177b 100644 --- a/packages/itmat-ui-react/src/index.html +++ b/packages/itmat-ui-react/src/index.html @@ -1,20 +1,21 @@ - + + + + ItmatUiReact + - - - ItmatUiReact - + + + + + - - - - - - - - -
- - - \ No newline at end of file + + +
+ + diff --git a/packages/itmat-ui-react/src/styles.css b/packages/itmat-ui-react/src/styles.css index 4cf68c4df..288d5a385 100644 --- a/packages/itmat-ui-react/src/styles.css +++ b/packages/itmat-ui-react/src/styles.css @@ -1,2 +1,2 @@ -@import './css/antd.css'; -@import './css/global.css'; \ No newline at end of file +@import "./css/antd.css"; +@import "./css/global.css"; diff --git a/packages/itmat-ui-react/src/utils/dmpCrypto/dmp.key.ts b/packages/itmat-ui-react/src/utils/dmpCrypto/dmp.key.ts index 6b59b5389..fe514bbf7 100644 --- a/packages/itmat-ui-react/src/utils/dmpCrypto/dmp.key.ts +++ b/packages/itmat-ui-react/src/utils/dmpCrypto/dmp.key.ts @@ -102,14 +102,15 @@ export class Key { } static async createRSAKey(): Promise { - return await crypto.subtle.generateKey({ - name: 'RSA-PSS', - modulusLength: 4096, - publicExponent: new Uint8Array([1, 0, 1]), - hash: 'SHA-256' - }, - true, - ['sign', 'verify'] + return await crypto.subtle.generateKey( + { + name: 'RSA-PSS', + modulusLength: 4096, + publicExponent: new Uint8Array([1, 0, 1]), + hash: 'SHA-256' + }, + true, + ['sign', 'verify'] ); } diff --git a/packages/itmat-ui-react/src/utils/noop.ts b/packages/itmat-ui-react/src/utils/noop.ts index a6e685f5d..5f74f9cec 100644 --- a/packages/itmat-ui-react/src/utils/noop.ts +++ b/packages/itmat-ui-react/src/utils/noop.ts @@ -1,3 +1,2 @@ -/* eslint-disable import/no-anonymous-default-export */ export const Client = (): void => { return; }; export default (): void => { return; }; diff --git a/tsconfig.base.json b/tsconfig.base.json index bf400e0a0..ddb58f393 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,43 +1,43 @@ { - "compileOnSave": false, - "compilerOptions": { - "rootDir": ".", - "sourceMap": true, - "declaration": false, - "moduleResolution": "node", - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "importHelpers": true, - "target": "ES2022", - "module": "ES2022", - "lib": [ - "ES2022", - "dom" - ], - "esModuleInterop": true, - "skipLibCheck": true, - "skipDefaultLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "strict": true, - "baseUrl": ".", - "paths": { - "@itmat-broker/itmat-commons": [ - "packages/itmat-commons/src/index.ts" - ], - "@itmat-broker/itmat-models": [ - "packages/itmat-models/src/index.ts" - ], - "@itmat-broker/itmat-setup": [ - "packages/itmat-setup/src/index.ts" - ], - "@itmat-broker/itmat-types": [ - "packages/itmat-types/src/index.ts" - ] - } - }, - "exclude": [ - "node_modules", - "tmp" - ] -} \ No newline at end of file + "compileOnSave": false, + "compilerOptions": { + "rootDir": ".", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "lib": [ + "ES2022", + "dom" + ], + "esModuleInterop": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "strict": true, + "baseUrl": ".", + "paths": { + "@itmat-broker/itmat-commons": [ + "packages/itmat-commons/src/index.ts" + ], + "@itmat-broker/itmat-models": [ + "packages/itmat-models/src/index.ts" + ], + "@itmat-broker/itmat-setup": [ + "packages/itmat-setup/src/index.ts" + ], + "@itmat-broker/itmat-types": [ + "packages/itmat-types/src/index.ts" + ] + } + }, + "exclude": [ + "node_modules", + "tmp" + ] +} From da6214c60cd6be4bfac8e2ec2348b75c1163c75c Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Mon, 22 Apr 2024 18:44:27 +0100 Subject: [PATCH 149/252] chore: Update dependencies --- package.json | 40 +- packages/itmat-interface/src/server/router.ts | 65 +- yarn.lock | 774 +++++++++--------- 3 files changed, 448 insertions(+), 431 deletions(-) diff --git a/package.json b/package.json index 06b6b3b1b..4487b81b6 100644 --- a/package.json +++ b/package.json @@ -30,18 +30,18 @@ "devDependencies": { "@babel/core": "^7.24.4", "@babel/preset-react": "^7.24.1", - "@nx/cypress": "18.3.2", - "@nx/esbuild": "18.3.2", - "@nx/eslint": "18.3.2", - "@nx/eslint-plugin": "18.3.2", - "@nx/express": "18.3.2", - "@nx/jest": "18.3.2", - "@nx/js": "18.3.2", - "@nx/node": "18.3.2", - "@nx/react": "18.3.2", - "@nx/web": "18.3.2", - "@nx/webpack": "18.3.2", - "@nx/workspace": "18.3.2", + "@nx/cypress": "18.3.3", + "@nx/esbuild": "18.3.3", + "@nx/eslint": "18.3.3", + "@nx/eslint-plugin": "18.3.3", + "@nx/express": "18.3.3", + "@nx/jest": "18.3.3", + "@nx/js": "18.3.3", + "@nx/node": "18.3.3", + "@nx/react": "18.3.3", + "@nx/web": "18.3.3", + "@nx/webpack": "18.3.3", + "@nx/workspace": "18.3.3", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "@svgr/webpack": "8.1.0", "@swc/cli": "0.3.12", @@ -70,13 +70,12 @@ "@types/webpack-env": "1.18.4", "@typescript-eslint/eslint-plugin": "7.7.0", "@typescript-eslint/parser": "7.7.0", - "css-loader": "^6.10.0", "cypress": "^13.8.0", - "eslint": "8.56.0", + "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-cypress": "2.15.2", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsonc": "2.15.0", + "eslint-plugin-jsonc": "2.15.1", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-react": "7.34.1", "eslint-plugin-react-hooks": "4.6.0", @@ -85,13 +84,10 @@ "husky": "9.0.11", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "mongodb-memory-server": "9.1.8", - "nx": "18.3.2", + "mongodb-memory-server": "9.2.0", + "nx": "18.3.3", "prettier": "^3.2.5", "react-refresh": "^0.14.0", - "style-loader": "^3.3.4", - "stylus": "^0.63.0", - "stylus-loader": "^7.1.3", "supertest": "6.3.4", "swc-loader": "0.2.6", "ts-essentials": "9.4.2", @@ -112,7 +108,7 @@ "@ideafast/idgen": "0.1.1", "@swc/helpers": "0.5.10", "JSONStream": "1.3.5", - "antd": "5.16.2", + "antd": "5.16.4", "apollo-upload-client": "18.0.1", "axios": "1.6.8", "bcrypt": "5.1.1", @@ -138,7 +134,7 @@ "graphql-upload-minimal": "1.6.1", "graphql-ws": "5.16.0", "hi-base32": "0.5.1", - "http-proxy-middleware": "2.0.6", + "http-proxy-middleware": "3.0.0", "https-browserify": "1.0.0", "husky": "9.0.11", "jsonwebtoken": "9.0.2", diff --git a/packages/itmat-interface/src/server/router.ts b/packages/itmat-interface/src/server/router.ts index 72100b6b5..0d592278c 100644 --- a/packages/itmat-interface/src/server/router.ts +++ b/packages/itmat-interface/src/server/router.ts @@ -12,6 +12,7 @@ import MongoStore from 'connect-mongo'; // import cors from 'cors'; import express from 'express'; import { Express } from 'express'; +import { Request, Response, RequestHandler as NativeRequestHandler } from 'express-serve-static-core'; import session from 'express-session'; import rateLimit from 'express-rate-limit'; import http from 'node:http'; @@ -40,7 +41,7 @@ export class Router { private readonly app: Express; private readonly server: http.Server; private readonly config: IConfiguration; - public readonly proxies: Array = []; + public readonly proxies: Array> = []; constructor(config: IConfiguration) { @@ -168,37 +169,39 @@ export class Router { // logLevel: 'debug', autoRewrite: true, changeOrigin: true, - onProxyReq: function (preq, req, res) { - if (!req.user) - return res.status(403).redirect('/'); - res.cookie('ae_proxy', req.headers['host']); - const data = (req.user as IUser).username + ':token'; - preq.setHeader('authorization', `Basic ${Buffer.from(data).toString('base64')}`); - if (req.body && Object.keys(req.body).length) { - const contentType = preq.getHeader('Content-Type'); - preq.setHeader('origin', _this.config.aeEndpoint); - const writeBody = (bodyData: string) => { - preq.setHeader('Content-Length', Buffer.byteLength(bodyData)); - preq.write(bodyData); - preq.end(); - }; - - if (contentType === 'application/json') { // contentType.includes('application/json') - writeBody(JSON.stringify(req.body)); - } + on: { + proxyReq: function (preq, req: Request, res: Response) { + if (!req.user) + return res.status(403).redirect('/'); + res.cookie('ae_proxy', req.headers['host']); + const data = (req.user as IUser).username + ':token'; + preq.setHeader('authorization', `Basic ${Buffer.from(data).toString('base64')}`); + if (req.body && Object.keys(req.body).length) { + const contentType = preq.getHeader('Content-Type'); + preq.setHeader('origin', _this.config.aeEndpoint); + const writeBody = (bodyData: string) => { + preq.setHeader('Content-Length', Buffer.byteLength(bodyData)); + preq.write(bodyData); + preq.end(); + }; - if (contentType === 'application/x-www-form-urlencoded') { - writeBody(qs.stringify(req.body)); - } + if (contentType === 'application/json') { // contentType.includes('application/json') + writeBody(JSON.stringify(req.body)); + } + + if (contentType === 'application/x-www-form-urlencoded') { + writeBody(qs.stringify(req.body)); + } + } + }, + proxyReqWs: function (preq) { + const data = 'username:token'; + preq.setHeader('authorization', `Basic ${Buffer.from(data).toString('base64')}`); + }, + error: function (err, req, res, target) { + console.error(err, target); } - }, - onProxyReqWs: function (preq) { - const data = 'username:token'; - preq.setHeader('authorization', `Basic ${Buffer.from(data).toString('base64')}`); - }, - onError: function (err, req, res, target) { - console.error(err, target); } }); @@ -211,7 +214,7 @@ export class Router { const proxy_routers = ['/pun', '/node', '/rnode', '/public']; proxy_routers.forEach(router => { - this.app.use(router, ae_proxy); + this.app.use(router, ae_proxy as NativeRequestHandler); }); await gqlServer.start(); @@ -280,7 +283,7 @@ export class Router { return this.app; } - public getProxy(): RequestHandler { + public getProxy(): RequestHandler { return this.proxies[0]; } diff --git a/yarn.lock b/yarn.lock index c2769aea8..519aae842 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,7 +7,7 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@adobe/css-tools@^4.0.1", "@adobe/css-tools@~4.3.3": +"@adobe/css-tools@^4.0.1": version "4.3.3" resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== @@ -33,9 +33,9 @@ "@ctrl/tinycolor" "^3.6.1" "@ant-design/cssinjs@^1.18.5": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.19.1.tgz#d3bb4f58ee884c9c757688e611e7a6de9867ea75" - integrity sha512-hgQ3wiys3X0sqDKWkqCJ6EYdF79i9JCvtavmIGwuuPUKmoJXV8Ff0sY+yQQSxk2dRmMyam/bYKo/Bwor45hnZw== + version "1.20.0" + resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.20.0.tgz#878bc6c5b08f73db76da54c347a7ebb3fa4858bb" + integrity sha512-uG3iWzJxgNkADdZmc6W0Ci3iQAUOvLMcM8SnnmWq3r6JeocACft4ChnY/YWvI2Y+rG/68QBla/O+udke1yH3vg== dependencies: "@babel/runtime" "^7.11.1" "@emotion/hash" "^0.8.0" @@ -585,10 +585,10 @@ regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd" - integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -1924,11 +1924,6 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.56.0": - version "8.56.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" - integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== - "@eslint/js@8.57.0": version "8.57.0" resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" @@ -1965,7 +1960,7 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== -"@humanwhocodes/config-array@^0.11.13", "@humanwhocodes/config-array@^0.11.14": +"@humanwhocodes/config-array@^0.11.14": version "0.11.14" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== @@ -2333,118 +2328,118 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nrwl/cypress@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-18.3.2.tgz#cfac64a2654fd3cb7c7af85d50753f230a366afe" - integrity sha512-URumzi1TlAdBPrRYVyE8mhB3FUNaMqP0wB6laWyv11Ya2vWoYhVonfAHVPDyjEhjDGrcFH4e648Jig54VNFQrA== +"@nrwl/cypress@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-18.3.3.tgz#3b85e45169c3aff23ea46e19835956a355111b22" + integrity sha512-CsoPFX+iLwvc/+Im/zZsk3FP8c8epBMmI8GNvZFnDZe8J9bdBmtlxp8/Yh3LdUw8ycmPGPvW7eggv31yNZmT+Q== dependencies: - "@nx/cypress" "18.3.2" + "@nx/cypress" "18.3.3" -"@nrwl/devkit@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-18.3.2.tgz#21aa1db02ddc1d26856d964526e1120ca7479612" - integrity sha512-srguS6WNE/sP99OTfPqUdI22CNEocvxyz4TOB6Uj5zcFiKIFOlWn0NFwathdWVKwvsszY1Zvt/YiVjzYNUDqWw== +"@nrwl/devkit@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-18.3.3.tgz#9ec5575afe6d14b17acd5e8da4e98a0de27704c6" + integrity sha512-3zZLE1vfwsNie7qjVUt9lqaM1slU0RTr/dW+Yt/2lxe8Peu6f8bnCM1Pf3kSlzoxQroctfocRtVHFXJsAuAt4g== dependencies: - "@nx/devkit" "18.3.2" + "@nx/devkit" "18.3.3" -"@nrwl/esbuild@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-18.3.2.tgz#5dc4d7bceee8cfe6b3f47a4eccc881ce086abb06" - integrity sha512-d9RUt4bfgBGYMiCnegIwUmjJA+HBW5ep+DdpmURbNfhHwuNjtW2nu6zOqfc88CVxjjl+V6v6EVdDb2ADLx03FA== +"@nrwl/esbuild@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-18.3.3.tgz#d0043b6aa8164970a737efe1c3d293a4e33dbb85" + integrity sha512-bbjgY4170UlnIgmOqMJ55JaCxjpllwJNi3z9EoyG1+8gj+QnVEX/HHRJB9iVpJDpLnte7LQmbOoDcjNy2rx2Sw== dependencies: - "@nx/esbuild" "18.3.2" + "@nx/esbuild" "18.3.3" -"@nrwl/eslint-plugin-nx@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.3.2.tgz#27fc0b57804898a079595a2558128384e8990841" - integrity sha512-EwMYEy0hCKbx7hjKzX9bqJmhNsvNi4R5QtcZ8ySG/8nJViFPRgF0CtnVpjF4Kc3Yhog+c+bBs1DInxGsRtIieQ== +"@nrwl/eslint-plugin-nx@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.3.3.tgz#b41316daa9ac7f55379cb4510767f7a865c920a6" + integrity sha512-ARqwcA2n2NN+8ATrooZtPbaW5fb9WSjDFZaI8RdphMXFnPrEkZnMpbrjFpLTj+wc1R6hIgTcYbli6fv4Gfbo3Q== dependencies: - "@nx/eslint-plugin" "18.3.2" + "@nx/eslint-plugin" "18.3.3" -"@nrwl/express@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-18.3.2.tgz#d6cff283ef740a311dc220959ee0b24fc3d8f6e1" - integrity sha512-ppFsOfvk/tcbrZexYZ0Qh5wny6t61Ub+8WcmKCzwJ5a3+JwdY4T7L5cp7qh2SAVvuEDaz9z0/bhfRgAkFCljQQ== +"@nrwl/express@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-18.3.3.tgz#269bd3bc36fab33862f9a29d6a9bc561dea36a54" + integrity sha512-72exWTPfAR/eKFvb4SvN86Nui/gF5X2HsD4rShe2e0C4grARha6rmdm1QUo8UWWELslIybUEszyMhdEcPzggrA== dependencies: - "@nx/express" "18.3.2" + "@nx/express" "18.3.3" -"@nrwl/jest@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-18.3.2.tgz#e63dea1dfce0733a581c3b81ba6398cb6637d83c" - integrity sha512-V3zH1qoXprwZfBKx+y37kGu9hoVzOm1JwvHAOKXK6DktWgq/DaihCkRJ1f3xbOJIrBAGKmV0jnhnoGhsDfJUcQ== +"@nrwl/jest@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-18.3.3.tgz#6d75e59c47be007cbe4b78c23fd3e08fe954ed68" + integrity sha512-BPI0mIbmjTHFb0/qtMND59ECld7gorV+SEVLwf4BLl7SWumVB2gLAA2+yx71cvF1jO4R5Ndi2FrBwBC9E2Va5Q== dependencies: - "@nx/jest" "18.3.2" + "@nx/jest" "18.3.3" -"@nrwl/js@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-18.3.2.tgz#6d8eccf157c912a0f047ee5aab5ece36f5652704" - integrity sha512-/vYlncYqQeK9u7vsqLP2huwIXzmwDlkzkaHo35X6JcCY2Xph+TLsV8ZiZs5ygTtkt+po8Th4g0l3NZfZ1EtZvg== +"@nrwl/js@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-18.3.3.tgz#e1a83fb43541cd06752aced6dd7ad932d0c1afa1" + integrity sha512-7Wtv5kpeMWUDBUFu5go49HM/S8vDrtMOvZf9xnUcnjsFDReWe8XIEkTWudZDbzID3X4T6WQAftzj2Ov6k566lQ== dependencies: - "@nx/js" "18.3.2" + "@nx/js" "18.3.3" -"@nrwl/node@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-18.3.2.tgz#0d4e967dd527febf2defddcf69849932ded6cb0d" - integrity sha512-k5DW3KfR7poE12IhBKt+qyLeH72AqPJtV6VQOk8g91HyG4PmWAL9+laZvlekr1RhLBc4jBLw5/xaR2a6lqEVew== +"@nrwl/node@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-18.3.3.tgz#eb0850a8e7877332550d7e06e7c959d0842b25e2" + integrity sha512-87PXppPqI/jOl6swYVdQi8RBveOF7Oqmqw9m9eEbts6U2bazPipKTwBO4E9afkz3GMqaxe+d2H794JqH05Mr8w== dependencies: - "@nx/node" "18.3.2" + "@nx/node" "18.3.3" -"@nrwl/react@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-18.3.2.tgz#d3b056ce2c121ecf2e428ad980853a7bbef59e4f" - integrity sha512-fdHitQQxAovy4Ez53+C3+KkN51WU4PO0UrlkWtlOqOpOWDS9VOUmj6nc2MO7i9EDZ9FwaV+JhIh6ZhasLuP0vw== +"@nrwl/react@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-18.3.3.tgz#073ce04f39ed87daab5509ad9fa0f0c0a83a2442" + integrity sha512-i81SZJvycadVzbPB2YkFVhjZomeVz2vDty9+jjmaK+NNrQeic769nO4w+m6LdDEogCCV0cpsl1P6LH4YuqwwmA== dependencies: - "@nx/react" "18.3.2" + "@nx/react" "18.3.3" -"@nrwl/tao@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-18.3.2.tgz#20f99fb5ee76aacb0efda7a1c264f890c4e6c163" - integrity sha512-TQmaUMEIlKcytBpaHVG3VMPhfoJl09u3KaE6F1eJcFi7+za8rivH+HM+jlhwCAOlaC9bmnvJy0GvnFa5WtScsg== +"@nrwl/tao@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-18.3.3.tgz#2d0c60d233f2cc07c85ba08126dd46f21dda1ef0" + integrity sha512-f/PUDLpSMEObiLQ5sIDySJM+5DxSCNunkxxbY1R9rmQ1cFcgrHaXIHQqbSj91mMa3mmtbKACk8u1LbI+oQV0Tg== dependencies: - nx "18.3.2" + nx "18.3.3" tslib "^2.3.0" -"@nrwl/web@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-18.3.2.tgz#56c2eca8b1bee22e91961a704f3bf1c6f76da26e" - integrity sha512-QHWGsLoSQfgwfive/77alaEh3w3k25yuuWgtPfIgcoR5fHYezXhGbBNE7XAihEjsdg/nY+k1fnEwrFYKg57r0A== +"@nrwl/web@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-18.3.3.tgz#3e31d086fef5aa1e68ac5af9d5c27592ef2fe39d" + integrity sha512-EuEht/tk9VHLKxjVMEh96wu8WNkRFRabpmLBc++pp2bEaoxz8Qm2xDO+sOU3Wp4zGNx/qQVxA1kKMZCjVjk75g== dependencies: - "@nx/web" "18.3.2" + "@nx/web" "18.3.3" -"@nrwl/webpack@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-18.3.2.tgz#c3b5d316a97af3f4832dbbaedb3a32c487478f26" - integrity sha512-3W8vNjs8R3vtLxKyv+hgT9IGlMHijmKIoQiuFcpvrc8gN8d/du1wnj1DfPAKblhV+1we5YBmPjJNRWzeXbI0YA== +"@nrwl/webpack@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-18.3.3.tgz#0c29dc1561c9b8e613313fd02f805be72515dfa6" + integrity sha512-E/8vr1qAFSan1FnewvLBRBHYIaPG9dxZeYKRcQvcDx+Jf2oPyJNYI+9kkoNxEZg9FeFJMShK2x8YBgwB+ivH5A== dependencies: - "@nx/webpack" "18.3.2" + "@nx/webpack" "18.3.3" -"@nrwl/workspace@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-18.3.2.tgz#2206071e4f6af3da4bc6b2205bc66d7638b7e21a" - integrity sha512-Bv9EuaH5egyNfiojkkW/P/CcNgbbU5XyHInClS1u6MfFhM8N9+ptLMYNobtx0K8tLnE2jxYCxbi1lLy1oy7ebg== +"@nrwl/workspace@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-18.3.3.tgz#291ecda3c4fddcb534f0cc6b7c7796a21483ae49" + integrity sha512-9Giuec9l3PpS8mekD00W9kBIKmWRpQSkp+/RvYmc+7kKtVC+Uj/kc68exBOanVgq6zKzYrn+FqHWHGWnHxp+ww== dependencies: - "@nx/workspace" "18.3.2" + "@nx/workspace" "18.3.3" -"@nx/cypress@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-18.3.2.tgz#0eb6b8c85a18be526c45da4f92c569146c7e373a" - integrity sha512-cdtNXUQeQ677eDwTKW9SoGJv5neMdCGOgqGM7GkQine1wDAxw+i//6U2BvH3sYd8b9DGMbKQwxyiQciKBdTigw== +"@nx/cypress@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-18.3.3.tgz#d0af052f421312018b0d0ddc3476cd4a31ca748f" + integrity sha512-ou7Q6XXM9zIiWFVojZwnnFFJxx4iKACWvusfCOIwJ3zcel1vtamWHffRp2Z9WjdBDxy26Ax/DM+lZj4t6hQRmA== dependencies: - "@nrwl/cypress" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/eslint" "18.3.2" - "@nx/js" "18.3.2" + "@nrwl/cypress" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/eslint" "18.3.3" + "@nx/js" "18.3.3" "@phenomnomnominal/tsquery" "~5.0.1" detect-port "^1.5.1" semver "^7.5.3" tslib "^2.3.0" -"@nx/devkit@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-18.3.2.tgz#f2515620b87a6880096ae59f9899f23844370ba6" - integrity sha512-H55m7R6zKteZ5DE0o2IOwpwo8RQXiH4RkBELWn9YkSQPvps8K7psyMzPQofP37qD5S0u7pYjGIWiJDzij+OeEQ== +"@nx/devkit@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-18.3.3.tgz#2ec37855020da74ad1e77b51711b057b3cb12fec" + integrity sha512-FtkZ6mA5//vEA5lcbT80m080ROVacHYV5F1peztTRA+IY2JZGJoqx425kn5ylDO8aCSAIAwcn2qIdhI8BnpG3Q== dependencies: - "@nrwl/devkit" "18.3.2" + "@nrwl/devkit" "18.3.3" ejs "^3.1.7" enquirer "~2.3.6" ignore "^5.0.4" @@ -2453,28 +2448,28 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/esbuild@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-18.3.2.tgz#0210d50dcfdbe12979dcca630e90ef8f20e9cc7d" - integrity sha512-DiH3vqC/4+VYcIXWSIoYLmPM6Ld3rJFnKNLhYqYc+laTVz1CY+ZNzB+bxyHlfbYJZP0+ObhFwtnF5SPxJXm0/Q== +"@nx/esbuild@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-18.3.3.tgz#4b2c49261a5700eb6b2daeb84a8b24ddf791ae5d" + integrity sha512-qhvmLO4mXedBoLnAhuYNOOVJYTRSOp2MNxZH3bvZ3Fwa95XmRlY8pUV9FLxMp80h+kLAaHbuIYRbt2KdJoanmw== dependencies: - "@nrwl/esbuild" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/js" "18.3.2" + "@nrwl/esbuild" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" chalk "^4.1.0" fast-glob "3.2.7" fs-extra "^11.1.0" tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/eslint-plugin@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-18.3.2.tgz#e3126728b7731c75fcf02e51dcf8baa1745d6bd0" - integrity sha512-/itrQZ4jFWTigZUrj96SRDX0VWZcaP9jl1GKOpwFL3jNigHad1whjr0TbESkJLE38BWGUrPH0OPPsQe59CETnQ== +"@nx/eslint-plugin@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-18.3.3.tgz#0410261cf7f1a227eefbe2a979c9482ad9c19894" + integrity sha512-ww3r8VRlzJXOBRG+qCTd+VXHRKxiIrOH+cIokTtuzGrnCXWEMSPO5Ts6z/Jsbb0xAcfZ39WUnxuDZdKbp4aHqA== dependencies: - "@nrwl/eslint-plugin-nx" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/js" "18.3.2" + "@nrwl/eslint-plugin-nx" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" "@typescript-eslint/type-utils" "^7.3.0" "@typescript-eslint/utils" "^7.3.0" chalk "^4.1.0" @@ -2483,38 +2478,38 @@ semver "^7.5.3" tslib "^2.3.0" -"@nx/eslint@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-18.3.2.tgz#47028d32f6f27e558b6a44cc1f8e52450d0805f7" - integrity sha512-A2ys6tGtvUifcUZIB8s5tTmEt3D3DySxk7JYFpHpCTWzySU0FXhng7Zf585sESf1U0jLoQ0x+FYvtMuZdOyvxg== +"@nx/eslint@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-18.3.3.tgz#ce28b4240e0558333dee08c824d8f82d72a11159" + integrity sha512-cvJjyykTEtQN08b5wQFelD/cbye7Nl5zFVESs+mn9/ezCukjAgP9seOk39nchKykRBAm7zzA1xZOB9thNqw9aA== dependencies: - "@nx/devkit" "18.3.2" - "@nx/js" "18.3.2" - "@nx/linter" "18.3.2" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" + "@nx/linter" "18.3.3" eslint "^8.0.0" tslib "^2.3.0" typescript "~5.4.2" -"@nx/express@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/express/-/express-18.3.2.tgz#6dd2f211720bd13f31a06de2b48c27fb9c929c84" - integrity sha512-0VdQ2DtHWe7RqRuqsFM8POWAe+7PphNVD1QHqsuxJDZN1eqfL3EQtDAoIdzimFRdU+JE9vGsCK8jM0Tr3sfmyw== +"@nx/express@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/express/-/express-18.3.3.tgz#1aaa64d9063ad6b18e0e4e53ecd9b5ab0596afb9" + integrity sha512-FwNWDhn5Ngkw3O+/CdYjxVvepyR+YttTrSOiUjlGHZVppaycOpNFg7i2P5aq4zi0xxPQBMTum2xddMBv0dtOWQ== dependencies: - "@nrwl/express" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/node" "18.3.2" + "@nrwl/express" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/node" "18.3.3" tslib "^2.3.0" -"@nx/jest@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-18.3.2.tgz#6294fbc64ebf04be5557d135e2cf719d7dca7008" - integrity sha512-Kn8STXrvHfhM3sdHPYNFz3smfMIwldp0x6DPclFd9HMJYcR63t55eYsvUqCwSY/T87qyjLoYtgeJO6k9hq6Rgw== +"@nx/jest@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-18.3.3.tgz#4a25f77169d0e630cb9b5f49bd0cde1faf0aae31" + integrity sha512-AwkwYSJqu0vrDFMxKAc3lb0yHZFhsD8rX6rMMwe/fZMlAYml9FvGCp/ixWpcRWIo/1t3pxiF3Vejk9+oq/Avfw== dependencies: "@jest/reporters" "^29.4.1" "@jest/test-result" "^29.4.1" - "@nrwl/jest" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/js" "18.3.2" + "@nrwl/jest" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" "@phenomnomnominal/tsquery" "~5.0.1" chalk "^4.1.0" identity-obj-proxy "3.0.0" @@ -2526,10 +2521,10 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/js@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-18.3.2.tgz#fdaf042cd5dea30892d97b30f584491aabb58a78" - integrity sha512-272opZpNpijPH/KecAeG1JFamRuS05DJKM+V/otSUwAjtakx8DmKfy0X1bNJ1ajMFyk55F5MuIeEhM4I856iVw== +"@nx/js@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/js/-/js-18.3.3.tgz#977968160d6edc11f320bc0f654b52d36a9101ac" + integrity sha512-e8u56oG0mlTVz48EeH0C7txX0GeLYN0o4mK1LDAMIHQa4tKefNfwrdqHaZBiVqFOPopeFtqi8s0kqce5prwCaw== dependencies: "@babel/core" "^7.23.2" "@babel/plugin-proposal-decorators" "^7.22.7" @@ -2538,9 +2533,9 @@ "@babel/preset-env" "^7.23.2" "@babel/preset-typescript" "^7.22.5" "@babel/runtime" "^7.22.6" - "@nrwl/js" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/workspace" "18.3.2" + "@nrwl/js" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/workspace" "18.3.3" "@phenomnomnominal/tsquery" "~5.0.1" babel-plugin-const-enum "^1.0.1" babel-plugin-macros "^2.8.0" @@ -2562,85 +2557,85 @@ tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/linter@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-18.3.2.tgz#13706fe0d43240bf55c267e46309361b205dd346" - integrity sha512-vX1NhzE15JTramqTukDA4AueTedlfDyuIlSgFUK5Ilhd88i8C9BCzEgdagk9IlIqIHnGN/XtrqZRFVmPJ1uZXA== +"@nx/linter@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-18.3.3.tgz#ae861fb7d10c4f1dcdb4389f5b9f25aecab6fee0" + integrity sha512-5HmAN/8jZ2scrA0OiJSUdBPhIjwIHecK8AK7TxYX4fg1VJ3VcpknV8pWcETuNoBW8WlgF1RX2RW7Gog7vjf+Ww== dependencies: - "@nx/eslint" "18.3.2" + "@nx/eslint" "18.3.3" -"@nx/node@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/node/-/node-18.3.2.tgz#739e3c8ea22a886d52e932a003b867049c848488" - integrity sha512-HcbUU76V3x0xZ8Lr8RaZxKwirLOuQHfLgA7TxHapuwy5U2dfoQHThlf5dsjb8wZVi62h6IBeYmP/E7Y91hpxuw== +"@nx/node@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/node/-/node-18.3.3.tgz#a000284eb88dc58cbb4dad9909c1e0a930560c61" + integrity sha512-OoeRuuvqrdEH8AsFKrJ91lnDVL9mlqvLzUy9D5PZCYspjCesc7Tmt7Xmbu3VEGzhQPilqZz4hVfXH6MLE7TvqA== dependencies: - "@nrwl/node" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/eslint" "18.3.2" - "@nx/jest" "18.3.2" - "@nx/js" "18.3.2" + "@nrwl/node" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/eslint" "18.3.3" + "@nx/jest" "18.3.3" + "@nx/js" "18.3.3" tslib "^2.3.0" -"@nx/nx-darwin-arm64@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.2.tgz#2aee0898234376bdd2c9b7928b18c4ce2c9afc99" - integrity sha512-x+C4a+DMGxHks/aKtyYa5+muF5BrJcDwxSPazRmrI9c80vo3J8TYjryXPHyZ/L3/3oNp72FtyPR46z3qf8NpQQ== - -"@nx/nx-darwin-x64@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-18.3.2.tgz#45f8bc9fdd071138f513ad6b88f1988736747eb6" - integrity sha512-5krmqFbsaeDLpSRaonEqlAiL4MBIWVguE9vs0/lp6vlnyIXT3TRftk4B4Tpi+PqIN6tC/Ll8gGoHzSdwHboAcg== - -"@nx/nx-freebsd-x64@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.3.2.tgz#0e8722f29ad49f114b1b486fdc17878a40549868" - integrity sha512-FenZBqJ5FK/QoExmngolq3q5NsOmJgrhy1Q3NiG0yOTcXnwIZO9pHmRDTZ33niTxuXSRvCgvJE4uBAM9YvptYw== - -"@nx/nx-linux-arm-gnueabihf@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.3.2.tgz#a8ea0482f034ca34354b7cdd4a3311ee986edde1" - integrity sha512-xjh4WvRIN1vZpsL4tFlaAoZ15R/R4a7e+4Ai8h8evRA7Mz31k/iUEpfcF+6EJfwFX0IjI59QnWzZ19Z5XFfl0Q== - -"@nx/nx-linux-arm64-gnu@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.3.2.tgz#798409918ffb0096f07540a080e7001793e3b607" - integrity sha512-Y82fDCuIjirdsS1tKfqC91qLdVhYS6NcU310fzMP4HI4A4WwdcMqHnn6E/O2glYW9CTYRQANo89fB44Zqbg7Cg== - -"@nx/nx-linux-arm64-musl@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.3.2.tgz#976e8d01229cccb76e738fab69a6b7218c59f60a" - integrity sha512-iaGfejem22yJI707jlWMDwlUFStT3zzm+hUJOWcTH/owREVDDcX9SrYOcNoqecipGFttwEow7jtgg2E/9mb20A== - -"@nx/nx-linux-x64-gnu@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.3.2.tgz#d41644efe55fa7d8c9d0a1a5d8eff7283d51377c" - integrity sha512-VV6T/tXURZ0r2N6VArI0JW4+Lf6Zq4UssCn6GS3cj75q7OhsQDqgcVIjET7zjqRhrc6ndZdi7d4YdEndOEMU+Q== - -"@nx/nx-linux-x64-musl@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.3.2.tgz#9ad2492a4b9b5fb4ccea513b8c554d0645ee93f3" - integrity sha512-Pg3/HmNbCTd5Hm/EXHu+FRl4OInbqX44qh0pMpSuCSIjVPbyCXlKCQRsQWo6d3KQIUOvYsBZRAKjHVhhywcScg== - -"@nx/nx-win32-arm64-msvc@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.3.2.tgz#fff2b1a856f91ce3e36d6a4cd9d358a20a776feb" - integrity sha512-c1aOj27HjQPDrGwHm2ytQfHQNMFJ8AyKLtWOEGMhUwDsRRqHd61Pg8kqSac1A9sdrSq4jRfVYsbzaGl1bE+gcw== - -"@nx/nx-win32-x64-msvc@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.3.2.tgz#58e9fd9ab952794b098b7081e0b2b617b3ba52e6" - integrity sha512-yDSYZch5RUQKFeGBloAbIKIeYNg8862ZX/lT54GeSYnI/32KqFABwuCV+tGjvPoTgA4Q0sI/F8i0NPhYwsC1Ww== - -"@nx/react@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/react/-/react-18.3.2.tgz#a57bd927609f7f3f542022cf3d51485b684c15e1" - integrity sha512-JHaHD0D7Sv43CPRTFuBX3I/CIZ06nbj56Tvd5G+XK8e+rcYznnUn3feTdAv1Jel9BPwRcxMuOiObqSmcD0ZaiA== - dependencies: - "@nrwl/react" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/eslint" "18.3.2" - "@nx/js" "18.3.2" - "@nx/web" "18.3.2" +"@nx/nx-darwin-arm64@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.3.tgz#dcdbcfe2796bbe3f1dfd61bce81389b05a50e69b" + integrity sha512-NpA2/7o1uUuaocMYopX9muxKif9HlGfWaXo2UeiR918usF6xri4aUqweZbaXVc9iqCAEbVMWUsjaLYGKPXHAjw== + +"@nx/nx-darwin-x64@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-18.3.3.tgz#aa7bdd1a3ea0bb81682422b805914efccab3b179" + integrity sha512-aydPLbc7DeceJ6szRf6DLT4ERoPvwfWyFiGXdAlEZYWhjEuNZLeG8K6jA3yHeWltKfX/qJqhnyKbnubBNzBKlQ== + +"@nx/nx-freebsd-x64@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.3.3.tgz#331f5dbb56c90b08e99c1ce9ff51e0c5b956f030" + integrity sha512-sEYEWsK/fwC1l7wzls7RNOjhmrooH0lK0mpgj1vDXesLBSZ7k+pddAqaHFECN4QXBSbHZI2PWOEhbnIH+Errsg== + +"@nx/nx-linux-arm-gnueabihf@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.3.3.tgz#d66d4787f5cfc56b5a7aa9a0453174b96b4729a8" + integrity sha512-B9GGMkrrzwiAfvew22x85ITO9TiNxbgRbKJQWQaoopNpXrnSWpY8WTNxpDT24fwV1qdQfsPKcY3F4O0NOUgPRA== + +"@nx/nx-linux-arm64-gnu@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.3.3.tgz#2ab08df1d052a55d4a52ba910fe41c25701d5361" + integrity sha512-1EucHf5/0JeqZmhritqkpEdOcdo9Dl32gpFvhNfS6kCAYmaDlEl4zqedz3VIoj4C7+C0pV3mcRO9qB9H7GM5bQ== + +"@nx/nx-linux-arm64-musl@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.3.3.tgz#69376454bb9759c376d0a90aa876dfff6bbf4d15" + integrity sha512-HPgOgnYYLPVCBEaAkSEGPGzZqTDCiyCAF/qtvx5z0f1U/hZYb1ubgxw70ogY82Cafr7X4gQBz5k4/ZCnoCXlOQ== + +"@nx/nx-linux-x64-gnu@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.3.3.tgz#0b8ba8ec0c2371f0df462742460d52d63b1cc715" + integrity sha512-FgYTQ3VEE6EUOGtJT9riRK8IBwPGFjKS+N2mudQJn2bB/9IumUvVRYQUIX08gqGLlqZPO6uUUhUjwZY8SnjRLQ== + +"@nx/nx-linux-x64-musl@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.3.3.tgz#c96d6f8d2d94b99ac8da723077ebbc92f833beea" + integrity sha512-QnWjGViR1Wj9gJXa1RJ9mXyy2/JzQ7NF2C4ulTYSH5St1HoxhkfnLsV0+uNLFEV9PSZq+2BfxmQuT8Appefv1A== + +"@nx/nx-win32-arm64-msvc@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.3.3.tgz#0d2c7396e7a063849edbd6e3d34ea81445c389b5" + integrity sha512-Xn3LUaPsF8QkEYUVV3lc693NTCMWrfZBFXTy1cQpvLzQ+idsXQ/EGWoq93cIM3Nc2YWyblT2hHHelb8dHCZAlw== + +"@nx/nx-win32-x64-msvc@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.3.3.tgz#ea1a60ae1ffe805529d5cb95e7b28e6b8ae24621" + integrity sha512-t8HvOnQEiaaoTFOOIrql30NPhIwDFO7jg0Jtz3Tbneulh7ceswJp71yFHsRGGrYZ23Tgg+Sna6M9qLRGzlRGkg== + +"@nx/react@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/react/-/react-18.3.3.tgz#318c742dd659e69bf8902a20317c3ec5c6a06b4c" + integrity sha512-eo4zM7Qfr5Un1lZiEL9DLpMgEhWQWYmH8QdnPApABoitak3ssYMvVjUAj4IXwu/sPSaUxfZAqMdzV9cBcAkqAw== + dependencies: + "@nrwl/react" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/eslint" "18.3.3" + "@nx/js" "18.3.3" + "@nx/web" "18.3.3" "@phenomnomnominal/tsquery" "~5.0.1" "@svgr/webpack" "^8.0.1" chalk "^4.1.0" @@ -2648,28 +2643,28 @@ minimatch "9.0.3" tslib "^2.3.0" -"@nx/web@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/web/-/web-18.3.2.tgz#ddead0495b141085581c96429386b36afdb2f287" - integrity sha512-blai/s6OlsHu4YgOJ1TTc8Ed69lnwaSI92O064RanXzHHcouBm7R4P7d5Dn7LgEwTxFIF/M3KOXIc7LBSKykmQ== +"@nx/web@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/web/-/web-18.3.3.tgz#99e6952942b3e43bc52ba444f6933dd279f49a6a" + integrity sha512-/NfQirVd2Ncq2if+1n8DaxNQF0OLaFaDag7qm5pDWJnjXFNh8N7NGZQRry2k/bTSfSc8gN+KJjqSMLAUNNtKgQ== dependencies: - "@nrwl/web" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/js" "18.3.2" + "@nrwl/web" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" chalk "^4.1.0" detect-port "^1.5.1" http-server "^14.1.0" tslib "^2.3.0" -"@nx/webpack@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-18.3.2.tgz#82681fc616cc1b654477b4316dc6f43bf80e9684" - integrity sha512-nKWp6FhLTpX0aqfdPEJGUfAK5AMZb9ACnCJqbVUgtSUjrnwQzifcaep6Qm41uJUvAhF3tsBxUx9YwQZu09wgIQ== +"@nx/webpack@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-18.3.3.tgz#2b13c08c99821a413edd4ff7749936871ae6ae32" + integrity sha512-DPs8wfmYe/mEZCQ/TQgUqb/zgXY8hevR23d8bDkYjB3Akjk4OOF3QpQ2OXQ4c+Jf0ckGnQYOg6XAkE682UZqzg== dependencies: "@babel/core" "^7.23.2" - "@nrwl/webpack" "18.3.2" - "@nx/devkit" "18.3.2" - "@nx/js" "18.3.2" + "@nrwl/webpack" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" ajv "^8.12.0" autoprefixer "^10.4.9" babel-loader "^9.1.2" @@ -2704,16 +2699,16 @@ webpack-node-externals "^3.0.0" webpack-subresource-integrity "^5.1.0" -"@nx/workspace@18.3.2": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-18.3.2.tgz#2b9cecbe92c3dacf34d827df54595ec7281dc87d" - integrity sha512-PMNouZpzu+RpwxBDCjqPAD6YwK8GYXh+vT+2cg/BBzFBCUvBZgSSLIYfZDNDKASgqvhFbgEePWZZnfGnxenj1A== +"@nx/workspace@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-18.3.3.tgz#bae369fe9d6c8aca425222ec53f797bcacd715e6" + integrity sha512-SUJJKzOUuNnclpHHde6f6nlF+pQwMjeF026jFpWDFaNzdsADhhRulkz0GLRXB9kKszvzz2JKde9WBWnKrFZ2IQ== dependencies: - "@nrwl/workspace" "18.3.2" - "@nx/devkit" "18.3.2" + "@nrwl/workspace" "18.3.3" + "@nx/devkit" "18.3.3" chalk "^4.1.0" enquirer "~2.3.6" - nx "18.3.2" + nx "18.3.3" tslib "^2.3.0" yargs-parser "21.1.1" @@ -3283,9 +3278,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.56.9" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.9.tgz#403e9ced04a34e63f1c383c5b8ee1a94442c8cc4" - integrity sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg== + version "8.56.10" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d" + integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -3347,7 +3342,7 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== -"@types/http-proxy@^1.17.8": +"@types/http-proxy@^1.17.10", "@types/http-proxy@^1.17.8": version "1.17.14" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== @@ -3720,7 +3715,15 @@ "@typescript-eslint/types" "7.7.0" "@typescript-eslint/visitor-keys" "7.7.0" -"@typescript-eslint/type-utils@7.7.0", "@typescript-eslint/type-utils@^7.3.0": +"@typescript-eslint/scope-manager@7.7.1": + version "7.7.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz#07fe59686ca843f66e3e2b5c151522bc38effab2" + integrity sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA== + dependencies: + "@typescript-eslint/types" "7.7.1" + "@typescript-eslint/visitor-keys" "7.7.1" + +"@typescript-eslint/type-utils@7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz#36792ff4209a781b058de61631a48df17bdefbc5" integrity sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg== @@ -3730,11 +3733,26 @@ debug "^4.3.4" ts-api-utils "^1.3.0" +"@typescript-eslint/type-utils@^7.3.0": + version "7.7.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz#2f8094edca3bebdaad009008929df645ed9c8743" + integrity sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q== + dependencies: + "@typescript-eslint/typescript-estree" "7.7.1" + "@typescript-eslint/utils" "7.7.1" + debug "^4.3.4" + ts-api-utils "^1.3.0" + "@typescript-eslint/types@7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.7.0.tgz#23af4d24bf9ce15d8d301236e3e3014143604f27" integrity sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w== +"@typescript-eslint/types@7.7.1": + version "7.7.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.7.1.tgz#f903a651fb004c75add08e4e9e207f169d4b98d7" + integrity sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w== + "@typescript-eslint/typescript-estree@7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz#b5dd6383b4c6a852d7b256a37af971e8982be97f" @@ -3749,7 +3767,21 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@7.7.0", "@typescript-eslint/utils@^7.3.0": +"@typescript-eslint/typescript-estree@7.7.1": + version "7.7.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz#5cafde48fe390fe1c1b329b2ce0ba8a73c1e87b2" + integrity sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ== + dependencies: + "@typescript-eslint/types" "7.7.1" + "@typescript-eslint/visitor-keys" "7.7.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/utils@7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.7.0.tgz#3d2b6606a60ac34f3c625facfb3b3ab7e126f58d" integrity sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig== @@ -3762,6 +3794,19 @@ "@typescript-eslint/typescript-estree" "7.7.0" semver "^7.6.0" +"@typescript-eslint/utils@7.7.1", "@typescript-eslint/utils@^7.3.0": + version "7.7.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.7.1.tgz#5d161f2b4a55e1bc38b634bebb921e4bd4e4a16e" + integrity sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.15" + "@types/semver" "^7.5.8" + "@typescript-eslint/scope-manager" "7.7.1" + "@typescript-eslint/types" "7.7.1" + "@typescript-eslint/typescript-estree" "7.7.1" + semver "^7.6.0" + "@typescript-eslint/visitor-keys@7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz#950148cf1ac11562a2d903fdf7acf76714a2dc9e" @@ -3770,6 +3815,14 @@ "@typescript-eslint/types" "7.7.0" eslint-visitor-keys "^3.4.3" +"@typescript-eslint/visitor-keys@7.7.1": + version "7.7.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz#da2294796220bb0f3b4add5ecbb1b9c3f4f65798" + integrity sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw== + dependencies: + "@typescript-eslint/types" "7.7.1" + eslint-visitor-keys "^3.4.3" + "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -4166,10 +4219,10 @@ ansi-styles@^6.0.0, ansi-styles@^6.2.1: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -antd@5.16.2: - version "5.16.2" - resolved "https://registry.yarnpkg.com/antd/-/antd-5.16.2.tgz#30ef0294699bc12b4fce5ca30baa5779c2bd2659" - integrity sha512-46BC1IaCRzkdcTAs1TuIZ1D56JrIRP5yWGrlfV+kGjro1c2dVaQP7yGXA2/m29uF41TqptxOYl36opY5ydN++A== +antd@5.16.4: + version "5.16.4" + resolved "https://registry.yarnpkg.com/antd/-/antd-5.16.4.tgz#41515c8ff2e866d08e36310a761f187d584d85a7" + integrity sha512-H3LtVz5hiNgs0lL8U6pzi11rluR6RDRw1cm2pWX6CsvgZmybWsaTBV2h+d+zmgFfuch53TWs5uztLdAldIoYYw== dependencies: "@ant-design/colors" "^7.0.2" "@ant-design/cssinjs" "^1.18.5" @@ -4200,13 +4253,13 @@ antd@5.16.2: rc-motion "^2.9.0" rc-notification "~5.4.0" rc-pagination "~4.0.4" - rc-picker "~4.3.2" + rc-picker "~4.4.1" rc-progress "~4.0.0" rc-rate "~2.12.0" rc-resize-observer "^1.4.0" rc-segmented "~2.3.0" rc-select "~14.13.1" - rc-slider "~10.5.0" + rc-slider "~10.6.1" rc-steps "~6.0.1" rc-switch "~4.1.0" rc-table "~7.45.4" @@ -4605,12 +4658,12 @@ babel-plugin-macros@^2.8.0: resolve "^1.12.0" babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.10" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1" - integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== + version "0.4.11" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.1" + "@babel/helper-define-polyfill-provider" "^0.6.2" semver "^6.3.1" babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: @@ -4622,11 +4675,11 @@ babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: core-js-compat "^3.36.1" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz#4f08ef4c62c7a7f66a35ed4c0d75e30506acc6be" - integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== + version "0.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" + "@babel/helper-define-polyfill-provider" "^0.6.2" babel-plugin-transform-typescript-metadata@^0.3.1: version "0.3.2" @@ -4987,9 +5040,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001610" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz#2f44ed6e21d359e914271ae35b68903632628ccf" - integrity sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA== + version "1.0.30001612" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz#d34248b4ec1f117b70b24ad9ee04c90e0b8a14ae" + integrity sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g== caseless@~0.12.0: version "0.12.0" @@ -5478,16 +5531,16 @@ copy-webpack-plugin@^10.2.4: serialize-javascript "^6.0.0" core-js-compat@^3.31.0, core-js-compat@^3.36.1: - version "3.36.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8" - integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== + version "3.37.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.0.tgz#d9570e544163779bb4dff1031c7972f44918dc73" + integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA== dependencies: browserslist "^4.23.0" core-js-pure@^3.23.3: - version "3.36.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.36.1.tgz#1461c89e76116528b54eba20a0aff30164087a94" - integrity sha512-NXCvHvSVYSrewP0L5OhltzXeWFJLo2AL2TYnj6iLV3Bw8mM62wAQMNgUCRI6EBu6hVVpbCxmOPlxh1Ikw2PfUA== + version "3.37.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.37.0.tgz#ce99fb4a7cec023fdbbe5b5bd1f06bbcba83316e" + integrity sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ== core-js@^3.37.0: version "3.37.0" @@ -5597,7 +5650,7 @@ css-declaration-sorter@^7.2.0: resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== -css-loader@^6.10.0, css-loader@^6.4.0: +css-loader@^6.4.0: version "6.11.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== @@ -6284,9 +6337,9 @@ ejs@^3.1.7: jake "^10.8.5" electron-to-chromium@^1.4.668: - version "1.4.737" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.737.tgz#3a774a58e04980741f65d440f5fdf57af18b6dde" - integrity sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw== + version "1.4.746" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz#787213e75f6c7bccb55dfe8b68170555c548d093" + integrity sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg== emittery@^0.13.1: version "0.13.1" @@ -6628,10 +6681,10 @@ eslint-plugin-import@2.29.1: semver "^6.3.1" tsconfig-paths "^3.15.0" -eslint-plugin-jsonc@2.15.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.15.0.tgz#3d6e329ae37a4240e2647c0e71f77ec6725a6897" - integrity sha512-wAphMVgTQPAKAYV8d/QEkEYDg8uer9nMQ85N17IUiJcAWLxJs83/Exe59dEH9yKUpvpLf46H+wR7/U7lZ3/NpQ== +eslint-plugin-jsonc@2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.15.1.tgz#97a5b24e9b14fe2163fd4988fa66d428785d7e7e" + integrity sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A== dependencies: "@eslint-community/eslint-utils" "^4.2.0" eslint-compat-utils "^0.5.0" @@ -6713,51 +6766,7 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint@8.56.0: - version "8.56.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" - integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.56.0" - "@humanwhocodes/config-array" "^0.11.13" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -eslint@^8.0.0: +eslint@8.57.0, eslint@^8.0.0: version "8.57.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== @@ -7953,7 +7962,19 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -http-proxy-middleware@2.0.6, http-proxy-middleware@^2.0.3: +http-proxy-middleware@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz#550790357d6f92a9b82ab2d63e07343a791cf26b" + integrity sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw== + dependencies: + "@types/http-proxy" "^1.17.10" + debug "^4.3.4" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.5" + +http-proxy-middleware@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== @@ -8022,7 +8043,7 @@ https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: agent-base "6" debug "4" -https-proxy-agent@^7.0.2: +https-proxy-agent@^7.0.4: version "7.0.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== @@ -8190,9 +8211,9 @@ ipaddr.js@1.9.1: integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" @@ -9767,7 +9788,7 @@ methods@^1.1.2, methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -9956,30 +9977,30 @@ mongodb-connection-string-url@^3.0.0: "@types/whatwg-url" "^11.0.2" whatwg-url "^13.0.0" -mongodb-memory-server-core@9.1.8: - version "9.1.8" - resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.1.8.tgz#b281015aada6f228203f4e9bb56eca43ed76d3f5" - integrity sha512-iCWwaP7De4lm1lRCUKB2ffUYr6GB0I/cj6fK0NV9dgwc9fA3xapHTTT/cPYRNx29M5gmAOSaOpUgjP7i2GZ/LQ== +mongodb-memory-server-core@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.2.0.tgz#d83e52633df910d8a48c1ff27de139fd4ab7f2d9" + integrity sha512-9SWZEy+dGj5Fvm5RY/mtqHZKS64o4heDwReD4SsfR7+uNgtYo+JN41kPCcJeIH3aJf04j25i5Dia2s52KmsMPA== dependencies: async-mutex "^0.4.0" camelcase "^6.3.0" debug "^4.3.4" find-cache-dir "^3.3.2" follow-redirects "^1.15.6" - https-proxy-agent "^7.0.2" + https-proxy-agent "^7.0.4" mongodb "^5.9.1" new-find-package-json "^2.0.0" - semver "^7.5.4" - tar-stream "^3.0.0" + semver "^7.6.0" + tar-stream "^3.1.7" tslib "^2.6.2" - yauzl "^2.10.0" + yauzl "^3.1.3" -mongodb-memory-server@9.1.8: - version "9.1.8" - resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.1.8.tgz#165979e1da6aaec2d71694592a37d621182625b3" - integrity sha512-QumPTOlWWWzgW6dtV4bf+ZFdTxenHSSGS4ZT85Vbb+FzPVoOtfcFwYlSfC9IM4e2nw7xvnQZvWtILYseO6HE9Q== +mongodb-memory-server@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.2.0.tgz#9fe8a0128f5b7409041895ce9e56ed28b2cf337d" + integrity sha512-w/usKdYtby5EALERxmA0+et+D0brP0InH3a26shNDgGefXA61hgl6U0P3IfwqZlEGRZdkbZig3n57AHZgDiwvg== dependencies: - mongodb-memory-server-core "9.1.8" + mongodb-memory-server-core "9.2.0" tslib "^2.6.2" mongodb@6.5.0: @@ -10219,16 +10240,16 @@ nth-check@^2.0.1: boolbase "^1.0.0" nwsapi@^2.2.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + version "2.2.9" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.9.tgz#7f3303218372db2e9f27c27766bcfc59ae7e61c6" + integrity sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg== -nx@18.3.2: - version "18.3.2" - resolved "https://registry.yarnpkg.com/nx/-/nx-18.3.2.tgz#4ce7b2dae228c0515d21c5d834883e60a8296635" - integrity sha512-kgkfmkwJQQ8Fp5AkvoZlnRaUrdJhckte8RyFhy86VeYjUcWYzV6shrbasKxTB0ZvCikHYjbI7QnmVYmZujEjhQ== +nx@18.3.3: + version "18.3.3" + resolved "https://registry.yarnpkg.com/nx/-/nx-18.3.3.tgz#ab96811961b631efd4f0c83550e92f7b0a625e83" + integrity sha512-GqC5ANfTWV6SFbgquZwuRMI2Z2nO0c0Yx4JzM3x32aJOgXsmRml3WcV0a5648bIXSen34gylHYl2EHaxVWkzNQ== dependencies: - "@nrwl/tao" "18.3.2" + "@nrwl/tao" "18.3.3" "@yarnpkg/lockfile" "^1.1.0" "@yarnpkg/parsers" "3.0.0-rc.46" "@zkochan/js-yaml" "0.0.6" @@ -10263,16 +10284,16 @@ nx@18.3.2: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "18.3.2" - "@nx/nx-darwin-x64" "18.3.2" - "@nx/nx-freebsd-x64" "18.3.2" - "@nx/nx-linux-arm-gnueabihf" "18.3.2" - "@nx/nx-linux-arm64-gnu" "18.3.2" - "@nx/nx-linux-arm64-musl" "18.3.2" - "@nx/nx-linux-x64-gnu" "18.3.2" - "@nx/nx-linux-x64-musl" "18.3.2" - "@nx/nx-win32-arm64-msvc" "18.3.2" - "@nx/nx-win32-x64-msvc" "18.3.2" + "@nx/nx-darwin-arm64" "18.3.3" + "@nx/nx-darwin-x64" "18.3.3" + "@nx/nx-freebsd-x64" "18.3.3" + "@nx/nx-linux-arm-gnueabihf" "18.3.3" + "@nx/nx-linux-arm64-gnu" "18.3.3" + "@nx/nx-linux-arm64-musl" "18.3.3" + "@nx/nx-linux-x64-gnu" "18.3.3" + "@nx/nx-linux-x64-musl" "18.3.3" + "@nx/nx-win32-arm64-msvc" "18.3.3" + "@nx/nx-win32-x64-msvc" "18.3.3" object-assign@^4, object-assign@^4.1.1: version "4.1.1" @@ -11388,10 +11409,10 @@ rc-pagination@~4.0.4: classnames "^2.3.2" rc-util "^5.38.0" -rc-picker@~4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.3.2.tgz#b62e02122b3b6043a5a347674e5d003b8e51873e" - integrity sha512-2NtobLxG2YqllXn4YczbupgIH6PSqzjCfFCnGlgPIY9k0HZti8WmBPjS1OD9JKQl+Tdg0pMVUeTEc07y4X9ZRQ== +rc-picker@~4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.4.1.tgz#77e31b112993e72c78401e2b331ba4689f00ead1" + integrity sha512-9/1pV12lMmUZtAbH0Sv/RIkeTdw/HSZs5G4GZFQ9UECLkCjOqhr9UF5Mf8dPuQ3xmw23SbXzOgDquN6eLFmZDw== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/trigger" "^2.0.0" @@ -11451,14 +11472,14 @@ rc-select@~14.13.0, rc-select@~14.13.1: rc-util "^5.16.1" rc-virtual-list "^3.5.2" -rc-slider@~10.5.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.5.0.tgz#1bd4853d114cb3403b67c485125887adb6a2a117" - integrity sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw== +rc-slider@~10.6.1: + version "10.6.2" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.6.2.tgz#8bd3b63b24f2f3682ea1bf86d021073189cf33eb" + integrity sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" - rc-util "^5.27.0" + rc-util "^5.36.0" rc-steps@~6.0.1: version "6.0.1" @@ -11563,9 +11584,9 @@ rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2. react-is "^18.2.0" rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: - version "3.11.4" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz#d0a8937843160b7b00d5586854290bf56d396af7" - integrity sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA== + version "3.11.5" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.5.tgz#d4ba3bbd8e7ceae846f575a7d982d061ace1e76e" + integrity sha512-iZRW99m5jAxtwKNPLwUrPryurcnKpXBdTyhuBp6ythf7kg/otKO5cCiIvL55GQwU0QGSlouQS0tnkciRMJUwRQ== dependencies: "@babel/runtime" "^7.20.0" classnames "^2.2.6" @@ -12039,7 +12060,7 @@ sass@^1.42.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sax@>=0.6.0, sax@^1.2.4, sax@~1.3.0: +sax@>=0.6.0, sax@^1.2.4: version "1.3.0" resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== @@ -12806,7 +12827,7 @@ strtok3@^7.0.0-alpha.9: "@tokenizer/token" "^0.3.0" peek-readable "^5.0.0" -style-loader@^3.3.0, style-loader@^3.3.4: +style-loader@^3.3.0: version "3.3.4" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== @@ -12824,7 +12845,7 @@ stylis@^4.0.13: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== -stylus-loader@^7.1.0, stylus-loader@^7.1.3: +stylus-loader@^7.1.0: version "7.1.3" resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.1.3.tgz#1fdfa0d34e8c05a569bc0902e1ecdb857d764964" integrity sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw== @@ -12843,17 +12864,6 @@ stylus@^0.59.0: sax "~1.2.4" source-map "^0.7.3" -stylus@^0.63.0: - version "0.63.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.63.0.tgz#511e8d56f2005b09010fbc1f62561c7b6f72a490" - integrity sha512-OMlgrTCPzE/ibtRMoeLVhOY0RcNuNWh0rhAVqeKnk/QwcuUKQbnqhZ1kg2vzD8VU/6h3FoPTq4RJPHgLBvX6Bw== - dependencies: - "@adobe/css-tools" "~4.3.3" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.3.0" - source-map "^0.7.3" - superagent@^8.1.2: version "8.1.2" resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" @@ -12983,7 +12993,7 @@ tape@^4.5.1: resolve "~1.22.6" string.prototype.trim "~1.2.8" -tar-stream@^3.0.0: +tar-stream@^3.1.7: version "3.1.7" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b" integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== @@ -13027,9 +13037,9 @@ terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.3: terser "^5.26.0" terser@^5.26.0: - version "5.30.3" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.3.tgz#f1bb68ded42408c316b548e3ec2526d7dd03f4d2" - integrity sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA== + version "5.30.4" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.4.tgz#62b4d16a819424e6317fd5ceffb4ee8dc769803a" + integrity sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -14088,6 +14098,14 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +yauzl@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-3.1.3.tgz#f61c17ad1a09403bc7adb01dfb302a9e74bf4a50" + integrity sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw== + dependencies: + buffer-crc32 "~0.2.3" + pend "~1.2.0" + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" From 19d599cffc20eea1dcf6f7de2c64a8132b7b7a85 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Mon, 22 Apr 2024 19:11:55 +0100 Subject: [PATCH 150/252] chore: Remove Cypress --- README.md | 1 - package.json | 3 - packages/itmat-ui-react-e2e/.eslintrc.json | 30 - packages/itmat-ui-react-e2e/cypress.config.ts | 6 - packages/itmat-ui-react-e2e/project.json | 31 - packages/itmat-ui-react-e2e/src/e2e/app.cy.ts | 13 - .../src/fixtures/example.json | 4 - .../itmat-ui-react-e2e/src/support/app.po.ts | 1 - .../src/support/commands.ts | 33 - .../itmat-ui-react-e2e/src/support/e2e.ts | 17 - packages/itmat-ui-react-e2e/tsconfig.json | 17 - yarn.lock | 624 +----------------- 12 files changed, 24 insertions(+), 756 deletions(-) delete mode 100644 packages/itmat-ui-react-e2e/.eslintrc.json delete mode 100644 packages/itmat-ui-react-e2e/cypress.config.ts delete mode 100644 packages/itmat-ui-react-e2e/project.json delete mode 100644 packages/itmat-ui-react-e2e/src/e2e/app.cy.ts delete mode 100644 packages/itmat-ui-react-e2e/src/fixtures/example.json delete mode 100644 packages/itmat-ui-react-e2e/src/support/app.po.ts delete mode 100644 packages/itmat-ui-react-e2e/src/support/commands.ts delete mode 100644 packages/itmat-ui-react-e2e/src/support/e2e.ts delete mode 100644 packages/itmat-ui-react-e2e/tsconfig.json diff --git a/README.md b/README.md index 479338ec1..a1f14835a 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,6 @@ Building the library is easy. First run `yarn install && yarn build`, to build t - itmat-setup - itmat-types - itmat-ui-react -- itmat-ui-react-e2e ### Requirements bootstrap (quick treatment) diff --git a/package.json b/package.json index 4487b81b6..8837a10e6 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,6 @@ "devDependencies": { "@babel/core": "^7.24.4", "@babel/preset-react": "^7.24.1", - "@nx/cypress": "18.3.3", "@nx/esbuild": "18.3.3", "@nx/eslint": "18.3.3", "@nx/eslint-plugin": "18.3.3", @@ -70,10 +69,8 @@ "@types/webpack-env": "1.18.4", "@typescript-eslint/eslint-plugin": "7.7.0", "@typescript-eslint/parser": "7.7.0", - "cypress": "^13.8.0", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", - "eslint-plugin-cypress": "2.15.2", "eslint-plugin-import": "2.29.1", "eslint-plugin-jsonc": "2.15.1", "eslint-plugin-jsx-a11y": "6.8.0", diff --git a/packages/itmat-ui-react-e2e/.eslintrc.json b/packages/itmat-ui-react-e2e/.eslintrc.json deleted file mode 100644 index b25e24a5c..000000000 --- a/packages/itmat-ui-react-e2e/.eslintrc.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "extends": [ - "plugin:cypress/recommended", - "../../.eslintrc.json" - ], - "ignorePatterns": [ - "!**/*", - "node_modules" - ], - "overrides": [ - { - "files": [ - "*.ts", - "*.tsx", - "*.js", - "*.jsx" - ], - "rules": {} - }, - { - "files": [ - "src/plugins/index.js" - ], - "rules": { - "@typescript-eslint/no-var-requires": "off", - "no-undef": "off" - } - } - ] -} \ No newline at end of file diff --git a/packages/itmat-ui-react-e2e/cypress.config.ts b/packages/itmat-ui-react-e2e/cypress.config.ts deleted file mode 100644 index 8307a625c..000000000 --- a/packages/itmat-ui-react-e2e/cypress.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { defineConfig } from 'cypress'; -import { nxE2EPreset } from '@nx/cypress/plugins/cypress-preset'; - -export default defineConfig({ - e2e: nxE2EPreset(__dirname) -}); diff --git a/packages/itmat-ui-react-e2e/project.json b/packages/itmat-ui-react-e2e/project.json deleted file mode 100644 index fd7b8a45c..000000000 --- a/packages/itmat-ui-react-e2e/project.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "itmat-ui-react-e2e", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/itmat-ui-react-e2e/src", - "projectType": "application", - "tags": [], - "implicitDependencies": [ - "itmat-ui-react" - ], - "targets": { - "e2e": { - "executor": "@nx/cypress:cypress", - "options": { - "cypressConfig": "packages/itmat-ui-react-e2e/cypress.config.ts", - "devServerTarget": "itmat-ui-react:serve:development", - "testingType": "e2e" - }, - "configurations": { - "production": { - "devServerTarget": "itmat-ui-react:serve:production" - } - } - }, - "lint": { - "executor": "@nx/eslint:lint", - "outputs": [ - "{options.outputFile}" - ] - } - } -} \ No newline at end of file diff --git a/packages/itmat-ui-react-e2e/src/e2e/app.cy.ts b/packages/itmat-ui-react-e2e/src/e2e/app.cy.ts deleted file mode 100644 index 8b015c6b8..000000000 --- a/packages/itmat-ui-react-e2e/src/e2e/app.cy.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { getGreeting } from '../support/app.po'; - -describe('itmat-ui-react', () => { - beforeEach(() => cy.visit('/')); - - it('should display welcome message', () => { - // Custom command example, see `../support/commands.ts` file - cy.login('my-email@something.com', 'myPassword'); - - // Function helper example, see `../support/app.po.ts` file - getGreeting().contains('Welcome itmat-ui-react'); - }); -}); diff --git a/packages/itmat-ui-react-e2e/src/fixtures/example.json b/packages/itmat-ui-react-e2e/src/fixtures/example.json deleted file mode 100644 index a0f14054f..000000000 --- a/packages/itmat-ui-react-e2e/src/fixtures/example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io" -} \ No newline at end of file diff --git a/packages/itmat-ui-react-e2e/src/support/app.po.ts b/packages/itmat-ui-react-e2e/src/support/app.po.ts deleted file mode 100644 index 329342469..000000000 --- a/packages/itmat-ui-react-e2e/src/support/app.po.ts +++ /dev/null @@ -1 +0,0 @@ -export const getGreeting = () => cy.get('h1'); diff --git a/packages/itmat-ui-react-e2e/src/support/commands.ts b/packages/itmat-ui-react-e2e/src/support/commands.ts deleted file mode 100644 index 4200179ba..000000000 --- a/packages/itmat-ui-react-e2e/src/support/commands.ts +++ /dev/null @@ -1,33 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** - -// eslint-disable-next-line @typescript-eslint/no-namespace -declare namespace Cypress { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - interface Chainable { - login(email: string, password: string): void; - } -} -// -// -- This is a parent command -- -Cypress.Commands.add('login', (email, password) => { - console.log('Custom command example: Login', email, password); -}); -// -// -- This is a child command -- -// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/packages/itmat-ui-react-e2e/src/support/e2e.ts b/packages/itmat-ui-react-e2e/src/support/e2e.ts deleted file mode 100644 index 3d469a6b6..000000000 --- a/packages/itmat-ui-react-e2e/src/support/e2e.ts +++ /dev/null @@ -1,17 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; diff --git a/packages/itmat-ui-react-e2e/tsconfig.json b/packages/itmat-ui-react-e2e/tsconfig.json deleted file mode 100644 index 73e9cc535..000000000 --- a/packages/itmat-ui-react-e2e/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "sourceMap": false, - "outDir": "../../dist/out-tsc", - "allowJs": true, - "types": [ - "cypress", - "node" - ] - }, - "include": [ - "src/**/*.ts", - "src/**/*.js", - "cypress.config.ts" - ] -} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 519aae842..ebb7bb362 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1560,11 +1560,6 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - "@commitlint/cli@^18.6.1": version "18.6.1" resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.6.1.tgz#78bffdfa00d6f01425d53096954993d83f2b343d" @@ -1740,38 +1735,6 @@ resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== -"@cypress/request@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.1.tgz#72d7d5425236a2413bd3d8bb66d02d9dc3168960" - integrity sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - http-signature "~1.3.6" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - performance-now "^2.1.0" - qs "6.10.4" - safe-buffer "^5.1.2" - tough-cookie "^4.1.3" - tunnel-agent "^0.6.0" - uuid "^8.3.2" - -"@cypress/xvfb@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.4.tgz#2daf42e8275b39f4aa53c14214e557bd14e7748a" - integrity sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q== - dependencies: - debug "^3.1.0" - lodash.once "^4.1.1" - "@emotion/hash@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" @@ -2328,13 +2291,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nrwl/cypress@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-18.3.3.tgz#3b85e45169c3aff23ea46e19835956a355111b22" - integrity sha512-CsoPFX+iLwvc/+Im/zZsk3FP8c8epBMmI8GNvZFnDZe8J9bdBmtlxp8/Yh3LdUw8ycmPGPvW7eggv31yNZmT+Q== - dependencies: - "@nx/cypress" "18.3.3" - "@nrwl/devkit@18.3.3": version "18.3.3" resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-18.3.3.tgz#9ec5575afe6d14b17acd5e8da4e98a0de27704c6" @@ -2420,20 +2376,6 @@ dependencies: "@nx/workspace" "18.3.3" -"@nx/cypress@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-18.3.3.tgz#d0af052f421312018b0d0ddc3476cd4a31ca748f" - integrity sha512-ou7Q6XXM9zIiWFVojZwnnFFJxx4iKACWvusfCOIwJ3zcel1vtamWHffRp2Z9WjdBDxy26Ax/DM+lZj4t6hQRmA== - dependencies: - "@nrwl/cypress" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/eslint" "18.3.3" - "@nx/js" "18.3.3" - "@phenomnomnominal/tsquery" "~5.0.1" - detect-port "^1.5.1" - semver "^7.5.3" - tslib "^2.3.0" - "@nx/devkit@18.3.3": version "18.3.3" resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-18.3.3.tgz#2ec37855020da74ad1e77b51711b057b3cb12fec" @@ -3574,16 +3516,6 @@ "@types/node" "*" "@types/send" "*" -"@types/sinonjs__fake-timers@8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz#b49c2c70150141a15e0fa7e79cf1f92a72934ce3" - integrity sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g== - -"@types/sizzle@^2.3.2": - version "2.3.8" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.8.tgz#518609aefb797da19bf222feb199e8f653ff7627" - integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== - "@types/sockjs@^0.3.33": version "0.3.36" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" @@ -3672,13 +3604,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/yauzl@^2.9.1": - version "2.10.3" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" - integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== - dependencies: - "@types/node" "*" - "@typescript-eslint/eslint-plugin@7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz#bf34a02f221811505b8bf2f31060c8560c1bb0a3" @@ -4092,14 +4017,6 @@ agent-base@^7.0.2: dependencies: debug "^4.3.4" -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -4158,7 +4075,7 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: +ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -4293,7 +4210,7 @@ apollo-upload-client@18.0.1: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== -arch@^2.1.0, arch@^2.2.0: +arch@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== @@ -4474,28 +4391,11 @@ asn1.js@^5.4.1: minimalistic-assert "^1.0.0" safer-buffer "^2.1.0" -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - ast-types-flow@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async-mutex@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.1.tgz#bccf55b96f2baf8df90ed798cb5544a1f6ee4c2c" @@ -4522,7 +4422,7 @@ async@^2.6.4: dependencies: lodash "^4.17.14" -async@^3.2.0, async@^3.2.3, async@^3.2.4: +async@^3.2.3, async@^3.2.4: version "3.2.5" resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== @@ -4532,11 +4432,6 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - attr-accept@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" @@ -4561,16 +4456,6 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - axe-core@=4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" @@ -4741,13 +4626,6 @@ batch@0.6.1: resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - bcrypt@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.1.tgz#0f732c6dcb4e12e5b70a25e326a72965879ba6e2" @@ -4800,11 +4678,6 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" -blob-util@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" - integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== - block-stream2@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/block-stream2/-/block-stream2-2.1.0.tgz#ac0c5ef4298b3857796e05be8ebed72196fa054b" @@ -4812,11 +4685,6 @@ block-stream2@^2.1.0: dependencies: readable-stream "^3.4.0" -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - bn.js@^4.0.0: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" @@ -4929,7 +4797,7 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.5.0, buffer@^5.7.1: +buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -4984,11 +4852,6 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" -cachedir@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" - integrity sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ== - call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@~1.0.2: version "1.0.7" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" @@ -5044,11 +4907,6 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz#d34248b4ec1f117b70b24ad9ee04c90e0b8a14ae" integrity sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g== -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" @@ -5095,11 +4953,6 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -check-more-types@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" - integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== - "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" @@ -5140,11 +4993,6 @@ classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classna resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - cli-cursor@3.1.0, cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -5169,23 +5017,6 @@ cli-spinners@^2.5.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== -cli-table3@~0.6.1: - version "0.6.4" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.4.tgz#d1c536b8a3f2e7bec58f67ac9e5769b1b30088b0" - integrity sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - cli-truncate@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" @@ -5294,7 +5125,7 @@ colord@^2.9.3: resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== -colorette@^2.0.10, colorette@^2.0.16, colorette@^2.0.20: +colorette@^2.0.10, colorette@^2.0.20: version "2.0.20" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== @@ -5307,7 +5138,7 @@ columnify@^1.6.0: strip-ansi "^6.0.1" wcwidth "^1.0.0" -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -5329,11 +5160,6 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - commander@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -5352,11 +5178,6 @@ common-path-prefix@^3.0.0: resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -5547,11 +5368,6 @@ core-js@^3.37.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.0.tgz#d8dde58e91d156b2547c19d8a4efd5c7f6c426bb" integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" @@ -5636,7 +5452,7 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -5796,54 +5612,6 @@ csv-parse@5.5.5: resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517" integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ== -cypress@^13.8.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.8.0.tgz#118e94161334e03841714c9b9b3600ae853c11f9" - integrity sha512-Qau//mtrwEGOU9cn2YjavECKyDUwBh8J2tit+y9s1wsv6C3BX+rlv6I9afmQnL8PmEEzJ6be7nppMHacFzZkTw== - dependencies: - "@cypress/request" "^3.0.0" - "@cypress/xvfb" "^1.2.4" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - arch "^2.2.0" - blob-util "^2.0.2" - bluebird "^3.7.2" - buffer "^5.7.1" - cachedir "^2.3.0" - chalk "^4.1.0" - check-more-types "^2.24.0" - cli-cursor "^3.1.0" - cli-table3 "~0.6.1" - commander "^6.2.1" - common-tags "^1.8.0" - dayjs "^1.10.4" - debug "^4.3.4" - enquirer "^2.3.6" - eventemitter2 "6.4.7" - execa "4.1.0" - executable "^4.1.1" - extract-zip "2.0.1" - figures "^3.2.0" - fs-extra "^9.1.0" - getos "^3.2.1" - is-ci "^3.0.1" - is-installed-globally "~0.4.0" - lazy-ass "^1.6.0" - listr2 "^3.8.3" - lodash "^4.17.21" - log-symbols "^4.0.0" - minimist "^1.2.8" - ospath "^1.2.2" - pretty-bytes "^5.6.0" - process "^0.11.10" - proxy-from-env "1.0.0" - request-progress "^3.0.0" - semver "^7.5.3" - supports-color "^8.1.1" - tmp "~0.2.1" - untildify "^4.0.0" - yauzl "^2.10.0" - "d3-array@2.5.0 - 3", d3-array@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" @@ -5953,13 +5721,6 @@ dargs@^7.0.0: resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - data-urls@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" @@ -5996,7 +5757,7 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" -dayjs@1.11.10, dayjs@^1.10.4, dayjs@^1.11.10: +dayjs@1.11.10, dayjs@^1.11.10: version "1.11.10" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== @@ -6015,7 +5776,7 @@ debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, de dependencies: ms "2.1.2" -debug@^3.1.0, debug@^3.2.7: +debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -6309,14 +6070,6 @@ duplexer@^0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - ecdsa-sig-formatter@1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" @@ -6391,14 +6144,6 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.16.0, enhanced-resolve@^5.7.0: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.6: - version "2.4.1" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" - integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== - dependencies: - ansi-colors "^4.1.1" - strip-ansi "^6.0.1" - enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -6651,13 +6396,6 @@ eslint-module-utils@^2.8.0: dependencies: debug "^3.2.7" -eslint-plugin-cypress@2.15.2: - version "2.15.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.2.tgz#f22e12fad4c434edad7b298ef92bac8fa087ffa0" - integrity sha512-CtcFEQTDKyftpI22FVGpx8bkpKyYXBlNge6zSo0pl5/qJvBAnzaD76Vu2AsP16d6mTj478Ldn2mhgrWV+Xr0vQ== - dependencies: - globals "^13.20.0" - eslint-plugin-import@2.29.1: version "2.29.1" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" @@ -6858,11 +6596,6 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -eventemitter2@6.4.7: - version "6.4.7" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" - integrity sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg== - eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -6878,21 +6611,6 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - execa@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" @@ -6936,7 +6654,7 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -executable@^4.1.0, executable@^4.1.1: +executable@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== @@ -7035,11 +6753,6 @@ ext-name@^5.0.0: ext-list "^2.0.0" sort-keys-length "^1.0.0" -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - extract-files@^13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-13.0.0.tgz#9065073dedbcfb5e2ae8a90988cf609834b217ec" @@ -7047,27 +6760,6 @@ extract-files@^13.0.0: dependencies: is-plain-obj "^4.1.0" -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -7143,19 +6835,12 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - fecha@^4.2.1: version "4.2.3" resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== -figures@3.2.0, figures@^3.2.0: +figures@3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -7334,11 +7019,6 @@ for-each@^0.3.3, for-each@~0.3.3: dependencies: is-callable "^1.1.3" -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - fork-ts-checker-webpack-plugin@7.2.13: version "7.2.13" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz#51ffd6a2f96f03ab64b92f8aedf305dbf3dee0f1" @@ -7366,15 +7046,6 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - formidable@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" @@ -7423,16 +7094,6 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -7531,7 +7192,7 @@ get-stream@^3.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== -get-stream@^5.0.0, get-stream@^5.1.0: +get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -7557,20 +7218,6 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -getos@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" - integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== - dependencies: - async "^3.2.0" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - git-raw-commits@^2.0.11: version "2.0.11" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" @@ -7634,19 +7281,12 @@ global-dirs@^0.1.1: dependencies: ini "^1.3.4" -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== - dependencies: - ini "2.0.0" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.19.0, globals@^13.20.0: +globals@^13.19.0: version "13.24.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== @@ -8013,15 +7653,6 @@ http-server@^14.1.0: union "~0.5.0" url-join "^4.0.1" -http-signature@~1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.3.6.tgz#cb6fbfdf86d1c974f343be94e87f7fc128662cf9" - integrity sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw== - dependencies: - assert-plus "^1.0.0" - jsprim "^2.0.2" - sshpk "^1.14.1" - http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" @@ -8051,11 +7682,6 @@ https-proxy-agent@^7.0.4: agent-base "^7.0.2" debug "4" -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -8161,11 +7787,6 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - ini@^1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" @@ -8280,13 +7901,6 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: version "2.13.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" @@ -8361,14 +7975,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-installed-globally@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -8401,7 +8007,7 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-inside@^3.0.2, is-path-inside@^3.0.3: +is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -8496,11 +8102,6 @@ is-typed-array@^1.1.13, is-typed-array@^1.1.3: dependencies: which-typed-array "^1.1.14" -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" @@ -8558,11 +8159,6 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" @@ -9053,11 +8649,6 @@ jsbn@1.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - jsdom@^20.0.0: version "20.0.3" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" @@ -9120,11 +8711,6 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -9135,11 +8721,6 @@ json-stream@^1.0.0: resolved "https://registry.yarnpkg.com/json-stream/-/json-stream-1.0.0.tgz#1a3854e28d2bbeeab31cc7ddf683d2ddc5652708" integrity sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg== -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - json2module@^0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/json2module/-/json2module-0.0.3.tgz#00fb5f4a9b7adfc3f0647c29cb17bcd1979be9b2" @@ -9216,16 +8797,6 @@ jsonwebtoken@9.0.2: ms "^2.1.1" semver "^7.5.4" -jsprim@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" - integrity sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - jstat@1.9.6: version "1.9.6" resolved "https://registry.yarnpkg.com/jstat/-/jstat-1.9.6.tgz#60e801b0d4c26e37aab0f375d1859fe9d60e10c0" @@ -9314,11 +8885,6 @@ launch-editor@^2.6.0: picocolors "^1.0.0" shell-quote "^1.8.1" -lazy-ass@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" - integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== - lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" @@ -9416,20 +8982,6 @@ listr2@8.0.1: rfdc "^1.3.0" wrap-ansi "^9.0.0" -listr2@^3.8.3: - version "3.14.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" - integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.1" - through "^2.3.8" - wrap-ansi "^7.0.0" - loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -9535,7 +9087,7 @@ lodash.mergewith@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== -lodash.once@^4.0.0, lodash.once@^4.1.1: +lodash.once@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== @@ -9578,16 +9130,6 @@ log-symbols@^4.0.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - log-update@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" @@ -9801,7 +9343,7 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -9892,7 +9434,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.8: +minimist@^1.2.0, minimist@^1.2.6, minimist@~1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -10208,7 +9750,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npm-run-path@^4.0.0, npm-run-path@^4.0.1: +npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== @@ -10481,11 +10023,6 @@ os-filter-obj@^2.0.0: dependencies: arch "^2.1.0" -ospath@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== - p-cancelable@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" @@ -10538,13 +10075,6 @@ p-locate@^6.0.0: dependencies: p-limit "^4.0.0" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - p-retry@^4.5.0: version "4.6.2" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" @@ -10681,11 +10211,6 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -11030,11 +10555,6 @@ prettier@^3.2.5: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== -pretty-bytes@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - pretty-format@^27.0.2, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" @@ -11054,11 +10574,6 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - prompts@^2.0.1: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -11084,11 +10599,6 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -proxy-from-env@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== - proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" @@ -11147,13 +10657,6 @@ qrcode@1.5.3: pngjs "^5.0.0" yargs "^15.3.1" -qs@6.10.4: - version "6.10.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.4.tgz#6a3003755add91c0ec9eacdc5f878b034e73f9e7" - integrity sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g== - dependencies: - side-channel "^1.0.4" - qs@6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" @@ -11828,13 +11331,6 @@ repeat-string@^1.5.2: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== -request-progress@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== - dependencies: - throttleit "^1.0.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -11995,7 +11491,7 @@ rw@1, rw@^1.3.2: resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== -rxjs@^7.5.1, rxjs@^7.8.0: +rxjs@^7.8.0: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== @@ -12017,7 +11513,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -12031,7 +11527,7 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -12343,24 +11839,6 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - slice-ansi@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" @@ -12571,21 +12049,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -sshpk@^1.14.1: - version "1.18.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" - integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - stack-utils@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" @@ -12907,7 +12370,7 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0, supports-color@^8.1.1: +supports-color@^8.0.0: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -13070,11 +12533,6 @@ throttle-debounce@^5.0.0: resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933" integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg== -throttleit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.1.tgz#304ec51631c3b770c65c6c6f76938b384000f4d5" - integrity sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ== - through2@^4.0.0, through2@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" @@ -13082,7 +12540,7 @@ through2@^4.0.0, through2@^4.0.2: dependencies: readable-stream "3" -"through@>=2.2.7 <3", through@^2.3.4, through@^2.3.8: +"through@>=2.2.7 <3", through@^2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -13132,7 +12590,7 @@ token-types@^5.0.0-alpha.2: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" -tough-cookie@^4.1.2, tough-cookie@^4.1.3: +tough-cookie@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== @@ -13293,18 +12751,6 @@ tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -13486,11 +12932,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - update-browserslist-db@^1.0.13: version "1.0.13" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" @@ -13611,15 +13052,6 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - w3c-xmlserializer@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" @@ -14090,14 +13522,6 @@ yargs@~3.10.0: decamelize "^1.0.0" window-size "0.1.0" -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - yauzl@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-3.1.3.tgz#f61c17ad1a09403bc7adb01dfb302a9e74bf4a50" From 1910f59d0287b6a6e0d9d405206fd7939d6442c9 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Fri, 19 Apr 2024 14:45:15 +0100 Subject: [PATCH 151/252] chore: Updating dependencies --- .eslintrc.js | 11 ++++-- tsconfig.base.json | 84 +++++++++++++++++++++++----------------------- 2 files changed, 50 insertions(+), 45 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 6c7bb3050..bb234e56c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -37,9 +37,14 @@ const javascriptRules = { const typescriptRules = { ...javascriptRules, 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': ['error', { args: 'after-used', varsIgnorePattern: '^__unused' }], - '@typescript-eslint/no-this-alias': 'off', - '@typescript-eslint/no-explicit-any': 'warn' + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/no-unused-vars': [ + 'error', + { args: 'after-used', varsIgnorePattern: '^__unused' } + ], + '@typescript-eslint/no-floating-promises': 'error', + '@typescript-eslint/promise-function-async': 'error', + '@typescript-eslint/no-misused-promises': 'error' }; module.exports = { diff --git a/tsconfig.base.json b/tsconfig.base.json index ddb58f393..bf400e0a0 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,43 +1,43 @@ { - "compileOnSave": false, - "compilerOptions": { - "rootDir": ".", - "sourceMap": true, - "declaration": false, - "moduleResolution": "node", - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "importHelpers": true, - "target": "ES2022", - "module": "ES2022", - "lib": [ - "ES2022", - "dom" - ], - "esModuleInterop": true, - "skipLibCheck": true, - "skipDefaultLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "strict": true, - "baseUrl": ".", - "paths": { - "@itmat-broker/itmat-commons": [ - "packages/itmat-commons/src/index.ts" - ], - "@itmat-broker/itmat-models": [ - "packages/itmat-models/src/index.ts" - ], - "@itmat-broker/itmat-setup": [ - "packages/itmat-setup/src/index.ts" - ], - "@itmat-broker/itmat-types": [ - "packages/itmat-types/src/index.ts" - ] - } - }, - "exclude": [ - "node_modules", - "tmp" - ] -} + "compileOnSave": false, + "compilerOptions": { + "rootDir": ".", + "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "lib": [ + "ES2022", + "dom" + ], + "esModuleInterop": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "strict": true, + "baseUrl": ".", + "paths": { + "@itmat-broker/itmat-commons": [ + "packages/itmat-commons/src/index.ts" + ], + "@itmat-broker/itmat-models": [ + "packages/itmat-models/src/index.ts" + ], + "@itmat-broker/itmat-setup": [ + "packages/itmat-setup/src/index.ts" + ], + "@itmat-broker/itmat-types": [ + "packages/itmat-types/src/index.ts" + ] + } + }, + "exclude": [ + "node_modules", + "tmp" + ] +} \ No newline at end of file From 174480590943be97875d9f8314458981b15c6b66 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Fri, 19 Apr 2024 19:42:13 +0100 Subject: [PATCH 152/252] chore: Avoid strict linting for test files --- .eslintrc.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.eslintrc.js b/.eslintrc.js index bb234e56c..c582e433e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -76,6 +76,19 @@ module.exports = { ] } }, + { + files: ['*.test.ts', '*.test.tsx', '*.spec.ts', '*.spec.tsx'], + extends: ['plugin:@nx/typescript'], + rules: { + ...typescriptRules, + '@typescript-eslint/no-explicit-any': 'warn' + }, + parserOptions: { + project: [ + './tsconfig.eslint.json' + ] + } + }, { files: ['*.js', '*.jsx'], extends: ['plugin:@nx/javascript'], From 4a7dbc50f06542341cf3a3f7e426cc7d81bb30c4 Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Fri, 19 Apr 2024 19:43:28 +0100 Subject: [PATCH 153/252] chore: Cleaning occurrences of `any` casting --- .eslintrc.js | 1 + packages/itmat-commons/src/utils/database.ts | 22 +- packages/itmat-commons/src/utils/poller.ts | 15 +- .../test/unitTests/objStore.test.ts | 6 +- packages/itmat-commons/tsconfig.json | 1 + .../authentication/pubkeyAuthentication.ts | 4 +- .../itmat-interface/src/database/database.ts | 2 +- .../itmat-interface/src/emailer/emailer.ts | 15 +- .../src/graphql/ApolloServerContext.ts | 3 + .../src/graphql/core/fieldCore.ts | 10 +- .../src/graphql/core/jobCore.ts | 6 +- .../src/graphql/core/permissionCore.ts | 44 +-- .../src/graphql/core/queryCore.ts | 6 +- .../src/graphql/core/studyCore.ts | 85 +++-- .../src/graphql/core/userCore.ts | 22 +- .../src/graphql/resolvers/context.ts | 11 + .../src/graphql/resolvers/fileResolvers.ts | 39 +-- .../src/graphql/resolvers/index.ts | 24 +- .../src/graphql/resolvers/jobResolvers.ts | 31 +- .../src/graphql/resolvers/logResolvers.ts | 17 +- .../resolvers/organisationResolvers.ts | 7 +- .../graphql/resolvers/permissionResolvers.ts | 42 ++- .../src/graphql/resolvers/pubkeyResolvers.ts | 30 +- .../src/graphql/resolvers/queryResolvers.ts | 23 +- .../resolvers/standardizationResolvers.ts | 33 +- .../src/graphql/resolvers/studyResolvers.ts | 320 +++++++++--------- .../src/graphql/resolvers/userResolvers.ts | 112 +++--- packages/itmat-interface/src/index.ts | 11 +- .../itmat-interface/src/interfaceRunner.ts | 6 +- packages/itmat-interface/src/log/logPlugin.ts | 14 +- .../itmat-interface/src/rest/fileDownload.ts | 92 ++--- packages/itmat-interface/src/server/router.ts | 29 +- .../src/utils/configManager.ts | 3 +- .../itmat-interface/src/utils/pubkeycrypto.ts | 4 +- packages/itmat-interface/src/utils/query.ts | 92 ++--- packages/itmat-interface/src/utils/regrex.ts | 7 +- .../src/utils/userLoginUtils.ts | 13 +- .../test/serverTests/_loginHelper.ts | 18 +- .../test/serverTests/file.test.ts | 2 +- .../test/serverTests/log.test.ts | 4 +- .../test/serverTests/standardization.test.ts | 28 +- .../test/serverTests/study.test.ts | 142 ++++---- .../test/serverTests/users.test.ts | 40 +-- packages/itmat-interface/tsconfig.json | 10 + .../src/curation/CSVCurator.ts | 156 ++++----- .../src/curation/FieldCurator.ts | 137 ++++---- .../src/curation/JSONCurator.ts | 140 ++++---- .../src/database/database.ts | 8 +- packages/itmat-job-executor/src/index.ts | 3 +- .../src/jobDispatch/dispatcher.ts | 2 +- .../src/jobExecutorRunner.ts | 4 +- .../src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts | 12 +- .../UKB_FIELD_INFO_UPLOAD_Handler.ts | 26 +- .../jobHandlers/UKB_JSON_UPLOAD_Handler.ts | 12 +- .../src/jobHandlers/jobHandlerInterface.ts | 7 +- .../src/query/pipeLineGenerator.ts | 56 +-- .../src/query/queryHandler.ts | 27 +- .../test/unit_tests/fieldcurator.test.ts | 2 +- packages/itmat-models/tsconfig.json | 1 + packages/itmat-setup/tsconfig.json | 1 + packages/itmat-types/src/types/data.ts | 4 +- packages/itmat-types/src/types/field.ts | 2 +- packages/itmat-types/src/types/job.ts | 6 +- packages/itmat-types/src/types/log.ts | 2 +- packages/itmat-types/src/types/query.ts | 7 +- .../itmat-types/src/types/standardization.ts | 4 +- packages/itmat-types/src/types/study.ts | 6 +- packages/itmat-types/src/types/user.ts | 4 +- packages/itmat-types/tsconfig.json | 1 + packages/itmat-ui-react/src/Fence.tsx | 2 +- .../src/components/apolloClient.ts | 12 +- .../src/components/datasetDetail/index.tsx | 4 +- .../tabContent/admin/adminTab.tsx | 13 +- .../tabContent/dashboard/dashBoardTab.tsx | 2 +- .../tabContent/dashboard/jobs.tsx | 15 +- .../tabContent/data/dataSummary.tsx | 8 +- .../datasetDetail/tabContent/data/dataTab.tsx | 12 +- .../tabContent/data/fieldListSelection.tsx | 4 +- .../tabContent/data/fieldTab.tsx | 10 +- .../tabContent/data/uploadNewData.tsx | 10 +- .../tabContent/data/uploadNewFields.tsx | 16 +- .../tabContent/files/fileTab.tsx | 105 +++--- .../detailSections/deleteProjectSection.tsx | 8 +- .../detailSections/patientIdMapping.tsx | 2 +- .../projects/detailSections/projectDetail.tsx | 2 +- .../projects/projectListSection.tsx | 8 +- .../components/datasetList/addNewDataSet.tsx | 4 +- .../components/datasetList/datasetList.tsx | 2 +- .../src/components/log/logList.tsx | 12 +- .../src/components/login/login.tsx | 121 ++++--- .../src/components/login/register.tsx | 2 +- .../login/requestResetPasswordPage.tsx | 18 +- .../components/login/resetPasswordPage.tsx | 18 +- .../src/components/profile/profile.tsx | 26 +- .../src/components/projectDetail/index.tsx | 4 +- .../tabContent/analysis/analysisTab.tsx | 52 +-- .../tabContent/dashboard/dashBoardTab.tsx | 2 +- .../tabContent/dashboard/jobs.tsx | 4 +- .../projectDetail/tabContent/data/dataTab.tsx | 96 +++--- .../projectDetail/tabContent/file/fileTab.tsx | 2 +- .../tabContent/utils/defaultParameters.ts | 6 +- .../components/projectList/projectList.tsx | 2 +- .../reusable/fieldList/fieldList.tsx | 2 +- .../components/reusable/fileList/fileList.tsx | 4 +- .../roleControlSection/roleControlSection.tsx | 91 ++--- .../reusable/subsection/subsection.tsx | 4 +- .../src/components/scaffold/mainMenuBar.tsx | 4 +- .../src/components/users/userDetails.tsx | 14 +- .../src/components/users/userList.tsx | 2 +- packages/itmat-ui-react/src/index.tsx | 1 + .../src/registerServiceWorker.ts | 22 +- .../src/utils/dmpCrypto/msrCrypto.d.ts | 26 +- .../itmat-ui-react/src/utils/logUtils.tsx | 5 +- packages/itmat-ui-react/src/utils/tools.ts | 12 +- packages/itmat-ui-react/src/window.d.ts | 3 + 115 files changed, 1476 insertions(+), 1394 deletions(-) create mode 100644 packages/itmat-interface/src/graphql/ApolloServerContext.ts create mode 100644 packages/itmat-interface/src/graphql/resolvers/context.ts create mode 100644 packages/itmat-ui-react/src/window.d.ts diff --git a/.eslintrc.js b/.eslintrc.js index c582e433e..28b53fc5c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -38,6 +38,7 @@ const typescriptRules = { ...javascriptRules, 'no-unused-vars': 'off', '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/no-non-null-assertion': 'error', '@typescript-eslint/no-unused-vars': [ 'error', { args: 'after-used', varsIgnorePattern: '^__unused' } diff --git a/packages/itmat-commons/src/utils/database.ts b/packages/itmat-commons/src/utils/database.ts index 299b2729e..e79efd2f5 100644 --- a/packages/itmat-commons/src/utils/database.ts +++ b/packages/itmat-commons/src/utils/database.ts @@ -10,8 +10,8 @@ export interface IDatabaseBaseConfig { }; } -export interface IDatabase { - collections?: Coll; +export interface IDatabase { + collections?: Colls; connect: ( config: Conf, mongoClient: typeof MongoClient @@ -21,7 +21,7 @@ export interface IDatabase { closeConnection: () => Promise; } -export class Database implements IDatabase { +export class Database> implements IDatabase { get db(): Db { return this.localClient!.db(this.config!.database); @@ -30,7 +30,10 @@ export class Database { + const collections = Object.entries(this.config!.collections).reduce((a, e) => { a[e[0]] = this.db.collection(e[1]); return a; - }, {}); + }, {} as Record) as C; this.collections = collections; } diff --git a/packages/itmat-commons/src/utils/poller.ts b/packages/itmat-commons/src/utils/poller.ts index fe3762a20..666def16e 100644 --- a/packages/itmat-commons/src/utils/poller.ts +++ b/packages/itmat-commons/src/utils/poller.ts @@ -5,20 +5,19 @@ import { Logger } from './logger'; export interface IJobPollerConfig { identity: string; // a string identifying the server; this is just to keep track in mongo jobType?: string; // if undefined, matches all jobs - jobCollection: mongodb.Collection>; // collection to poll + jobCollection: mongodb.Collection; // collection to poll pollingInterval: number; // in ms - action: (document: any) => void; // gets called every time there is new document + action: (document: IJobEntry) => Promise; // gets called every time there is new document } export class JobPoller { private intervalObj?: NodeJS.Timeout; - private readonly matchObj: any; - + private readonly matchObj: Partial; private readonly identity: string; private readonly jobType?: string; - private readonly jobCollection: mongodb.Collection>; + private readonly jobCollection: mongodb.Collection; private readonly pollingInterval: number; - private readonly action: (document: any) => void; + private readonly action: (document: IJobEntry) => Promise; constructor(config: IJobPollerConfig) { this.identity = config.identity; @@ -40,7 +39,7 @@ export class JobPoller { } public setInterval(): void { - this.intervalObj = setInterval(this.checkForJobs, this.pollingInterval); + this.intervalObj = setInterval(() => { this.checkForJobs().catch(() => { return; }); }, this.pollingInterval); } private async checkForJobs() { @@ -58,7 +57,7 @@ export class JobPoller { Logger.log(`${this.identity} Claimed job of type ${updateResult.jobType} - id: ${updateResult.id}`); if (this.intervalObj) clearInterval(this.intervalObj); - await this.action(updateResult); + await this.action(updateResult).catch(() => { return; }); Logger.log(`${this.identity} Finished processing job of type ${updateResult.jobType} - id: ${updateResult.id}.`); this.setInterval(); } else { diff --git a/packages/itmat-commons/test/unitTests/objStore.test.ts b/packages/itmat-commons/test/unitTests/objStore.test.ts index 4167dfbf9..422c366f2 100644 --- a/packages/itmat-commons/test/unitTests/objStore.test.ts +++ b/packages/itmat-commons/test/unitTests/objStore.test.ts @@ -74,7 +74,7 @@ if (global.hasMinio) describe('OBJECT STORE CLASS TESTS', () => { ); let uploadResult; - let error: any; + let error: unknown; try { uploadResult = await client.uploadFile( fs.createReadStream(path.join(__dirname, '../files/fakefile.txt')), @@ -85,7 +85,9 @@ if (global.hasMinio) describe('OBJECT STORE CLASS TESTS', () => { error = e; } expect(uploadResult).toBeUndefined(); - expect(error.toString()).toBe('Error: File "jkfljsdkfjij042rjio2-fi0-ds9a" of study "fakeStudy3" already exists.'); + expect(error).toBeInstanceOf(Error); + if (error instanceof Error) + expect(error.toString()).toBe('Error: File "jkfljsdkfjij042rjio2-fi0-ds9a" of study "fakeStudy3" already exists.'); }); test('Download file', async () => { diff --git a/packages/itmat-commons/tsconfig.json b/packages/itmat-commons/tsconfig.json index da97c912e..2bc65d594 100644 --- a/packages/itmat-commons/tsconfig.json +++ b/packages/itmat-commons/tsconfig.json @@ -7,6 +7,7 @@ "noImplicitOverride": true, "noPropertyAccessFromIndexSignature": true, "noImplicitReturns": true, + "noImplicitAny": false, "noFallthroughCasesInSwitch": true }, "files": [], diff --git a/packages/itmat-interface/src/authentication/pubkeyAuthentication.ts b/packages/itmat-interface/src/authentication/pubkeyAuthentication.ts index da9478df1..e2f2b1520 100644 --- a/packages/itmat-interface/src/authentication/pubkeyAuthentication.ts +++ b/packages/itmat-interface/src/authentication/pubkeyAuthentication.ts @@ -6,7 +6,7 @@ import { IUser } from '@itmat-broker/itmat-types'; export async function userRetrieval(pubkey: string): Promise { // retrieve userId associated with the token - const pubkeyrec = await db.collections!.pubkeys_collection.findOne({ jwtPubkey: pubkey, deleted: null }); + const pubkeyrec = await db.collections.pubkeys_collection.findOne({ jwtPubkey: pubkey, deleted: null }); if (pubkeyrec === null || pubkeyrec === undefined) { throw new GraphQLError('The public-key embedded in the JWT is not valid!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } @@ -14,7 +14,7 @@ export async function userRetrieval(pubkey: string): Promise { throw new GraphQLError('The public-key embedded in the JWT is not associated with any user!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const associatedUser: IUser | null = await db.collections!.users_collection.findOne({ deleted: null, id: pubkeyrec.associatedUserId }, { projection: { _id: 0 } }); + const associatedUser: IUser | null = await db.collections.users_collection.findOne({ deleted: null, id: pubkeyrec.associatedUserId }, { projection: { _id: 0 } }); if (!associatedUser) { throw new GraphQLError('The user assciated with the public-key embedded in the JWT is not existed or already deleted!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } diff --git a/packages/itmat-interface/src/database/database.ts b/packages/itmat-interface/src/database/database.ts index 763b0b950..68b27117c 100644 --- a/packages/itmat-interface/src/database/database.ts +++ b/packages/itmat-interface/src/database/database.ts @@ -22,7 +22,7 @@ export interface IDatabaseConfig extends IDatabaseBaseConfig { export interface IDatabaseCollectionConfig { users_collection: Collection, - jobs_collection: Collection>, + jobs_collection: Collection, studies_collection: Collection, projects_collection: Collection, queries_collection: Collection, diff --git a/packages/itmat-interface/src/emailer/emailer.ts b/packages/itmat-interface/src/emailer/emailer.ts index 24f54183b..0c72604fc 100644 --- a/packages/itmat-interface/src/emailer/emailer.ts +++ b/packages/itmat-interface/src/emailer/emailer.ts @@ -1,23 +1,14 @@ -import nodemailer from 'nodemailer'; +import nodemailer, { SendMailOptions } from 'nodemailer'; import appConfig from '../utils/configManager'; -import { Attachment } from 'nodemailer/lib/mailer'; - -export interface IMail { - from: string, - to: string, - subject: string, - html: string, - attachments?: Attachment[]; -} class Mailer { private readonly _client: nodemailer.Transporter; - constructor(config: any) { + constructor(config: Parameters[0]) { this._client = nodemailer.createTransport(config); } - public async sendMail(mail: IMail): Promise { + public async sendMail(mail: SendMailOptions): Promise { await this._client.sendMail(mail); } } diff --git a/packages/itmat-interface/src/graphql/ApolloServerContext.ts b/packages/itmat-interface/src/graphql/ApolloServerContext.ts new file mode 100644 index 000000000..540f17e85 --- /dev/null +++ b/packages/itmat-interface/src/graphql/ApolloServerContext.ts @@ -0,0 +1,3 @@ +export interface ApolloServerContext { + token?: string; +} \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/core/fieldCore.ts b/packages/itmat-interface/src/graphql/core/fieldCore.ts index 69bb6659c..eddea2208 100644 --- a/packages/itmat-interface/src/graphql/core/fieldCore.ts +++ b/packages/itmat-interface/src/graphql/core/fieldCore.ts @@ -6,12 +6,12 @@ export class FieldCore { /* ASSUMING projectId and studyId match*/ /* if detailed=false, only returns the fieldid in an array */ /* constructing queryObj; if projectId is provided then only those in the approved fields are returned */ - let queryObj: any = { studyId }; + let queryObj = { studyId }; if (getOnlyTheseFields) { // if both study id and project id are provided then just make sure they belong to each other queryObj = { studyId, fieldId: { $in: getOnlyTheseFields } }; } - const aggregatePipeline: any = [ + const aggregatePipeline = [ { $match: queryObj } ]; /* if detailed=false, only returns the fieldid in an array */ @@ -19,14 +19,14 @@ export class FieldCore { aggregatePipeline.push({ $group: { _id: null, array: { $addToSet: '$fieldId' } } }); } - const cursor = db.collections!.field_dictionary_collection.aggregate(aggregatePipeline); + const cursor = db.collections.field_dictionary_collection.aggregate(aggregatePipeline); return cursor.toArray(); } } -export function validateAndGenerateFieldEntry(fieldEntry: any, requester: IUser) { +export function validateAndGenerateFieldEntry(fieldEntry, requester: IUser) { // duplicates with existing fields are checked by caller function const error: string[] = []; const complusoryField = [ @@ -63,7 +63,7 @@ export function validateAndGenerateFieldEntry(fieldEntry: any, requester: IUser) } } - const newField: any = { + const newField = { fieldId: fieldEntry.fieldId, fieldName: fieldEntry.fieldName, tableName: fieldEntry.tableName, diff --git a/packages/itmat-interface/src/graphql/core/jobCore.ts b/packages/itmat-interface/src/graphql/core/jobCore.ts index b69ce2bc9..7a9a4fd94 100644 --- a/packages/itmat-interface/src/graphql/core/jobCore.ts +++ b/packages/itmat-interface/src/graphql/core/jobCore.ts @@ -3,8 +3,8 @@ import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; export class JobCore { - public async createJob(userId: string, jobType: string, files: string[], studyId: string, projectId?: string, jobId?: string): Promise> { - const job: IJobEntry = { + public async createJob(userId: string, jobType: string, files: string[], studyId: string, projectId?: string, jobId?: string): Promise { + const job: IJobEntry = { requester: userId, id: jobId || uuid(), studyId, @@ -16,7 +16,7 @@ export class JobCore { error: null, cancelled: false }; - await db.collections!.jobs_collection.insertOne(job); + await db.collections.jobs_collection.insertOne(job); return job; } } diff --git a/packages/itmat-interface/src/graphql/core/permissionCore.ts b/packages/itmat-interface/src/graphql/core/permissionCore.ts index b62acd877..a878ef04e 100644 --- a/packages/itmat-interface/src/graphql/core/permissionCore.ts +++ b/packages/itmat-interface/src/graphql/core/permissionCore.ts @@ -14,7 +14,7 @@ interface ICreateRoleInput { export class PermissionCore { public async getAllRolesOfStudyOrProject(studyId: string, projectId?: string): Promise { - return db.collections!.roles_collection.find({ studyId, projectId }).toArray(); + return db.collections.roles_collection.find({ studyId, projectId }).toArray(); } public async userHasTheNeccessaryManagementPermission(type: string, operation: string, user: IUser, studyId: string, projectId?: string): Promise { @@ -27,7 +27,7 @@ export class PermissionCore { return true; } const tag = `permissions.manage.${type}`; - const roles = await db.collections!.roles_collection.aggregate([ + const roles = await db.collections.roles_collection.aggregate([ { $match: { studyId, projectId: { $in: [projectId, null] }, users: user.id, deleted: null } }, // matches all the role documents where the study and project matches and has the user inside { $match: { [tag]: operation } } ]).toArray(); @@ -46,7 +46,7 @@ export class PermissionCore { fieldIds: [matchAnyString] }; } - const roles = await db.collections!.roles_collection.aggregate([ + const roles = await db.collections.roles_collection.aggregate([ { $match: { studyId, projectId: { $in: [projectId, null] }, users: user.id, deleted: null } }, // matches all the role documents where the study and project matches and has the user inside { $match: { 'permissions.data.operations': operation } } ]).toArray(); @@ -81,7 +81,7 @@ export class PermissionCore { } } - public async userHasTheNeccessaryDataPermission(operation: string, user: IUser, studyId: string, projectId?: string): Promise | false> { + public async userHasTheNeccessaryDataPermission(operation: string, user: IUser, studyId: string, projectId?: string): Promise | false> { if (user === undefined) { return false; } @@ -101,7 +101,7 @@ export class PermissionCore { }; } - const roles = await db.collections!.roles_collection.aggregate([ + const roles = await db.collections.roles_collection.aggregate([ { $match: { studyId, projectId: { $in: [projectId, null] }, users: user.id, deleted: null } }, // matches all the role documents where the study and project matches and has the user inside { $match: { 'permissions.data.operations': operation } } ]).toArray(); @@ -143,7 +143,7 @@ export class PermissionCore { return { matchObj: roleObj, hasVersioned: hasVersioned, uploaders: uploaders, raw: raw, roleraw: roleraw }; } - public combineMultiplePermissions(permissions: any[]): any { + public combineMultiplePermissions(permissions) { const res = { matchObj: [], hasVersioned: false, @@ -167,7 +167,7 @@ export class PermissionCore { } public async removeRole(roleId: string): Promise { - const updateResult = await db.collections!.roles_collection.findOneAndUpdate({ id: roleId, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + const updateResult = await db.collections.roles_collection.findOneAndUpdate({ id: roleId, deleted: null }, { $set: { deleted: new Date().valueOf() } }); if (updateResult) { return; } else { @@ -187,7 +187,7 @@ export class PermissionCore { } else if (projectId !== undefined) { queryObj = { projectId, deleted: null }; } - const updateResult = await db.collections!.roles_collection.updateMany(queryObj, { $set: { deleted: new Date().valueOf() } }); + const updateResult = await db.collections.roles_collection.updateMany(queryObj, { $set: { deleted: new Date().valueOf() } }); if (updateResult.acknowledged) { return; } else { @@ -195,7 +195,7 @@ export class PermissionCore { } } - public async editRoleFromStudyOrProject(roleId: string, name?: string, description?: string, permissionChanges?: any, userChanges?: { add: string[], remove: string[] }): Promise { + public async editRoleFromStudyOrProject(roleId: string, name?: string, description?: string, permissionChanges, userChanges?: { add: string[], remove: string[] }): Promise { if (permissionChanges === undefined) { permissionChanges = { data: { subjectIds: [], visitIds: [], fieldIds: [], uploaders: ['^.*$'], hasVersioned: false, operations: [] }, @@ -210,7 +210,7 @@ export class PermissionCore { } if (userChanges === undefined) { userChanges = { add: [], remove: [] }; } - const bulkop = db.collections!.roles_collection.initializeUnorderedBulkOp(); + const bulkop = db.collections.roles_collection.initializeUnorderedBulkOp(); bulkop.find({ id: roleId, deleted: null }).updateOne({ $set: { permissions: permissionChanges }, $addToSet: { users: { $each: userChanges.add } } }); bulkop.find({ id: roleId, deleted: null }).updateOne({ $set: { permissions: permissionChanges }, $pullAll: { users: userChanges.remove } }); if (name) { @@ -220,7 +220,7 @@ export class PermissionCore { bulkop.find({ id: roleId, deleted: null }).updateOne({ $set: { description } }); } const result: BulkWriteResult = await bulkop.execute(); - const resultingRole = await db.collections!.roles_collection.findOne({ id: roleId, deleted: null }); + const resultingRole = await db.collections.roles_collection.findOne({ id: roleId, deleted: null }); if (!resultingRole) { throw new GraphQLError('Role does not exist', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -231,7 +231,7 @@ export class PermissionCore { if (permissionChanges.data?.filters) { if (permissionChanges.data.filters.length > 0) { const subqueries = translateCohort(permissionChanges.data.filters); - validSubjects = (await db.collections!.data_collection.aggregate([{ + validSubjects = (await db.collections.data_collection.aggregate([{ $match: { $and: subqueries } }]).toArray()).map(el => el.m_subjectId); } @@ -239,7 +239,7 @@ export class PermissionCore { // update the data and field records - const dataBulkOp = db.collections!.data_collection.initializeUnorderedBulkOp(); + const dataBulkOp = db.collections.data_collection.initializeUnorderedBulkOp(); const filters: Record = { subjectIds: permissionChanges.data?.subjectIds || [], visitIds: permissionChanges.data?.visitIds || [], @@ -274,7 +274,7 @@ export class PermissionCore { }).update({ $set: { [dataTag]: false } }); - const fieldBulkOp = db.collections!.field_dictionary_collection.initializeUnorderedBulkOp(); + const fieldBulkOp = db.collections.field_dictionary_collection.initializeUnorderedBulkOp(); const fieldIds = permissionChanges.data?.fieldIds || []; const fieldTag = `metadata.${'role:'.concat(roleId)}`; fieldBulkOp.find({ @@ -330,7 +330,7 @@ export class PermissionCore { metadata: {}, deleted: null }; - const updateResult = await db.collections!.roles_collection.insertOne(role); + const updateResult = await db.collections.roles_collection.insertOne(role); if (updateResult.acknowledged) { return role; } else { @@ -342,10 +342,10 @@ export class PermissionCore { export const permissionCore = new PermissionCore(); -export function translateCohort(cohort: any) { - const queries: any[] = []; - cohort.forEach(function (select: any) { - const match: any = { +export function translateCohort(cohort) { + const queries = []; + cohort.forEach(function (select) { + const match = { m_fieldId: select.field }; switch (select.op) { @@ -389,13 +389,13 @@ export function translateCohort(cohort: any) { const countOperation = select.value.split(' '); const countfield = select.field + '.count'; if (countOperation[0] === '=') { - (match as any)[countfield] = { $eq: parseInt(countOperation[1], 10) }; + match[countfield] = { $eq: parseInt(countOperation[1], 10) }; } if (countOperation[0] === '>') { - (match as any)[countfield] = { $gt: parseInt(countOperation[1], 10) }; + match[countfield] = { $gt: parseInt(countOperation[1], 10) }; } if (countOperation[0] === '<') { - (match as any)[countfield] = { $lt: parseInt(countOperation[1], 10) }; + match[countfield] = { $lt: parseInt(countOperation[1], 10) }; } break; } diff --git a/packages/itmat-interface/src/graphql/core/queryCore.ts b/packages/itmat-interface/src/graphql/core/queryCore.ts index e48785eeb..270e8029e 100644 --- a/packages/itmat-interface/src/graphql/core/queryCore.ts +++ b/packages/itmat-interface/src/graphql/core/queryCore.ts @@ -3,7 +3,7 @@ import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; export class QueryCore { - public async createQuery(args: any): Promise { + public async createQuery(args): Promise { const query: IQueryEntry = { requester: args.query.userId, id: uuid(), @@ -17,14 +17,14 @@ export class QueryCore { cohort: args.query.queryString.cohort, new_fields: args.query.queryString.new_fields }; - await db.collections!.queries_collection.insertOne(query); + await db.collections.queries_collection.insertOne(query); return query; } public async getUsersQuery_NoResult(userId: string): Promise { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore - return db.collections!.queries_collection.find({ requester: userId }, { projection: { _id: 0, claimedBy: 0, queryResult: 0 } }).toArray(); + return db.collections.queries_collection.find({ requester: userId }, { projection: { _id: 0, claimedBy: 0, queryResult: 0 } }).toArray(); } } diff --git a/packages/itmat-interface/src/graphql/core/studyCore.ts b/packages/itmat-interface/src/graphql/core/studyCore.ts index 45f2c58ec..e83425ca7 100644 --- a/packages/itmat-interface/src/graphql/core/studyCore.ts +++ b/packages/itmat-interface/src/graphql/core/studyCore.ts @@ -15,7 +15,7 @@ export class StudyCore { constructor(private readonly localPermissionCore: PermissionCore) { } public async findOneStudy_throwErrorIfNotExist(studyId: string): Promise { - const studySearchResult = await db.collections!.studies_collection.findOne({ id: studyId, deleted: null })!; + const studySearchResult = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); if (studySearchResult === null || studySearchResult === undefined) { throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -23,7 +23,7 @@ export class StudyCore { } public async findOneProject_throwErrorIfNotExist(projectId: string): Promise { - const projectSearchResult = await db.collections!.projects_collection.findOne({ id: projectId, deleted: null })!; + const projectSearchResult = await db.collections.projects_collection.findOne({ id: projectId, deleted: null }); if (projectSearchResult === null || projectSearchResult === undefined) { throw new GraphQLError('Project does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -32,7 +32,7 @@ export class StudyCore { public async createNewStudy(studyName: string, description: string, type: studyType, requestedBy: string): Promise { /* check if study already exist (lowercase because S3 minio buckets cant be mixed case) */ - const existingStudies = await db.collections!.studies_collection.aggregate( + const existingStudies = await db.collections.studies_collection.aggregate( [ { $match: { deleted: null } }, { @@ -64,12 +64,12 @@ export class StudyCore { ontologyTrees: [], metadata: {} }; - await db.collections!.studies_collection.insertOne(study); + await db.collections.studies_collection.insertOne(study); return study; } public async editStudy(studyId: string, description: string): Promise { - const res = await db.collections!.studies_collection.findOneAndUpdate({ id: studyId }, { $set: { description: description } }, { returnDocument: 'after' }); + const res = await db.collections.studies_collection.findOneAndUpdate({ id: studyId }, { $set: { description: description } }, { returnDocument: 'after' }); if (res) { return res; } else { @@ -82,7 +82,7 @@ export class StudyCore { const newContentId = uuid(); // update data - const resData = await db.collections!.data_collection.updateMany({ + const resData = await db.collections.data_collection.updateMany({ m_studyId: studyId, m_versionId: null }, { @@ -91,7 +91,7 @@ export class StudyCore { } }); // update field - const resField = await db.collections!.field_dictionary_collection.updateMany({ + const resField = await db.collections.field_dictionary_collection.updateMany({ studyId: studyId, dataVersion: null }, { @@ -100,7 +100,7 @@ export class StudyCore { } }); // update standardization - const resStandardization = await db.collections!.standardizations_collection.updateMany({ + const resStandardization = await db.collections.standardizations_collection.updateMany({ studyId: studyId, dataVersion: null }, { @@ -110,7 +110,7 @@ export class StudyCore { }); // update ontology trees - const resOntologyTrees = await db.collections!.studies_collection.updateOne({ 'id': studyId, 'deleted': null, 'ontologyTrees.dataVersion': null }, { + const resOntologyTrees = await db.collections.studies_collection.updateOne({ 'id': studyId, 'deleted': null, 'ontologyTrees.dataVersion': null }, { $set: { 'ontologyTrees.$.dataVersion': newDataVersionId } @@ -128,7 +128,7 @@ export class StudyCore { tag: tag, updateDate: (new Date().valueOf()).toString() }; - await db.collections!.studies_collection.updateOne({ id: studyId }, { + await db.collections.studies_collection.updateOne({ id: studyId }, { $push: { dataVersions: newDataVersion }, $inc: { currentDataVersion: 1 @@ -136,7 +136,7 @@ export class StudyCore { }); // update permissions based on roles - const roles = await db.collections!.roles_collection.find({ studyId: studyId, deleted: null }).toArray(); + const roles = await db.collections.roles_collection.find({ studyId: studyId, deleted: null }).toArray(); for (const role of roles) { const filters: Record = { subjectIds: role.permissions.data?.subjectIds || [], @@ -149,7 +149,7 @@ export class StudyCore { if (role.permissions.data.filters.length > 0) { validSubjects = []; const subqueries = translateCohort(role.permissions.data.filters); - validSubjects = (await db.collections!.data_collection.aggregate([{ + validSubjects = (await db.collections.data_collection.aggregate([{ $match: { m_fieldId: { $in: role.permissions.data.filters.map(el => el.field) } } }, { @@ -176,7 +176,7 @@ export class StudyCore { validSubjects = [/^.*$/]; } const tag = `metadata.${'role:'.concat(role.id)}`; - await db.collections!.data_collection.updateMany({ + await db.collections.data_collection.updateMany({ m_studyId: studyId, m_versionId: newDataVersionId, $and: [ @@ -188,7 +188,7 @@ export class StudyCore { }, { $set: { [tag]: true } }); - await db.collections!.data_collection.updateMany({ + await db.collections.data_collection.updateMany({ m_studyId: studyId, m_versionId: newDataVersionId, $or: [ @@ -200,27 +200,27 @@ export class StudyCore { }, { $set: { [tag]: false } }); - await db.collections!.field_dictionary_collection.updateMany({ + await db.collections.field_dictionary_collection.updateMany({ studyId: studyId, dataVersion: newDataVersionId, fieldId: { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } }, { - $set: { [tag as any]: true } + $set: { [tag]: true } }); - await db.collections!.field_dictionary_collection.updateMany({ + await db.collections.field_dictionary_collection.updateMany({ studyId: studyId, dataVersion: newDataVersionId, fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } }, { - $set: { [tag as any]: false } + $set: { [tag]: false } }); } return newDataVersion; } - public async uploadOneDataClip(studyId: string, permissions: any, fieldList: Partial[], data: IDataClip[], requester: IUser): Promise { + public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUser): Promise { const response: IGenericResponse[] = []; - let bulk = db.collections!.data_collection.initializeUnorderedBulkOp(); + let bulk = db.collections.data_collection.initializeUnorderedBulkOp(); // remove duplicates by subjectId, visitId and fieldId const keysToCheck: Array = ['visitId', 'subjectId', 'fieldId']; const filteredData = data.filter( @@ -333,7 +333,7 @@ export class StudyCore { error = `Field ${dataClip.fieldId}: Cannot parse as categorical, possible values not defined.`; break; } - if (!fieldInDb.possibleValues.map((el: any) => el.code).includes(dataClip.value?.toString())) { + if (!fieldInDb.possibleValues.map((el) => el.code).includes(dataClip.value?.toString())) { error = `Field ${dataClip.fieldId}: Cannot parse as categorical, value not in value list.`; break; } else { @@ -363,9 +363,9 @@ export class StudyCore { let objWithData: Partial>; // update the file data differently if (fieldInDb.dataType === 'file') { - const existing = await db.collections!.data_collection.findOne(obj); + const existing = await db.collections.data_collection.findOne(obj); if (!existing) { - await db.collections!.data_collection.insertOne({ + await db.collections.data_collection.insertOne({ ...obj, id: uuid(), uploadedAt: (new Date()).valueOf(), @@ -385,7 +385,7 @@ export class StudyCore { metadata: { ...dataClip.metadata, participantId: dataClip.subjectId, - add: ((existing?.metadata as any)?.add || []).concat(parsedValue), + add: (existing?.metadata?.add || []).concat(parsedValue), uploader: requester.id }, uploadedBy: requester.id @@ -407,7 +407,7 @@ export class StudyCore { } if (bulk.batches.length > 999) { await bulk.execute(); - bulk = db.collections!.data_collection.initializeUnorderedBulkOp(); + bulk = db.collections.data_collection.initializeUnorderedBulkOp(); } } bulk.batches.length !== 0 && await bulk.execute(); @@ -419,11 +419,11 @@ export class StudyCore { if (!data.file || typeof (data.file) === 'string') { return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'Invalid File Stream' }; } - const study = await db.collections!.studies_collection.findOne({ id: studyId }); + const study = await db.collections.studies_collection.findOne({ id: studyId }); if (!study) { return { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, description: 'Study does not exist.' }; } - const sitesIDMarkers = (await db.collections!.organisations_collection.find({ deleted: null }).toArray()).reduce((acc, curr) => { + const sitesIDMarkers = (await db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce((acc, curr) => { if (curr.metadata?.siteIDMarker) { acc[curr.metadata.siteIDMarker] = curr.shortname; } @@ -431,7 +431,7 @@ export class StudyCore { }, {}); // check file metadata if (data.metadata) { - let parsedDescription: Record; + let parsedDescription: Record; let startDate; let endDate; let deviceId; @@ -463,10 +463,9 @@ export class StudyCore { const file: FileUpload = await data.file; // check if old files exist; if so, denote it as deleted - const dataEntry = await db.collections!.data_collection.findOne({ m_studyId: studyId, m_visitId: data.visitId, m_subjectId: data.subjectId, m_versionId: null, m_fieldId: data.fieldId }); + const dataEntry = await db.collections.data_collection.findOne({ m_studyId: studyId, m_visitId: data.visitId, m_subjectId: data.subjectId, m_versionId: null, m_fieldId: data.fieldId }); const oldFileId = dataEntry ? dataEntry.value : null; return new Promise((resolve, reject) => { - (async () => { try { const fileEntry: Partial = { @@ -477,7 +476,7 @@ export class StudyCore { uploadTime: `${Date.now()}`, uploadedBy: uploader.id, deleted: null, - metadata: (data.metadata as Record) + metadata: (data.metadata as Record) }; if (args.fileLength !== undefined && args.fileLength > fileSizeLimit) { @@ -527,10 +526,10 @@ export class StudyCore { fileEntry.fileSize = readBytes.toString(); fileEntry.uri = fileUri; fileEntry.hash = hashString; - const insertResult = await db.collections!.files_collection.insertOne(fileEntry as IFile); + const insertResult = await db.collections.files_collection.insertOne(fileEntry as IFile); if (insertResult.acknowledged) { // delete old file if existing - await db.collections!.files_collection.findOneAndUpdate({ studyId: studyId, id: oldFileId }, { $set: { deleted: Date.now().valueOf() } }); + await db.collections.files_collection.findOneAndUpdate({ studyId: studyId, id: oldFileId }, { $set: { deleted: Date.now().valueOf() } }); resolve(fileEntry as IFile); } else { throw new GraphQLError(errorCodes.DATABASE_ERROR); @@ -540,7 +539,7 @@ export class StudyCore { reject({ code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'Missing file metadata.', error }); return; } - })(); + })().catch(() => { return; }); }); } @@ -556,7 +555,7 @@ export class StudyCore { metadata: {} }; - const getListOfPatientsResult = await db.collections!.data_collection.aggregate([ + const getListOfPatientsResult = await db.collections.data_collection.aggregate([ { $match: { m_studyId: studyId } }, { $group: { _id: null, array: { $addToSet: '$m_subjectId' } } }, { $project: { array: 1 } } @@ -570,38 +569,38 @@ export class StudyCore { project.patientMapping = this.createPatientIdMapping(getListOfPatientsResult[0].array); } - await db.collections!.projects_collection.insertOne(project); + await db.collections.projects_collection.insertOne(project); return project; } public async deleteStudy(studyId: string): Promise { /* PRECONDITION: CHECKED THAT STUDY INDEED EXISTS */ - const session = db.client!.startSession(); + const session = db.client.startSession(); session.startTransaction(); const timestamp = new Date().valueOf(); try { /* delete the study */ - await db.collections!.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); + await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); /* delete all projects related to the study */ - await db.collections!.projects_collection.updateMany({ studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); + await db.collections.projects_collection.updateMany({ studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); /* delete all roles related to the study */ await this.localPermissionCore.removeRoleFromStudyOrProject({ studyId }); /* delete all files belong to the study*/ - await db.collections!.files_collection.updateMany({ studyId, deleted: null }, { $set: { deleted: timestamp } }); + await db.collections.files_collection.updateMany({ studyId, deleted: null }, { $set: { deleted: timestamp } }); await session.commitTransaction(); - session.endSession(); + session.endSession().catch(() => { return; }); } catch (error) { // If an error occurred, abort the whole transaction and // undo any changes that might have happened await session.abortTransaction(); - session.endSession(); + session.endSession().catch(() => { return; }); throw error; // Rethrow so calling function sees error } } @@ -610,7 +609,7 @@ export class StudyCore { const timestamp = new Date().valueOf(); /* delete all projects related to the study */ - await db.collections!.projects_collection.findOneAndUpdate({ id: projectId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }, { returnDocument: 'after' }); + await db.collections.projects_collection.findOneAndUpdate({ id: projectId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }, { returnDocument: 'after' }); /* delete all roles related to the study */ await this.localPermissionCore.removeRoleFromStudyOrProject({ projectId }); diff --git a/packages/itmat-interface/src/graphql/core/userCore.ts b/packages/itmat-interface/src/graphql/core/userCore.ts index 822bbfab2..5dcca782a 100644 --- a/packages/itmat-interface/src/graphql/core/userCore.ts +++ b/packages/itmat-interface/src/graphql/core/userCore.ts @@ -9,14 +9,14 @@ import { MarkOptional } from 'ts-essentials'; export class UserCore { public async getOneUser_throwErrorIfNotExists(username: string): Promise { - const user = await db.collections!.users_collection.findOne({ deleted: null, username }); + const user = await db.collections.users_collection.findOne({ deleted: null, username }); if (user === undefined || user === null) { throw new GraphQLError('User does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } return user; } - public async createUser(user: { password: string, otpSecret: string, username: string, organisation: string, type: userTypes, description: string, firstname: string, lastname: string, email: string, emailNotificationsActivated: boolean, metadata: any }): Promise { + public async createUser(user: { password: string, otpSecret: string, username: string, organisation: string, type: userTypes, description: string, firstname: string, lastname: string, email: string, emailNotificationsActivated: boolean, metadata }): Promise { const { password, otpSecret, organisation, username, type, description, firstname, lastname, email, emailNotificationsActivated, metadata } = user; const hashedPassword: string = await bcrypt.hash(password, config.bcrypt.saltround); const createdAt = Date.now(); @@ -41,7 +41,7 @@ export class UserCore { deleted: null }; - const result = await db.collections!.users_collection.insertOne(entry); + const result = await db.collections.users_collection.insertOne(entry); if (result.acknowledged) { const cleared: MarkOptional = { ...entry }; delete cleared['password']; @@ -53,14 +53,14 @@ export class UserCore { } public async deleteUser(userId: string): Promise { - const session = db.client!.startSession(); + const session = db.client.startSession(); session.startTransaction(); try { /* delete the user */ - await db.collections!.users_collection.findOneAndUpdate({ id: userId, deleted: null }, { $set: { deleted: new Date().valueOf(), password: 'DeletedUserDummyPassword' } }, { returnDocument: 'after', projection: { deleted: 1 } }); + await db.collections.users_collection.findOneAndUpdate({ id: userId, deleted: null }, { $set: { deleted: new Date().valueOf(), password: 'DeletedUserDummyPassword' } }, { returnDocument: 'after', projection: { deleted: 1 } }); /* delete all user records in roles related to the study */ - await db.collections!.roles_collection.updateMany( + await db.collections.roles_collection.updateMany( { deleted: null, users: userId @@ -71,17 +71,17 @@ export class UserCore { ); await session.commitTransaction(); - session.endSession(); + session.endSession().catch(() => { return; }); } catch (error) { // If an error occurred, abort the whole transaction and // undo any changes that might have happened await session.abortTransaction(); - session.endSession(); + session.endSession().catch(() => { return; }); throw new GraphQLError(`Database error: ${JSON.stringify(error)}`); } } - public async createOrganisation(org: { name: string, shortname: string | null, containOrg: string | null, metadata: any }): Promise { + public async createOrganisation(org: { name: string, shortname: string | null, containOrg: string | null, metadata }): Promise { const { name, shortname, containOrg, metadata } = org; const entry: IOrganisation = { id: uuid(), @@ -93,7 +93,7 @@ export class UserCore { siteIDMarker: metadata.siteIDMarker } : {} }; - const result = await db.collections!.organisations_collection.findOneAndUpdate({ name: name, deleted: null }, { + const result = await db.collections.organisations_collection.findOneAndUpdate({ name: name, deleted: null }, { $set: entry }, { upsert: true @@ -117,7 +117,7 @@ export class UserCore { deleted: null }; - const result = await db.collections!.pubkeys_collection.insertOne(entry); + const result = await db.collections.pubkeys_collection.insertOne(entry); if (result.acknowledged) { return entry; } else { diff --git a/packages/itmat-interface/src/graphql/resolvers/context.ts b/packages/itmat-interface/src/graphql/resolvers/context.ts new file mode 100644 index 000000000..f5a6889f1 --- /dev/null +++ b/packages/itmat-interface/src/graphql/resolvers/context.ts @@ -0,0 +1,11 @@ +import type { ExpressMiddlewareOptions } from '@apollo/server/express4'; +import { IResolvers } from '@graphql-tools/utils'; + +export type DMPContext = Awaited['context']>>>>; + +export type DMPResolversMap = Record>; + +export type DMPResolver = DMPResolversMap[keyof DMPResolversMap][keyof DMPResolversMap[keyof DMPResolversMap]] \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts index b737f4a3a..2126f208a 100644 --- a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts @@ -1,29 +1,30 @@ import { GraphQLError } from 'graphql'; -import { IFile, IOrganisation, IUser, atomicOperation, IPermissionManagementOptions, IDataEntry } from '@itmat-broker/itmat-types'; +import { IFile, IOrganisation, atomicOperation, IPermissionManagementOptions, IDataEntry } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { FileUpload } from 'graphql-upload-minimal'; import { db } from '../../database/database'; import { objStore } from '../../objStore/objStore'; import { permissionCore } from '../core/permissionCore'; import { errorCodes } from '../errors'; -import { IGenericResponse, makeGenericReponse } from '../responses'; +import { makeGenericReponse } from '../responses'; import crypto from 'crypto'; import { validate } from '@ideafast/idgen'; import { deviceTypes } from '@itmat-broker/itmat-types'; import { fileSizeLimit } from '../../utils/definition'; import type { MatchKeysAndValues } from 'mongodb'; import { studyCore } from '../core/studyCore'; +import { DMPResolversMap } from './context'; // default visitId for file data const targetVisitId = '0'; -export const fileResolvers = { +export const fileResolvers: DMPResolversMap = { Query: { }, Mutation: { // this API has the same functions as uploading file data via clinical APIs - uploadFile: async (__unused__parent: Record, args: { fileLength?: bigint, studyId: string, file: Promise, description: string, hash?: string }, context: any): Promise => { + uploadFile: async (parent, args: { fileLength?: bigint, studyId: string, file: Promise, description: string, hash?: string }, context) => { - const requester: IUser = context.req.user; + const requester = context.req.user; // get the target fieldId of this file const study = await studyCore.findOneStudy_throwErrorIfNotExist(args.studyId); @@ -43,7 +44,7 @@ export const fileResolvers = { let targetFieldId: string; let isStudyLevel = false; // obtain sitesIDMarker from db - const sitesIDMarkers = (await db.collections!.organisations_collection.find({ deleted: null }).toArray()).reduce((acc, curr) => { + const sitesIDMarkers = (await db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce((acc, curr) => { if (curr.metadata?.siteIDMarker) { acc[curr.metadata.siteIDMarker] = curr.shortname; } @@ -81,7 +82,7 @@ export const fileResolvers = { targetFieldId = `Device_${deviceTypes[device].replace(/ /g, '_')}`; } // check fieldId exists - if ((await db.collections!.field_dictionary_collection.find({ studyId: study.id, fieldId: targetFieldId, dateDeleted: null }).sort({ dateAdded: -1 }).limit(1).toArray()).length === 0) { + if ((await db.collections.field_dictionary_collection.find({ studyId: study.id, fieldId: targetFieldId, dateDeleted: null }).sort({ dateAdded: -1 }).limit(1).toArray()).length === 0) { throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); } // check field permission @@ -208,7 +209,7 @@ export const fileResolvers = { fileEntry.uri = fileUri; fileEntry.hash = hashString; if (!isStudyLevel) { - await db.collections!.data_collection.insertOne({ + await db.collections.data_collection.insertOne({ id: uuid(), m_studyId: args.studyId, m_subjectId: parsedDescription.participantId, @@ -224,7 +225,7 @@ export const fileResolvers = { } }); } - const insertResult = await db.collections!.files_collection.insertOne(fileEntry as IFile); + const insertResult = await db.collections.files_collection.insertOne(fileEntry as IFile); if (insertResult.acknowledged) { resolve(fileEntry as IFile); } else { @@ -234,13 +235,13 @@ export const fileResolvers = { } catch (error) { reject(new GraphQLError('General upload error', { extensions: { code: errorCodes.UNQUALIFIED_ERROR, error } })); } - })(); + })().catch((e) => reject(e)); }); }, - deleteFile: async (__unused__parent: Record, args: { fileId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + deleteFile: async (parent, args: { fileId: string }, context) => { + const requester = context.req.user; - const file = await db.collections!.files_collection.findOne({ deleted: null, id: args.fileId }); + const file = await db.collections.files_collection.findOne({ deleted: null, id: args.fileId }); if (!file) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -253,7 +254,7 @@ export const fileResolvers = { if (!hasStudyLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } const parsedDescription = JSON.parse(file.description); if (Object.keys(parsedDescription).length === 0) { - await db.collections!.files_collection.findOneAndUpdate({ deleted: null, id: args.fileId }, { $set: { deleted: Date.now().valueOf() } }); + await db.collections.files_collection.findOneAndUpdate({ deleted: null, id: args.fileId }, { $set: { deleted: Date.now().valueOf() } }); return makeGenericReponse(); } const device = parsedDescription.deviceId.slice(0, 3); @@ -272,9 +273,9 @@ export const fileResolvers = { m_visitId: targetVisitId, m_fieldId: targetFieldId }; - const existing = await db.collections!.data_collection.findOne(obj); + const existing = await db.collections.data_collection.findOne(obj); if (!existing) { - await db.collections!.data_collection.insertOne({ + await db.collections.data_collection.insertOne({ ...obj, id: uuid(), uploadedAt: (new Date()).valueOf(), @@ -293,12 +294,12 @@ export const fileResolvers = { metadata: { 'uploader:user': requester.id, 'add': existing?.metadata?.add ?? [], - 'remove': ((existing?.metadata as any)?.remove || []).concat(args.fileId) + 'remove': (existing?.metadata?.remove || []).concat(args.fileId) } }; - const updateResult = await db.collections!.data_collection.updateOne(obj, { $set: objWithData }, { upsert: true }); + const updateResult = await db.collections.data_collection.updateOne(obj, { $set: objWithData }, { upsert: true }); - // const updateResult = await db.collections!.files_collection.updateOne({ deleted: null, id: args.fileId }, { $set: { deleted: new Date().valueOf() } }); + // const updateResult = await db.collections.files_collection.updateOne({ deleted: null, id: args.fileId }, { $set: { deleted: new Date().valueOf() } }); if (updateResult.modifiedCount === 1 || updateResult.upsertedCount === 1) { return makeGenericReponse(); } else { diff --git a/packages/itmat-interface/src/graphql/resolvers/index.ts b/packages/itmat-interface/src/graphql/resolvers/index.ts index 6a64f99c2..2102d9280 100644 --- a/packages/itmat-interface/src/graphql/resolvers/index.ts +++ b/packages/itmat-interface/src/graphql/resolvers/index.ts @@ -1,4 +1,3 @@ -import GraphQLJSON from 'graphql-type-json'; import { fileResolvers } from './fileResolvers'; import { jobResolvers } from './jobResolvers'; import { permissionResolvers } from './permissionResolvers'; @@ -9,9 +8,10 @@ import { organisationResolvers } from './organisationResolvers'; import { pubkeyResolvers } from './pubkeyResolvers'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../errors'; -import { IUser } from '@itmat-broker/itmat-types'; import { logResolvers } from './logResolvers'; import { standardizationResolvers } from './standardizationResolvers'; +import { IResolvers } from '@graphql-tools/utils'; +import { DMPResolver } from './context'; const modules = [ studyResolvers, @@ -27,38 +27,38 @@ const modules = [ ]; // const loggingDecorator = (reducerFunction: Function) => { -// return async (parent: any, args: any, context: any, info: any) => { +// return async (parent, args, context, info) => { // return await reducerFunction(parent, args, context, info); // }; // }; -const bounceNotLoggedInDecorator = (reducerFunction: any) => { - return async (parent: any, args: any, context: any, info: any) => { +const bounceNotLoggedInDecorator = (reducerFunction: DMPResolver): DMPResolver => { + return (parent, args, context, info) => { const uncheckedFunctionWhitelist = ['login', 'rsaSigner', 'keyPairGenwSignature', 'issueAccessToken', 'whoAmI', 'getOrganisations', 'requestUsernameOrResetPassword', 'resetPassword', 'createUser', 'writeLog', 'validateResetPassword']; - const requester: IUser = context.req.user; + const requester = context.req.user; if (!requester) { - if (!(uncheckedFunctionWhitelist as any).includes(reducerFunction.name)) { + if (!uncheckedFunctionWhitelist.includes(reducerFunction.name)) { throw new GraphQLError(errorCodes.NOT_LOGGED_IN); } } - return await reducerFunction(parent, args, context, info); + return reducerFunction(parent, args, context, info); }; }; -const reduceInit: any = { JSON: GraphQLJSON }; +const reduceInit: Record = {}; export const resolvers = modules.reduce((a, e) => { const types = Object.keys(e); for (const each of types) { // types can be Subscription | Query | Mutation | {{TYPE}} if (a[each] === undefined) { // if a doesnt have types then create a empty obj a[each] = {}; } - for (const funcName of Object.keys((e as any)[each])) { + for (const funcName of Object.keys(e[each])) { if (each === 'Subscription') { - (a as any)[each][funcName] = (e as any)[each][funcName]; + a[each][funcName] = e[each][funcName]; } else { - (a as any)[each][funcName] = bounceNotLoggedInDecorator((e as any)[each][funcName]); + a[each][funcName] = bounceNotLoggedInDecorator(e[each][funcName]); } } } diff --git a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts index be6d26131..6ae94228c 100644 --- a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts @@ -1,12 +1,13 @@ import { GraphQLError } from 'graphql'; import { withFilter } from 'graphql-subscriptions'; -import { IJobEntryForDataCuration, IJobEntryForFieldCuration, IJobEntryForQueryCuration, IUser, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; +import { IJobEntryForDataCuration, IJobEntryForFieldCuration, IJobEntryForQueryCuration, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; import { errorCodes } from '../errors'; import { pubsub, subscriptionEvents } from '../pubsub'; import { permissionCore } from '../core/permissionCore'; import { studyCore } from '../core/studyCore'; +import { DMPResolversMap } from './context'; enum JOB_TYPE { FIELD_INFO_UPLOAD = 'FIELD_INFO_UPLOAD', @@ -16,11 +17,11 @@ enum JOB_TYPE { DATA_EXPORT = 'DATA_EXPORT' } -export const jobResolvers = { +export const jobResolvers: DMPResolversMap = { Query: {}, Mutation: { - createDataCurationJob: async (__unused__parent: Record, args: { file: string[], studyId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + createDataCurationJob: async (parent, args: { file: string[], studyId: string }, context) => { + const requester = context.req.user; /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( @@ -40,7 +41,7 @@ export const jobResolvers = { const jobList: IJobEntryForDataCuration[] = []; for (const oneFile of args.file) { /* check if the file exists */ - const file = await db.collections!.files_collection.findOne({ deleted: null, id: oneFile }); + const file = await db.collections.files_collection.findOne({ deleted: null, id: oneFile }); if (!file) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } @@ -67,7 +68,7 @@ export const jobResolvers = { cancelled: false }; - const result = await db.collections!.jobs_collection.insertOne(job); + const result = await db.collections.jobs_collection.insertOne(job); jobList.push(job); if (!result.acknowledged) { throw new GraphQLError(errorCodes.DATABASE_ERROR); @@ -75,8 +76,8 @@ export const jobResolvers = { } return jobList; }, - createFieldCurationJob: async (__unused__parent: Record, args: { file: string, studyId: string, tag: string }, context: any): Promise => { - const requester: IUser = context.req.user; + createFieldCurationJob: async (parent, args: { file: string, studyId: string, tag: string }, context) => { + const requester = context.req.user; /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( @@ -88,7 +89,7 @@ export const jobResolvers = { if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } /* check if the file exists */ - const file = await db.collections!.files_collection.findOne({ deleted: null, id: args.file }); + const file = await db.collections.files_collection.findOne({ deleted: null, id: args.file }); if (!file) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } @@ -117,14 +118,14 @@ export const jobResolvers = { } }; - const result = await db.collections!.jobs_collection.insertOne(job); + const result = await db.collections.jobs_collection.insertOne(job); if (!result.acknowledged) { throw new GraphQLError(errorCodes.DATABASE_ERROR); } return job; }, - createQueryCurationJob: async (__unused__parent: Record, args: { queryId: string[], studyId: string, projectId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + createQueryCurationJob: async (parent, args: { queryId: string[], studyId: string, projectId: string }, context) => { + const requester = context.req.user; /* check permission */ const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( @@ -146,7 +147,7 @@ export const jobResolvers = { await studyCore.findOneStudy_throwErrorIfNotExist(args.studyId); /* check if project exists */ - const projectExist = await db.collections!.projects_collection.findOne({ id: args.projectId }); + const projectExist = await db.collections.projects_collection.findOne({ id: args.projectId }); if (!projectExist) { throw new GraphQLError('Project does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -154,7 +155,7 @@ export const jobResolvers = { /* check if the query exists */ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - const queryExist = await db.collections!.queries_collection.findOne({ id: args.queryId[0] }); + const queryExist = await db.collections.queries_collection.findOne({ id: args.queryId[0] }); if (!queryExist) { throw new GraphQLError('Query does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -175,7 +176,7 @@ export const jobResolvers = { studyId: args.studyId } }; - const result = await db.collections!.jobs_collection.insertOne(job); + const result = await db.collections.jobs_collection.insertOne(job); if (!result.acknowledged) { throw new GraphQLError(errorCodes.DATABASE_ERROR); } diff --git a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts index c00b027b7..9fd072f57 100644 --- a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts @@ -1,25 +1,26 @@ import { db } from '../../database/database'; -import { ILogEntry, IUser, LOG_ACTION, userTypes } from '@itmat-broker/itmat-types'; +import { ILogEntry, LOG_ACTION, userTypes } from '@itmat-broker/itmat-types'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../errors'; +import { DMPResolversMap } from './context'; -export const logResolvers = { +export const logResolvers: DMPResolversMap = { Query: { - getLogs: async (__unused_parent: Record, args: any, context: any): Promise => { - const requester: IUser = context.req.user; + getLogs: async (parent, args, context) => { + const requester = context.req.user; /* only admin can access this field */ if (!(requester.type === userTypes.ADMIN) && !(requester.metadata?.logPermission === true)) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const queryObj: Record = {}; + const queryObj: Record = {}; for (const prop in args) { if (args.prop !== undefined) { queryObj[prop] = args.prop; } } - const logData = await db.collections!.log_collection.find(queryObj, { projection: { _id: 0 } }).limit(1000).sort('time', -1).toArray(); + const logData = await db.collections.log_collection.find(queryObj, { projection: { _id: 0 } }).limit(1000).sort('time', -1).toArray(); // log information decoration for (const i in logData) { logData[i].actionData = JSON.stringify(await logDecorationHelper(logData[i].actionData, logData[i].actionType)); @@ -36,7 +37,7 @@ export const hiddenFields = { UPLOAD_FILE: ['file', 'description'] }; -async function logDecorationHelper(actionData: any, actionType: string) { +async function logDecorationHelper(actionData: unknown, actionType: string) { const obj = JSON.parse(actionData) ?? {}; if (Object.keys(hiddenFields).includes(actionType)) { for (let i = 0; i < hiddenFields[actionType as keyof typeof hiddenFields].length; i++) { @@ -45,7 +46,7 @@ async function logDecorationHelper(actionData: any, actionType: string) { } if (actionType === LOG_ACTION.getStudy) { const studyId = obj['studyId']; - const study = await db.collections!.studies_collection.findOne({ id: studyId, deleted: null })!; + const study = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); if (study === null || study === undefined) { obj['name'] = ''; } diff --git a/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts index 4cf37abb5..a8b08892f 100644 --- a/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts @@ -1,12 +1,13 @@ import { IOrganisation } from '@itmat-broker/itmat-types'; import { db } from '../../database/database'; +import { DMPResolversMap } from './context'; -export const organisationResolvers = { +export const organisationResolvers: DMPResolversMap = { Query: { - getOrganisations: async (__unused__parent: Record, args: any): Promise => { + getOrganisations: async (parent, args) => { // everyone is allowed to see all organisations in the app. const queryObj = args.organisationId === undefined ? { deleted: null } : { deleted: null, id: args.organisationId }; - const cursor = db.collections!.organisations_collection.find(queryObj, { projection: { _id: 0 } }); + const cursor = db.collections.organisations_collection.find(queryObj, { projection: { _id: 0 } }); return cursor.toArray(); } }, diff --git a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts index f6e1f33f1..7c3f6d4d9 100644 --- a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts @@ -1,18 +1,16 @@ import { GraphQLError } from 'graphql'; -import { IUser, IRole, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; +import { IRole, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { db } from '../../database/database'; import { permissionCore } from '../core/permissionCore'; import { studyCore } from '../core/studyCore'; import { errorCodes } from '../errors'; -import { IGenericResponse, makeGenericReponse } from '../responses'; +import { makeGenericReponse } from '../responses'; +import { DMPResolversMap } from './context'; -export const permissionResolvers = { +export const permissionResolvers: DMPResolversMap = { Query: { - getGrantedPermissions: async (__unused__parent: Record, { studyId, projectId }: { studyId?: string, projectId?: string }, context: any): Promise<{ - studies: unknown[]; - projects: unknown[]; - }> => { - const requester: IUser = context.req.user; + getGrantedPermissions: async (parent, { studyId, projectId }: { studyId?: string, projectId?: string }, context) => { + const requester = context.req.user; const matchClause: Record = { users: requester.id }; if (studyId) matchClause.studyId = studyId; @@ -25,21 +23,21 @@ export const permissionResolvers = { ]; const grantedPermissions = { - studies: await db.collections!.roles_collection.aggregate(aggregationPipeline).toArray(), - projects: await db.collections!.roles_collection.aggregate(aggregationPipeline).toArray() + studies: await db.collections.roles_collection.aggregate(aggregationPipeline).toArray(), + projects: await db.collections.roles_collection.aggregate(aggregationPipeline).toArray() }; return grantedPermissions; } }, StudyOrProjectUserRole: { - users: async (role: IRole): Promise => { + users: async (role: IRole) => { const listOfUsers = role.users; - return await (db.collections!.users_collection.find({ id: { $in: listOfUsers } }, { projection: { _id: 0, password: 0, email: 0 } }).toArray()); + return await (db.collections.users_collection.find({ id: { $in: listOfUsers } }, { projection: { _id: 0, password: 0, email: 0 } }).toArray()); } }, Mutation: { - addRole: async (__unused__parent: Record, args: { studyId: string, projectId?: string, roleName: string }, context: any): Promise => { - const requester: IUser = context.req.user; + addRole: async (parent, args: { studyId: string, projectId?: string, roleName: string }, context) => { + const requester = context.req.user; const { studyId, projectId, roleName } = args; /* check whether user has at least provided one id */ @@ -69,14 +67,14 @@ export const permissionResolvers = { await studyCore.findOneProject_throwErrorIfNotExist(projectId); } - const result = await permissionCore.addRole({ createdBy: requester.id, studyId: studyId!, projectId, roleName }); + const result = await permissionCore.addRole({ createdBy: requester.id, studyId, projectId, roleName }); return result; }, - editRole: async (__unused__parent: Record, args: { roleId: string, name?: string, description?: string, userChanges?: { add: string[], remove: string[] }, permissionChanges?: any }, context: any): Promise => { - const requester: IUser = context.req.user; + editRole: async (parent, args: { roleId: string, name?: string, description?: string, userChanges?: { add: string[], remove: string[] }, permissionChanges }, context) => { + const requester = context.req.user; const { roleId, name, permissionChanges, userChanges } = args; - const role = await db.collections!.roles_collection.findOne({ id: roleId, deleted: null })!; + const role = await db.collections.roles_collection.findOne({ id: roleId, deleted: null }); if (role === null) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } @@ -118,7 +116,7 @@ export const permissionResolvers = { const testedUser: string[] = []; for (const each of allRequestedUserChanges) { if (!testedUser.includes(each)) { - const user = await db.collections!.users_collection.findOne({ id: each, deleted: null }); + const user = await db.collections.users_collection.findOne({ id: each, deleted: null }); if (user === null) { throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); } else { @@ -132,11 +130,11 @@ export const permissionResolvers = { const modifiedRole = await permissionCore.editRoleFromStudyOrProject(roleId, name, args.description, permissionChanges, userChanges); return modifiedRole; }, - removeRole: async (__unused__parent: Record, args: { roleId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + removeRole: async (parent, args: { roleId: string }, context) => { + const requester = context.req.user; const { roleId } = args; - const role = await db.collections!.roles_collection.findOne({ id: roleId, deleted: null })!; + const role = await db.collections.roles_collection.findOne({ id: roleId, deleted: null }); if (role === null) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } diff --git a/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts index 039ae3eaa..f464283a2 100644 --- a/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts @@ -1,7 +1,7 @@ import { ApolloServerErrorCode } from '@apollo/server/errors'; import { GraphQLError } from 'graphql'; import { mailer } from '../../emailer/emailer'; -import { IUser, IPubkey, AccessToken, KeyPairwSignature, Signature } from '@itmat-broker/itmat-types'; +import { IPubkey } from '@itmat-broker/itmat-types'; //import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; import config from '../../utils/configManager'; @@ -9,9 +9,11 @@ import { userCore } from '../core/userCore'; import { errorCodes } from '../errors'; //import { makeGenericReponse, IGenericResponse } from '../responses'; import * as pubkeycrypto from '../../utils/pubkeycrypto'; -export const pubkeyResolvers = { +import { DMPResolversMap } from './context'; + +export const pubkeyResolvers: DMPResolversMap = { Query: { - getPubkeys: async (__unused__parent: Record, args: any): Promise => { + getPubkeys: async (parent, args) => { // a user is allowed to obtain his/her registered public key. let queryObj; if (args.pubkeyId === undefined) { @@ -23,13 +25,13 @@ export const pubkeyResolvers = { } else { queryObj = { deleted: null, id: args.pubkeyId }; } - const cursor = db.collections!.pubkeys_collection.find(queryObj, { projection: { _id: 0 } }); + const cursor = db.collections.pubkeys_collection.find(queryObj, { projection: { _id: 0 } }); return cursor.toArray(); } }, Mutation: { - keyPairGenwSignature: async (): Promise => { + keyPairGenwSignature: async () => { // Generate RSA key-pair with Signature for robot user const keyPair = pubkeycrypto.rsakeygen(); //default message = hash of the public key (SHA256) @@ -39,7 +41,7 @@ export const pubkeyResolvers = { return { privateKey: keyPair.privateKey, publicKey: keyPair.publicKey, signature: signature }; }, - rsaSigner: async (__unused__parent: Record, { privateKey, message }: { privateKey: string, message: string }): Promise => { + rsaSigner: async (parent, { privateKey, message }: { privateKey: string, message: string }) => { let messageToBeSigned; privateKey = privateKey.replace(/\\n/g, '\n'); if (message === undefined) { @@ -58,7 +60,7 @@ export const pubkeyResolvers = { return { signature: signature }; }, - issueAccessToken: async (__unused__parent: Record, { pubkey, signature }: { pubkey: string, signature: string }): Promise => { + issueAccessToken: async (parent, { pubkey, signature }: { pubkey: string, signature: string }) => { // refine the public-key parameter from browser pubkey = pubkey.replace(/\\n/g, '\n'); @@ -67,7 +69,7 @@ export const pubkeyResolvers = { throw new GraphQLError('Signature vs Public key mismatched.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const pubkeyrec = await db.collections!.pubkeys_collection.findOne({ pubkey, deleted: null }); + const pubkeyrec = await db.collections.pubkeys_collection.findOne({ pubkey, deleted: null }); if (pubkeyrec === null || pubkeyrec === undefined) { throw new GraphQLError('This public-key has not been registered yet!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } @@ -84,7 +86,7 @@ export const pubkeyResolvers = { const fieldsToUpdate = { refreshCounter: (pubkeyrec.refreshCounter + 1) }; - const updateResult = await db.collections!.pubkeys_collection.findOneAndUpdate({ pubkey, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + const updateResult = await db.collections.pubkeys_collection.findOneAndUpdate({ pubkey, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); if (updateResult === null) { throw new GraphQLError('Server error; cannot fulfil the JWT request.'); } @@ -96,15 +98,15 @@ export const pubkeyResolvers = { return accessToken; }, - registerPubkey: async (__unused__parent: Record, { pubkey, signature, associatedUserId }: { pubkey: string, signature: string, associatedUserId: string }, context: any): Promise => { + registerPubkey: async (parent, { pubkey, signature, associatedUserId }: { pubkey: string, signature: string, associatedUserId: string }, context) => { // refine the public-key parameter from browser pubkey = pubkey.replace(/\\n/g, '\n'); - const alreadyExist = await db.collections!.pubkeys_collection.findOne({ pubkey, deleted: null }); + const alreadyExist = await db.collections.pubkeys_collection.findOne({ pubkey, deleted: null }); if (alreadyExist !== null && alreadyExist !== undefined) { throw new GraphQLError('This public-key has already been registered.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const requester: IUser = context.req.user; + const requester = context.req.user; /* Check whether requester is the same as the associated user*/ if (associatedUserId && (requester.id !== associatedUserId)) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -125,7 +127,7 @@ export const pubkeyResolvers = { /* Update the new public key if the user is already associated with another public key*/ if (associatedUserId) { - const alreadyRegistered = await db.collections!.pubkeys_collection.findOne({ associatedUserId, deleted: null }); + const alreadyRegistered = await db.collections.pubkeys_collection.findOne({ associatedUserId, deleted: null }); if (alreadyRegistered !== null && alreadyRegistered !== undefined) { //updating the new public key. const fieldsToUpdate = { @@ -133,7 +135,7 @@ export const pubkeyResolvers = { jwtPubkey: keypair.publicKey, jwtSeckey: keypair.privateKey }; - const updateResult = await db.collections!.pubkeys_collection.findOneAndUpdate({ associatedUserId, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + const updateResult = await db.collections.pubkeys_collection.findOneAndUpdate({ associatedUserId, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); if (updateResult) { await mailer.sendMail({ from: `${config.appName} <${config.nodemailer.auth.user}>`, diff --git a/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts index a670177db..6e3375286 100644 --- a/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts @@ -1,17 +1,18 @@ -import { IQueryEntry, IUser, IProject, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; +import { IProject, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { queryCore } from '../core/queryCore'; import { permissionCore } from '../core/permissionCore'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../errors'; import { db } from '../../database/database'; +import { DMPResolversMap } from './context'; -export const queryResolvers = { +export const queryResolvers: DMPResolversMap = { Query: { - getQueryById: async (__unused__parent: Record, args: { queryId: string }, context: any): Promise => { + getQueryById: async (parent, args: { queryId: string }, context) => { const queryId = args.queryId; - const requester: IUser = context.req.user; + const requester = context.req.user; /* check query exists */ - const queryEntry = await db.collections!.queries_collection.findOne({ id: queryId }, { projection: { _id: 0, claimedBy: 0 } }); + const queryEntry = await db.collections.queries_collection.findOne({ id: queryId }, { projection: { _id: 0, claimedBy: 0 } }); if (queryEntry === null || queryEntry === undefined) { throw new GraphQLError('Query does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -35,8 +36,8 @@ export const queryResolvers = { } return queryEntry; }, - getQueries: async (__unused__parent: Record, args: { studyId: string, projectId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + getQueries: async (parent, args: { studyId: string, projectId: string }, context) => { + const requester = context.req.user; /* check permission */ const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( @@ -54,19 +55,19 @@ export const queryResolvers = { args.studyId ); if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const entries = await db.collections!.queries_collection.find({ studyId: args.studyId, projectId: args.projectId }).toArray(); + const entries = await db.collections.queries_collection.find({ studyId: args.studyId, projectId: args.projectId }).toArray(); return entries; } }, Mutation: { - createQuery: async (__unused__parent: Record, args: { query: { userId: string, queryString: any, studyId: string, projectId?: string } }): Promise => { + createQuery: async (parent, args: { query: { userId: string, queryString, studyId: string, projectId?: string } }) => { /* check study exists */ - const studySearchResult = await db.collections!.studies_collection.findOne({ id: args.query.studyId, deleted: null }); + const studySearchResult = await db.collections.studies_collection.findOne({ id: args.query.studyId, deleted: null }); if (studySearchResult === null || studySearchResult === undefined) { throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } /* check project exists */ - const project = await db.collections!.projects_collection.findOne>({ id: args.query.projectId, deleted: null }, { projection: { patientMapping: 0 } })!; + const project = await db.collections.projects_collection.findOne>({ id: args.query.projectId, deleted: null }, { projection: { patientMapping: 0 } }); if (project === null) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } diff --git a/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts index fac379d43..196152a29 100644 --- a/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts @@ -1,16 +1,17 @@ -import { IProject, IStandardization, IUser, atomicOperation } from '@itmat-broker/itmat-types'; +import { IProject, IStandardization, atomicOperation } from '@itmat-broker/itmat-types'; import { permissionCore } from '../core/permissionCore'; import { studyCore } from '../core/studyCore'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../errors'; import { db } from '../../database/database'; import { v4 as uuid } from 'uuid'; -import { IGenericResponse, makeGenericReponse } from '../responses'; +import { makeGenericReponse } from '../responses'; +import { DMPResolversMap } from './context'; -export const standardizationResolvers = { +export const standardizationResolvers: DMPResolversMap = { Query: { - getStandardization: async (__unused__parent: Record, { studyId, projectId, type, versionId }: { studyId: string, projectId: string, type?: string, versionId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + getStandardization: async (parent, { studyId, projectId, type, versionId }: { studyId: string, projectId: string, type?: string, versionId: string }, context) => { + const requester = context.req.user; let modifiedStudyId = studyId; /* check study exists */ if (!studyId && !projectId) { @@ -44,7 +45,7 @@ export const standardizationResolvers = { if (hasStudyLevelPermission && hasStudyLevelPermission.hasVersioned && versionId === null) { availableDataVersions.push(null); } - const standardizations = await db.collections!.standardizations_collection.aggregate([{ + const standardizations = await db.collections.standardizations_collection.aggregate([{ $sort: { uploadedAt: -1 } }, { $match: { dataVersion: { $in: availableDataVersions } } @@ -68,8 +69,8 @@ export const standardizationResolvers = { } }, Mutation: { - createStandardization: async (__unused__parent: Record, { studyId, standardization }: { studyId: string, standardization: any }, context: any): Promise => { - const requester: IUser = context.req.user; + createStandardization: async (parent, { studyId, standardization }: { studyId: string, standardization }, context) => { + const requester = context.req.user; /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.WRITE, @@ -81,11 +82,11 @@ export const standardizationResolvers = { } /* check study exists */ - const studySearchResult = await db.collections!.studies_collection.findOne({ id: studyId, deleted: null }); + const studySearchResult = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); if (studySearchResult === null || studySearchResult === undefined) { throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } - const stdRulesWithId: any[] = [...standardization.stdRules]; + const stdRulesWithId = [...standardization.stdRules]; stdRulesWithId.forEach(el => { el.id = uuid(); }); @@ -106,15 +107,15 @@ export const standardizationResolvers = { deleted: null }; - await db.collections!.standardizations_collection.findOneAndUpdate({ studyId: studyId, type: standardization.type, field: standardization.field, dataVersion: null }, { + await db.collections.standardizations_collection.findOneAndUpdate({ studyId: studyId, type: standardization.type, field: standardization.field, dataVersion: null }, { $set: { ...standardizationEntry } }, { upsert: true }); return standardizationEntry; }, - deleteStandardization: async (__unused__parent: Record, { studyId, type, field }: { studyId: string, type: string, field: string[] }, context: any): Promise => { - const requester: IUser = context.req.user; + deleteStandardization: async (parent, { studyId, type, field }: { studyId: string, type: string, field: string[] }, context) => { + const requester = context.req.user; /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.WRITE, @@ -128,17 +129,17 @@ export const standardizationResolvers = { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } /* check study exists */ - const studySearchResult = await db.collections!.studies_collection.findOne({ id: studyId, deleted: null }); + const studySearchResult = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); if (studySearchResult === null || studySearchResult === undefined) { throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } // check type exists - const types: string[] = await db.collections!.standardizations_collection.distinct('type', { studyId: studyId, deleted: null }); + const types: string[] = await db.collections.standardizations_collection.distinct('type', { studyId: studyId, deleted: null }); if (!types.includes(type)) { throw new GraphQLError('Type does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } - const result = await db.collections!.standardizations_collection.findOneAndUpdate({ studyId: studyId, field: field, type: type, dataVersion: null }, { + const result = await db.collections.standardizations_collection.findOneAndUpdate({ studyId: studyId, field: field, type: type, dataVersion: null }, { $set: { id: uuid(), studyId: studyId, diff --git a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts index 6ce7c8f97..ac25a7aad 100644 --- a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts @@ -2,15 +2,10 @@ import { GraphQLError } from 'graphql'; import { IProject, IStudy, - IStudyDataVersion, IFieldEntry, - IUser, - IFile, - IJobEntry, studyType, IDataClip, ISubjectDataRecordSummary, - IRole, IOntologyTree, userTypes, atomicOperation, @@ -27,11 +22,12 @@ import { errorCodes } from '../errors'; import { IGenericResponse, makeGenericReponse } from '../responses'; import { buildPipeline, translateMetadata } from '../../utils/query'; import { dataStandardization } from '../../utils/query'; +import { DMPResolversMap } from './context'; -export const studyResolvers = { +export const studyResolvers: DMPResolversMap = { Query: { - getStudy: async (__unused__parent: Record, args: Record, context: any): Promise => { - const requester: IUser = context.req.user; + getStudy: async (parent, args: Record, context) => { + const requester = context.req.user; const studyId: string = args.studyId; /* user can get study if he has readonly permission */ @@ -43,18 +39,18 @@ export const studyResolvers = { ); if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const study = await db.collections!.studies_collection.findOne({ id: studyId, deleted: null })!; + const study = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); if (study === null || study === undefined) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } return study; }, - getProject: async (__unused__parent: Record, args: any, context: any): Promise | null> => { - const requester: IUser = context.req.user; + getProject: async (parent, args, context) => { + const requester = context.req.user; const projectId: string = args.projectId; /* get project */ // defer patientMapping since it's costly and not available to all users - const project = await db.collections!.projects_collection.findOne({ id: projectId, deleted: null }, { projection: { patientMapping: 0 } })!; + const project = await db.collections.projects_collection.findOne({ id: projectId, deleted: null }, { projection: { patientMapping: 0 } }); if (!project) throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -77,8 +73,8 @@ export const studyResolvers = { return project; }, - getStudyFields: async (__unused__parent: Record, { studyId, projectId, versionId }: { studyId: string, projectId?: string, versionId?: string | null }, context: any): Promise => { - const requester: IUser = context.req.user; + getStudyFields: async (parent, { studyId, projectId, versionId }: { studyId: string, projectId?: string, versionId?: string | null }, context) => { + const requester = context.req.user; /* user can get study if he has readonly permission */ const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, @@ -93,7 +89,7 @@ export const studyResolvers = { ); if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const aggregatedPermissions: any = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); + const aggregatedPermissions = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); // the processes of requiring versioned data and unversioned data are different // check the metadata:role:**** for versioned data directly @@ -103,7 +99,7 @@ export const studyResolvers = { if (versionId === null) { availableDataVersions.push(null); } - const fieldRecords: any[] = await db.collections!.field_dictionary_collection.aggregate([{ + const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -124,7 +120,7 @@ export const studyResolvers = { // unversioned data could not be returned by metadata filters if (versionId === null && aggregatedPermissions.hasVersioned) { availableDataVersions.push(null); - const fieldRecords: any[] = await db.collections!.field_dictionary_collection.aggregate([{ + const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -147,12 +143,12 @@ export const studyResolvers = { return fieldRecords.filter(el => el.dateDeleted === null); } else { // metadata filter - const subqueries: any = []; - aggregatedPermissions.matchObj.forEach((subMetadata: any) => { + const subqueries = []; + aggregatedPermissions.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - const fieldRecords: any[] = await db.collections!.field_dictionary_collection.aggregate([{ + const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -173,14 +169,14 @@ export const studyResolvers = { return fieldRecords.filter(el => el.dateDeleted === null); } }, - getOntologyTree: async (__unused__parent: Record, { studyId, projectId, treeName, versionId }: { studyId: string, projectId?: string, treeName?: string, versionId?: string }, context: any): Promise => { + getOntologyTree: async (parent, { studyId, projectId, treeName, versionId }: { studyId: string, projectId?: string, treeName?: string, versionId?: string }, context) => { /* get studyId by parameter or project */ const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); if (projectId) { await studyCore.findOneProject_throwErrorIfNotExist(projectId); } - const requester: IUser = context.req.user; + const requester = context.req.user; // we dont filters fields of an ontology tree by fieldIds const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( @@ -239,8 +235,8 @@ export const studyResolvers = { } } }, - checkDataComplete: async (__unused__parent: Record, { studyId }: { studyId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + checkDataComplete: async (parent, { studyId }: { studyId: string }, context) => { + const requester = context.req.user; /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, @@ -251,14 +247,14 @@ export const studyResolvers = { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } // we only check data that hasnt been pushed to a new data version - const data: IDataEntry[] = await db.collections!.data_collection.find({ + const data: IDataEntry[] = await db.collections.data_collection.find({ m_studyId: studyId, m_versionId: null, m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } }).toArray(); - const fieldMapping = (await db.collections!.field_dictionary_collection.aggregate([{ + const fieldMapping = (await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId } }, { $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } @@ -317,7 +313,7 @@ export const studyResolvers = { break; } case 'file': { - const file = await db.collections!.files_collection.findOne({ id: record.value }); + const file = await db.collections.files_collection.findOne({ id: record.value }); if (!file) { error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; break; @@ -325,7 +321,7 @@ export const studyResolvers = { break; } case 'cat': { - if (!fieldMapping[record.m_fieldId].possibleValues.map((el: any) => el.code).includes(record.value.toString())) { + if (!fieldMapping[record.m_fieldId].possibleValues.map((el) => el.code).includes(record.value.toString())) { error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; break; } @@ -347,8 +343,8 @@ export const studyResolvers = { return summary; }, - getDataRecords: async (__unused__parent: Record, { studyId, queryString, versionId, projectId }: { queryString: any, studyId: string, versionId: string | null | undefined, projectId?: string }, context: any): Promise => { - const requester: IUser = context.req.user; + getDataRecords: async (parent, { studyId, queryString, versionId, projectId }: { queryString, studyId: string, versionId: string | null | undefined, projectId?: string }, context) => { + const requester = context.req.user; /* user can get study if he has readonly permission */ const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, @@ -364,12 +360,12 @@ export const studyResolvers = { if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const aggregatedPermissions: any = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); + const aggregatedPermissions = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); let availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - let fieldRecords: any[] = []; - let result: any; - let metadataFilter: any = undefined; + let fieldRecords = []; + let result; + let metadataFilter = undefined; // we obtain the data by different requests // admin used will not filtered by metadata filters if (requester.type === userTypes.ADMIN) { @@ -383,7 +379,7 @@ export const studyResolvers = { } } - fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -403,17 +399,17 @@ export const studyResolvers = { fieldRecords = fieldRecords.filter(el => queryString.data_requested.includes(el.fieldId)); } const pipeline = buildPipeline(queryString, studyId, availableDataVersions, fieldRecords, undefined, true, versionId === null); - result = await db.collections!.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); + result = await db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); } else { - const subqueries: any = []; - aggregatedPermissions.matchObj.forEach((subMetadata: any) => { + const subqueries = []; + aggregatedPermissions.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); metadataFilter = { $or: subqueries }; // unversioned data: metadatafilter for versioned data and all unversioned tags if (versionId === null && aggregatedPermissions.hasVersioned) { availableDataVersions.push(null); - fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -443,7 +439,7 @@ export const studyResolvers = { if (versionId === '-1') { availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; } - fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -470,7 +466,7 @@ export const studyResolvers = { } } else if (versionId !== undefined) { availableDataVersions = [versionId]; - fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -499,14 +495,14 @@ export const studyResolvers = { // TODO: placeholder for metadata filter // if (queryString.metadata) { - // metadataFilter = { $and: queryString.metadata.map((el: any) => translateMetadata(el)) }; + // metadataFilter = { $and: queryString.metadata.map((el) => translateMetadata(el)) }; // } const pipeline = buildPipeline(queryString, studyId, availableDataVersions, fieldRecords, metadataFilter, false, versionId === null && aggregatedPermissions.hasVersioned); - result = await db.collections!.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); + result = await db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); } // post processing the data // 2. update to the latest data; start from first record - const groupedResult: any = {}; + const groupedResult = {}; for (let i = 0; i < result.length; i++) { const { m_subjectId, m_visitId, m_fieldId, value } = result[i]; if (!groupedResult[m_subjectId]) { @@ -520,24 +516,24 @@ export const studyResolvers = { // 2. adjust format: 1) original(exists) 2) standardized - $name 3) grouped // when standardized data, versionId should not be specified - const standardizations = versionId === null ? null : await db.collections!.standardizations_collection.find({ studyId: studyId, type: queryString['format'].split('-')[1], delete: null, dataVersion: { $in: availableDataVersions } }).toArray(); + const standardizations = versionId === null ? null : await db.collections.standardizations_collection.find({ studyId: studyId, type: queryString['format'].split('-')[1], delete: null, dataVersion: { $in: availableDataVersions } }).toArray(); const formattedData = dataStandardization(study, fieldRecords, groupedResult, queryString, standardizations); return { data: formattedData }; } }, Study: { - projects: async (study: IStudy): Promise> => { - return await db.collections!.projects_collection.find({ studyId: study.id, deleted: null }).toArray(); + projects: async (study: IStudy) => { + return await db.collections.projects_collection.find({ studyId: study.id, deleted: null }).toArray(); }, - jobs: async (study: IStudy): Promise>> => { - return await db.collections!.jobs_collection.find({ studyId: study.id }).toArray(); + jobs: async (study: IStudy) => { + return await db.collections.jobs_collection.find({ studyId: study.id }).toArray(); }, - roles: async (study: IStudy): Promise> => { - return await db.collections!.roles_collection.find({ studyId: study.id, projectId: undefined, deleted: null }).toArray(); + roles: async (study: IStudy) => { + return await db.collections.roles_collection.find({ studyId: study.id, projectId: undefined, deleted: null }).toArray(); }, - files: async (study: IStudy, __unused__args: never, context: any): Promise> => { - const requester: IUser = context.req.user; + files: async (study: IStudy, args: never, context) => { + const requester = context.req.user; const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -548,7 +544,7 @@ export const studyResolvers = { return []; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const fileFieldIds: string[] = (await db.collections!.field_dictionary_collection.aggregate([{ + const fileFieldIds: string[] = (await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } }, { $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { $sort: { dateAdded: -1 } @@ -568,18 +564,18 @@ export const studyResolvers = { let removes = []; // versioned data if (requester.type === userTypes.ADMIN) { - const fileRecords = await db.collections!.data_collection.aggregate([{ + const fileRecords = await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_fieldId: { $in: fileFieldIds } } }]).toArray(); adds = fileRecords.map(el => el.metadata?.add || []).flat(); removes = fileRecords.map(el => el.metadata?.remove || []).flat(); } else { - const subqueries: any = []; - hasPermission.matchObj.forEach((subMetadata: any) => { + const subqueries = []; + hasPermission.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - const versionedFileRecors = await db.collections!.data_collection.aggregate([{ + const versionedFileRecors = await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } }, { $match: metadataFilter @@ -597,9 +593,9 @@ export const studyResolvers = { m_versionId: null }); } - let unversionedFileRecords: any[] = []; + let unversionedFileRecords = []; if (filters.length !== 0) { - unversionedFileRecords = await db.collections!.data_collection.aggregate([{ + unversionedFileRecords = await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: null, m_fieldId: { $in: fileFieldIds } } }, { $match: { $or: filters } @@ -610,10 +606,10 @@ export const studyResolvers = { adds = adds.concat(unversionedFileRecords.map(el => el.metadata?.add || []).flat()); removes = removes.concat(unversionedFileRecords.map(el => el.metadata?.remove || []).flat()); } - return await db.collections!.files_collection.find({ studyId: study.id, deleted: null, $or: [{ id: { $in: adds, $nin: removes } }, { description: JSON.stringify({}) }] }).sort({ uploadTime: -1 }).toArray(); + return await db.collections.files_collection.find({ studyId: study.id, deleted: null, $or: [{ id: { $in: adds, $nin: removes } }, { description: JSON.stringify({}) }] }).sort({ uploadTime: -1 }).toArray(); }, - subjects: async (study: IStudy, __unused__args: never, context: any): Promise>> => { - const requester: IUser = context.req.user; + subjects: async (study: IStudy, args: never, context) => { + const requester = context.req.user; const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -623,7 +619,7 @@ export const studyResolvers = { return [[], []]; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const versionedSubjects = (await db.collections!.data_collection.distinct('m_subjectId', { + const versionedSubjects = (await db.collections.data_collection.distinct('m_subjectId', { m_studyId: study.id, m_versionId: availableDataVersions[availableDataVersions.length - 1], m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, @@ -631,7 +627,7 @@ export const studyResolvers = { m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, value: { $ne: null } })).sort() || []; - const unVersionedSubjects = hasPermission.hasVersioned ? (await db.collections!.data_collection.distinct('m_subjectId', { + const unVersionedSubjects = hasPermission.hasVersioned ? (await db.collections.data_collection.distinct('m_subjectId', { m_studyId: study.id, m_versionId: null, m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, @@ -641,8 +637,8 @@ export const studyResolvers = { })).sort() || [] : []; return [versionedSubjects, unVersionedSubjects]; }, - visits: async (study: IStudy, __unused__args: never, context: any): Promise>> => { - const requester: IUser = context.req.user; + visits: async (study: IStudy, args: never, context) => { + const requester = context.req.user; const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -652,7 +648,7 @@ export const studyResolvers = { return [[], []]; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const versionedVisits = (await db.collections!.data_collection.distinct('m_visitId', { + const versionedVisits = (await db.collections.data_collection.distinct('m_visitId', { m_studyId: study.id, m_versionId: availableDataVersions[availableDataVersions.length - 1], m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, @@ -660,7 +656,7 @@ export const studyResolvers = { m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, value: { $ne: null } })).sort((a, b) => parseFloat(a) - parseFloat(b)); - const unVersionedVisits = hasPermission.hasVersioned ? (await db.collections!.data_collection.distinct('m_visitId', { + const unVersionedVisits = hasPermission.hasVersioned ? (await db.collections.data_collection.distinct('m_visitId', { m_studyId: study.id, m_versionId: null, m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, @@ -670,8 +666,8 @@ export const studyResolvers = { })).sort((a, b) => parseFloat(a) - parseFloat(b)) : []; return [versionedVisits, unVersionedVisits]; }, - numOfRecords: async (study: IStudy, __unused__args: never, context: any): Promise => { - const requester: IUser = context.req.user; + numOfRecords: async (study: IStudy, args: never, context) => { + const requester = context.req.user; const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -681,7 +677,7 @@ export const studyResolvers = { return [0, 0]; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const numberOfVersioned: number = (await db.collections!.data_collection.aggregate([{ + const numberOfVersioned: number = (await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: availableDataVersions[availableDataVersions.length - 1], value: { $ne: null } } }, { $match: { @@ -692,7 +688,7 @@ export const studyResolvers = { }, { $count: 'count' }]).toArray())[0]?.count || 0; - const numberOfUnVersioned: number = hasPermission.hasVersioned ? (await db.collections!.data_collection.aggregate([{ + const numberOfUnVersioned: number = hasPermission.hasVersioned ? (await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: null, value: { $ne: null } } }, { $match: { @@ -705,13 +701,13 @@ export const studyResolvers = { }]).toArray())[0]?.count || 0 : 0; return [numberOfVersioned, numberOfUnVersioned]; }, - currentDataVersion: async (study: IStudy): Promise => { + currentDataVersion: async (study: IStudy) => { return study.currentDataVersion === -1 ? null : study.currentDataVersion; } }, Project: { - fields: async (project: Omit, __unused__args: never, context: any): Promise>> => { - const requester: IUser = context.req.user; + fields: async (project: Omit, args: never, context) => { + const requester = context.req.user; const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -740,9 +736,9 @@ export const studyResolvers = { return []; } const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - let fieldRecords: any[] = []; + let fieldRecords = []; if (requester.type === userTypes.ADMIN) { - fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } }, { $group: { @@ -760,12 +756,12 @@ export const studyResolvers = { }]).toArray(); } else { // metadata filter - const subqueries: any = []; - hasProjectLevelPermission.matchObj.forEach((subMetadata: any) => { + const subqueries = []; + hasProjectLevelPermission.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } }, { $match: metadataFilter }, { $group: { @@ -784,11 +780,11 @@ export const studyResolvers = { } return fieldRecords; }, - jobs: async (project: Omit): Promise>> => { - return await db.collections!.jobs_collection.find({ studyId: project.studyId, projectId: project.id }).toArray(); + jobs: async (project: Omit) => { + return await db.collections.jobs_collection.find({ studyId: project.studyId, projectId: project.id }).toArray(); }, - files: async (project: Omit, __unused__args: never, context: any): Promise> => { - const requester: IUser = context.req.user; + files: async (project: Omit, args: never, context) => { + const requester = context.req.user; const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -814,7 +810,7 @@ export const studyResolvers = { return []; } const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - const fileFieldIds: string[] = (await db.collections!.field_dictionary_collection.aggregate([{ + const fileFieldIds: string[] = (await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } }, { $match: { $and: [{ fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } }, { fieldId: { $in: ontologyTreeFieldIds } }] } }, { $group: { @@ -831,19 +827,19 @@ export const studyResolvers = { let add: string[] = []; let remove: string[] = []; if (Object.keys(hasPermission.matchObj).length === 0) { - (await db.collections!.data_collection.aggregate([{ + (await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } }]).toArray()).forEach(element => { add = add.concat(element.metadata?.add || []); remove = remove.concat(element.metadata?.remove || []); }); } else { - const subqueries: any = []; - hasPermission.matchObj.forEach((subMetadata: any) => { + const subqueries = []; + hasPermission.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - (await db.collections!.data_collection.aggregate([{ + (await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } }, { $match: metadataFilter @@ -852,10 +848,10 @@ export const studyResolvers = { remove = remove.concat(element.metadata?.remove || []); }); } - return await db.collections!.files_collection.find({ $and: [{ id: { $in: add } }, { id: { $nin: remove } }] }).toArray(); + return await db.collections.files_collection.find({ $and: [{ id: { $in: add } }, { id: { $nin: remove } }] }).toArray(); }, - dataVersion: async (project: IProject): Promise => { - const study = await db.collections!.studies_collection.findOne({ id: project.studyId, deleted: null }); + dataVersion: async (project: IProject) => { + const study = await db.collections.studies_collection.findOne({ id: project.studyId, deleted: null }); if (study === undefined || study === null) { return null; } @@ -864,13 +860,13 @@ export const studyResolvers = { } return study.dataVersions[study?.currentDataVersion]; }, - summary: async (project: IProject, __unused__args: never, context: any): Promise => { - const summary: any = {}; - const study = await db.collections!.studies_collection.findOne({ id: project.studyId }); + summary: async (project: IProject, args: never, context) => { + const summary = {}; + const study = await db.collections.studies_collection.findOne({ id: project.studyId }); if (study === undefined || study === null || study.currentDataVersion === -1) { return summary; } - const requester: IUser = context.req.user; + const requester = context.req.user; /* user can get study if he has readonly permission */ const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, @@ -885,9 +881,9 @@ export const studyResolvers = { ); if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } // get all dataVersions that are valid (before the current version) - const aggregatedPermissions: any = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); + const aggregatedPermissions = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); - let metadataFilter: any = undefined; + let metadataFilter = undefined; const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); // ontology trees @@ -905,7 +901,7 @@ export const studyResolvers = { let fieldRecords; if (requester.type === userTypes.ADMIN) { - fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $group: { @@ -918,12 +914,12 @@ export const studyResolvers = { } }]).toArray(); } else { - const subqueries: any = []; - aggregatedPermissions.matchObj.forEach((subMetadata: any) => { + const subqueries = []; + aggregatedPermissions.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); metadataFilter = { $or: subqueries }; - fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $match: metadataFilter }, { $group: { @@ -938,14 +934,14 @@ export const studyResolvers = { } // fieldRecords = fieldRecords.filter(el => ontologyTreeFieldIds.includes(el.fieldId)); const pipeline = buildPipeline({}, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IFieldEntry[], metadataFilter, requester.type === userTypes.ADMIN, false); - const result = await db.collections!.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); - summary['subjects'] = Array.from(new Set(result.map((el: any) => el.m_subjectId))).sort(); - summary['visits'] = Array.from(new Set(result.map((el: any) => el.m_visitId))).sort((a, b) => parseFloat(a) - parseFloat(b)).sort(); - summary['standardizationTypes'] = (await db.collections!.standardizations_collection.distinct('type', { studyId: study.id, deleted: null })).sort(); + const result = await db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); + summary['subjects'] = Array.from(new Set(result.map((el) => el.m_subjectId))).sort(); + summary['visits'] = Array.from(new Set(result.map((el) => el.m_visitId))).sort((a, b) => parseFloat(a) - parseFloat(b)).sort(); + summary['standardizationTypes'] = (await db.collections.standardizations_collection.distinct('type', { studyId: study.id, deleted: null })).sort(); return summary; }, - patientMapping: async (project: Omit, __unused__args: never, context: any): Promise => { - const requester: IUser = context.req.user; + patientMapping: async (project: Omit, args: never, context) => { + const requester = context.req.user; /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, // patientMapping is not visible to project users; only to study users. @@ -957,7 +953,7 @@ export const studyResolvers = { /* returning */ const result = - await db.collections!.projects_collection.findOne( + await db.collections.projects_collection.findOne( { id: project.id, deleted: null }, { projection: { patientMapping: 1 } } ); @@ -967,11 +963,11 @@ export const studyResolvers = { return null; } }, - roles: async (project: IProject): Promise> => { - return await db.collections!.roles_collection.find({ studyId: project.studyId, projectId: project.id, deleted: null }).toArray(); + roles: async (project: IProject) => { + return await db.collections.roles_collection.find({ studyId: project.studyId, projectId: project.id, deleted: null }).toArray(); }, - iCanEdit: async (project: IProject): Promise => { // TO_DO - await db.collections!.roles_collection.findOne({ + iCanEdit: async (project: IProject) => { // TO_DO + await db.collections.roles_collection.findOne({ studyId: project.studyId, projectId: project.id // permissions: permissions.specific_project.specifi @@ -980,8 +976,8 @@ export const studyResolvers = { } }, Mutation: { - createStudy: async (__unused__parent: Record, { name, description, type }: { name: string, description: string, type: studyType }, context: any): Promise => { - const requester: IUser = context.req.user; + createStudy: async (parent, { name, description, type }: { name: string, description: string, type: studyType }, context) => { + const requester = context.req.user; /* check privileges */ if (requester.type !== userTypes.ADMIN) { @@ -992,8 +988,8 @@ export const studyResolvers = { const study = await studyCore.createNewStudy(name, description, type, requester.id); return study; }, - editStudy: async (__unused__parent: Record, { studyId, description }: { studyId: string, description: string }, context: any): Promise => { - const requester: IUser = context.req.user; + editStudy: async (parent, { studyId, description }: { studyId: string, description: string }, context) => { + const requester = context.req.user; /* check privileges */ if (requester.type !== userTypes.ADMIN) { @@ -1004,8 +1000,8 @@ export const studyResolvers = { const study = await studyCore.editStudy(studyId, description); return study; }, - createNewField: async (__unused__parent: Record, { studyId, fieldInput }: { studyId: string, fieldInput: any[] }, context: any): Promise => { - const requester: IUser = context.req.user; + createNewField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput }, context) => { + const requester = context.req.user; /* check privileges */ /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( @@ -1022,7 +1018,7 @@ export const studyResolvers = { const response: IGenericResponse[] = []; let isError = false; - const bulk = db.collections!.field_dictionary_collection.initializeUnorderedBulkOp(); + const bulk = db.collections.field_dictionary_collection.initializeUnorderedBulkOp(); // remove duplicates by fieldId const keysToCheck = ['fieldId']; const filteredFieldInput = fieldInput.filter( @@ -1066,15 +1062,15 @@ export const studyResolvers = { } return response; }, - editField: async (__unused__parent: Record, { studyId, fieldInput }: { studyId: string, fieldInput: any }, context: any): Promise => { - const requester: IUser = context.req.user; + editField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput }, context) => { + const requester = context.req.user; /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } // check fieldId exist - const searchField = await db.collections!.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); + const searchField = await db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); if (!searchField) { throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -1086,13 +1082,13 @@ export const studyResolvers = { throw new GraphQLError(JSON.stringify(error), { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); } const newFieldEntry = { ...fieldEntry, id: searchField.id, dateAdded: searchField.dateAdded, deleted: searchField.dateDeleted, studyId: searchField.studyId }; - await db.collections!.field_dictionary_collection.findOneAndUpdate({ studyId: studyId, fieldId: newFieldEntry.fieldId }, { $set: newFieldEntry }); + await db.collections.field_dictionary_collection.findOneAndUpdate({ studyId: studyId, fieldId: newFieldEntry.fieldId }, { $set: newFieldEntry }); return newFieldEntry; }, - deleteField: async (__unused__parent: Record, { studyId, fieldId }: { studyId: string, fieldId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + deleteField: async (parent, { studyId, fieldId }: { studyId: string, fieldId: string }, context) => { + const requester = context.req.user; /* check privileges */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.WRITE, @@ -1108,12 +1104,12 @@ export const studyResolvers = { } // check fieldId exist - const searchField = await db.collections!.field_dictionary_collection.find({ studyId: studyId, fieldId: fieldId, dateDeleted: null }).limit(1).sort({ dateAdded: -1 }).toArray(); + const searchField = await db.collections.field_dictionary_collection.find({ studyId: studyId, fieldId: fieldId, dateDeleted: null }).limit(1).sort({ dateAdded: -1 }).toArray(); if (searchField.length === 0 || searchField[0].dateDeleted !== null) { throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } - const fieldEntry: any = { + const fieldEntry = { id: uuid(), studyId: studyId, fieldId: searchField[0].fieldId, @@ -1127,15 +1123,15 @@ export const studyResolvers = { dateAdded: (new Date()).valueOf(), dateDeleted: (new Date()).valueOf() }; - await db.collections!.field_dictionary_collection.insertOne(fieldEntry); + await db.collections.field_dictionary_collection.insertOne(fieldEntry); return searchField[0]; }, - uploadDataInArray: async (__unused__parent: Record, { studyId, data }: { studyId: string, data: IDataClip[] }, context: any): Promise => { + uploadDataInArray: async (parent, { studyId, data }: { studyId: string, data: IDataClip[] }, context) => { // check study exists const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const requester: IUser = context.req.user; + const requester = context.req.user; /* check privileges */ /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( @@ -1150,7 +1146,7 @@ export const studyResolvers = { // find the fieldsList, including those that have not been versioned, same method as getStudyFields // get all dataVersions that are valid (before/equal the current version) const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const fieldRecords = await db.collections!.field_dictionary_collection.aggregate([{ + const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $sort: { dateAdded: -1 } }, { $match: { $or: [{ dataVersion: null }, { dataVersion: { $in: availableDataVersions } }] } @@ -1169,11 +1165,11 @@ export const studyResolvers = { return response; }, - deleteDataRecords: async (__unused__parent: Record, { studyId, subjectIds, visitIds, fieldIds }: { studyId: string, subjectIds: string[], visitIds: string[], fieldIds: string[] }, context: any): Promise => { + deleteDataRecords: async (parent, { studyId, subjectIds, visitIds, fieldIds }: { studyId: string, subjectIds: string[], visitIds: string[], fieldIds: string[] }, context) => { // check study exists await studyCore.findOneStudy_throwErrorIfNotExist(studyId); const response: IGenericResponse[] = []; - const requester: IUser = context.req.user; + const requester = context.req.user; /* check privileges */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.WRITE, @@ -1186,25 +1182,25 @@ export const studyResolvers = { let validSubjects: string[]; let validVisits: string[]; - let validFields: any; + let validFields; // filter if (subjectIds === undefined || subjectIds === null || subjectIds.length === 0) { - validSubjects = (await db.collections!.data_collection.distinct('m_subjectId', { m_studyId: studyId })); + validSubjects = (await db.collections.data_collection.distinct('m_subjectId', { m_studyId: studyId })); } else { validSubjects = subjectIds; } if (visitIds === undefined || visitIds === null || visitIds.length === 0) { - validVisits = (await db.collections!.data_collection.distinct('m_visitId', { m_studyId: studyId })); + validVisits = (await db.collections.data_collection.distinct('m_visitId', { m_studyId: studyId })); } else { validVisits = visitIds; } if (fieldIds === undefined || fieldIds === null || fieldIds.length === 0) { - validFields = (await db.collections!.field_dictionary_collection.distinct('fieldId', { studyId: studyId })); + validFields = (await db.collections.field_dictionary_collection.distinct('fieldId', { studyId: studyId })); } else { validFields = fieldIds; } - const bulk = db.collections!.data_collection.initializeUnorderedBulkOp(); + const bulk = db.collections.data_collection.initializeUnorderedBulkOp(); for (const subjectId of validSubjects) { for (const visitId of validVisits) { for (const fieldId of validFields) { @@ -1232,11 +1228,11 @@ export const studyResolvers = { } return response; }, - createNewDataVersion: async (__unused__parent: Record, { studyId, dataVersion, tag }: { studyId: string, dataVersion: string, tag: string }, context: any): Promise => { + createNewDataVersion: async (parent, { studyId, dataVersion, tag }: { studyId: string, dataVersion: string, tag: string }, context) => { // check study exists await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const requester: IUser = context.req.user; + const requester = context.req.user; /* check privileges */ if (requester.type !== userTypes.ADMIN) { @@ -1254,11 +1250,11 @@ export const studyResolvers = { } return created; }, - createOntologyTree: async (__unused__parent: Record, { studyId, ontologyTree }: { studyId: string, ontologyTree: Pick }, context: any): Promise => { + createOntologyTree: async (parent, { studyId, ontologyTree }: { studyId: string, ontologyTree: Pick }, context) => { /* check study exists */ const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const requester: IUser = context.req.user; + const requester = context.req.user; /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( @@ -1271,7 +1267,7 @@ export const studyResolvers = { // in case of old documents whose ontologyTrees are invalid if (study.ontologyTrees === undefined || study.ontologyTrees === null) { - await db.collections!.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { + await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { $set: { ontologyTrees: [] } @@ -1284,7 +1280,7 @@ export const studyResolvers = { el.id = uuid(); el.visitRange = el.visitRange || []; }); - await db.collections!.studies_collection.findOneAndUpdate({ + await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null, ontologyTrees: { $not: { $elemMatch: { @@ -1298,7 +1294,7 @@ export const studyResolvers = { ontologyTrees: ontologyTreeWithId } }); - await db.collections!.studies_collection.findOneAndUpdate({ id: studyId, deleted: null, ontologyTrees: { $elemMatch: { name: ontologyTreeWithId.name, dataVersion: null } } }, { + await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null, ontologyTrees: { $elemMatch: { name: ontologyTreeWithId.name, dataVersion: null } } }, { $set: { 'ontologyTrees.$.routes': ontologyTreeWithId.routes, 'ontologyTrees.$.dataVersion': null, @@ -1307,11 +1303,11 @@ export const studyResolvers = { }); return ontologyTreeWithId as IOntologyTree; }, - deleteOntologyTree: async (__unused__parent: Record, { studyId, treeName }: { studyId: string, treeName: string }, context: any): Promise => { + deleteOntologyTree: async (parent, { studyId, treeName }: { studyId: string, treeName: string }, context) => { /* check study exists */ await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const requester: IUser = context.req.user; + const requester = context.req.user; /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( @@ -1322,7 +1318,7 @@ export const studyResolvers = { ); if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const resultAdd = await db.collections!.studies_collection.findOneAndUpdate({ + const resultAdd = await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null, ontologyTrees: { $not: { $elemMatch: { @@ -1341,7 +1337,7 @@ export const studyResolvers = { } } }); - const resultUpdate = await db.collections!.studies_collection.findOneAndUpdate({ + const resultUpdate = await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null, ontologyTrees: { $elemMatch: { name: treeName, dataVersion: null } } }, { $set: { @@ -1356,8 +1352,8 @@ export const studyResolvers = { } }, - createProject: async (__unused__parent: Record, { studyId, projectName }: { studyId: string, projectName: string }, context: any): Promise => { - const requester: IUser = context.req.user; + createProject: async (parent, { studyId, projectName }: { studyId: string, projectName: string }, context) => { + const requester = context.req.user; /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryManagementPermission( @@ -1376,8 +1372,8 @@ export const studyResolvers = { const project = await studyCore.createProjectForStudy(studyId, projectName, requester.id); return project; }, - deleteProject: async (__unused__parent: Record, { projectId }: { projectId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + deleteProject: async (parent, { projectId }: { projectId: string }, context) => { + const requester = context.req.user; const project = await studyCore.findOneProject_throwErrorIfNotExist(projectId); @@ -1395,15 +1391,15 @@ export const studyResolvers = { await studyCore.deleteProject(projectId); return makeGenericReponse(projectId); }, - deleteStudy: async (__unused__parent: Record, { studyId }: { studyId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + deleteStudy: async (parent, { studyId }: { studyId: string }, context) => { + const requester = context.req.user; /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const study = await db.collections!.studies_collection.findOne({ id: studyId, deleted: null }); + const study = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); if (study) { /* delete study */ @@ -1414,8 +1410,8 @@ export const studyResolvers = { return makeGenericReponse(studyId); }, - setDataversionAsCurrent: async (__unused__parent: Record, { studyId, dataVersionId }: { studyId: string, dataVersionId: string }, context: any): Promise => { - const requester: IUser = context.req.user; + setDataversionAsCurrent: async (parent, { studyId, dataVersionId }: { studyId: string, dataVersionId: string }, context) => { + const requester = context.req.user; /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryManagementPermission( @@ -1442,13 +1438,13 @@ export const studyResolvers = { // }; /* add this to the database */ - // const result = await db.collections!.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { + // const result = await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { // $push: { dataVersions: newDataVersion }, $inc: { currentDataVersion: 1 } // }, { returnDocument: 'after' }); /* update the currentversion field in database */ const versionIdsList = study.dataVersions.map((el) => el.id); - const result = await db.collections!.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { + const result = await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { $set: { currentDataVersion: versionIdsList.indexOf(dataVersionId) } }, { returnDocument: 'after' diff --git a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts index 4b8d5bffd..27bb85c46 100644 --- a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts @@ -1,32 +1,34 @@ import { ApolloServerErrorCode } from '@apollo/server/errors'; +import { } from '@apollo/server'; import { GraphQLError } from 'graphql'; import bcrypt from 'bcrypt'; import crypto from 'crypto'; import { mailer } from '../../emailer/emailer'; -import { IProject, IStudy, IUser, IUserWithoutToken, IResetPasswordRequest, userTypes, IOrganisation } from '@itmat-broker/itmat-types'; +import { IProject, IStudy, IUser, IUserWithoutToken, IResetPasswordRequest, userTypes } from '@itmat-broker/itmat-types'; import { Logger } from '@itmat-broker/itmat-commons'; import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; import config from '../../utils/configManager'; import { userCore } from '../core/userCore'; import { errorCodes } from '../errors'; -import { makeGenericReponse, IGenericResponse } from '../responses'; +import { makeGenericReponse } from '../responses'; import * as mfa from '../../utils/mfa'; import QRCode from 'qrcode'; import tmp from 'tmp'; +import { DMPResolversMap } from './context'; -export const userResolvers = { +export const userResolvers: DMPResolversMap = { Query: { - whoAmI(parent: Record, __unused__args: any, context: any): Record { + whoAm: (parent, args, context) => { return context.req.user; }, - getUsers: async (__unused__parent: Record, args: any): Promise => { + getUsers: async (parent, args) => { // everyone is allowed to see all the users in the app. But only admin can access certain fields, like emails, etc - see resolvers for User type. const queryObj = args.userId === undefined ? { deleted: null } : { deleted: null, id: args.userId }; - const cursor = db.collections!.users_collection.find(queryObj, { projection: { _id: 0 } }); + const cursor = db.collections.users_collection.find(queryObj, { projection: { _id: 0 } }); return cursor.toArray(); }, - validateResetPassword: async (__unused__parent: Record, args: any): Promise => { + validateResetPassword: async (parent, args) => { /* decrypt email */ const salt = makeAESKeySalt(args.token); const iv = makeAESIv(args.token); @@ -41,7 +43,7 @@ export const userResolvers = { /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ const TIME_NOW = new Date().valueOf(); const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; - const user: IUserWithoutToken | null = await db.collections!.users_collection.findOne({ + const user: IUserWithoutToken | null = await db.collections.users_collection.findOne({ email, resetPasswordRequests: { $elemMatch: { @@ -57,13 +59,13 @@ export const userResolvers = { } return makeGenericReponse(); }, - recoverSessionExpireTime: async (): Promise => { + recoverSessionExpireTime: async () => { return makeGenericReponse(); } }, User: { - access: async (user: IUser, __unused__arg: any, context: any): Promise<{ projects: IProject[], studies: IStudy[], id: string }> => { - const requester: IUser = context.req.user; + access: async (user: IUser, args, context) => { + const requester = context.req.user; /* only admin can access this field */ if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { @@ -72,13 +74,13 @@ export const userResolvers = { /* if requested user is admin, then he has access to all studies */ if (user.type === userTypes.ADMIN) { - const allprojects: IProject[] = await db.collections!.projects_collection.find({ deleted: null }).toArray(); - const allstudies: IStudy[] = await db.collections!.studies_collection.find({ deleted: null }).toArray(); + const allprojects: IProject[] = await db.collections.projects_collection.find({ deleted: null }).toArray(); + const allstudies: IStudy[] = await db.collections.studies_collection.find({ deleted: null }).toArray(); return { id: `user_access_obj_user_id_${user.id}`, projects: allprojects, studies: allstudies }; } /* if requested user is not admin, find all the roles a user has */ - const roles = await db.collections!.roles_collection.find({ users: user.id, deleted: null }).toArray(); + const roles = await db.collections.roles_collection.find({ users: user.id, deleted: null }).toArray(); const init: { projects: string[], studies: string[] } = { projects: [], studies: [] }; const studiesAndProjectThatUserCanSee: { projects: string[], studies: string[] } = roles.reduce( (a, e) => { @@ -91,17 +93,17 @@ export const userResolvers = { }, init ); - const projects = await db.collections!.projects_collection.find({ + const projects = await db.collections.projects_collection.find({ $or: [ { id: { $in: studiesAndProjectThatUserCanSee.projects }, deleted: null }, { studyId: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null } ] }).toArray(); - const studies = await db.collections!.studies_collection.find({ id: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null }).toArray(); + const studies = await db.collections.studies_collection.find({ id: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null }).toArray(); return { id: `user_access_obj_user_id_${user.id}`, projects, studies }; }, - username: async (user: IUser, __unused__arg: any, context: any): Promise => { - const requester: IUser = context.req.user; + username: async (user: IUser, args, context) => { + const requester = context.req.user; /* only admin can access this field */ if (context.req.user.type !== userTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -109,8 +111,8 @@ export const userResolvers = { return user.username; }, - description: async (user: IUser, __unused__arg: any, context: any): Promise => { - const requester: IUser = context.req.user; + description: async (user: IUser, args, context) => { + const requester = context.req.user; /* only admin can access this field */ if (context.req.user.type !== userTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -118,8 +120,8 @@ export const userResolvers = { return user.description; }, - email: async (user: IUser, __unused__arg: any, context: any): Promise => { - const requester: IUser = context.req.user; + email: async (user: IUser, args, context) => { + const requester = context.req.user; /* only admin can access this field */ if (context.req.user.type !== userTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -129,10 +131,10 @@ export const userResolvers = { } }, Mutation: { - requestExpiryDate: async (__unused__parent: Record, { username, email }: { username?: string, email?: string }): Promise => { + requestExpiryDate: async (parent, { username, email }: { username?: string, email?: string }) => { /* double-check user existence */ const queryObj = email ? { deleted: null, email } : { deleted: null, username }; - const user: IUser | null = await db.collections!.users_collection.findOne(queryObj); + const user: IUser | null = await db.collections.users_collection.findOne(queryObj); if (!user) { /* even user is null. send successful response: they should know that a user doesn't exist */ await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); @@ -152,7 +154,7 @@ export const userResolvers = { return makeGenericReponse(); }, - requestUsernameOrResetPassword: async (__unused__parent: Record, { forgotUsername, forgotPassword, email, username }: { forgotUsername: boolean, forgotPassword: boolean, email?: string, username?: string }, context: any): Promise => { + requestUsernameOrResetPassword: async (parent, { forgotUsername, forgotPassword, email, username }: { forgotUsername: boolean, forgotPassword: boolean, email?: string, username?: string }, context) => { /* checking the args are right */ if ((forgotUsername && !email) // should provide email if no username || (forgotUsername && username) // should not provide username if it's forgotten.. @@ -166,7 +168,7 @@ export const userResolvers = { /* check user existence */ const queryObj = email ? { deleted: null, email } : { deleted: null, username }; - const user = await db.collections!.users_collection.findOne(queryObj); + const user = await db.collections.users_collection.findOne(queryObj); if (!user) { /* even user is null. send successful response: they should know that a user doesn't exist */ await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); @@ -181,7 +183,7 @@ export const userResolvers = { timeOfRequest: new Date().valueOf(), used: false }; - const invalidateAllTokens = await db.collections!.users_collection.findOneAndUpdate( + const invalidateAllTokens = await db.collections.users_collection.findOneAndUpdate( queryObj, { $set: { @@ -192,7 +194,7 @@ export const userResolvers = { if (invalidateAllTokens === null) { throw new GraphQLError(errorCodes.DATABASE_ERROR); } - const updateResult = await db.collections!.users_collection.findOneAndUpdate( + const updateResult = await db.collections.users_collection.findOneAndUpdate( queryObj, { $push: { @@ -221,9 +223,9 @@ export const userResolvers = { } return makeGenericReponse(); }, - login: async (parent: Record, args: any, context: any): Promise> => { + login: async (parent: Record, args: unknown, context) => { const { req }: { req: Express.Request } = context; - const result = await db.collections!.users_collection.findOne({ deleted: null, username: args.username }); + const result = await db.collections.users_collection.findOne({ deleted: null, username: args.username }); if (!result) { throw new GraphQLError('User does not exist.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } @@ -266,7 +268,7 @@ export const userResolvers = { delete filteredResult.deleted; return new Promise((resolve) => { - req.login(filteredResult, (err: any) => { + req.login(filteredResult, (err: unknown) => { if (err) { Logger.error(err); throw new GraphQLError('Cannot log in. Please try again later.'); @@ -275,8 +277,8 @@ export const userResolvers = { }); }); }, - logout: async (parent: Record, __unused__args: any, context: any): Promise => { - const requester: IUser = context.req.user; + logout: async (parent: Record, args: unknown, context) => { + const requester = context.req.user; const req: Express.Request = context.req; if (requester === undefined || requester === null) { return makeGenericReponse(context.req.user); @@ -292,9 +294,9 @@ export const userResolvers = { }); }); }, - createUser: async (__unused__parent: Record, args: any): Promise => { + createUser: async (parent, args: unknown) => { const { username, firstname, lastname, email, emailNotificationsActivated, password, description, organisation, metadata }: { - username: string, firstname: string, lastname: string, email: string, emailNotificationsActivated?: boolean, password: string, description?: string, organisation: string, metadata: any + username: string, firstname: string, lastname: string, email: string, emailNotificationsActivated?: boolean, password: string, description?: string, organisation: string, metadata: unknown } = args.user; /* check email is valid form */ @@ -312,13 +314,13 @@ export const userResolvers = { throw new GraphQLError('Username or password cannot have spaces.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const alreadyExist = await db.collections!.users_collection.findOne({ username, deleted: null }); // since bycrypt is CPU expensive let's check the username is not taken first + const alreadyExist = await db.collections.users_collection.findOne({ username, deleted: null }); // since bycrypt is CPU expensive let's check the username is not taken first if (alreadyExist !== null && alreadyExist !== undefined) { throw new GraphQLError('User already exists.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } /* check if email has been used to register */ - const emailExist = await db.collections!.users_collection.findOne({ email, deleted: null }); + const emailExist = await db.collections.users_collection.findOne({ email, deleted: null }); if (emailExist !== null && emailExist !== undefined) { throw new GraphQLError('This email has been registered. Please sign-in or register with another email!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } @@ -378,9 +380,9 @@ export const userResolvers = { tmpobj.removeCallback(); return makeGenericReponse(); }, - deleteUser: async (__unused__parent: Record, args: any, context: any): Promise => { + deleteUser: async (parent, args: unknown, context) => { /* only admin can delete users */ - const requester: IUser = context.req.user; + const requester = context.req.user; // user (admin type) cannot delete itself if (requester.id === args.userId) { @@ -394,7 +396,7 @@ export const userResolvers = { await userCore.deleteUser(args.userId); return makeGenericReponse(args.userId); }, - resetPassword: async (__unused__parent: Record, { encryptedEmail, token, newPassword }: { encryptedEmail: string, token: string, newPassword: string }): Promise => { + resetPassword: async (parent, { encryptedEmail, token, newPassword }: { encryptedEmail: string, token: string, newPassword: string }) => { /* check password validity */ if (!passwordIsGoodEnough(newPassword)) { throw new GraphQLError('Password has to be at least 8 character long.'); @@ -422,7 +424,7 @@ export const userResolvers = { /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ const TIME_NOW = new Date().valueOf(); const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; - const user: IUserWithoutToken | null = await db.collections!.users_collection.findOne({ + const user: IUserWithoutToken | null = await db.collections.users_collection.findOne({ email, resetPasswordRequests: { $elemMatch: { @@ -442,7 +444,7 @@ export const userResolvers = { /* all ok; change the user's password */ const hashedPw = await bcrypt.hash(newPassword, config.bcrypt.saltround); - const updateResult = await db.collections!.users_collection.findOneAndUpdate( + const updateResult = await db.collections.users_collection.findOneAndUpdate( { id: user.id, resetPasswordRequests: { @@ -498,10 +500,10 @@ export const userResolvers = { tmpobj.removeCallback(); return makeGenericReponse(); }, - editUser: async (__unused__parent: Record, args: any, context: any): Promise> => { - const requester: IUser = context.req.user; + editUser: async (parent, args: unknown, context) => { + const requester = context.req.user; const { id, username, type, firstname, lastname, email, emailNotificationsActivated, emailNotificationsStatus, password, description, organisation, expiredAt, metadata }: { - id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: any, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: any + id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown } = args.user; if (password !== undefined && requester.id !== id) { // only the user themself can reset password throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -514,7 +516,7 @@ export const userResolvers = { } let result; if (requester.type === userTypes.ADMIN) { - result = await db.collections!.users_collection.findOne({ id, deleted: null }); // just an extra guard before going to bcrypt cause bcrypt is CPU intensive. + result = await db.collections.users_collection.findOne({ id, deleted: null }); // just an extra guard before going to bcrypt cause bcrypt is CPU intensive. if (result === null || result === undefined) { throw new GraphQLError('User not found'); } @@ -556,7 +558,7 @@ export const userResolvers = { expiringNotification: false }; } - const updateResult = await db.collections!.users_collection.findOneAndUpdate({ id, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + const updateResult = await db.collections.users_collection.findOneAndUpdate({ id, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); if (updateResult) { // New expiry date has been updated successfully. if (expiredAt && result) { @@ -571,8 +573,8 @@ export const userResolvers = { throw new GraphQLError('Server error; no entry or more than one entry has been updated.'); } }, - createOrganisation: async (__unused__parent: Record, { name, shortname, containOrg, metadata }: { name: string, shortname: string, containOrg: string, metadata: any }, context: any): Promise => { - const requester: IUser = context.req.user; + createOrganisation: async (parent, { name, shortname, containOrg, metadata }: { name: string, shortname: string, containOrg: string, metadata: unknown }, context) => { + const requester = context.req.user; /* check privileges */ if (requester.type !== userTypes.ADMIN) { @@ -588,15 +590,15 @@ export const userResolvers = { return createdOrganisation; }, - deleteOrganisation: async (__unused__parent: Record, { id }: { id: string }, context: any): Promise => { - const requester: IUser = context.req.user; + deleteOrganisation: async (parent, { id }: { id: string }, context) => { + const requester = context.req.user; /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const res = await db.collections!.organisations_collection.findOneAndUpdate({ id: id }, { + const res = await db.collections.organisations_collection.findOneAndUpdate({ id: id }, { $set: { deleted: Date.now() } @@ -623,7 +625,7 @@ export function makeAESIv(str: string): string { return str.slice(0, 16); } -export async function encryptEmail(email: string, keySalt: string, iv: string): Promise { +export async function encryptEmail(email: string, keySalt: string, iv: string) { const algorithm = 'aes-256-cbc'; return new Promise((resolve, reject) => { crypto.scrypt(config.aesSecret, keySalt, 32, (err, derivedKey) => { @@ -637,7 +639,7 @@ export async function encryptEmail(email: string, keySalt: string, iv: string): } -export async function decryptEmail(encryptedEmail: string, keySalt: string, iv: string): Promise { +export async function decryptEmail(encryptedEmail: string, keySalt: string, iv: string) { const algorithm = 'aes-256-cbc'; return new Promise((resolve, reject) => { crypto.scrypt(config.aesSecret, keySalt, 32, (err, derivedKey) => { @@ -654,7 +656,7 @@ export async function decryptEmail(encryptedEmail: string, keySalt: string, iv: }); } -async function formatEmailForForgottenPassword({ username, firstname, to, resetPasswordToken, origin }: { resetPasswordToken: string, to: string, username: string, firstname: string, origin: any }) { +async function formatEmailForForgottenPassword({ username, firstname, to, resetPasswordToken, origin }: { resetPasswordToken: string, to: string, username: string, firstname: string, origin: unknown }) { const keySalt = makeAESKeySalt(resetPasswordToken); const iv = makeAESIv(resetPasswordToken); const encryptedEmail = await encryptEmail(to, keySalt, iv); diff --git a/packages/itmat-interface/src/index.ts b/packages/itmat-interface/src/index.ts index e37cde715..5511d44dd 100644 --- a/packages/itmat-interface/src/index.ts +++ b/packages/itmat-interface/src/index.ts @@ -29,7 +29,7 @@ function serverStart() { socket.setKeepAlive(true); socket.setNoDelay(true); socket.setTimeout(0); - (socket as any).timeout = 0; + (socket as unknown as Record).timeout = 0; interfaceSockets.push(socket); }) .on('error', (error) => { @@ -78,6 +78,7 @@ function serverSpinning() { serverSpinning(); +// eslint-disable-next-line @typescript-eslint/no-explicit-any declare const module: any; if (module.hot) { module.hot.accept('./index', serverSpinning); @@ -90,10 +91,10 @@ async function emailNotification() { const now = Date.now().valueOf(); const threshold = now + 7 * 24 * 60 * 60 * 1000; // update info if not set before - await db.collections!.users_collection.updateMany({ deleted: null, emailNotificationsStatus: null }, { + await db.collections.users_collection.updateMany({ deleted: null, emailNotificationsStatus: null }, { $set: { emailNotificationsStatus: { expiringNotification: false } } }); - const users = await db.collections!.users_collection.find({ + const users = await db.collections.users_collection.find({ 'expiredAt': { $lte: threshold, $gt: now @@ -123,9 +124,9 @@ async function emailNotification() {

` }); - await db.collections!.users_collection.findOneAndUpdate({ id: user.id }, { + await db.collections.users_collection.findOneAndUpdate({ id: user.id }, { $set: { emailNotificationsStatus: { expiringNotification: true } } }); } - setInterval(emailNotification, 24 * 60 * 60 * 1000); + setInterval(() => { emailNotification().catch(() => { return; }); }, 24 * 60 * 60 * 1000); } diff --git a/packages/itmat-interface/src/interfaceRunner.ts b/packages/itmat-interface/src/interfaceRunner.ts index 89f2461ac..96d94115a 100644 --- a/packages/itmat-interface/src/interfaceRunner.ts +++ b/packages/itmat-interface/src/interfaceRunner.ts @@ -26,7 +26,7 @@ class ITMATInterfaceRunner extends Runner { .then(async () => objStore.connect(this.config.objectStore)) .then(async () => { - const jobChangestream = db.collections!.jobs_collection.watch([ + const jobChangestream = db.collections.jobs_collection.watch([ { $match: { operationType: { $in: ['update', 'insert'] } } } ], { fullDocument: 'updateLookup' }); jobChangestream.on('change', data => { @@ -40,9 +40,9 @@ class ITMATInterfaceRunner extends Runner { jobId: data.fullDocument?.id, studyId: data.fullDocument?.studyId, newStatus: data.fullDocument?.status, - errors: data.fullDocument?.status === 'error' ? data.fullDocument.error : null + errors: data.fullDocument?.status === 'ERROR' ? data.fullDocument.error : null } - }); + }).catch(() => { return; }); } }); _this.router = new Router(this.config); diff --git a/packages/itmat-interface/src/log/logPlugin.ts b/packages/itmat-interface/src/log/logPlugin.ts index 3d66d9f9f..c95ca7e97 100644 --- a/packages/itmat-interface/src/log/logPlugin.ts +++ b/packages/itmat-interface/src/log/logPlugin.ts @@ -1,6 +1,8 @@ import { db } from '../database/database'; import { v4 as uuid } from 'uuid'; import { LOG_TYPE, LOG_ACTION, LOG_STATUS, USER_AGENT, userTypes } from '@itmat-broker/itmat-types'; +import { GraphQLRequestContextWillSendResponse } from '@apollo/server'; +import { ApolloServerContext } from '../graphql/ApolloServerContext'; // only requests in white list will be recorded export const logActionRecordWhiteList = Object.keys(LOG_ACTION); @@ -10,7 +12,7 @@ export const logActionShowWhiteList = Object.keys(LOG_ACTION); export class LogPlugin { public async serverWillStartLogPlugin(): Promise { - await db.collections!.log_collection.insertOne({ + await db.collections.log_collection.insertOne({ id: uuid(), requesterName: userTypes.SYSTEM, requesterType: userTypes.SYSTEM, @@ -25,20 +27,20 @@ export class LogPlugin { return null; } - public async requestDidStartLogPlugin(requestContext: any): Promise { + public async requestDidStartLogPlugin(requestContext: GraphQLRequestContextWillSendResponse): Promise { if (!logActionRecordWhiteList.includes(requestContext.operationName)) { return null; } - if ((LOG_ACTION as any)[requestContext.operationName] === undefined || (LOG_ACTION as any)[requestContext.operationName] === null) { + if (LOG_ACTION[requestContext.operationName] === undefined || LOG_ACTION[requestContext.operationName] === null) { return null; } - await db.collections!.log_collection.insertOne({ + await db.collections.log_collection.insertOne({ id: uuid(), requesterName: requestContext.contextValue?.req?.user?.username ?? 'NA', requesterType: requestContext.contextValue?.req?.user?.type ?? userTypes.SYSTEM, userAgent: (requestContext.contextValue.req.headers['user-agent'] as string)?.startsWith('Mozilla') ? USER_AGENT.MOZILLA : USER_AGENT.OTHER, logType: LOG_TYPE.REQUEST_LOG, - actionType: (LOG_ACTION as any)[requestContext.operationName], + actionType: LOG_ACTION[requestContext.operationName], actionData: JSON.stringify(ignoreFieldsHelper(requestContext.request.variables, requestContext.operationName)), time: Date.now(), status: requestContext.errors === undefined ? LOG_STATUS.SUCCESS : LOG_STATUS.FAIL, @@ -48,7 +50,7 @@ export class LogPlugin { } } -function ignoreFieldsHelper(dataObj: any, operationName: string) { +function ignoreFieldsHelper(dataObj: unknown, operationName: string) { if (operationName === 'login') { delete dataObj['password']; delete dataObj['totp']; diff --git a/packages/itmat-interface/src/rest/fileDownload.ts b/packages/itmat-interface/src/rest/fileDownload.ts index 866f558c9..d443bda39 100644 --- a/packages/itmat-interface/src/rest/fileDownload.ts +++ b/packages/itmat-interface/src/rest/fileDownload.ts @@ -8,54 +8,56 @@ import { userRetrieval } from '../authentication/pubkeyAuthentication'; import { ApolloServerErrorCode } from '@apollo/server/errors'; import { GraphQLError } from 'graphql'; -export const fileDownloadController = async (req: Request, res: Response): Promise => { - const requester = req.user as IUser; - const requestedFile = req.params.fileId; - const token = req.headers.authorization || ''; - let associatedUser = requester; - if ((token !== '') && (req.user === undefined)) { - // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed - const decodedPayload = jwt.decode(token); - // obtain the public-key of the robot user in the JWT payload - const pubkey = (decodedPayload as any).publicKey; - // verify the JWT - jwt.verify(token, pubkey, function (error: any) { - if (error) { - throw new GraphQLError('JWT verification failed.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); - } - }); - associatedUser = await userRetrieval(pubkey); - } else if (!requester) { - res.status(403).json({ error: 'Please log in.' }); - return; - } - try { - /* download file */ - const file = await db.collections!.files_collection.findOne({ id: requestedFile, deleted: null })!; - if (!file) { - res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); +export const fileDownloadController = (req: Request, res: Response) => { + (async () => { + const requester = req.user as IUser; + const requestedFile = req.params.fileId; + const token = req.headers.authorization || ''; + let associatedUser = requester; + if ((token !== '') && (req.user === undefined)) { + // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed + const decodedPayload = jwt.decode(token); + // obtain the public-key of the robot user in the JWT payload + const pubkey = decodedPayload.publicKey; + // verify the JWT + jwt.verify(token, pubkey, function (error) { + if (error) { + throw new GraphQLError('JWT verification failed.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); + } + }); + associatedUser = await userRetrieval(pubkey); + } else if (!requester) { + res.status(403).json({ error: 'Please log in.' }); return; } + try { + /* download file */ + const file = await db.collections.files_collection.findOne({ id: requestedFile, deleted: null }); + if (!file) { + res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); + return; + } + + // check target field exists + const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + associatedUser, + file.studyId + ); + if (!hasStudyLevelPermission) { + res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); + return; + } - // check target field exists - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - associatedUser, - file.studyId - ); - if (!hasStudyLevelPermission) { - res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); + const stream = await objStore.downloadFile(file.studyId, file.uri); + res.set('Content-Type', 'application/octet-stream'); + res.set('Content-Type', 'application/download'); + res.set('Content-Disposition', `attachment; filename="${file.fileName}"`); + stream.pipe(res, { end: true }); + return; + } catch (e) { + res.status(500).json(e); return; } - - const stream = await objStore.downloadFile(file.studyId, file.uri); - res.set('Content-Type', 'application/octet-stream'); - res.set('Content-Type', 'application/download'); - res.set('Content-Disposition', `attachment; filename="${file.fileName}"`); - stream.pipe(res, { end: true }); - return; - } catch (e) { - res.status(500).json(e); - return; - } + })().catch(() => { return; }); }; diff --git a/packages/itmat-interface/src/server/router.ts b/packages/itmat-interface/src/server/router.ts index 0d592278c..b361e1c6e 100644 --- a/packages/itmat-interface/src/server/router.ts +++ b/packages/itmat-interface/src/server/router.ts @@ -31,11 +31,8 @@ import { userRetrieval } from '../authentication/pubkeyAuthentication'; import { createProxyMiddleware, RequestHandler } from 'http-proxy-middleware'; import qs from 'qs'; import { IUser } from '@itmat-broker/itmat-types'; - -interface ApolloServerContext { - token?: string; -} - +import { ApolloServerContext } from '../graphql/ApolloServerContext'; +import { DMPContext } from '../graphql/resolvers/context'; export class Router { private readonly app: Express; @@ -63,9 +60,9 @@ export class Router { /* save persistent sessions in mongo */ this.app.use( session({ - store: process.env.NODE_ENV === 'test' ? undefined : MongoStore.create({ + store: process.env['NODE_ENV'] === 'test' ? undefined : MongoStore.create({ client: db.client, - collectionName: config.database.collections.sessions_collection + collectionName: config.database.collections['sessions_collection'] }), secret: this.config.sessionsSecret, saveUninitialized: false, @@ -92,7 +89,7 @@ export class Router { requestTimeout: 0, headersTimeout: 0, noDelay: true - } as any, this.app); + }, this.app); this.server.timeout = 0; this.server.headersTimeout = 0; @@ -102,7 +99,7 @@ export class Router { socket.setKeepAlive(true); socket.setNoDelay(true); socket.setTimeout(0); - (socket as any).timeout = 0; + (socket as unknown as Record)['timeout'] = 0; }); } @@ -130,10 +127,10 @@ export class Router { plugins: [ { async serverWillStart() { - logPlugin.serverWillStartLogPlugin(); + await logPlugin.serverWillStartLogPlugin(); return { async drainServer() { - serverCleanup.dispose(); + await serverCleanup.dispose(); } }; }, @@ -142,10 +139,10 @@ export class Router { async executionDidStart(requestContext) { const operation = requestContext.operationName; const actionData = requestContext.request.variables; - (requestContext as any).request.variables = spaceFixing(operation as any, actionData); + requestContext.request.variables = operation ? spaceFixing(operation, actionData) : undefined; }, async willSendResponse(requestContext) { - logPlugin.requestDidStartLogPlugin(requestContext); + await logPlugin.requestDidStartLogPlugin(requestContext); } }; } @@ -225,7 +222,7 @@ export class Router { graphqlUploadExpress(), expressMiddleware(gqlServer, { // context: async({ req }) => ({ token: req.headers.token }) - context: async ({ req, res }) => { + context: async ({ req, res }): Promise => { /* Bounce all unauthenticated graphql requests */ // if (req.user === undefined && req.body.operationName !== 'login' && req.body.operationName !== 'IntrospectionQuery' ) { // login and schema introspection doesn't need authentication // throw new ForbiddenError('not logged in'); @@ -235,10 +232,10 @@ export class Router { // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed const decodedPayload = jwt.decode(token); // obtain the public-key of the robot user in the JWT payload - const pubkey = (decodedPayload as any).publicKey; + const pubkey = decodedPayload.publicKey; // verify the JWT - jwt.verify(token, pubkey, function (error: any) { + jwt.verify(token, pubkey, function (error) { if (error) { throw new GraphQLError('JWT verification failed. ' + error, { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); } diff --git a/packages/itmat-interface/src/utils/configManager.ts b/packages/itmat-interface/src/utils/configManager.ts index 4af6cc91c..299d38bbc 100644 --- a/packages/itmat-interface/src/utils/configManager.ts +++ b/packages/itmat-interface/src/utils/configManager.ts @@ -5,12 +5,13 @@ import { IObjectStoreConfig, IDatabaseBaseConfig } from '@itmat-broker/itmat-com import configDefaults from '../../config/config.sample.json'; import { IServerConfig } from '../server/server.js'; import chalk from 'chalk'; +import type nodemailer from 'nodemailer'; export interface IConfiguration extends IServerConfig { appName: string; database: IDatabaseBaseConfig; objectStore: IObjectStoreConfig; - nodemailer: any; + nodemailer: Parameters[0]; aesSecret: string; sessionsSecret: string; adminEmail: string; diff --git a/packages/itmat-interface/src/utils/pubkeycrypto.ts b/packages/itmat-interface/src/utils/pubkeycrypto.ts index 415629876..ab4ff2bbb 100644 --- a/packages/itmat-interface/src/utils/pubkeycrypto.ts +++ b/packages/itmat-interface/src/utils/pubkeycrypto.ts @@ -15,7 +15,7 @@ export function rsasigner(privateKey: string, message: string, scheme = 'RSA-SHA signer.end(); return signature; } - catch (err: any) { + catch (err) { return err; } } @@ -42,7 +42,7 @@ export function reGenPkfromSk(privateKey: string, passphrase = 'idea-fast'): str }); return reGenPk.toString('base64'); } - catch (err: any) { + catch (err) { return err; } } diff --git a/packages/itmat-interface/src/utils/query.ts b/packages/itmat-interface/src/utils/query.ts index bfee2a417..72fe3e602 100644 --- a/packages/itmat-interface/src/utils/query.ts +++ b/packages/itmat-interface/src/utils/query.ts @@ -1,4 +1,4 @@ -import { IStudy, IFieldEntry, IStandardization } from '@itmat-broker/itmat-types'; +import { IStudy, IFieldEntry, IStandardization, IQueryEntry } from '@itmat-broker/itmat-types'; /* queryString: format: string # returned foramt: raw, standardized, grouped, summary @@ -10,7 +10,7 @@ import { IStudy, IFieldEntry, IStandardization } from '@itmat-broker/itmat-types // if has study-level permission, non versioned data will also be returned -export function buildPipeline(query: any, studyId: string, permittedVersions: Array, permittedFields: IFieldEntry[], metadataFilter: any, isAdmin: boolean, includeUnversioned: boolean) { +export function buildPipeline(query: IQueryEntry['queryString'], studyId: string, permittedVersions: Array, permittedFields: IFieldEntry[], metadataFilter, isAdmin: boolean, includeUnversioned: boolean) { let fieldIds: string[] = permittedFields.map(el => el.fieldId); const fields = { _id: 0, m_subjectId: 1, m_visitId: 1 }; // We send back the requested fields, by default send all fields @@ -18,25 +18,25 @@ export function buildPipeline(query: any, studyId: string, permittedVersions: Ar fieldIds = permittedFields.filter(el => query['data_requested'].includes(el.fieldId)).map(el => el.fieldId); query.data_requested.forEach((field: string) => { if (fieldIds.includes(field)) { - (fields as any)[field] = 1; + fields[field] = 1; } }); } else if (query['table_requested'] !== undefined && query['table_requested'] !== undefined) { fieldIds = permittedFields.filter(el => el.tableName === query['table_requested']).map(el => el.fieldId); fieldIds.forEach((field: string) => { - (fields as any)[field] = 1; + fields[field] = 1; }); } else { fieldIds.forEach((field: string) => { - (fields as any)[field] = 1; + fields[field] = 1; }); } let match = {}; // We send back the filtered fields values if (query['cohort'] !== undefined && query['cohort'] !== null) { if (query.cohort.length > 1) { - const subqueries: any = []; - query.cohort.forEach((subcohort: any) => { + const subqueries = []; + query.cohort.forEach((subcohort) => { subqueries.push(translateCohort(subcohort)); }); match = { $or: subqueries }; @@ -45,7 +45,7 @@ export function buildPipeline(query: any, studyId: string, permittedVersions: Ar } } - const groupFilter: any = [{ + const groupFilter = [{ $match: { m_fieldId: { $in: fieldIds } } }, { $sort: { uploadedAt: -1 } @@ -92,7 +92,7 @@ export function buildPipeline(query: any, studyId: string, permittedVersions: Ar } } -// function createNewField(expression: any) { +// function createNewField(expression) { // let newField = {}; // // if any parameters === '99999', then ignore this calculation // switch (expression.op) { @@ -191,63 +191,63 @@ export function buildPipeline(query: any, studyId: string, permittedVersions: Ar // } -// function isEmptyObject(obj: any) { +// function isEmptyObject(obj) { // return !Object.keys(obj).length; // } -function translateCohort(cohort: any) { - const match = {}; - cohort.forEach(function (select: any) { +function translateCohort(cohort) { + const match: Record = {}; + cohort.forEach(function (select) { switch (select.op) { case '=': // select.value must be an array - (match as any)[select.field] = { $in: [select.value] }; + match[select.field] = { $in: [select.value] }; break; case '!=': // select.value must be an array - (match as any)[select.field] = { $ne: [select.value] }; + match[select.field] = { $ne: [select.value] }; break; case '<': // select.value must be a float - (match as any)[select.field] = { $lt: parseFloat(select.value) }; + match[select.field] = { $lt: parseFloat(select.value) }; break; case '>': // select.value must be a float - (match as any)[select.field] = { $gt: parseFloat(select.value) }; + match[select.field] = { $gt: parseFloat(select.value) }; break; case 'derived': { // equation must only have + - * / const derivedOperation = select.value.split(' '); if (derivedOperation[0] === '=') { - (match as any)[select.field] = { $eq: parseFloat(select.value) }; + match[select.field] = { $eq: parseFloat(select.value) }; } if (derivedOperation[0] === '>') { - (match as any)[select.field] = { $gt: parseFloat(select.value) }; + match[select.field] = { $gt: parseFloat(select.value) }; } if (derivedOperation[0] === '<') { - (match as any)[select.field] = { $lt: parseFloat(select.value) }; + match[select.field] = { $lt: parseFloat(select.value) }; } break; } case 'exists': // We check if the field exists. This is to be used for checking if a patient // has an image - (match as any)[select.field] = { $exists: true }; + match[select.field] = { $exists: true }; break; case 'count': { // counts can only be positive. NB: > and < are inclusive e.g. < is <= const countOperation = select.value.split(' '); const countfield = select.field + '.count'; if (countOperation[0] === '=') { - (match as any)[countfield] = { $eq: parseInt(countOperation[1], 10) }; + match[countfield] = { $eq: parseInt(countOperation[1], 10) }; } if (countOperation[0] === '>') { - (match as any)[countfield] = { $gt: parseInt(countOperation[1], 10) }; + match[countfield] = { $gt: parseInt(countOperation[1], 10) }; } if (countOperation[0] === '<') { - (match as any)[countfield] = { $lt: parseInt(countOperation[1], 10) }; + match[countfield] = { $lt: parseInt(countOperation[1], 10) }; } break; } @@ -259,30 +259,30 @@ function translateCohort(cohort: any) { return match; } -export function translateMetadata(metadata: any) { - const match = {}; - metadata.forEach(function (select: any) { +export function translateMetadata(metadata) { + const match: Record = {}; + metadata.forEach(function (select) { switch (select.op) { case '=': // select.parameter must be an array - (match as any)['metadata.'.concat(select.key)] = { $in: [select.parameter] }; + match['metadata.'.concat(select.key)] = { $in: [select.parameter] }; break; case '!=': // select.parameter must be an array - (match as any)['metadata.'.concat(select.key)] = { $ne: [select.parameter] }; + match['metadata.'.concat(select.key)] = { $ne: [select.parameter] }; break; case '<': // select.parameter must be a float - (match as any)['metadata.'.concat(select.key)] = { $lt: parseFloat(select.parameter) }; + match['metadata.'.concat(select.key)] = { $lt: parseFloat(select.parameter) }; break; case '>': // select.parameter must be a float - (match as any)['metadata.'.concat(select.key)] = { $gt: parseFloat(select.parameter) }; + match['metadata.'.concat(select.key)] = { $gt: parseFloat(select.parameter) }; break; case 'exists': // We check if the field exists. This is to be used for checking if a patient // has an image - (match as any)['metadata.'.concat(select.key)] = { $exists: true }; + match['metadata.'.concat(select.key)] = { $exists: true }; break; default: break; @@ -292,7 +292,7 @@ export function translateMetadata(metadata: any) { return match; } -export function dataStandardization(study: IStudy, fields: IFieldEntry[], data: any, queryString: any, standardizations: IStandardization[] | null) { +export function dataStandardization(study: IStudy, fields: IFieldEntry[], data, queryString, standardizations: IStandardization[] | null) { if (!queryString['format'] || queryString['format'] === 'raw') { return data; } else if (queryString['format'] === 'grouped' || queryString['format'] === 'summary') { @@ -304,9 +304,9 @@ export function dataStandardization(study: IStudy, fields: IFieldEntry[], data: } // fields are obtained from called functions, providing the valid fields -export function standardize(study: IStudy, fields: IFieldEntry[], data: any, standardizations: IStandardization[], newFields: any) { - const records: any = {}; - const mergedFields: any[] = [...fields]; +export function standardize(study: IStudy, fields: IFieldEntry[], data: unknown, standardizations: IStandardization[], newFields) { + const records = {}; + const mergedFields = [...fields]; [...newFields].forEach(el => { const emptyArr: string[] = []; preOrderTraversal(el, emptyArr); @@ -314,7 +314,7 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: any, sta }); const seqNumMap: Map = new Map(); for (const field of mergedFields) { - let fieldDef: any = {}; + let fieldDef = {}; for (let i = 0; i < mergedFields.length; i++) { if (mergedFields[i].fieldId === field.fieldId) { fieldDef = mergedFields[i]; @@ -344,12 +344,12 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: any, sta if (data[subjectId][visitId][field.fieldId] === null) { continue; } - const dataClip: any = {}; + const dataClip: Record = {}; let isSkip = false; if (!standardization.stdRules) { continue; } - for (const rule of (standardization.stdRules as any)) { + for (const rule of standardization.stdRules) { if (!rule.parameter) { continue; } @@ -369,7 +369,7 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: any, sta break; } case 'fieldDef': { - dataClip[rule.entry] = fieldDef[rule.parameter[0] as keyof IFieldEntry] as any || ''; + dataClip[rule.entry] = fieldDef[rule.parameter[0]] || ''; break; } case 'value': { @@ -417,7 +417,7 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: any, sta switch (rule.filters[dataClip[rule.entry]][0]) { // add patch to allow to convert to another field value case 'convert': { - const options: Record = rule.filters[dataClip[rule.entry]][1]; + const options: Record = rule.filters[dataClip[rule.entry]][1]; if (options.source === 'value') { dataClip[rule.entry] = options.parameter; } else if (options.source === 'data') { @@ -486,8 +486,8 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: any, sta } // ignore the subjectId, join values with same visitId and fieldId; with extra info -export function dataGrouping(data: any, format: string) { - const joinedData: any = {}; +export function dataGrouping(data: unknown, format: string) { + const joinedData: Record = {}; for (const subjectId of Object.keys(data)) { for (const visitId of Object.keys(data[subjectId])) { for (const fieldId of Object.keys(data[subjectId][visitId])) { @@ -533,8 +533,8 @@ function incHelper(map: Map, levels: string[], subjectId: string } // recursively create object structures, return the last pointer -function insertInObj(obj: any, levels: string[], lastValue: any, join: boolean, subjectId: string, visitId: string) { - let pointer: any = obj; +function insertInObj(obj, levels: string[], lastValue: unknown, join: boolean, subjectId: string, visitId: string) { + let pointer = obj; for (let i = 0; i < levels.length; i++) { let modifiedLevel = levels[i]; if (levels[i] === 'm_subjectId') { @@ -566,7 +566,7 @@ function insertInObj(obj: any, levels: string[], lastValue: any, join: boolean, } // array[0] should be the name of the new field; array[-1] should be 'derived' -function preOrderTraversal(node: any, array: string[]) { +function preOrderTraversal(node: unknown, array: string[]) { if (!node) { return false; } diff --git a/packages/itmat-interface/src/utils/regrex.ts b/packages/itmat-interface/src/utils/regrex.ts index 9e8ffc741..05e63ccf9 100644 --- a/packages/itmat-interface/src/utils/regrex.ts +++ b/packages/itmat-interface/src/utils/regrex.ts @@ -1,5 +1,8 @@ // whether passwords can contain spaces remains to be determined by the resolver functions // the format doesnt allow extra spaces for any kinds of names, but whether spaces are not allowed is + +import { VariableValues } from '@apollo/server/dist/esm/externalTypes/graphql'; + // determined by the resolver functions const omitOperationsAndFields = { login: [], @@ -11,7 +14,7 @@ const omitOperationsAndFields = { // By default, only one space is allowed between adjacent letters // this function only format the parameters, other requirement, such as duplicate check // relies on the resolver functions -export function spaceFixing(operation: keyof typeof omitOperationsAndFields, actionData: any) { +export function spaceFixing(operation: string, actionData: VariableValues | undefined) { if (Object.keys(omitOperationsAndFields).includes(operation)) { if (!omitOperationsAndFields[operation].length) { return actionData; @@ -21,7 +24,7 @@ export function spaceFixing(operation: keyof typeof omitOperationsAndFields, act return actionData; } -export function recursiveFix(operation: keyof typeof omitOperationsAndFields, obj: any): void { +export function recursiveFix(operation: string, obj: VariableValues | undefined): void { if (obj !== null && obj !== undefined) { // keep it original if it is a promise if (obj instanceof Promise) { diff --git a/packages/itmat-interface/src/utils/userLoginUtils.ts b/packages/itmat-interface/src/utils/userLoginUtils.ts index bac987ef0..d05c3c39a 100644 --- a/packages/itmat-interface/src/utils/userLoginUtils.ts +++ b/packages/itmat-interface/src/utils/userLoginUtils.ts @@ -7,17 +7,20 @@ export class UserLoginUtils { this.deserialiseUser = this.deserialiseUser.bind(this); } - public serialiseUser(user: Express.User, done: (__unused__err: any, __unused__id?: any) => void): void { + public serialiseUser(user: Express.User, done: (__unused__err: unknown, __unused__id: string) => void) { done(null, (user as IUser).username); } - public async deserialiseUser(username: string, done: (__unused__err: any, __unused__id?: any) => void): Promise { - const user = await this._getUser(username); - done(null, user); + public deserialiseUser(username: string, done: (__unused__err: unknown, __unused__id: IUserWithoutToken | null) => void) { + this._getUser(username) + .then(user => { + done(null, user); + }) + .catch(() => { return; }); } private async _getUser(username: string): Promise { - return await db.collections!.users_collection.findOne({ deleted: null, username }, { projection: { _id: 0, deleted: 0, password: 0 } })!; + return await db.collections.users_collection.findOne({ deleted: null, username }, { projection: { _id: 0, deleted: 0, password: 0 } }); } } diff --git a/packages/itmat-interface/test/serverTests/_loginHelper.ts b/packages/itmat-interface/test/serverTests/_loginHelper.ts index 68c9fc614..e804b9cc7 100644 --- a/packages/itmat-interface/test/serverTests/_loginHelper.ts +++ b/packages/itmat-interface/test/serverTests/_loginHelper.ts @@ -15,27 +15,25 @@ export async function connectUser(agent: SuperTest): Promise { export async function connectAgent(agent: SuperTest, user: string, pw: string, secret: string): Promise { const otp = mfa.generateTOTP(secret).toString(); - return new Promise((resolve, reject) => agent.post('/graphql') + return agent.post('/graphql') .set('Content-type', 'application/json') .send({ query: print(LOGIN), variables: { username: user, password: pw, totp: otp } }) .then(res => { - if (res.status === 200) - return resolve(); - return reject(); - }).catch(reject)); + if (res.status !== 200) + throw new Error('Connect failed'); + }).catch(() => { return; }); } export async function disconnectAgent(agent: SuperTest): Promise { - return new Promise((resolve, reject) => agent.post('/graphql') + return agent.post('/graphql') .send({ query: print(LOGOUT) }) .then(res => { - if (res.status === 200) - return resolve(); - return reject(); - }).catch(reject)); + if (res.status !== 200) + throw new Error('Disconnect failed'); + }).catch(() => { return; }); } diff --git a/packages/itmat-interface/test/serverTests/file.test.ts b/packages/itmat-interface/test/serverTests/file.test.ts index d364d8fb5..a754c7914 100644 --- a/packages/itmat-interface/test/serverTests/file.test.ts +++ b/packages/itmat-interface/test/serverTests/file.test.ts @@ -666,7 +666,7 @@ if (global.hasMinio) { let authorisedUserProfile; beforeEach(async () => { /* Clear old values */ - await db.collections!.roles_collection.deleteMany({}); + await db.collections.roles_collection.deleteMany({}); /* setup: create a study to upload file to */ const studyname = uuid(); const createStudyRes = await admin.post('/graphql').send({ diff --git a/packages/itmat-interface/test/serverTests/log.test.ts b/packages/itmat-interface/test/serverTests/log.test.ts index 74054b51c..cd0c8687e 100644 --- a/packages/itmat-interface/test/serverTests/log.test.ts +++ b/packages/itmat-interface/test/serverTests/log.test.ts @@ -97,7 +97,7 @@ describe('LOG API', () => { } }); expect(res.status).toBe(200); - const findLogInMongo = await db.collections!.log_collection.find({}).toArray(); + const findLogInMongo = await db.collections.log_collection.find({}).toArray(); const lastLog = findLogInMongo.pop(); expect(lastLog).toBeDefined(); if (!lastLog) @@ -138,7 +138,7 @@ describe('LOG API', () => { status: LOG_STATUS.SUCCESS, errors: '' }]; - await db.collections!.log_collection.insertMany(logSample); + await db.collections.log_collection.insertMany(logSample); }); afterAll(async () => { diff --git a/packages/itmat-interface/test/serverTests/standardization.test.ts b/packages/itmat-interface/test/serverTests/standardization.test.ts index 5f6d13507..9f4bc66be 100644 --- a/packages/itmat-interface/test/serverTests/standardization.test.ts +++ b/packages/itmat-interface/test/serverTests/standardization.test.ts @@ -80,7 +80,7 @@ beforeAll(async () => { // eslint-disable-line no-undef }); describe('STUDY API', () => { - let adminId: any; + let adminId: string; beforeAll(async () => { /* setup: first retrieve the generated user id */ @@ -90,7 +90,7 @@ describe('STUDY API', () => { describe('MINI END-TO-END API TEST, NO UI, NO DATA', () => { let createdProject; - let createdStudy: { id: any; name: any; }; + let createdStudy; let createdRole_study; let createdRole_study_manageProject; let createdRole_project; @@ -755,9 +755,9 @@ describe('STUDY API', () => { } /* delete values in db */ - await db.collections!.field_dictionary_collection.deleteMany({ studyId: createdStudy.id }); - await db.collections!.data_collection.deleteMany({ m_studyId: createdStudy.id }); - await db.collections!.files_collection.deleteMany({ studyId: createdStudy.id }); + await db.collections.field_dictionary_collection.deleteMany({ studyId: createdStudy.id }); + await db.collections.data_collection.deleteMany({ m_studyId: createdStudy.id }); + await db.collections.files_collection.deleteMany({ studyId: createdStudy.id }); /* study user cannot delete study */ { @@ -810,9 +810,9 @@ describe('STUDY API', () => { }); // study data is NOT deleted for audit purposes - unless explicitly requested separately - const roles = await db.collections!.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const projects = await db.collections!.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections!.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); + const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); + const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); @@ -832,8 +832,8 @@ describe('STUDY API', () => { }); afterEach(async () => { - await db.collections!.standardizations_collection.deleteMany({}); - await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { $set: { dataVersions: [], currentDataVersion: -1 } }); + await db.collections.standardizations_collection.deleteMany({}); + await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { $set: { dataVersions: [], currentDataVersion: -1 } }); }); test('Create standardization (authorised user)', async () => { @@ -857,7 +857,7 @@ describe('STUDY API', () => { } } }); - const std = await db.collections!.standardizations_collection.findOne({}); + const std = await db.collections.standardizations_collection.findOne({}); expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.createStandardization).toEqual({ @@ -940,7 +940,7 @@ describe('STUDY API', () => { type: 'fakeType' } }); - const std = await db.collections!.standardizations_collection.findOne({ studyId: createdStudy.id, type: 'fakeType', field: ['$testField'] }); + const std = await db.collections.standardizations_collection.findOne({ studyId: createdStudy.id, type: 'fakeType', field: ['$testField'] }); expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.getStandardization[0]).toEqual({ @@ -1012,7 +1012,7 @@ describe('STUDY API', () => { } }); // modify the uploadedAt of the second uploading as we use mock - await db.collections!.standardizations_collection.findOneAndUpdate({ stdRules: { $elemMatch: { entry: 'fakeEntryNew' } } }, { + await db.collections.standardizations_collection.findOneAndUpdate({ stdRules: { $elemMatch: { entry: 'fakeEntryNew' } } }, { $set: { uploadedAt: 1591134065001 } @@ -1096,7 +1096,7 @@ describe('STUDY API', () => { } } }); - const std = await db.collections!.standardizations_collection.findOne({}); + const std = await db.collections.standardizations_collection.findOne({}); const res = await authorisedUserStudy.post('/graphql').send({ query: print(DELETE_STANDARDIZATION), variables: { diff --git a/packages/itmat-interface/test/serverTests/study.test.ts b/packages/itmat-interface/test/serverTests/study.test.ts index bd19b9ee2..a18d7c17f 100644 --- a/packages/itmat-interface/test/serverTests/study.test.ts +++ b/packages/itmat-interface/test/serverTests/study.test.ts @@ -904,7 +904,7 @@ if (global.hasMinio) { hash: '4ae25be36354ee0aec8dc8deac3f279d2e9d6415361da996cf57eb6142cfb1a3' } ]; - await db.collections!.studies_collection.updateOne({ id: createdStudy.id }, { + await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: mockDataVersion }, $inc: { currentDataVersion: 1 }, $set: { @@ -940,9 +940,9 @@ if (global.hasMinio) { }] } }); - await db.collections!.data_collection.insertMany(mockData); - await db.collections!.field_dictionary_collection.insertMany(mockFields); - await db.collections!.files_collection.insertMany(mockFiles); + await db.collections.data_collection.insertMany(mockData); + await db.collections.field_dictionary_collection.insertMany(mockFields); + await db.collections.files_collection.insertMany(mockFiles); } /* 2. create projects for the study */ @@ -1770,9 +1770,9 @@ if (global.hasMinio) { } /* delete values in db */ - await db.collections!.field_dictionary_collection.deleteMany({ studyId: createdStudy.id }); - await db.collections!.data_collection.deleteMany({ m_studyId: createdStudy.id }); - await db.collections!.files_collection.deleteMany({ studyId: createdStudy.id }); + await db.collections.field_dictionary_collection.deleteMany({ studyId: createdStudy.id }); + await db.collections.data_collection.deleteMany({ m_studyId: createdStudy.id }); + await db.collections.files_collection.deleteMany({ studyId: createdStudy.id }); /* study user cannot delete study */ { @@ -1825,9 +1825,9 @@ if (global.hasMinio) { }); // study data is NOT deleted for audit purposes - unless explicitly requested separately - const roles = await db.collections!.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const projects = await db.collections!.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections!.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); + const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); + const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); @@ -2326,7 +2326,7 @@ if (global.hasMinio) { test('Get study fields, with unversioned fields', async () => { // delete an exisiting field and add a new field - await db.collections!.field_dictionary_collection.insertOne({ + await db.collections.field_dictionary_collection.insertOne({ id: 'mockfield2_deleted', studyId: createdStudy.id, fieldId: '32', @@ -2341,7 +2341,7 @@ if (global.hasMinio) { dataVersion: null }); - await db.collections!.field_dictionary_collection.insertOne({ + await db.collections.field_dictionary_collection.insertOne({ id: 'mockfield3', studyId: createdStudy.id, fieldId: '33', @@ -2411,12 +2411,12 @@ if (global.hasMinio) { } ].sort((a, b) => a.id.localeCompare(b.id))); // clear database - await db.collections!.field_dictionary_collection.deleteMany({ dataVersion: null }); + await db.collections.field_dictionary_collection.deleteMany({ dataVersion: null }); }); test('Set a previous study dataversion as current (admin)', async () => { /* setup: add an extra dataversion */ - await db.collections!.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); + await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); const res = await admin.post('/graphql').send({ query: print(SET_DATAVERSION_AS_CURRENT), variables: { @@ -2426,7 +2426,7 @@ if (global.hasMinio) { }); expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); - const study = await db.collections!.studies_collection.findOne({ id: createdStudy.id }, { projection: { dataVersions: 1 } }); + const study = await db.collections.studies_collection.findOne({ id: createdStudy.id }, { projection: { dataVersions: 1 } }); expect(study).toBeDefined(); expect(res.body.data.setDataversionAsCurrent).toEqual({ id: createdStudy.id, @@ -2444,7 +2444,7 @@ if (global.hasMinio) { test('Set a previous study dataversion as current (user without privilege) (should fail)', async () => { /* setup: add an extra dataversion */ - await db.collections!.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); + await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); const res = await user.post('/graphql').send({ query: print(SET_DATAVERSION_AS_CURRENT), @@ -2464,7 +2464,7 @@ if (global.hasMinio) { test('Set a previous study dataversion as current (user with project privilege) (should fail)', async () => { /* setup: add an extra dataversion */ - await db.collections!.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); + await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); const res = await authorisedUser.post('/graphql').send({ query: print(SET_DATAVERSION_AS_CURRENT), @@ -2484,7 +2484,7 @@ if (global.hasMinio) { test('Set a previous study dataversion as current (user with study read-only privilege) (should fail)', async () => { /* setup: add an extra dataversion */ - await db.collections!.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); + await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); const res = await authorisedUserStudy.post('/graphql').send({ query: print(SET_DATAVERSION_AS_CURRENT), @@ -2504,7 +2504,7 @@ if (global.hasMinio) { test('Set a previous study dataversion as current (user with study "manage project" privilege)', async () => { /* setup: add an extra dataversion */ - await db.collections!.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); + await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); const res = await authorisedUserStudyManageProject.post('/graphql').send({ query: print(SET_DATAVERSION_AS_CURRENT), @@ -2541,7 +2541,7 @@ if (global.hasMinio) { createdAt: 1591134065000, expiredAt: 1991134065000 }; - await db.collections!.users_collection.insertOne(userDataCurator); + await db.collections.users_collection.insertOne(userDataCurator); /* setup: create a new role with data management */ const roleDataCurator: any = { @@ -2569,14 +2569,14 @@ if (global.hasMinio) { createdBy: adminId, deleted: null }; - await db.collections!.roles_collection.insertOne(roleDataCurator); + await db.collections.roles_collection.insertOne(roleDataCurator); /* setup: connect user */ const dataCurator = request.agent(app); await connectAgent(dataCurator, userDataCurator.username, 'admin', userDataCurator.otpSecret); /* setup: add an extra dataversion */ - await db.collections!.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); + await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: newMockDataVersion }, $inc: { currentDataVersion: 1 } }); /* test */ const res = await dataCurator.post('/graphql').send({ @@ -2595,12 +2595,12 @@ if (global.hasMinio) { .updateOne({ id: createdStudy.id }, { $set: { dataVersions: [mockDataVersion], currentDataVersion: 0 } }); /* cleanup: delete user and role */ - await db.collections!.users_collection.deleteOne({ id: userDataCurator.id }); - await db.collections!.roles_collection.deleteOne({ id: roleDataCurator.id }); + await db.collections.users_collection.deleteOne({ id: userDataCurator.id }); + await db.collections.roles_collection.deleteOne({ id: roleDataCurator.id }); }); test('Create New fields (admin)', async () => { - await db.collections!.field_dictionary_collection.deleteMany({ dataVersion: null }); + await db.collections.field_dictionary_collection.deleteMany({ dataVersion: null }); const res = await admin.post('/graphql').send({ query: print(CREATE_NEW_FIELD), variables: { @@ -2637,7 +2637,7 @@ if (global.hasMinio) { { successful: true, code: null, id: null, description: 'Field 8-newField8 is created successfully.' }, { successful: true, code: null, id: null, description: 'Field 9-newField9 is created successfully.' } ]); - const fieldsInDb = await db.collections!.field_dictionary_collection.find({ studyId: createdStudy.id, dataVersion: null }).toArray(); + const fieldsInDb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, dataVersion: null }).toArray(); expect(fieldsInDb).toHaveLength(2); }); @@ -2747,11 +2747,11 @@ if (global.hasMinio) { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.deleteField.fieldId).toBe('8'); - const fieldsInDb = await db.collections!.field_dictionary_collection.find({ studyId: createdStudy.id, dateDeleted: { $ne: null } }).toArray(); + const fieldsInDb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, dateDeleted: { $ne: null } }).toArray(); expect(fieldsInDb).toHaveLength(1); expect(fieldsInDb[0].fieldId).toBe('8'); // clear database - await db.collections!.field_dictionary_collection.deleteMany({ studyId: createdStudy.id, fieldId: { $in: ['8', '9'] } }); + await db.collections.field_dictionary_collection.deleteMany({ studyId: createdStudy.id, fieldId: { $in: ['8', '9'] } }); }); test('Delete a versioned field (admin)', async () => { @@ -2799,13 +2799,13 @@ if (global.hasMinio) { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.deleteField.fieldId).toBe('8'); - const fieldsInDb = await db.collections!.field_dictionary_collection.find({ studyId: createdStudy.id, fieldId: '8' }).toArray(); + const fieldsInDb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, fieldId: '8' }).toArray(); expect(fieldsInDb).toHaveLength(2); expect(fieldsInDb[0].fieldId).toBe('8'); expect(fieldsInDb[1].fieldId).toBe('8'); expect(fieldsInDb[1].dateDeleted).not.toBe(null); // clear database - await db.collections!.field_dictionary_collection.deleteMany({ studyId: createdStudy.id, fieldId: { $in: ['8', '9'] } }); + await db.collections.field_dictionary_collection.deleteMany({ studyId: createdStudy.id, fieldId: { $in: ['8', '9'] } }); }); }); @@ -3153,8 +3153,8 @@ if (global.hasMinio) { metadata: {} } ]; - await db.collections!.field_dictionary_collection.insertMany(mockFields); - await db.collections!.studies_collection.updateOne({ id: createdStudy.id }, { + await db.collections.field_dictionary_collection.insertMany(mockFields); + await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { $push: { dataVersions: mockDataVersion }, $inc: { currentDataVersion: 1 }, $set: { @@ -3401,7 +3401,7 @@ if (global.hasMinio) { /* 7. Create an ontologytree */ { - await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id }, { + await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id }, { $set: { ontologyTrees: [{ id: uuid(), @@ -3418,7 +3418,7 @@ if (global.hasMinio) { } const study_role_id = `metadata.${'role:'.concat(createdRole_study_accessData?.id)}`; const project_role_id = `metadata.${'role:'.concat(createdRole_project?.id)}`; - await db.collections!.field_dictionary_collection.updateMany({ studyId: createdStudy.id }, { + await db.collections.field_dictionary_collection.updateMany({ studyId: createdStudy.id }, { $set: { [study_role_id]: true, [project_role_id]: true @@ -3473,9 +3473,9 @@ if (global.hasMinio) { }); // study data is NOT deleted for audit purposes - unless explicitly requested separately - const roles = await db.collections!.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const projects = await db.collections!.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections!.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); + const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); + const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); @@ -3493,12 +3493,12 @@ if (global.hasMinio) { expect(res.body.data.getStudy).toBe(null); } - await db.collections!.field_dictionary_collection.deleteMany({ studyId: createdStudy.id }); + await db.collections.field_dictionary_collection.deleteMany({ studyId: createdStudy.id }); }); afterEach(async () => { - await db.collections!.data_collection.deleteMany({}); - await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id }, { + await db.collections.data_collection.deleteMany({}); + await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id }, { $set: { dataVersions: [{ id: 'mockDataVersionId', @@ -3508,7 +3508,7 @@ if (global.hasMinio) { }], currentDataVersion: 0 } }); - await db.collections!.field_dictionary_collection.deleteMany({ studyId: createdStudy.id, fieldId: { $nin: ['31', '32'] }, dataVersion: null }); + await db.collections.field_dictionary_collection.deleteMany({ studyId: createdStudy.id, fieldId: { $nin: ['31', '32'] }, dataVersion: null }); }); test('Upload a data record to study (authorised user)', async () => { @@ -3568,7 +3568,7 @@ if (global.hasMinio) { { code: 'CLIENT_MALFORMED_INPUT', description: 'Subject ID I777770 is illegal.', id: null, successful: false } ]); - const dataInDb = await db.collections!.data_collection.find({ deleted: null }).toArray(); + const dataInDb = await db.collections.data_collection.find({ deleted: null }).toArray(); expect(dataInDb).toHaveLength(3); }); @@ -3619,8 +3619,8 @@ if (global.hasMinio) { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); // check both data collection and file collection - const fileFirst = await db.collections!.files_collection.findOne({ studyId: createdStudy.id, deleted: null }); - const dataFirst = await db.collections!.data_collection.findOne({ m_studyId: createdStudy.id, m_visitId: '1', m_fieldId: '33' }); + const fileFirst = await db.collections.files_collection.findOne({ studyId: createdStudy.id, deleted: null }); + const dataFirst = await db.collections.data_collection.findOne({ m_studyId: createdStudy.id, m_visitId: '1', m_fieldId: '33' }); expect(dataFirst?.metadata?.add[0]).toBe(fileFirst.id); // upload again and check whether the old file has been deleted @@ -3649,8 +3649,8 @@ if (global.hasMinio) { .attach('1', path.join(__dirname, '../filesForTests/I7N3G6G-MMM7N3G6G-20200704-20200721.txt')); expect(resSecond.status).toBe(200); expect(resSecond.body.errors).toBeUndefined(); - const fileSecond = await db.collections!.files_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const dataSecond = await db.collections!.data_collection.findOne({ m_studyId: createdStudy.id, m_visitId: '1', m_fieldId: '33' }); + const fileSecond = await db.collections.files_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); + const dataSecond = await db.collections.data_collection.findOne({ m_studyId: createdStudy.id, m_visitId: '1', m_fieldId: '33' }); expect(fileSecond).toHaveLength(2); expect(dataSecond?.metadata?.add).toEqual([fileSecond[0].id, fileSecond[1].id]); }); @@ -3670,11 +3670,11 @@ if (global.hasMinio) { expect(createRes.body.errors).toBeUndefined(); expect(createRes.body.data.createNewDataVersion.version).toBe('1'); expect(createRes.body.data.createNewDataVersion.tag).toBe('testTag'); - const studyInDb = await db.collections!.studies_collection.findOne({ id: createdStudy.id }); + const studyInDb = await db.collections.studies_collection.findOne({ id: createdStudy.id }); expect(studyInDb.dataVersions).toHaveLength(2); expect(studyInDb.dataVersions[1].version).toBe('1'); expect(studyInDb.dataVersions[1].tag).toBe('testTag'); - const dataInDb = await db.collections!.data_collection.find({ m_studyId: createdStudy.id, m_versionId: createRes.body.data.createNewDataVersion.id }).toArray(); + const dataInDb = await db.collections.data_collection.find({ m_studyId: createdStudy.id, m_versionId: createRes.body.data.createNewDataVersion.id }).toArray(); expect(dataInDb).toHaveLength(6); }); @@ -3700,11 +3700,11 @@ if (global.hasMinio) { expect(createRes.body.errors).toBeUndefined(); expect(createRes.body.data.createNewDataVersion.version).toBe('1'); expect(createRes.body.data.createNewDataVersion.tag).toBe('testTag'); - const studyInDb = await db.collections!.studies_collection.findOne({ id: createdStudy.id }); + const studyInDb = await db.collections.studies_collection.findOne({ id: createdStudy.id }); expect(studyInDb.dataVersions).toHaveLength(2); expect(studyInDb.dataVersions[1].version).toBe('1'); expect(studyInDb.dataVersions[1].tag).toBe('testTag'); - const fieldIndb = await db.collections!.field_dictionary_collection.find({ studyId: createdStudy.id, dataVersion: { $in: [createRes.body.data.createNewDataVersion.id, 'mockDataVersionId'] } }).toArray(); + const fieldIndb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, dataVersion: { $in: [createRes.body.data.createNewDataVersion.id, 'mockDataVersionId'] } }).toArray(); expect(fieldIndb).toHaveLength(4); }); @@ -3740,13 +3740,13 @@ if (global.hasMinio) { expect(createRes.body.errors).toBeUndefined(); expect(createRes.body.data.createNewDataVersion.version).toBe('1'); expect(createRes.body.data.createNewDataVersion.tag).toBe('testTag'); - const studyInDb = await db.collections!.studies_collection.findOne({ id: createdStudy.id }); + const studyInDb = await db.collections.studies_collection.findOne({ id: createdStudy.id }); expect(studyInDb.dataVersions).toHaveLength(2); expect(studyInDb.dataVersions[1].version).toBe('1'); expect(studyInDb.dataVersions[1].tag).toBe('testTag'); - const dataInDb = await db.collections!.data_collection.find({ m_studyId: createdStudy.id, m_versionId: createRes.body.data.createNewDataVersion.id }).toArray(); + const dataInDb = await db.collections.data_collection.find({ m_studyId: createdStudy.id, m_versionId: createRes.body.data.createNewDataVersion.id }).toArray(); expect(dataInDb).toHaveLength(7); - const fieldsInDb = await db.collections!.field_dictionary_collection.find({ studyId: createdStudy.id, dataVersion: { $in: [createRes.body.data.createNewDataVersion.id, 'mockDataVersionId'] } }).toArray(); + const fieldsInDb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, dataVersion: { $in: [createRes.body.data.createNewDataVersion.id, 'mockDataVersionId'] } }).toArray(); expect(fieldsInDb).toHaveLength(4); }); @@ -3873,7 +3873,7 @@ if (global.hasMinio) { { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-32 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-33 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-34 is deleted.' }]); - const dataInDb = await db.collections!.data_collection.find({ 31: null }).sort({ uploadedAt: -1 }).toArray(); + const dataInDb = await db.collections.data_collection.find({ 31: null }).sort({ uploadedAt: -1 }).toArray(); expect(dataInDb).toHaveLength(16); // 2 visits * 2 subjects * 2 fields * 2 (delete or not) = 16 records }); @@ -3908,7 +3908,7 @@ if (global.hasMinio) { { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-32 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-33 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-34 is deleted.' }]); - const dataInDb = await db.collections!.data_collection.find({ m_subjectId: 'I7N3G6G' }).sort({ uploadedAt: -1 }).toArray(); + const dataInDb = await db.collections.data_collection.find({ m_subjectId: 'I7N3G6G' }).sort({ uploadedAt: -1 }).toArray(); expect(dataInDb).toHaveLength(8); // two data records, two deleted records }); @@ -3993,13 +3993,13 @@ if (global.hasMinio) { // }); // test('Get data records with meta data filters', async () => { - // const study = await db.collections!.studies_collection.findOne({ id: createdStudy.id }); - // await db.collections!.field_dictionary_collection.updateMany({ fieldId: { $in: ['31', '32'] } }, { + // const study = await db.collections.studies_collection.findOne({ id: createdStudy.id }); + // await db.collections.field_dictionary_collection.updateMany({ fieldId: { $in: ['31', '32'] } }, { // $set: { // [`metadata.role:${createdRole_study_accessData.id}`]: true // } // }); - // await db.collections!.data_collection.insertMany([{ + // await db.collections.data_collection.insertMany([{ // m_studyId: createdStudy.id, // m_fieldId: '31', // m_subjectId: 'I7N3G6G', @@ -4056,7 +4056,7 @@ if (global.hasMinio) { // expect(resMetadataOrg.body.data.getDataRecords.data).toEqual({ // I7N3G6G: { 1: { 31: '1', m_subjectId: 'I7N3G6G', m_visitId: '1' } } // }); - // await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id }, { $set: { ontologyTrees: [] } }); + // await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id }, { $set: { ontologyTrees: [] } }); // }); test('Create an ontology tree (authorised user)', async () => { @@ -4083,7 +4083,7 @@ if (global.hasMinio) { } } }); - const study = await db.collections!.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.createOntologyTree).toEqual({ @@ -4108,7 +4108,7 @@ if (global.hasMinio) { metadata: null }); // clear ontologyTrees - await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { + await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { $set: { ontologyTrees: [] } @@ -4173,7 +4173,7 @@ if (global.hasMinio) { query: print(CREATE_NEW_DATA_VERSION), variables: { studyId: createdStudy.id, dataVersion: '1', tag: 'testTag' } }); - const study: IStudy = await db.collections!.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study: IStudy = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); const res = await authorisedUser.post('/graphql').send({ query: print(DELETE_ONTOLOGY_TREE), variables: { @@ -4186,10 +4186,10 @@ if (global.hasMinio) { id: study.ontologyTrees[0].name, successful: true }); - const updatedStudy: IStudy = await db.collections!.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const updatedStudy: IStudy = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); expect(updatedStudy.ontologyTrees.length).toBe(2); // both records // clear study - await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { + await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { $set: { dataVersions: [], currentDataVersion: -1, @@ -4222,7 +4222,7 @@ if (global.hasMinio) { } } }); - const study: IStudy = await db.collections!.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study: IStudy = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); const res = await user.post('/graphql').send({ query: print(DELETE_ONTOLOGY_TREE), variables: { @@ -4234,7 +4234,7 @@ if (global.hasMinio) { expect(res.body.data.deleteOntologyTree).toBe(null); expect(res.body.errors).toHaveLength(1); expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - await db.collections!.studies_collection.findOneAndUpdate({ studyId: createdStudy.id, deleted: null }, { + await db.collections.studies_collection.findOneAndUpdate({ studyId: createdStudy.id, deleted: null }, { $set: { ontologyTrees: [] } @@ -4292,7 +4292,7 @@ if (global.hasMinio) { } } }); - const study: IStudy = await db.collections!.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study: IStudy = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); const resWithoutVersion = await authorisedUser.post('/graphql').send({ query: print(GET_ONTOLOGY_TREE), variables: { @@ -4355,7 +4355,7 @@ if (global.hasMinio) { metadata: null }); // clear study - await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { + await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { $set: { dataVersions: [], currentDataVersion: -1, @@ -4405,7 +4405,7 @@ if (global.hasMinio) { expect(res.body.errors).toHaveLength(1); expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); // clear study - await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { + await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { $set: { dataVersions: [], currentDataVersion: -1, @@ -4455,7 +4455,7 @@ if (global.hasMinio) { expect(res.body.errors).toHaveLength(1); expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); // clear study - await db.collections!.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { + await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id, deleted: null }, { $set: { dataVersions: [], currentDataVersion: -1, @@ -4471,7 +4471,7 @@ if (global.hasMinio) { }); // edit a field so that the datatype mismatched with the exisiting value // this happens when a field is deleted first and then modified and added, while some data has been uploaded before deleting, causing conflicts - await db.collections!.field_dictionary_collection.findOneAndUpdate({ + await db.collections.field_dictionary_collection.findOneAndUpdate({ studyId: createdStudy.id, fieldId: '32' }, { diff --git a/packages/itmat-interface/test/serverTests/users.test.ts b/packages/itmat-interface/test/serverTests/users.test.ts index 03840df39..49191b53b 100644 --- a/packages/itmat-interface/test/serverTests/users.test.ts +++ b/packages/itmat-interface/test/serverTests/users.test.ts @@ -196,7 +196,7 @@ describe('USERS API', () => { test('Request reset password with existing user providing email', async () => { /* setup: replacing the seed user's email with slurp test email */ - const updateResult = await db.collections!.users_collection.findOneAndUpdate({ + const updateResult = await db.collections.users_collection.findOneAndUpdate({ username: SEED_STANDARD_USER_USERNAME }, { $set: { email: TEMP_USER_TEST_EMAIL } }); expect(updateResult).not.toBeNull(); @@ -215,7 +215,7 @@ describe('USERS API', () => { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.requestUsernameOrResetPassword).toEqual({ successful: true }); - const modifiedUser = await db.collections!.users_collection.findOne({ username: SEED_STANDARD_USER_USERNAME }); + const modifiedUser = await db.collections.users_collection.findOne({ username: SEED_STANDARD_USER_USERNAME }); expect(modifiedUser).toBeDefined(); expect(modifiedUser.resetPasswordRequests).toHaveLength(1); expect(typeof modifiedUser.resetPasswordRequests[0].id).toBe('string'); @@ -224,14 +224,14 @@ describe('USERS API', () => { expect(new Date().valueOf() - modifiedUser.resetPasswordRequests[0].timeOfRequest).toBeLessThan(15000); // less then 5 seconds /* cleanup: changing the user's email back */ - const cleanupResult = await db.collections!.users_collection.findOneAndUpdate({ username: SEED_STANDARD_USER_USERNAME }, { $set: { email: SEED_STANDARD_USER_EMAIL, resetPasswordRequests: [] } }, { returnDocument: 'after' }); + const cleanupResult = await db.collections.users_collection.findOneAndUpdate({ username: SEED_STANDARD_USER_USERNAME }, { $set: { email: SEED_STANDARD_USER_EMAIL, resetPasswordRequests: [] } }, { returnDocument: 'after' }); expect(cleanupResult).not.toBeNull(); expect(cleanupResult.email).toBe(SEED_STANDARD_USER_EMAIL); }, 30000); test('Request reset password with existing user providing username', async () => { /* setup: replacing the seed user's email with test email */ - const updateResult = await db.collections!.users_collection.findOneAndUpdate({ + const updateResult = await db.collections.users_collection.findOneAndUpdate({ username: SEED_STANDARD_USER_USERNAME }, { $set: { email: TEMP_USER_TEST_EMAIL } }); expect(updateResult).not.toBeNull(); @@ -250,7 +250,7 @@ describe('USERS API', () => { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.requestUsernameOrResetPassword).toEqual({ successful: true }); - const modifiedUser = await db.collections!.users_collection.findOne({ username: SEED_STANDARD_USER_USERNAME }); + const modifiedUser = await db.collections.users_collection.findOne({ username: SEED_STANDARD_USER_USERNAME }); expect(modifiedUser).toBeDefined(); expect(modifiedUser.resetPasswordRequests).toHaveLength(1); expect(typeof modifiedUser.resetPasswordRequests[0].id).toBe('string'); @@ -259,7 +259,7 @@ describe('USERS API', () => { expect(new Date().valueOf() - modifiedUser.resetPasswordRequests[0].timeOfRequest).toBeLessThan(15000); // less then 5 seconds /* cleanup: changing the user's email back */ - const cleanupResult = await db.collections!.users_collection.findOneAndUpdate({ username: SEED_STANDARD_USER_USERNAME }, { $set: { email: SEED_STANDARD_USER_EMAIL, resetPasswordRequests: [] } }, { returnDocument: 'after' }); + const cleanupResult = await db.collections.users_collection.findOneAndUpdate({ username: SEED_STANDARD_USER_USERNAME }, { $set: { email: SEED_STANDARD_USER_EMAIL, resetPasswordRequests: [] } }, { returnDocument: 'after' }); expect(cleanupResult).not.toBeNull(); expect(cleanupResult.email).toBe(SEED_STANDARD_USER_EMAIL); }, 30000); @@ -288,7 +288,7 @@ describe('USERS API', () => { timeOfRequest: new Date().valueOf(), used: false }; - const updateResult = await db.collections!.users_collection.findOneAndUpdate( + const updateResult = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [resetPWrequest] } } ); @@ -311,7 +311,7 @@ describe('USERS API', () => { expect(res.body.data.resetPassword).toBe(null); /* cleanup */ - const updateResult2 = await db.collections!.users_collection.findOneAndUpdate( + const updateResult2 = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [] } } ); @@ -327,7 +327,7 @@ describe('USERS API', () => { timeOfRequest: new Date().valueOf(), used: false }; - const updateResult = await db.collections!.users_collection.findOneAndUpdate( + const updateResult = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [resetPWrequest] } } ); @@ -350,7 +350,7 @@ describe('USERS API', () => { expect(res.body.data.resetPassword).toBe(null); /* cleanup */ - const updateResult2 = await db.collections!.users_collection.findOneAndUpdate( + const updateResult2 = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [] } } ); @@ -364,7 +364,7 @@ describe('USERS API', () => { timeOfRequest: new Date().valueOf() - 60 * 60 * 1000 /* (default expiry: 1hr) */ - 1, used: false }; - const updateResult = await db.collections!.users_collection.findOneAndUpdate( + const updateResult = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [resetPWrequest] } } ); @@ -387,7 +387,7 @@ describe('USERS API', () => { expect(res.body.data.resetPassword).toBe(null); /* cleanup */ - const updateResult2 = await db.collections!.users_collection.findOneAndUpdate( + const updateResult2 = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [] } } ); @@ -409,7 +409,7 @@ describe('USERS API', () => { used: false } ]; - const updateResult = await db.collections!.users_collection.findOneAndUpdate( + const updateResult = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: resetPWrequests } } ); @@ -432,7 +432,7 @@ describe('USERS API', () => { expect(res.body.data.resetPassword).toBe(null); /* cleanup */ - const updateResult2 = await db.collections!.users_collection.findOneAndUpdate( + const updateResult2 = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [] } } ); @@ -446,7 +446,7 @@ describe('USERS API', () => { timeOfRequest: new Date().valueOf(), used: false }; - const updateResult = await db.collections!.users_collection.findOneAndUpdate( + const updateResult = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [resetPWrequest] } } ); @@ -467,7 +467,7 @@ describe('USERS API', () => { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.resetPassword).toEqual({ successful: true }); - const checkedUser = await db.collections!.users_collection.findOne({ username: SEED_STANDARD_USER_USERNAME }); + const checkedUser = await db.collections.users_collection.findOne({ username: SEED_STANDARD_USER_USERNAME }); await connectAgent(newloggedoutuser, SEED_STANDARD_USER_USERNAME, 'securepasswordrighthere', checkedUser.otpSecret); const whoami = await newloggedoutuser.post('/graphql').send({ query: print(WHO_AM_I) }); expect(whoami.status).toBe(200); @@ -495,7 +495,7 @@ describe('USERS API', () => { }); /* cleanup */ - const updateResult2 = await db.collections!.users_collection.findOneAndUpdate( + const updateResult2 = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [], password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi' } } ); @@ -516,7 +516,7 @@ describe('USERS API', () => { used: false } ]; - const updateResult = await db.collections!.users_collection.findOneAndUpdate( + const updateResult = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: resetPWrequest } } ); @@ -535,7 +535,7 @@ describe('USERS API', () => { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.resetPassword).toEqual({ successful: true }); - const checkedUser = await db.collections!.users_collection.findOne({ username: SEED_STANDARD_USER_USERNAME }); + const checkedUser = await db.collections.users_collection.findOne({ username: SEED_STANDARD_USER_USERNAME }); await connectAgent(newloggedoutuser, SEED_STANDARD_USER_USERNAME, 'securepasswordrighthere', checkedUser.otpSecret); const whoami = await newloggedoutuser.post('/graphql').send({ query: print(WHO_AM_I) }); expect(whoami.status).toBe(200); @@ -579,7 +579,7 @@ describe('USERS API', () => { expect(resAgain.body.data.resetPassword).toEqual(null); /* cleanup */ - const updateResult2 = await db.collections!.users_collection.findOneAndUpdate( + const updateResult2 = await db.collections.users_collection.findOneAndUpdate( { username: SEED_STANDARD_USER_USERNAME }, { $set: { resetPasswordRequests: [], password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi' } } ); diff --git a/packages/itmat-interface/tsconfig.json b/packages/itmat-interface/tsconfig.json index 7f9a7d526..17edd9f00 100644 --- a/packages/itmat-interface/tsconfig.json +++ b/packages/itmat-interface/tsconfig.json @@ -1,5 +1,15 @@ { "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noImplicitAny": false, + "noFallthroughCasesInSwitch": true + }, "files": [], "include": [], "references": [ diff --git a/packages/itmat-job-executor/src/curation/CSVCurator.ts b/packages/itmat-job-executor/src/curation/CSVCurator.ts index 062d9adaf..ffde06f12 100644 --- a/packages/itmat-job-executor/src/curation/CSVCurator.ts +++ b/packages/itmat-job-executor/src/curation/CSVCurator.ts @@ -1,7 +1,7 @@ import * as csvparse from 'csv-parse'; import { Collection } from 'mongodb'; import { Writable, Readable } from 'stream'; -import { IFieldDescriptionObject, IDataEntry, IJobEntry } from '@itmat-broker/itmat-types'; +import { IFieldDescriptionObject, IDataEntry, IJobEntry, IFieldEntry } from '@itmat-broker/itmat-types'; /* update should be audit trailed */ /* eid is not checked whether it is unique in the file: this is assumed to be enforced by database */ @@ -25,8 +25,8 @@ export class CSVCurator { private readonly dataCollection: Collection, private readonly incomingWebStream: Readable, private readonly parseOptions: csvparse.Options = { delimiter: ',', quote: '"', relax_column_count: true, skip_records_with_error: true }, - private readonly job: IJobEntry, - private readonly fieldsList: any[] + private readonly job: IJobEntry, + private readonly fieldsList: IFieldEntry[] ) { this._header = [null]; // the first element is subject id this._numOfSubj = 0; @@ -46,7 +46,7 @@ export class CSVCurator { const csvparseStream = csvparse.parse(this.parseOptions); const parseStream = this.incomingWebStream.pipe(csvparseStream); // piping the incoming stream to a parser stream - csvparseStream.on('skip', (error: any) => { + csvparseStream.on('skip', (error) => { lineNum++; this._errored = true; this._errors.push(error.toString()); @@ -54,79 +54,83 @@ export class CSVCurator { const uploadWriteStream: NodeJS.WritableStream = new Writable({ objectMode: true, - write: async (line, _, next) => { - if (isHeader) { - lineNum++; - const { error, parsedHeader, subjectIdIndex, visitIdIndex } = processHeader(line, this.fieldsList); - if (error) { - this._errored = true; - this._errors.push(...error); - } - this._header = parsedHeader; - this._subjectIdIndex = subjectIdIndex; - this._visitIdIndex = visitIdIndex; - isHeader = false; - next(); - } else { - const currentLineNum = ++lineNum; - subjectString.push(line[this._subjectIdIndex]); - const { error, dataEntry } = processDataRow({ - subjectIdIndex: this._subjectIdIndex, - visitIdIndex: this._visitIdIndex, - lineNum: currentLineNum, - row: line, - parsedHeader: this._header, - job: this.job - }); + write: (line, _, next) => { + (async () => { + if (isHeader) { + lineNum++; + const { error, parsedHeader, subjectIdIndex, visitIdIndex } = processHeader(line, this.fieldsList); + if (error) { + this._errored = true; + this._errors.push(...error); + } + this._header = parsedHeader; + this._subjectIdIndex = subjectIdIndex; + this._visitIdIndex = visitIdIndex; + isHeader = false; + next(); + } else { + const currentLineNum = ++lineNum; + subjectString.push(line[this._subjectIdIndex]); + const { error, dataEntry } = processDataRow({ + subjectIdIndex: this._subjectIdIndex, + visitIdIndex: this._visitIdIndex, + lineNum: currentLineNum, + row: line, + parsedHeader: this._header, + job: this.job + }); - if (error) { - this._errored = true; - this._errors.push(...error); - } + if (error) { + this._errored = true; + this._errors.push(...error); + } - if (this._errored) { - next(); - return; - } + if (this._errored) { + next(); + return; + } - // // TO_DO { - // curator-defined constraints for values - // } - const matchObj = { - m_subjectId: dataEntry.m_subjectId, - m_visitId: dataEntry.m_visitId, - m_versionId: dataEntry.m_versionId, - m_studyId: dataEntry.m_studyId - }; - bulkInsert.find(matchObj).upsert().updateOne({ $set: dataEntry }); + // // TO_DO { + // curator-defined constraints for values + // } + const matchObj = { + m_subjectId: dataEntry.m_subjectId, + m_visitId: dataEntry.m_visitId, + m_versionId: dataEntry.m_versionId, + m_studyId: dataEntry.m_studyId + }; + bulkInsert.find(matchObj).upsert().updateOne({ $set: dataEntry }); - this._numOfSubj++; - if (this._numOfSubj > 999) { - this._numOfSubj = 0; - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err); - } - }); - bulkInsert = this.dataCollection.initializeUnorderedBulkOp(); + this._numOfSubj++; + if (this._numOfSubj > 999) { + this._numOfSubj = 0; + await bulkInsert.execute().catch((err) => { + if (err) { + //TODO Handle error recording + console.error(err); + } + }); + bulkInsert = this.dataCollection.initializeUnorderedBulkOp(); + } + next(); } - next(); - } + })().catch(() => { return; }); } }); - uploadWriteStream.on('finish', async () => { - if (!this._errored) { - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err); - } - }); - } + uploadWriteStream.on('finish', () => { + (async () => { + if (!this._errored) { + await bulkInsert.execute().catch((err) => { + if (err) { + //TODO Handle error recording + console.error(err); + } + }); + } - resolve(this._errors); + resolve(this._errors); + })().catch(() => { return; }); }); parseStream.pipe(uploadWriteStream); @@ -135,14 +139,14 @@ export class CSVCurator { } -export function processHeader(header: string[], fieldsList: any[]): { error?: string[], parsedHeader: any[], subjectIdIndex: number, visitIdIndex: number } { +export function processHeader(header: string[], fieldsList: IFieldEntry[]) { /* pure function */ /* headerline is ['eid', 1@0.0, 2@0.1:c] */ /* returns a parsed object array and error (undefined if no error) */ // const fieldstrings: string[] = []; const error: string[] = []; - const parsedHeader: any[] = Array(header.length); + const parsedHeader = Array(header.length); let colNum = 0; const fields: string[] = []; const validatedFieldNames = fieldsList.map(el => el.fieldName); @@ -183,11 +187,11 @@ export function processHeader(header: string[], fieldsList: any[]): { error?: st return ({ parsedHeader: filteredParsedHeader, error: error.length === 0 ? undefined : error, subjectIdIndex, visitIdIndex }); } -export function processDataRow({ subjectIdIndex, visitIdIndex, lineNum, row, parsedHeader, job }: { subjectIdIndex: number, visitIdIndex: number, lineNum: number, row: string[], parsedHeader: any[], job: IJobEntry }): { error?: string[], dataEntry: Partial } { +export function processDataRow({ subjectIdIndex, visitIdIndex, lineNum, row, parsedHeader, job }: { subjectIdIndex: number, visitIdIndex: number, lineNum: number, row: string[], parsedHeader: (IFieldDescriptionObject | null)[], job: IJobEntry }) { /* pure function */ const error: string[] = []; let colIndex = 0; - const dataEntry: any = { + const dataEntry: Partial = { m_studyId: job.studyId, m_versionId: null, deleted: null @@ -225,13 +229,13 @@ export function processDataRow({ subjectIdIndex, visitIdIndex, lineNum, row, par colIndex++; continue; } - const { fieldId, dataType, possibleValues } = parsedHeader[colIndex - 1]; + const { fieldId, dataType, possibleValues } = parsedHeader[colIndex - 1] ?? {}; if (fieldId === undefined) { colIndex++; continue; } /* adding value to dataEntry */ - let value: any; + let value; try { if (each.toString() === '99999') { value = '99999'; @@ -239,7 +243,7 @@ export function processDataRow({ subjectIdIndex, visitIdIndex, lineNum, row, par switch (dataType) { case 'cat': {// categorical const code = parseInt(each, 10).toString(); - if (!possibleValues.map((el: any) => el.code).includes(code)) { + if (!possibleValues.map((el) => el.code).includes(code)) { error.push(`Line ${lineNum} column ${colIndex + 1}: Cannot parse '${each}' as categorical, value is illegal.`); colIndex++; continue; @@ -303,7 +307,7 @@ export function processDataRow({ subjectIdIndex, visitIdIndex, lineNum, row, par } } } - } catch (e: any) { + } catch (e) { error.push(e.toString()); continue; } diff --git a/packages/itmat-job-executor/src/curation/FieldCurator.ts b/packages/itmat-job-executor/src/curation/FieldCurator.ts index 504269405..462514f2a 100644 --- a/packages/itmat-job-executor/src/curation/FieldCurator.ts +++ b/packages/itmat-job-executor/src/curation/FieldCurator.ts @@ -3,6 +3,7 @@ import { Collection } from 'mongodb'; import { Writable, Readable } from 'stream'; import { v4 as uuid } from 'uuid'; import { IJobEntryForFieldCuration, IFieldEntry, enumValueType } from '@itmat-broker/itmat-types'; +import { CodeRecords } from '../jobHandlers/jobHandlerInterface'; /* update should be audit trailed */ /* eid is not checked whether it is unique in the file: this is assumed to be enforced by database */ @@ -15,11 +16,11 @@ export class FieldCurator { private _numOfFields: number; constructor( - private readonly fieldCollection: Collection, + private readonly fieldCollection: Collection, private readonly incomingWebStream: Readable, private readonly parseOptions: csvparse.Options = { delimiter: ',', quote: '"', relax_column_count: true, skip_records_with_error: true }, private readonly job: IJobEntryForFieldCuration, - private readonly codesObj: any + private readonly codesObj: CodeRecords ) { this._errored = false; this._errors = []; @@ -41,7 +42,7 @@ export class FieldCurator { const csvparseStream = csvparse.parse(this.parseOptions); const parseStream = this.incomingWebStream.pipe(csvparseStream); // piping the incoming stream to a parser stream - csvparseStream.on('skip', (error: any) => { + csvparseStream.on('skip', (error) => { lineNum++; this._errored = true; this._errors.push(error.toString()); @@ -49,74 +50,78 @@ export class FieldCurator { const uploadWriteStream: NodeJS.WritableStream = new Writable({ objectMode: true, - write: async (line, _, next) => { - if (isHeader) { - if (line.length !== CORRECT_NUMBER_OF_COLUMN) { - this._errored = true; - this._errors.push(`Line ${lineNum}: expected ${CORRECT_NUMBER_OF_COLUMN} fields but got ${line.length}`); - } - isHeader = false; - lineNum++; - next(); - } else { - const currentLineNum = ++lineNum; - fieldIdString.push(line[0]); - const { error, dataEntry } = processFieldRow({ - lineNum: currentLineNum, - row: line, - job: this.job, - codes: this.codesObj - }); - - if (error) { - this._errored = true; - this._errors.push(...error); - } - - if (this._errored) { + write: (line, _, next) => { + (async () => { + if (isHeader) { + if (line.length !== CORRECT_NUMBER_OF_COLUMN) { + this._errored = true; + this._errors.push(`Line ${lineNum}: expected ${CORRECT_NUMBER_OF_COLUMN} fields but got ${line.length}`); + } + isHeader = false; + lineNum++; next(); - return; - } - - // // TO_DO { - // curator-defined constraints for values - // } - - bulkInsert.insert(dataEntry); - this._numOfFields++; - if (this._numOfFields > 999) { - this._numOfFields = 0; - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err); - } + } else { + const currentLineNum = ++lineNum; + fieldIdString.push(line[0]); + const { error, dataEntry } = processFieldRow({ + lineNum: currentLineNum, + row: line, + job: this.job, + codes: this.codesObj }); - bulkInsert = this.fieldCollection.initializeUnorderedBulkOp(); + + if (error) { + this._errored = true; + this._errors.push(...error); + } + + if (this._errored) { + next(); + return; + } + + // // TO_DO { + // curator-defined constraints for values + // } + + bulkInsert.insert(dataEntry); + this._numOfFields++; + if (this._numOfFields > 999) { + this._numOfFields = 0; + await bulkInsert.execute().catch((err) => { + if (err) { + //TODO Handle error recording + console.error(err); + } + }); + bulkInsert = this.fieldCollection.initializeUnorderedBulkOp(); + } + next(); } - next(); - } + })().catch(() => { return; }); } }); - uploadWriteStream.on('finish', async () => { - /* check for subject Id duplicate */ - const set = new Set(fieldIdString); - if (set.size !== fieldIdString.length) { - this._errors.push('Data Error: There is duplicate field id.'); - this._errored = true; - } + uploadWriteStream.on('finish', () => { + (async () => { + /* check for subject Id duplicate */ + const set = new Set(fieldIdString); + if (set.size !== fieldIdString.length) { + this._errors.push('Data Error: There is duplicate field id.'); + this._errored = true; + } - if (!this._errored) { - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err); - } - }); - } + if (!this._errored) { + await bulkInsert.execute().catch((err) => { + if (err) { + //TODO Handle error recording + console.error(err); + } + }); + } - resolve(this._errors); + resolve(this._errors); + })().catch(() => { return; }); }); parseStream.pipe(uploadWriteStream); @@ -124,10 +129,10 @@ export class FieldCurator { } } -export function processFieldRow({ lineNum, row, job, codes }: { lineNum: number, row: string[], job: IJobEntryForFieldCuration, codes: any }): { error?: string[], dataEntry: IFieldEntry } { +export function processFieldRow({ lineNum, row, job, codes }: { lineNum: number, row: string[], job: IJobEntryForFieldCuration, codes: CodeRecords }): { error?: string[], dataEntry: IFieldEntry } { /* pure function */ const error: string[] = []; - const dataEntry_nouse: any = {}; + const dataEntry_nouse: Partial = {}; const THESE_COL_CANT_BE_EMPTY: Record = { 0: 'FieldID', 6: 'Field Name', @@ -169,7 +174,7 @@ export function processFieldRow({ lineNum, row, job, codes }: { lineNum: number, // datatypes: if fieldid exist in codes, then convert datatype to categorical let dataType; - let possibleValues: any[] = []; + let possibleValues = []; if (codes[row[0].toString()] !== undefined) { dataType = dataTypeNames.categorical; possibleValues = codes[row[0].toString()]; diff --git a/packages/itmat-job-executor/src/curation/JSONCurator.ts b/packages/itmat-job-executor/src/curation/JSONCurator.ts index af1a7d8a4..19cfbb724 100644 --- a/packages/itmat-job-executor/src/curation/JSONCurator.ts +++ b/packages/itmat-job-executor/src/curation/JSONCurator.ts @@ -1,7 +1,7 @@ import { Collection } from 'mongodb'; import { Writable, Readable } from 'stream'; import JSONStream from 'JSONStream'; -import { IFieldDescriptionObject, IDataEntry, IJobEntry } from '@itmat-broker/itmat-types'; +import { IFieldDescriptionObject, IDataEntry, IJobEntry, IFieldEntry } from '@itmat-broker/itmat-types'; /* update should be audit trailed */ /* eid is not checked whether it is unique in the file: this is assumed to be enforced by database */ @@ -24,8 +24,8 @@ export class JSONCurator { constructor( private readonly dataCollection: Collection, private readonly incomingWebStream: Readable, - private readonly job: IJobEntry, - private readonly fieldsList: any[] + private readonly job: IJobEntry, + private readonly fieldsList: IFieldEntry[] ) { this._header = [null]; // the first element is subject id this._numOfSubj = 0; @@ -45,75 +45,79 @@ export class JSONCurator { const jsonstream = JSONStream.parse([{}]); const uploadWriteStream: NodeJS.WritableStream = new Writable({ objectMode: true, - write: async (chunk, _, callback) => { - objectNum++; - if (isHeader) { + write: (chunk, _, callback) => { + (async () => { objectNum++; - const { error, parsedHeader, subjectIdIndex, visitIdIndex } = processJSONHeader(chunk, this.fieldsList); - if (error) { - this._errored = true; - this._errors.push(...error); - } - this._header = parsedHeader; - this._subjectIdIndex = subjectIdIndex; - this._visitIdIndex = visitIdIndex; - isHeader = false; + if (isHeader) { + objectNum++; + const { error, parsedHeader, subjectIdIndex, visitIdIndex } = processJSONHeader(chunk, this.fieldsList); + if (error) { + this._errored = true; + this._errors.push(...error); + } + this._header = parsedHeader; + this._subjectIdIndex = subjectIdIndex; + this._visitIdIndex = visitIdIndex; + isHeader = false; - } else { - subjectString.push(chunk[0]); - const { error, dataEntry } = processEachSubject({ - subjectIdIndex: this._subjectIdIndex, - visitIdIndex: this._visitIdIndex, - objectNum: objectNum, - subject: chunk, - parsedHeader: this._header, - job: this.job - }); - if (error) { - this._errored = true; - this._errors.push(...error); - } + } else { + subjectString.push(chunk[0]); + const { error, dataEntry } = processEachSubject({ + subjectIdIndex: this._subjectIdIndex, + visitIdIndex: this._visitIdIndex, + objectNum: objectNum, + subject: chunk, + parsedHeader: this._header, + job: this.job + }); + if (error) { + this._errored = true; + this._errors.push(...error); + } + + if (this._errored) { + callback(); + return; + } + const matchObj = { + m_subjectId: dataEntry.m_subjectId, + m_visitId: dataEntry.m_visitId, + m_versionId: dataEntry.m_versionId, + m_studyId: dataEntry.m_studyId + }; + bulkInsert.find(matchObj).upsert().updateOne({ $set: dataEntry }); + this._numOfSubj++; - if (this._errored) { - callback(); - return; } - const matchObj = { - m_subjectId: dataEntry.m_subjectId, - m_visitId: dataEntry.m_visitId, - m_versionId: dataEntry.m_versionId, - m_studyId: dataEntry.m_studyId - }; - bulkInsert.find(matchObj).upsert().updateOne({ $set: dataEntry }); - this._numOfSubj++; + if (this._numOfSubj > 999) { + this._numOfSubj = 0; + await bulkInsert.execute().catch((err) => { + if (err) { + //TODO Handle error recording + console.error(err, err?.getWriteErrors?.()); + return; + } + }); + bulkInsert = this.dataCollection.initializeUnorderedBulkOp(); + } + callback(); + })().catch(() => { return; }); + } + }); - } - if (this._numOfSubj > 999) { - this._numOfSubj = 0; + uploadWriteStream.on('finish', () => { + (async () => { + if (!this._errored) { await bulkInsert.execute().catch((err) => { if (err) { - //TODO Handle error recording - console.error(err, err?.getWriteErrors?.()); + //TOTO Handle error recording + console.error(err); return; } }); - bulkInsert = this.dataCollection.initializeUnorderedBulkOp(); } - callback(); - } - }); - - uploadWriteStream.on('finish', async () => { - if (!this._errored) { - await bulkInsert.execute().catch((err) => { - if (err) { - //TOTO Handle error recording - console.error(err); - return; - } - }); - } - resolve(this._errors); + resolve(this._errors); + })().catch(() => { return; }); }); this.incomingWebStream.pipe(jsonstream); jsonstream.pipe(uploadWriteStream); @@ -122,14 +126,14 @@ export class JSONCurator { } -export function processJSONHeader(header: string[], fieldsList: any[]): { error?: string[], parsedHeader: any[], subjectIdIndex: number, visitIdIndex: number } { +export function processJSONHeader(header: string[], fieldsList: IFieldEntry[]) { /* pure function */ /* headerObject is ['eid', 1@0.0, 2@0.1:c] */ /* returns a parsed object array and error (undefined if no error) */ // const fieldstrings: string[] = []; const error: string[] = []; - const parsedHeader: any[] = Array(header.length); + const parsedHeader = Array(header.length); let colNum = 0; const fields: string[] = []; const validatedFieldNames = fieldsList.map(el => el.fieldName); @@ -170,11 +174,11 @@ export function processJSONHeader(header: string[], fieldsList: any[]): { error? return ({ parsedHeader: filteredParsedHeader, error: error.length === 0 ? undefined : error, subjectIdIndex, visitIdIndex }); } -export function processEachSubject({ subjectIdIndex, visitIdIndex, objectNum, subject, parsedHeader, job }: { subjectIdIndex: number, visitIdIndex: number, objectNum: number, subject: string[], parsedHeader: any[], job: IJobEntry }): { error?: string[], dataEntry: Partial } { +export function processEachSubject({ subjectIdIndex, visitIdIndex, objectNum, subject, parsedHeader, job }: { subjectIdIndex: number, visitIdIndex: number, objectNum: number, subject: string[], parsedHeader: IFieldDescriptionObject[], job: IJobEntry }): { error?: string[], dataEntry: Partial } { /* pure function */ const error: string[] = []; let colIndex = 0; - const dataEntry: any = { + const dataEntry: Partial = { m_studyId: job.studyId, deleted: null }; @@ -217,7 +221,7 @@ export function processEachSubject({ subjectIdIndex, visitIdIndex, objectNum, su continue; } /* adding value to dataEntry */ - let value: any; + let value; try { if (each.toString() === '99999') { value = '99999'; @@ -225,7 +229,7 @@ export function processEachSubject({ subjectIdIndex, visitIdIndex, objectNum, su switch (dataType) { case 'cat': {// categorical const code = parseInt(each, 10).toString(); - if (!possibleValues.map((el: any) => el.code).includes(code)) { + if (!possibleValues.map((el) => el.code).includes(code)) { error.push(`Object ${objectNum} column ${colIndex + 1}: Cannot parse '${each}' as categorical, value is illegal.`); colIndex++; continue; @@ -289,7 +293,7 @@ export function processEachSubject({ subjectIdIndex, visitIdIndex, objectNum, su } } } - } catch (e: any) { + } catch (e) { error.push(e.toString()); continue; } diff --git a/packages/itmat-job-executor/src/database/database.ts b/packages/itmat-job-executor/src/database/database.ts index 2c8e14699..65fbbd5f0 100644 --- a/packages/itmat-job-executor/src/database/database.ts +++ b/packages/itmat-job-executor/src/database/database.ts @@ -1,11 +1,10 @@ -import type { IFile, IJobEntry, IProject, IQueryEntry, IDataEntry } from '@itmat-broker/itmat-types'; +import type { IFile, IJobEntry, IProject, IQueryEntry, IDataEntry, IFieldEntry } from '@itmat-broker/itmat-types'; import { Database as DatabaseBase, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; import type { Collection } from 'mongodb'; export interface IDatabaseConfig extends IDatabaseBaseConfig { collections: { jobs_collection: string, - UKB_coding_collection: string, field_dictionary_collection: string, files_collection: string, data_collection: string, @@ -15,9 +14,8 @@ export interface IDatabaseConfig extends IDatabaseBaseConfig { } export interface IDatabaseCollectionConfig { - jobs_collection: Collection>, - UKB_coding_collection: Collection, - field_dictionary_collection: Collection, + jobs_collection: Collection, + field_dictionary_collection: Collection, files_collection: Collection, data_collection: Collection, queries_collection: Collection, diff --git a/packages/itmat-job-executor/src/index.ts b/packages/itmat-job-executor/src/index.ts index b40e47156..2e223593d 100644 --- a/packages/itmat-job-executor/src/index.ts +++ b/packages/itmat-job-executor/src/index.ts @@ -60,7 +60,8 @@ function serverSpinning() { serverSpinning(); -declare const module: any; +// eslint-disable-next-line @typescript-eslint/no-explicit-any +declare const module; if (module.hot) { module.hot.accept('./index', serverSpinning); module.hot.accept('./jobExecutorRunner', serverSpinning); diff --git a/packages/itmat-job-executor/src/jobDispatch/dispatcher.ts b/packages/itmat-job-executor/src/jobDispatch/dispatcher.ts index ba276419b..f939e36da 100644 --- a/packages/itmat-job-executor/src/jobDispatch/dispatcher.ts +++ b/packages/itmat-job-executor/src/jobDispatch/dispatcher.ts @@ -19,7 +19,7 @@ export class JobDispatcher { delete this._handlerCollection[jobType]; } - public async dispatch(job: IJobEntry): Promise { + public async dispatch(job: IJobEntry): Promise { if (!this._handlerCollection[job.jobType]) { //TODO set job to UNPROCESSED return; diff --git a/packages/itmat-job-executor/src/jobExecutorRunner.ts b/packages/itmat-job-executor/src/jobExecutorRunner.ts index dd488dd8c..9379aca06 100644 --- a/packages/itmat-job-executor/src/jobExecutorRunner.ts +++ b/packages/itmat-job-executor/src/jobExecutorRunner.ts @@ -45,7 +45,7 @@ class ITMATJobExecutorRunner extends Runner { const poller = new JobPoller({ identity: uuid(), - jobCollection: db.collections!.jobs_collection, + jobCollection: db.collections.jobs_collection, pollingInterval: this.config.pollingInterval, action: jobDispatcher.dispatch }); @@ -54,7 +54,7 @@ class ITMATJobExecutorRunner extends Runner { // Return the Express application return resolve(_this.router); - }).catch((err: any) => reject(err)); + }).catch((err) => reject(err)); }); } diff --git a/packages/itmat-job-executor/src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts b/packages/itmat-job-executor/src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts index 9e1766519..d53b52549 100644 --- a/packages/itmat-job-executor/src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts +++ b/packages/itmat-job-executor/src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts @@ -16,7 +16,7 @@ export class UKB_CSV_UPLOAD_Handler extends JobHandler { return this._instance; } - public async execute(job: IJobEntry) { + public async execute(job: IJobEntry) { // check if study version exists: checked by resolvers // check if fieldTreeId version exists: checked by resolvers @@ -27,11 +27,11 @@ export class UKB_CSV_UPLOAD_Handler extends JobHandler { error: string | string[]; }> = []; // get fieldid info from database - const fieldsList = await db.collections!.field_dictionary_collection.find({ studyId: job.studyId }).toArray(); + const fieldsList = await db.collections.field_dictionary_collection.find({ studyId: job.studyId }).toArray(); for (const fileId of job.receivedFiles) { try { - const file = await db.collections!.files_collection.findOne({ id: fileId, deleted: null })!; + const file = await db.collections.files_collection.findOne({ id: fileId, deleted: null }); if (!file) { errorsList.push({ fileId: fileId, error: 'file does not exist' }); continue; @@ -42,7 +42,7 @@ export class UKB_CSV_UPLOAD_Handler extends JobHandler { const filteredFieldsList = fieldsList.filter(el => el.tableName === tableName); const fileStream: Readable = await objStore.downloadFile(job.studyId, file.uri); const csvcurator = new CSVCurator( - db.collections!.data_collection, + db.collections.data_collection, fileStream, undefined, job, @@ -51,9 +51,9 @@ export class UKB_CSV_UPLOAD_Handler extends JobHandler { const errors = await csvcurator.processIncomingStreamAndUploadToMongo(); if (errors.length !== 0) { errorsList.push({ fileId: file.id, fileName: file.fileName, error: errors }); - await db.collections!.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'error', error: errorsList as any } }); + await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'ERROR', error: errorsList } }); } else { - await db.collections!.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'finished' } }); + await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'FINISHED' } }); } } catch (e) { throw new Error(); diff --git a/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts b/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts index 4e77da051..8ab888779 100644 --- a/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts +++ b/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts @@ -1,6 +1,6 @@ import { db } from '../database/database'; import { objStore } from '../objStore/objStore'; -import { JobHandler } from './jobHandlerInterface'; +import { CodeRecords, JobHandler } from './jobHandlerInterface'; import { IJobEntryForFieldCuration } from '@itmat-broker/itmat-types'; import { FieldCurator } from '../curation/FieldCurator'; import { Readable, Writable } from 'stream'; @@ -17,34 +17,34 @@ export class UKB_FIELD_INFO_UPLOAD_Handler extends JobHandler { } public async execute(job: IJobEntryForFieldCuration) { - const file = await db.collections!.files_collection.findOne({ id: job.receivedFiles[0], deleted: null })!; + const file = await db.collections.files_collection.findOne({ id: job.receivedFiles[0], deleted: null }); if (!file) { throw new Error('File does not exists.'); } - const codesFile = await db.collections!.files_collection.findOne({ fileName: 'prolific_Codes.csv' }); + const codesFile = await db.collections.files_collection.findOne({ fileName: 'prolific_Codes.csv' }); if (!codesFile) { throw new Error('Codes File does not exists.'); } const codesStream: Readable = await objStore.downloadFile(job.studyId, codesFile.uri); - const codesObj = processCodesFileStreamAndReturnList(codesStream); + const codesObj = await processCodesFileStreamAndReturnList(codesStream); const fileStream: Readable = await objStore.downloadFile(job.studyId, file.uri); const fieldcurator = new FieldCurator( - db.collections!.field_dictionary_collection, + db.collections.field_dictionary_collection, fileStream, undefined, job, codesObj ); - const errors = await fieldcurator.processIncomingStreamAndUploadToMongo(); + const errors = (await fieldcurator.processIncomingStreamAndUploadToMongo()).map(err => new Error(err)); if (errors.length !== 0) { - await db.collections!.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'error', error: errors as any } }); + await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'ERROR', error: errors } }); return; } else { - await db.collections!.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'finished' } }); + await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'FINISHED' } }); // await this.updateFieldTreesInMongo(job, fieldTreeId); } @@ -53,11 +53,11 @@ export class UKB_FIELD_INFO_UPLOAD_Handler extends JobHandler { // public async updateFieldTreesInMongo(job: IJobEntryForFieldCuration, fieldTreeId: string) { // const queryObject = { 'id': job.studyId, 'deleted': null, 'dataVersions.id': job.data!.dataVersionId }; // const updateObject = { $push: { 'dataVersions.$.fieldTrees': fieldTreeId } }; - // return await db.collections!.studies_collection.findOneAndUpdate(queryObject, updateObject); + // return await db.collections.studies_collection.findOneAndUpdate(queryObject, updateObject); // } } -async function processCodesFileStreamAndReturnList(incomingStream: Readable): Promise { +async function processCodesFileStreamAndReturnList(incomingStream: Readable): Promise { const parseOptions: csvparse.Options = { delimiter: ',', quote: '"', relax_column_count: true, skip_records_with_error: true }; const csvparseStream = csvparse.parse(parseOptions); const parseStream = incomingStream.pipe(csvparseStream); @@ -66,12 +66,12 @@ async function processCodesFileStreamAndReturnList(incomingStream: Readable): Pr // }); let isHeader = true; - const codes: any = {}; + const codes: CodeRecords = {}; const CORRECT_NUMBER_OF_COLUMN = 4; const uploadWriteStream: NodeJS.WritableStream = new Writable({ objectMode: true, - write: async (line, _, next) => { + write: (line, _, next) => { if (isHeader) { if (line.length !== CORRECT_NUMBER_OF_COLUMN) { throw console.error('Line length not equal to 4.'); @@ -93,7 +93,7 @@ async function processCodesFileStreamAndReturnList(incomingStream: Readable): Pr } }); - uploadWriteStream.on('finish', async () => { + uploadWriteStream.on('finish', () => { //TODO /* check for subject Id duplicate */ }); diff --git a/packages/itmat-job-executor/src/jobHandlers/UKB_JSON_UPLOAD_Handler.ts b/packages/itmat-job-executor/src/jobHandlers/UKB_JSON_UPLOAD_Handler.ts index 597735f56..d14be428f 100644 --- a/packages/itmat-job-executor/src/jobHandlers/UKB_JSON_UPLOAD_Handler.ts +++ b/packages/itmat-job-executor/src/jobHandlers/UKB_JSON_UPLOAD_Handler.ts @@ -16,18 +16,18 @@ export class UKB_JSON_UPLOAD_Handler extends JobHandler { return this._instance; } - public async execute(job: IJobEntry) { + public async execute(job: IJobEntry) { const errorsList: Array<{ fileId: string; fileName?: string; error: string | string[]; }> = []; // get fieldid info from database - const fieldsList = await db.collections!.field_dictionary_collection.find({ studyId: job.studyId }).toArray(); + const fieldsList = await db.collections.field_dictionary_collection.find({ studyId: job.studyId }).toArray(); for (const fileId of job.receivedFiles) { try { - const file = await db.collections!.files_collection.findOne({ id: fileId, deleted: null })!; + const file = await db.collections.files_collection.findOne({ id: fileId, deleted: null }); if (!file) { errorsList.push({ fileId: fileId, error: 'file does not exist' }); continue; @@ -38,7 +38,7 @@ export class UKB_JSON_UPLOAD_Handler extends JobHandler { const filteredFieldsList = fieldsList.filter(el => el.tableName === tableName); const fileStream: Readable = await objStore.downloadFile(job.studyId, file.uri); const jsoncurator = new JSONCurator( - db.collections!.data_collection, + db.collections.data_collection, fileStream, job, filteredFieldsList @@ -46,9 +46,9 @@ export class UKB_JSON_UPLOAD_Handler extends JobHandler { const errors = await jsoncurator.processIncomingStreamAndUploadToMongo(); if (errors.length !== 0) { errorsList.push({ fileId: file.id, fileName: file.fileName, error: errors }); - await db.collections!.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'error', error: errorsList as any } }); + await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'ERROR', error: errorsList } }); } else { - await db.collections!.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'finished' } }); + await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'FINISHED' } }); } } catch (e) { throw new Error(); diff --git a/packages/itmat-job-executor/src/jobHandlers/jobHandlerInterface.ts b/packages/itmat-job-executor/src/jobHandlers/jobHandlerInterface.ts index ddd9004ac..6e3eec11a 100644 --- a/packages/itmat-job-executor/src/jobHandlers/jobHandlerInterface.ts +++ b/packages/itmat-job-executor/src/jobHandlers/jobHandlerInterface.ts @@ -8,5 +8,10 @@ export abstract class JobHandler { public abstract getInstance(): Promise; /* called by job dispatcher */ - public abstract execute(document: IJobEntry): Promise; + public abstract execute(document: IJobEntry): Promise; } + +export type CodeRecords = Record> \ No newline at end of file diff --git a/packages/itmat-job-executor/src/query/pipeLineGenerator.ts b/packages/itmat-job-executor/src/query/pipeLineGenerator.ts index fc9213416..5764ddc4c 100644 --- a/packages/itmat-job-executor/src/query/pipeLineGenerator.ts +++ b/packages/itmat-job-executor/src/query/pipeLineGenerator.ts @@ -6,6 +6,8 @@ // * @constructor // */ +import { ICohortSelection, IEquationDescription, IQueryEntry, IStudyDataVersion } from '@itmat-broker/itmat-types'; + class PipelineGenerator { constructor(private readonly config = {}) { } @@ -45,7 +47,7 @@ class PipelineGenerator { } } */ - public buildPipeline(query: any, studyId: string, availableDataVersions: any) { + public buildPipeline(query: IQueryEntry['queryString'], studyId: string, availableDataVersions: Array) { // check query, then decide whether to parse the query if (query['data_requested'] === undefined || query['cohort'] === undefined || query['new_fields'] === undefined) { return null; @@ -56,16 +58,16 @@ class PipelineGenerator { const fields = { _id: 0, m_subjectId: 1, m_visitId: 1 }; // We send back the requested fields - query.data_requested.forEach((field: any) => { - (fields as any)[field] = 1; + query.data_requested.forEach((field) => { + fields[field] = 1; }); const addFields = {}; // We send back the newly created derived fields by default if (query.new_fields.length > 0) { - query.new_fields.forEach((field: any) => { + query.new_fields.forEach((field) => { if (field.op === 'derived') { - (fields as any)[field.name] = 1; - (addFields as any)[field.name] = this._createNewField(field.value); + fields[field.name] = 1; + addFields[field.name] = this._createNewField(field.value); } else { return 'Error'; } @@ -73,8 +75,8 @@ class PipelineGenerator { } let match = {}; if (query.cohort.length > 1) { - const subqueries: any = []; - query.cohort.forEach((subcohort: any) => { + const subqueries = []; + query.cohort.forEach((subcohort) => { // addFields. subqueries.push(this._translateCohort(subcohort)); }); @@ -82,7 +84,7 @@ class PipelineGenerator { } else { match = this._translateCohort(query.cohort[0]); } - let dataVersionsFilter: any; + let dataVersionsFilter; if (availableDataVersions == null) { dataVersionsFilter = null; } else { @@ -118,7 +120,7 @@ class PipelineGenerator { * @return json formated in the mongo format in the pipeline stage addfield * @private */ - private _createNewField(expression: any) { + private _createNewField(expression: IEquationDescription) { let newField = {}; switch (expression.op) { case '*': @@ -167,69 +169,69 @@ class PipelineGenerator { * @returns {boolean} * @private */ - private _isEmptyObject(obj: any) { - return !Object.keys(obj).length; + private _isEmptyObject(obj: unknown) { + return obj ? !Object.keys(obj).length : true; } /** * @fn _translateCohort * @desc Tranforms a query into a mongo query. - * @param cohort + * @param cohorts * @private */ - private _translateCohort(cohort: any) { - const match = {}; + private _translateCohort(cohorts: ICohortSelection[]) { + const match: Record = {}; - cohort.forEach(function (select: any) { + cohorts.forEach(function (select) { switch (select.op) { case '=': // select.value must be an array - (match as any)[select.field] = { $in: [select.value] }; + match[select.field] = { $in: [select.value] }; break; case '!=': // select.value must be an array - (match as any)[select.field] = { $ne: [select.value] }; + match[select.field] = { $ne: [select.value] }; break; case '<': // select.value must be a float - (match as any)[select.field] = { $lt: parseFloat(select.value) }; + match[select.field] = { $lt: parseFloat(select.value) }; break; case '>': // select.value must be a float - (match as any)[select.field] = { $gt: parseFloat(select.value) }; + match[select.field] = { $gt: parseFloat(select.value) }; break; case 'derived': { // equation must only have + - * / const derivedOperation = select.value.split(' '); if (derivedOperation[0] === '=') { - (match as any)[select.field] = { $eq: parseFloat(select.value) }; + match[select.field] = { $eq: parseFloat(select.value) }; } if (derivedOperation[0] === '>') { - (match as any)[select.field] = { $gt: parseFloat(select.value) }; + match[select.field] = { $gt: parseFloat(select.value) }; } if (derivedOperation[0] === '<') { - (match as any)[select.field] = { $lt: parseFloat(select.value) }; + match[select.field] = { $lt: parseFloat(select.value) }; } break; } case 'exists': // We check if the field exists. This is to be used for checking if a patient // has an image - (match as any)[select.field] = { $exists: true }; + match[select.field] = { $exists: true }; break; case 'count': { // counts can only be positive. NB: > and < are inclusive e.g. < is <= const countOperation = select.value.split(' '); const countfield = select.field + '.count'; if (countOperation[0] === '=') { - (match as any)[countfield] = { $eq: parseInt(countOperation[1], 10) }; + match[countfield] = { $eq: parseInt(countOperation[1], 10) }; } if (countOperation[0] === '>') { - (match as any)[countfield] = { $gt: parseInt(countOperation[1], 10) }; + match[countfield] = { $gt: parseInt(countOperation[1], 10) }; } if (countOperation[0] === '<') { - (match as any)[countfield] = { $lt: parseInt(countOperation[1], 10) }; + match[countfield] = { $lt: parseInt(countOperation[1], 10) }; } break; } diff --git a/packages/itmat-job-executor/src/query/queryHandler.ts b/packages/itmat-job-executor/src/query/queryHandler.ts index 5eda74887..4e6d83b51 100644 --- a/packages/itmat-job-executor/src/query/queryHandler.ts +++ b/packages/itmat-job-executor/src/query/queryHandler.ts @@ -17,14 +17,14 @@ export class QueryHandler extends JobHandler { public async execute(job: IJobEntry<{ queryId: string[], projectId: string, studyId: string }>) { // get available data versions - const thisProject = await db.collections!.projects_collection.findOne({ id: job.data?.projectId }); + const thisProject = await db.collections.projects_collection.findOne({ id: job.data?.projectId }); const availableDataVersions = [thisProject!.dataVersion]; const queryId = job.data?.queryId[0]; - const queryString = await db.collections!.queries_collection.findOne({ id: queryId })!; - const pipeline = pipelineGenerator.buildPipeline(queryString!.queryString, job.studyId, availableDataVersions); + const queryString = await db.collections.queries_collection.findOne({ id: queryId }); + const pipeline = pipelineGenerator.buildPipeline(queryString.queryString, job.studyId, availableDataVersions); if (!pipeline) { /* update query status */ - await db.collections!.queries_collection.findOneAndUpdate({ queryId }, { + await db.collections.queries_collection.findOneAndUpdate({ queryId }, { $set: { error: 'Pipeline was not generated properly', status: 'FINISHED WITH ERROR' @@ -33,12 +33,12 @@ export class QueryHandler extends JobHandler { return; } try { - const result = await db.collections!.data_collection.aggregate(pipeline).toArray(); + const result = await db.collections.data_collection.aggregate(pipeline).toArray(); /* if the query is on a project, then we need to map the results m_eid */ if (job.projectId) { - const project = await db.collections!.projects_collection.findOne({ id: job.data?.projectId })!; + const project = await db.collections.projects_collection.findOne({ id: job.data?.projectId }); if (project === null || project === undefined) { - await db.collections!.queries_collection.findOneAndUpdate({ queryId }, { + await db.collections.queries_collection.findOneAndUpdate({ queryId }, { $set: { error: 'Project does not exist or has been deleted.', status: 'FINISHED WITH ERROR' @@ -52,22 +52,23 @@ export class QueryHandler extends JobHandler { el.m_eid = mapping[el.m_eid]; }); } - await db.collections!.queries_collection.findOneAndUpdate({ id: queryId }, { + await db.collections.queries_collection.findOneAndUpdate({ id: queryId }, { $set: { queryResult: JSON.stringify(result), status: 'FINISHED' } }); - await db.collections!.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'finished' } }); + await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'FINISHED' } }); return; - } catch (e: any) { + } catch (e: unknown) { + /* log */ - Logger.error(e.toString()); + Logger.error(e); /* update query status */ - await db.collections!.queries_collection.findOneAndUpdate({ queryId }, { + await db.collections.queries_collection.findOneAndUpdate({ queryId }, { $set: { - error: e.toString(), + error: e?.toString?.(), status: 'FINISHED WITH ERROR' } }); diff --git a/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts b/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts index 55994c77a..1eaa7a8b4 100644 --- a/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts +++ b/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts @@ -336,7 +336,7 @@ describe('FieldCuratorClass', () => { it('fieldcurator catches mixed errors', async () => { const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/FieldCurator_error5.tsv')); const mongoStub = new (MongoStub as any)(); - const jobEntry = stub>({ // subset of the IJobEntry interface + const jobEntry = stub({ // subset of the IJobEntry interface id: 'mockJobId', studyId: 'mockStudyId', data: { diff --git a/packages/itmat-models/tsconfig.json b/packages/itmat-models/tsconfig.json index da97c912e..2bc65d594 100644 --- a/packages/itmat-models/tsconfig.json +++ b/packages/itmat-models/tsconfig.json @@ -7,6 +7,7 @@ "noImplicitOverride": true, "noPropertyAccessFromIndexSignature": true, "noImplicitReturns": true, + "noImplicitAny": false, "noFallthroughCasesInSwitch": true }, "files": [], diff --git a/packages/itmat-setup/tsconfig.json b/packages/itmat-setup/tsconfig.json index bc0dc3f79..e7911c37f 100644 --- a/packages/itmat-setup/tsconfig.json +++ b/packages/itmat-setup/tsconfig.json @@ -13,6 +13,7 @@ "compilerOptions": { "forceConsistentCasingInFileNames": true, "strict": true, + "noImplicitAny": false, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true } diff --git a/packages/itmat-types/src/types/data.ts b/packages/itmat-types/src/types/data.ts index d4e125f8f..f86b2a4dc 100644 --- a/packages/itmat-types/src/types/data.ts +++ b/packages/itmat-types/src/types/data.ts @@ -5,8 +5,8 @@ export interface IDataEntry { m_visitId: string; // visit Id m_versionId: string | null; // data version Id m_fieldId: string; - metadata?: any; - value: any; + metadata?: Record; + value: unknown; uploadedBy?: string; uploadedAt: number; } diff --git a/packages/itmat-types/src/types/field.ts b/packages/itmat-types/src/types/field.ts index a85c8ab68..1ae984945 100644 --- a/packages/itmat-types/src/types/field.ts +++ b/packages/itmat-types/src/types/field.ts @@ -8,7 +8,7 @@ export interface IFieldEntry { possibleValues?: IValueDescription[]; unit?: string; comments?: string; - metadata?: any; + metadata?: Record; dateAdded: string; dateDeleted: string | null; dataVersion: string | null; diff --git a/packages/itmat-types/src/types/job.ts b/packages/itmat-types/src/types/job.ts index 667c34ff4..41d188362 100644 --- a/packages/itmat-types/src/types/job.ts +++ b/packages/itmat-types/src/types/job.ts @@ -9,8 +9,8 @@ export interface IJobEntry { requester: string; requestTime: number; receivedFiles: string[]; - status: string; - error: null | Record; + status: 'QUEUED' | 'PROCESSING' | 'FINISHED' | 'ERROR'; + error: null | Error | Error[] | Record | Record[]; cancelled: boolean; cancelledTime?: number; claimedBy?: string; @@ -18,6 +18,6 @@ export interface IJobEntry { data?: dataobj; } -export type IJobEntryForDataCuration = IJobEntry; +export type IJobEntryForDataCuration = IJobEntry; export type IJobEntryForFieldCuration = IJobEntry<{ tag: string }>; export type IJobEntryForQueryCuration = IJobEntry<{ queryId: string[], projectId: string, studyId: string }>; diff --git a/packages/itmat-types/src/types/log.ts b/packages/itmat-types/src/types/log.ts index bc41c6ca1..8950336bb 100644 --- a/packages/itmat-types/src/types/log.ts +++ b/packages/itmat-types/src/types/log.ts @@ -7,7 +7,7 @@ export interface ILogEntry { userAgent: USER_AGENT, logType: LOG_TYPE, actionType: LOG_ACTION, - actionData: any, + actionData: never, time: number, status: LOG_STATUS, errors: string | null diff --git a/packages/itmat-types/src/types/query.ts b/packages/itmat-types/src/types/query.ts index c7a07ff00..7af0639b8 100644 --- a/packages/itmat-types/src/types/query.ts +++ b/packages/itmat-types/src/types/query.ts @@ -1,6 +1,11 @@ export type IQueryEntry = { id: string; - queryString: any; + queryString: { + data_requested: string[]; + cohort: ICohortSelection[][]; + new_fields: INewFieldSelection[]; + table_requested?: string; + }; studyId: string; projectId?: string; requester: string; diff --git a/packages/itmat-types/src/types/standardization.ts b/packages/itmat-types/src/types/standardization.ts index 219b4b3bb..852d89644 100644 --- a/packages/itmat-types/src/types/standardization.ts +++ b/packages/itmat-types/src/types/standardization.ts @@ -22,11 +22,13 @@ export enum StandardizationRuleSource { inc = 'inc' } +type StandardizationRuleFilter = unknown; + export interface IStandardizationRule { id: string, entry: string, source: StandardizationRuleSource, parameter: string[], // further processings for a value: delete, convert, etc. - filters?: any + filters?: StandardizationRuleFilter } diff --git a/packages/itmat-types/src/types/study.ts b/packages/itmat-types/src/types/study.ts index 131b2d471..415f5943c 100644 --- a/packages/itmat-types/src/types/study.ts +++ b/packages/itmat-types/src/types/study.ts @@ -42,6 +42,8 @@ export enum IPermissionManagementOptions { ontologyTrees = 'ontologyTrees' } +type RoleBaseFilter = unknown; + interface IRoleBase { id: string; projectId?: string; @@ -55,7 +57,7 @@ interface IRoleBase { uploaders?: string[]; // only works for downloading data; for file data, it will check IFile instead of data clip hasVersioned?: boolean; operations?: atomicOperation[]; - filters?: any[] + filters?: RoleBaseFilter[] }, manage?: { [IPermissionManagementOptions.own]?: atomicOperation[]; @@ -85,7 +87,7 @@ export interface IProject { createdBy: string; name: string; dataVersion?: IStudyDataVersion | null; - summary?: any; + summary?: string; patientMapping: { [originalId: string]: string }; lastModified: number; deleted: number | null; diff --git a/packages/itmat-types/src/types/user.ts b/packages/itmat-types/src/types/user.ts index c6307fb34..0089c1977 100644 --- a/packages/itmat-types/src/types/user.ts +++ b/packages/itmat-types/src/types/user.ts @@ -14,12 +14,12 @@ export interface IUserWithoutToken { type: userTypes; description: string; emailNotificationsActivated: boolean; - emailNotificationsStatus: any; + emailNotificationsStatus: { expiringNotification: boolean } | null; deleted: number | null; createdAt: number; expiredAt: number; resetPasswordRequests: IResetPasswordRequest[]; - metadata?: any + metadata?: Record; } export interface IResetPasswordRequest { diff --git a/packages/itmat-types/tsconfig.json b/packages/itmat-types/tsconfig.json index da97c912e..2bc65d594 100644 --- a/packages/itmat-types/tsconfig.json +++ b/packages/itmat-types/tsconfig.json @@ -7,6 +7,7 @@ "noImplicitOverride": true, "noPropertyAccessFromIndexSignature": true, "noImplicitReturns": true, + "noImplicitAny": false, "noFallthroughCasesInSwitch": true }, "files": [], diff --git a/packages/itmat-ui-react/src/Fence.tsx b/packages/itmat-ui-react/src/Fence.tsx index 27b6a9022..81e00b087 100644 --- a/packages/itmat-ui-react/src/Fence.tsx +++ b/packages/itmat-ui-react/src/Fence.tsx @@ -27,7 +27,7 @@ export const Fence: FunctionComponent = () => {

; else if (data.whoAmI !== null && data.whoAmI !== undefined && data.whoAmI.username !== null) { component =
- query={RECOVER_SESSION_EXPIRE_TIME} pollInterval={30 * 60 * 1000 /* 30 minutes */}> + query={RECOVER_SESSION_EXPIRE_TIME} pollInterval={30 * 60 * 1000 /* 30 minutes */}> {() => { return null; }} diff --git a/packages/itmat-ui-react/src/components/apolloClient.ts b/packages/itmat-ui-react/src/components/apolloClient.ts index f9bf230bd..ab321a77f 100644 --- a/packages/itmat-ui-react/src/components/apolloClient.ts +++ b/packages/itmat-ui-react/src/components/apolloClient.ts @@ -1,10 +1,10 @@ import { InMemoryCache } from '@apollo/client/cache'; -import { ApolloClient, from, ApolloLink } from '@apollo/client'; +import { ApolloClient, from } from '@apollo/client'; import { onError } from '@apollo/client/link/error'; import createUploadLink from 'apollo-upload-client/createUploadLink.mjs'; import axios from 'axios'; -const customFetch = (uri, options): any => { +const customFetch = async (uri, options) => { options.url = uri; options.data = options.body; if (options.body instanceof FormData) { @@ -13,10 +13,10 @@ const customFetch = (uri, options): any => { if (currentOperation.operationName === 'uploadFile') { const description = JSON.parse(currentOperation.variables.description); options.onUploadProgress = (progressEvent) => { - (window as any).onUploadProgressHackMap?.[`UP_${description.participantId}_${description.deviceId}_${description.startDate}_${description.endDate}`]?.(progressEvent); + window.onUploadProgressHackMap?.[`UP_${description.participantId}_${description.deviceId}_${description.startDate}_${description.endDate}`]?.(progressEvent); }; options.onDownloadProgress = (progressEvent) => { - (window as any).onUploadProgressHackMap?.[`DOWN_${description.participantId}_${description.deviceId}_${description.startDate}_${description.endDate}`]?.(progressEvent); + window.onUploadProgressHackMap?.[`DOWN_${description.participantId}_${description.deviceId}_${description.startDate}_${description.endDate}`]?.(progressEvent); }; } } @@ -45,7 +45,7 @@ const uploadLink = createUploadLink({ uri: `${window.location.origin}/graphql`, credentials: 'include', fetch: customFetch -}) as any as ApolloLink; +}); const cache = new InMemoryCache({ dataIdFromObject: (object) => { @@ -63,7 +63,7 @@ export const client = new ApolloClient({ link: from([ onError(({ response, graphQLErrors, networkError }) => { if (graphQLErrors) { - if ((response as any).errors[0].message === 'NOT_LOGGED_IN') { + if (response.errors[0].message === 'NOT_LOGGED_IN') { window.location.reload(); } graphQLErrors.map((error) => diff --git a/packages/itmat-ui-react/src/components/datasetDetail/index.tsx b/packages/itmat-ui-react/src/components/datasetDetail/index.tsx index f1c00ad81..1e102bdee 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/index.tsx @@ -13,7 +13,7 @@ export const DatasetDetailPage: FunctionComponent = () => { if (!studyId) return ; return ( - + query={GET_STUDY} variables={{ studyId }} errorPolicy='ignore' // quick fix ; TO_DO change to split graphql requests coupled with UI @@ -26,7 +26,7 @@ export const DatasetDetailPage: FunctionComponent = () => {

{data.getStudy.name.toUpperCase()}

- query={WHO_AM_I}> + query={WHO_AM_I}> {({ loading, error, data: sessionData }) => { if (loading) return ; if (error) return

{error.toString()}

; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/adminTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/adminTab.tsx index 7ffe949a3..93f3f82ad 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/adminTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/adminTab.tsx @@ -29,12 +29,12 @@ export const AdminTabContent: FunctionComponent = () => {

Be careful to check all related projects and files before deleting this dataset!

- query={GET_STUDY} variables={{ studyId }}> + query={GET_STUDY} variables={{ studyId }}> {({ loading, data, error }) => { if (loading) { return ; } if (error) { return

{error.toString()}

; } - return + return mutation={DELETE_STUDY} refetchQueries={[ { query: WHO_AM_I, variables: { fetchDetailsAdminOnly: false, fetchAccessPrivileges: false } } @@ -48,11 +48,12 @@ export const AdminTabContent: FunctionComponent = () => { if (error) return

{error.message}

; if (loading) return ; - return ( + return !deleteButtonShown + ? : <> - {!deleteButtonShown ? : <>    } - - ); +      + + ; }} ; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/dashBoardTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/dashBoardTab.tsx index e47320e34..afefa537f 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/dashBoardTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/dashBoardTab.tsx @@ -4,7 +4,7 @@ import { Subsection } from '../../../reusable/subsection/subsection'; import { JobSection } from './jobs'; import css from './tabContent.module.css'; -export const DashboardTabContent: FunctionComponent<{ studyId: string; jobs: Array> }> = ({ studyId, jobs }) => { +export const DashboardTabContent: FunctionComponent<{ studyId: string; jobs: Array }> = ({ studyId, jobs }) => { return
diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx index da5da29f4..f0e23918d 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx @@ -6,10 +6,9 @@ import type { IJobEntry } from '@itmat-broker/itmat-types'; import { GET_STUDY, SUBSCRIBE_TO_JOB_STATUS } from '@itmat-broker/itmat-models'; import { Table, Button } from 'antd'; -const STATUSES: { [status: string]: any } = { - finished: () => Finished, - // error: (errors: string[]) => <>Errored, - error: (errors: string[]) => +const STATUSES = { + FINISHED: () => Finished, + ERRROR: (errors: string[]) => Errored
@@ -25,21 +24,21 @@ const STATUSES: { [status: string]: any } = { CANCELLED: () => Cancelled }; -// const JOBTYPES: { [type: string]: any } = { +// const JOBTYPES: { [type: string] } = { // DATA_UPLOAD_CSV: Data upload, // DATA_UPLOAD_JSON: Data upload json, // FIELD_INFO_UPLOAD: Field annotation upload // }; -export const JobSection: FunctionComponent<{ studyId: string; jobs: Array> }> = ({ studyId, jobs }) => { +export const JobSection: FunctionComponent<{ studyId: string; jobs: Array }> = ({ studyId, jobs }) => { useSubscription( SUBSCRIBE_TO_JOB_STATUS, { variables: { studyId }, onSubscriptionData: ({ client: store, subscriptionData }) => { if (subscriptionData.data.subscribeToJobStatusChange !== null) { - const olddata: any = store.readQuery({ query: GET_STUDY, variables: { studyId } }); + const olddata = store.readQuery({ query: GET_STUDY, variables: { studyId } }); const oldjobs = olddata.getStudy.jobs; - const newjobs = oldjobs.map((el: any) => { + const newjobs = oldjobs.map((el) => { if (el.id === subscriptionData.data.subscribeToJobStatusChange.jobId) { el.status = subscriptionData.data.subscribeToJobStatusChange.newStatus; if (el.status === 'error') { diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx index 36f58cad1..81a62ff1d 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx @@ -25,7 +25,7 @@ export const DataSummaryVisual: FunctionComponent<{ studyId: string; selectedVer }; ////////////////////////// COMPONENTS WITHIN THE PAGE////////////////////////////////////// -const NumberOfPatients: FunctionComponent<{ data: any }> = ({ data }) => { +const NumberOfPatients: FunctionComponent<{ data }> = ({ data }) => { return

Number of subjects

@@ -38,7 +38,7 @@ const NumberOfPatients: FunctionComponent<{ data: any }> = ({ data }) => {
; }; -const NumberOfRecords: FunctionComponent<{ data: any }> = ({ data }) => { +const NumberOfRecords: FunctionComponent<{ data }> = ({ data }) => { return

Number of records

@@ -59,7 +59,7 @@ const NewestVersionOfData: FunctionComponent<{ version: string, tag: string }> =
; }; -const NumberOfVisits: FunctionComponent<{ data: any }> = ({ data }) => { +const NumberOfVisits: FunctionComponent<{ data }> = ({ data }) => { return

Number of visits

@@ -75,7 +75,7 @@ const NumberOfVisits: FunctionComponent<{ data: any }> = ({ data }) => { const DateOfUpload: FunctionComponent<{ date: string | number /* UNIX timestamp */ }> = ({ date }) => { return

Data were uploaded on

- {date ? (new Date(parseInt(date as any))).toLocaleString() : 'n/a'} + {date ? (new Date(parseInt(`${date}`))).toLocaleString() : 'n/a'}
; }; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx index 5ece8795e..72405f06c 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx @@ -36,7 +36,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { const { loading: whoAmILoading, error: whoAmIError, data: whoAmIData } = useQuery(WHO_AM_I); const [createNewDataVersion] = useMutation(CREATE_NEW_DATA_VERSION); const [setDataVersion, { loading }] = useMutation(SET_DATAVERSION_AS_CURRENT); - const [selectedPath, setSelectedPath] = useState([]); + const [selectedPath, setSelectedPath] = useState([]); const [selectedVersion, setSelectedVersion] = useState(getStudyData.getStudy.currentDataVersion); const [isModalOn, setIsModalOn] = useState(false); const [treeId, setTreeId] = useState(''); @@ -69,13 +69,13 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { } ]; - const versions: any = []; + const versions = []; for (const item of getStudyData.getStudy.dataVersions) { versions[item['version']] = item['id']; } //construct the cascader - const fieldPathOptions: any = []; + const fieldPathOptions = []; getOntologyTreeData.getOntologyTree.filter(el => el.id === treeId)[0]?.routes.forEach(el => { generateCascader(el, fieldPathOptions, false); }); @@ -163,7 +163,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { onOk={() => setIsModalOn(false)} onCancel={() => setIsModalOn(false)} > - query={GET_DATA_RECORDS} variables={{ + query={GET_DATA_RECORDS} variables={{ studyId: studyId, versionId: null, queryString: { data_requested: null, new_fields: null, @@ -175,7 +175,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { if (error) { return

{JSON.stringify(error)}

; } if (!data) { return

Not executed.

; } const parsedData = getDataRecordsData.getDataRecords.data; - const groupedData: any = {}; + const groupedData = {}; for (const key in parsedData) { if (!(key in groupedData)) { groupedData[key] = []; @@ -207,7 +207,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { withUnversionedData: variables.withUnversionedData === 'true' ? true : false, studyId: studyId } - }); + }).catch(() => { return; }); }}> diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx index ce5f745c0..e1cc2acb6 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx @@ -38,12 +38,12 @@ export const FieldListSelectionSection: FunctionComponent<{ studyId: string; sel ; }; -const FieldListSelectionState: FunctionComponent<{ studyId: string; fieldTreeIds: string[], studyData: any }> = ({ studyId, fieldTreeIds, studyData }) => { +const FieldListSelectionState: FunctionComponent<{ studyId: string; fieldTreeIds: string[], studyData }> = ({ studyId, fieldTreeIds, studyData }) => { const [selectedTree, setSelectedTree] = useState(fieldTreeIds[0]); return <>

- query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> + query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> {({ data, loading, error }) => { if (loading) { return ; } if (error) { return

{JSON.stringify(error)}

; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx index bdd2e2b65..c5d492b67 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx @@ -40,7 +40,7 @@ export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string const [editMode, setEditMode] = useState(false); const [format, setFormat] = useState(undefined); - const [selectedStd, setSelectedStd] = useState({ + const [selectedStd, setSelectedStd] = useState({ id: '', studyId: studyId, type: format || '', @@ -63,7 +63,7 @@ export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string

; } const availableFormats: string[] = Array.from(new Set(getStandardizationData.getStandardization.map(el => el.type))); - const fieldPathOptions: any = []; + const fieldPathOptions = []; getOntologyTreeData.getOntologyTree.filter(el => el.name === format)[0]?.routes.forEach(el => { generateCascader(el, fieldPathOptions, true); }); @@ -87,7 +87,7 @@ export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string options={fieldPathOptions} placeholder={'Select Field'} onChange={(value) => { - const searchedRoute: any = getOntologyTreeData.getOntologyTree + const searchedRoute = getOntologyTreeData.getOntologyTree .filter(el => el.name === format)[0].routes?.filter(el => JSON.stringify(el.path.concat(el.name)) === JSON.stringify(value))[0]; if (searchedRoute === undefined) { return; @@ -119,7 +119,7 @@ export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string name={'standard'} initialValues={selectedStd} onFinish={(value) => { - const stdRules: any[] = []; + const stdRules = []; [...value.stdRules].forEach(el => { delete el.__typename; delete el.id; @@ -136,7 +136,7 @@ export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string stdRules: stdRules } } - }); + }).catch(() => { return; }); }} > diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewData.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewData.tsx index 239c4d5d3..b3bd10388 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewData.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewData.tsx @@ -12,7 +12,7 @@ export const UploadNewData: FunctionComponent<{ studyId: string; cancelButton?:

To upload a new version of the dataset, please make sure you have uploaded the data file to the file repository.



- query={GET_STUDY} variables={{ studyId }}> + query={GET_STUDY} variables={{ studyId }}> {({ loading, data, error }) => { if (loading) { return ; } if (error) { return

{error.toString()}

; } @@ -47,7 +47,7 @@ const UploadNewDataForm: FunctionComponent<{ studyId: string; files: IFile[]; ca mode='multiple' onChange={(value) => { const newArr: string[] = []; - for (let i = 0; i < (value as any).length; i++) { + for (let i = 0; i < value.length; i++) { newArr.push(value[i].toString()); } setSelectedFile(newArr); @@ -62,12 +62,12 @@ const UploadNewDataForm: FunctionComponent<{ studyId: string; files: IFile[]; ca })}

- + mutation={CREATE_DATA_CURATION_JOB} onCompleted={() => setSuccessfullySaved(true)} // update={(store, { data: { createDataCurationJob } }) => { // // Read the data from our cache for this query. - // const data: any = store.readQuery({ query: GET_STUDY, variables: { studyId } }); + // const data = store.readQuery({ query: GET_STUDY, variables: { studyId } }); // // Add our comment from the mutation to the end. // const newjobs = data.getStudy.jobs.concat(createDataCurationJob); // data.getStudy.jobs = newjobs; @@ -89,7 +89,7 @@ const UploadNewDataForm: FunctionComponent<{ studyId: string; files: IFile[]; ca file: selectedFile, studyId } - }); + }).catch(e => setError(e.message)); }}>Submit; }} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewFields.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewFields.tsx index fb571a319..f5c3e7875 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewFields.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewFields.tsx @@ -12,7 +12,7 @@ export const UploadNewFields: FunctionComponent<{ studyId: string }> = ({ studyI const [expanded, setExpanded] = useState(false); const [error, setError] = useState(''); const [uploadFileTabSelected, setUploadFileTabSelected] = useState(true); - const fileRef = createRef(); + const fileRef = createRef(); if (!expanded) { return ; @@ -26,18 +26,18 @@ export const UploadNewFields: FunctionComponent<{ studyId: string }> = ({ studyI uploadFileTabSelected ? <>
- - mutation={CREATE_FIELD_CURATION_JOB}> + + mutation={CREATE_FIELD_CURATION_JOB}> {(createCurationJob, { loading }) => { if (loading) { return ; } return ( ; } return ; }} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx index 9c349610c..84c56b301 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx @@ -1,5 +1,6 @@ import { FunctionComponent, useState, useEffect, useRef, useContext, Fragment, HTMLAttributes, createContext, ReactNode } from 'react'; import { Button, Upload, notification, Tag, Table, Form, Input, InputRef, DatePicker, Space, Modal } from 'antd'; +import type { PickerRef } from 'rc-picker'; import { RcFile } from 'antd/es/upload'; import { UploadOutlined, DeleteOutlined } from '@ant-design/icons'; import { Query } from '@apollo/client/react/components'; @@ -26,7 +27,7 @@ type StudyFile = RcFile & { } const { RangePicker } = DatePicker; -let progressReports: any[] = []; +let progressReports = []; export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = ({ studyId }) => { @@ -49,10 +50,10 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = }); const [uploadFile] = useMutation(UPLOAD_FILE, { onCompleted: ({ uploadFile }) => { - const cachedata = store.readQuery({ + const cachedata = store.readQuery({ query: GET_STUDY, variables: { studyId } - }) as any; + }); if (!cachedata) return; const newcachedata = { @@ -137,7 +138,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const validFile = fileList.filter((file) => file.deviceId && file.participantId && file.startDate && file.endDate); const uploadHandler = () => { - const uploads: Promise[] = []; + const uploads: Promise[] = []; setIsUploading(true); validFile.forEach(file => { const description = { @@ -148,9 +149,9 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = tup: file.tup?.trim().toUpperCase() }; const uploadMapHackName = `UP_${description.participantId}_${description.deviceId}_${description.startDate}_${description.endDate}`; - if (!(window as any).onUploadProgressHackMap) - (window as any).onUploadProgressHackMap = {}; - (window as any).onUploadProgressHackMap[uploadMapHackName] = (progressEvent) => { + if (!window.onUploadProgressHackMap) + window.onUploadProgressHackMap = {}; + window.onUploadProgressHackMap[uploadMapHackName] = (progressEvent) => { setUploadMovement(Math.random); progressReports = { ...progressReports, @@ -170,7 +171,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = console.error(result.errors, result.extensions?.code); return; } - delete (window as any).onUploadProgressHackMap[uploadMapHackName]; + delete window.onUploadProgressHackMap[uploadMapHackName]; delete progressReports[uploadMapHackName]; removeFile(file); notification.success({ @@ -179,7 +180,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = placement: 'topRight' }); }).catch(error => { - delete (window as any).onUploadProgressHackMap[uploadMapHackName]; + delete window.onUploadProgressHackMap[uploadMapHackName]; delete progressReports[uploadMapHackName]; notification.error({ message: 'Upload error!', @@ -192,6 +193,8 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = Promise.all(uploads).then(() => { setIsUploading(false); + }).catch(() => { + setIsUploading(false); }); }; @@ -341,19 +344,19 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = return [subjectLevelFiles, studyLevelFiles]; } - const sortedFiles = dataSourceFilter(getStudyData.getStudy.files).sort((a, b) => parseInt((b as any).uploadTime) - parseInt((a as any).uploadTime)); + const sortedFiles = dataSourceFilter(getStudyData.getStudy.files).sort((a, b) => parseInt(b.uploadTime) - parseInt(a.uploadTime)); const numberOfFiles = sortedFiles[0].length; - const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (parseInt(b['fileSize'] as any) || 0), 0); + const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (parseInt(b.fileSize) || 0), 0); const participantOfFiles = sortedFiles[0].reduce(function (values, v) { if (!values.set[JSON.parse(v['description'])['participantId']]) { - (values as any).set[JSON.parse(v['description'])['participantId']] = 1; + values.set[JSON.parse(v['description'])['participantId']] = 1; values.count++; } return values; }, { set: {}, count: 0 }).count; // format the file structure - const fileSummary: any[] = []; - const categoryColumns: any[] = []; + const fileSummary = []; + const categoryColumns = []; if (sortedFiles[0].length > 0) { const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).participantId[0]).sort())); const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).deviceId.substr(0, 3)).sort())); @@ -380,7 +383,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = render: (__unused__value, record) => record.total }); for (const site of availableSites) { - const tmpData: any = { + const tmpData = { site: site }; for (const deviceType of availableDeviceTypes) { @@ -390,7 +393,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description).participantId[0] === site).length; fileSummary.push(tmpData); } - const tmpData: any = { + const tmpData = { site: 'Total', total: sortedFiles[0].length }; @@ -435,38 +438,36 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = :
- {isEditingDescription ? - <> - - - : + isEditingDescription ? + <> - } - : null + + : + + : null }> - <>{ + { (isEditingDescription && whoAmIData.whoAmI.type === userTypes.ADMIN) ? { setDatasetDescription(e.target.value); }}> : (getStudyData.getStudy.description === null || getStudyData.getStudy.description === '') ? 'No descriptions.' : getStudyData.getStudy.description - } + }

- query={GET_STUDY} variables={{ studyId }}> + query={GET_STUDY} variables={{ studyId }}> {({ loading, data, error }) => { if (loading || error) return <>To upload files you can click on the button below or drag and drop files directly from your hard drive.; @@ -515,7 +516,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> =
; }; -const EditableContext = createContext({}); +const EditableContext = createContext({}); type EditableRowProps = { index: number; @@ -525,7 +526,7 @@ const EditableRow: FunctionComponent = ({ index, ...props }) = const [form] = Form.useForm(); useEffect(() => { - form.validateFields(); + form.validateFields().catch(() => { return; }); }); return ( @@ -555,7 +556,7 @@ const EditableCell: FunctionComponent = ({ }) => { const [editing, setEditing] = useState(false); const inputRef = useRef(null); - const rangeRef = useRef(null); + const rangeRef = useRef(null); const form = useContext(EditableContext); const { loading: getOrgsLoading, error: getOrgsError, data: getOrgsData } = useQuery(GET_ORGANISATIONS); @@ -566,13 +567,15 @@ const EditableCell: FunctionComponent = ({ } }, [editable, editing, form, record]); - const save = async () => { - try { - const values = await form.validateFields(); - handleSave({ ...record, ...values }); - } catch (errInfo) { - // console.error(errInfo); - } + const save = () => { + (async () => { + try { + const values = await form.validateFields(); + handleSave({ ...record, ...values }); + } catch (errInfo) { + // console.error(errInfo); + } + })().catch(() => { return; }); }; if (getOrgsLoading) @@ -596,14 +599,14 @@ const EditableCell: FunctionComponent = ({ }]} + rules={[{ required: true, message: '' }]} > }]} + rules={[{ required: true, message: '' }]} > @@ -613,7 +616,7 @@ const EditableCell: FunctionComponent = ({ hasFeedback dependencies={['startDate', 'endDate']} rules={[ - { required: true, message: <> }, + { required: true, message: '' }, ({ getFieldValue }) => ({ async validator() { if (getFieldValue('startDate') && getFieldValue('endDate')) @@ -639,7 +642,7 @@ const EditableCell: FunctionComponent = ({ name={dataIndex} hasFeedback rules={[{ - required: true, message: <>, validator: async (__unused__rule, value) => { + required: true, message: '', validator: async (__unused__rule, value) => { if (dataIndex === 'participantId') { if (!Object.keys(sites).includes(value?.[0])) throw new Error('Invalid site marker'); diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx index bf9b6a4c7..fddfa9071 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx @@ -21,11 +21,11 @@ export const DeleteProjectSection: FunctionComponent<{ studyId: string; projectI return <>

Warning! This is irreversible! If you really want to delete this project, please type the name of the project ({projectName}) below to confirm.

{ setInput(e.target.value); setError(''); }} />

- + mutation={DELETE_PROJECT} update={(store) => { // Read the data from our cache for this query. - const data: any = store.readQuery({ query: GET_STUDY, variables: { studyId, admin: true } }); + const data = store.readQuery({ query: GET_STUDY, variables: { studyId, admin: true } }); // Add our comment from the mutation to the end. const newProjects = data.getStudy.projects.filter((el: IProject) => el.id !== projectId); data.getStudy.projects = newProjects; @@ -33,7 +33,7 @@ export const DeleteProjectSection: FunctionComponent<{ studyId: string; projectI store.writeQuery({ query: GET_STUDY, variables: { studyId, admin: true }, data }); // Read the data from our cache for this query. - const whoAmI: any = store.readQuery({ query: WHO_AM_I }); + const whoAmI = store.readQuery({ query: WHO_AM_I }); // Add our comment from the mutation to the end. // const newWhoAmIProjects = whoAmI.whoAmI.access.projects.filter((el: IProject) => el.id !== projectId); whoAmI.whoAmI.access.projects = newProjects; @@ -49,7 +49,7 @@ export const DeleteProjectSection: FunctionComponent<{ studyId: string; projectI if (inputText !== projectName) { setError('Project name not matched.'); } else { - deleteProject({ variables: { projectId } }); + deleteProject({ variables: { projectId } }).catch(() => { return; }); } }} style={{ display: 'inline-block', width: '30%' }}>Really delete! diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx index c8b59e1ad..1f47b4511 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx @@ -14,7 +14,7 @@ export const PatientIdMappingSection: FunctionComponent<{ projectId: string }> = } if (!clickedFetch) { return ; } - return query={GET_PROJECT_PATIENT_MAPPING} variables={{ projectId }}> + return query={GET_PROJECT_PATIENT_MAPPING} variables={{ projectId }}> {({ data, loading, error }) => { if (loading) { return ; } if (error) { return

{error.toString()}

; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx index aa3c161fe..710258743 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx @@ -19,7 +19,7 @@ export const ProjectDetail: FunctionComponent = () => { if (!projectId || !studyId) return null; - return + return query={GET_PROJECT} variables={{ projectId, admin: whoamidata.whoAmI.type === userTypes.ADMIN }} > diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx index a6d39ef28..fe6ad158d 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx @@ -26,10 +26,10 @@ export const AddNewProject: FunctionComponent<{ studyId: string }> = ({ studyId return
Project Name: { setError(''); setProjectName(e.target.value); }} type='text' placeholder='Enter name' />

- mutation={CREATE_PROJECT} + mutation={CREATE_PROJECT} // update={(store, { data: { createProject } }) => { // // Read the data from our cache for this query. - // const data: any = store.readQuery({ query: GET_STUDY, variables: { studyId, admin: true } }); + // const data = store.readQuery({ query: GET_STUDY, variables: { studyId, admin: true } }); // // Add our comment from the mutation to the end. // const newProjects = data.getStudy.projects.concat(createProject); // data.getStudy.projects = newProjects; @@ -37,7 +37,7 @@ export const AddNewProject: FunctionComponent<{ studyId: string }> = ({ studyId // store.writeQuery({ query: GET_STUDY, variables: { studyId, admin: true }, data }); // // Read the data from our cache for this query. - // const whoAmI: any = store.readQuery({ query: WHO_AM_I }); + // const whoAmI = store.readQuery({ query: WHO_AM_I }); // // Add our comment from the mutation to the end. // // const newWhoAmIProjects = whoAmI.whoAmI.access.projects.concat(createProject); // whoAmI.whoAmI.access.projects = newProjects; @@ -56,7 +56,7 @@ export const AddNewProject: FunctionComponent<{ studyId: string }> = ({ studyId setError('Please enter project name.'); return; } - addNewProject({ variables: { studyId, projectName: projectName } }); + addNewProject({ variables: { studyId, projectName: projectName } }).catch(() => { return; }); }}>Add new project } diff --git a/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx b/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx index 9fb20500a..681e98523 100644 --- a/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx +++ b/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx @@ -22,7 +22,7 @@ export const AddNewDataSet: FunctionComponent = () => { }); return ( - query={WHO_AM_I}> + query={WHO_AM_I}> {({ loading, error, data }) => { if (loading) { return

Loading...

; } if (error) { return

Error {error.name}: {error.message}

; } @@ -33,7 +33,7 @@ export const AddNewDataSet: FunctionComponent = () => { :
- createStudy({ variables })}> + { createStudy({ variables }).catch(() => { return; }); }}> diff --git a/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx b/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx index 0a9704780..2f283d8a6 100644 --- a/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx +++ b/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx @@ -9,7 +9,7 @@ import LoadSpinner from '../reusable/loadSpinner'; export const DatasetList: FunctionComponent = () => { return ( - + query={WHO_AM_I}> {({ loading, error, data }) => { if (loading) { return ; } diff --git a/packages/itmat-ui-react/src/components/log/logList.tsx b/packages/itmat-ui-react/src/components/log/logList.tsx index 8cf8f3b54..c8dabd70e 100644 --- a/packages/itmat-ui-react/src/components/log/logList.tsx +++ b/packages/itmat-ui-react/src/components/log/logList.tsx @@ -10,7 +10,7 @@ import dayjs from 'dayjs'; export const LogListSection: FunctionComponent = () => { return ( - + query={GET_LOGS} variables={{}} > @@ -44,12 +44,12 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { status: [], dateRange: ['', ''] }; - const [inputs, setInputs]: [{ [key: string]: any }, any] = useState(initInputs); + const [inputs, setInputs] = useState(initInputs); const [verbose, setVerbose] = useState(false); const [verboseInfo, setVerboseInfo] = useState(({ actionData: JSON.stringify({}) })); const [advancedSearch, setAdvancedSearch] = useState(false); const dateFormat = 'YYYY-MM-DD'; - function formatActionData(data: any) { + function formatActionData(data) { const obj = JSON.parse(data.actionData); const keys = Object.keys(obj); const keysMap = keys.map((el) => <>{el}
); @@ -61,21 +61,21 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { const inputControl = (property: string) => ({ value: inputs[property], - onChange: (e: any) => { + onChange: (e) => { setInputs({ ...inputs, [property]: property === 'requesterName' ? e.target.value : e }); } }); const checkboxControl = (property: string) => ({ value: inputs[property], - onChange: (e: any) => { + onChange: (e) => { setInputs({ ...inputs, [property]: e }); } }); function dataSourceFilter(logList: ILogEntry[]) { return logList.filter((log) => { // convert the contest of log to be string (except for value), as null could not be parsed - const logCopy: any = { ...log }; + const logCopy = { ...log }; Object.keys(logCopy).forEach(item => { logCopy[item] = (logCopy[item] || '').toString(); }); diff --git a/packages/itmat-ui-react/src/components/login/login.tsx b/packages/itmat-ui-react/src/components/login/login.tsx index a8c20bc3f..af82ff2da 100644 --- a/packages/itmat-ui-react/src/components/login/login.tsx +++ b/packages/itmat-ui-react/src/components/login/login.tsx @@ -7,73 +7,70 @@ import { Input, Form, Button, Alert, Checkbox } from 'antd'; export const LoginBox: FunctionComponent = () => { - return ( - - - mutation={LOGIN} - update={(cache, { data: { login } }) => { - cache.writeQuery({ - query: WHO_AM_I, - data: { whoAmI: login } - }); - }} - onError={() => { return; }} - > - {(login, { loading, error }) => { - return ( -
-
- IDEA-FAST Logo -

Welcome

-
-
- login({ variables })}> - - - - - - - - - - {error ? ( - <> - error.message).join()} /> -
- - ) : null} - {(error?.message === 'Account Expired. Please request a new expiry date!') ? ( - <> - - Tick the box to request a new expiry date! - - - - - - ) : + return + mutation={LOGIN} + update={(cache, { data: { login } }) => { + cache.writeQuery({ + query: WHO_AM_I, + data: { whoAmI: login } + }); + }} + onError={() => { return; }} + > + {(login, { loading, error }) => { + return ( +
+
+ IDEA-FAST Logo +

Welcome

+
+
+ { login({ variables }).catch(() => { return; }); }}> + + + + + + + + + + {error ? ( + <> + error.message).join()} /> +
+ + ) : null} + {(error?.message === 'Account Expired. Please request a new expiry date!') ? ( + <> + + Tick the box to request a new expiry date! + - } + + ) : + + + + } - -
-
-
-
- Forgot username or password
- Do not have an account? Please register
- v{process.env.NX_REACT_APP_VERSION} - {process.env.NX_REACT_APP_COMMIT} ({process.env.NX_REACT_APP_BRANCH}) +
+
+
+
+ Forgot username or password
+ Do not have an account? Please register
+ v{process.env.NX_REACT_APP_VERSION} - {process.env.NX_REACT_APP_COMMIT} ({process.env.NX_REACT_APP_BRANCH})
- ); - }} - - ); +
+ ); + }} + ; }; diff --git a/packages/itmat-ui-react/src/components/login/register.tsx b/packages/itmat-ui-react/src/components/login/register.tsx index 149c186e0..573208346 100644 --- a/packages/itmat-ui-react/src/components/login/register.tsx +++ b/packages/itmat-ui-react/src/components/login/register.tsx @@ -47,7 +47,7 @@ export const RegisterNewUser: FunctionComponent = () => {

Register an Account


-
createUser({ variables })}> + { createUser({ variables }).catch(() => { return; }); }}> diff --git a/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx b/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx index 24adc56d6..1239ed131 100644 --- a/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx +++ b/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx @@ -33,7 +33,7 @@ export const RequestResetPassword: FunctionComponent = () => { } return ( - + mutation={REQUEST_USERNAME_OR_RESET_PASSWORD} onError={() => { return; }} onCompleted={() => setRequestCompleted(true)} @@ -46,13 +46,15 @@ export const RequestResetPassword: FunctionComponent = () => {

Forgot your {forgotUsername ? 'username' : 'password'}?


- requestPasswordReset({ - variables: { - ...variables, - forgotUsername, - forgotPassword: true - } - })}> + { + requestPasswordReset({ + variables: { + ...variables, + forgotUsername, + forgotPassword: true + } + }).catch(() => { return; }); + }}> {forgotUsername ? diff --git a/packages/itmat-ui-react/src/components/login/resetPasswordPage.tsx b/packages/itmat-ui-react/src/components/login/resetPasswordPage.tsx index ec980b9f9..7cea667f1 100644 --- a/packages/itmat-ui-react/src/components/login/resetPasswordPage.tsx +++ b/packages/itmat-ui-react/src/components/login/resetPasswordPage.tsx @@ -59,7 +59,7 @@ export const ResetPasswordPage: FunctionComponent = () => { } return ( - + mutation={RESET_PASSWORD} onCompleted={() => { setPasswordSuccessfullyChanged(true); @@ -75,13 +75,15 @@ export const ResetPasswordPage: FunctionComponent = () => {

Reset your password


- resetPassword({ - variables: { - ...variables, - encryptedEmail, - token - } - })}> + { + resetPassword({ + variables: { + ...variables, + encryptedEmail, + token + } + }).catch(() => { return; }); + }}> diff --git a/packages/itmat-ui-react/src/components/profile/profile.tsx b/packages/itmat-ui-react/src/components/profile/profile.tsx index fbf37551f..5c017094d 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.tsx +++ b/packages/itmat-ui-react/src/components/profile/profile.tsx @@ -62,7 +62,7 @@ export const ProfileManagementSection: FunctionComponent = () => { username: user.username, email: user.email } - }); + }).catch(() => { return; }); }}> Request new expiry date! @@ -133,7 +133,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce const orgList: IOrganisation[] = getorgsdata.getOrganisations; return ( - + mutation={EDIT_USER} onCompleted={() => setSavedSuccessfully(true)} > @@ -143,7 +143,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce createdAt: dayjs(user.createdAt), expiredAt: dayjs(user.expiredAt), organisation: orgList.find(org => org.id === user.organisation)?.name - }} layout='vertical' onFinish={async (variables) => submit({ variables: formatSubmitObj(variables) })}> + }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> @@ -207,7 +207,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce forgotPassword: true, username: user.username } - }); + }).catch(() => { return; }); }}> Send a password reset email @@ -231,7 +231,7 @@ export const showTimeFunc = { /* More time control due to different behaviors in chrome and firefox, also correct errors of summer/winter time offset */ export const changeTimeFunc = { - changeDate: function (inputs: any, value: any) { + changeDate: function (inputs, value) { /* When in summer time, there is non-zero timezoneoffset which should be considered */ const offsetTime = new Date(inputs.expiredAt - new Date(inputs.expiredAt).getTimezoneOffset() * 60 * 1000); let newDate; @@ -244,7 +244,7 @@ export const changeTimeFunc = { } return { ...inputs, expiredAt: newDate.valueOf() }; }, - changeTime: function (inputs: any, value: any) { + changeTime: function (inputs, value) { const recordedDate = new Date(inputs.expiredAt).toISOString().substring(0, 10); /* When in summer time, there is non-zero timezoneoffset which should be considered */ return { ...inputs, expiredAt: new Date(recordedDate + 'T' + value).valueOf() - new Date(inputs.expiredAt).getTimezoneOffset() * 60 * 1000 }; @@ -311,14 +311,14 @@ export const RegisterPublicKey: FunctionComponent<{ userId: string }> = ({ userI if (completedKeypairGen) { return ( - + mutation={REGISTER_PUBKEY} onCompleted={() => setCompletedRegister(true)} > {(submit, { loading, error }) => submit({ variables })}> + }} layout='vertical' onFinish={(variables) => { submit({ variables }).catch(() => { return; }); }}> @@ -406,7 +406,7 @@ export const RegisterPublicKey: FunctionComponent<{ userId: string }> = ({ userI } return ( - + mutation={REGISTER_PUBKEY} onCompleted={() => setCompletedRegister(true)} > @@ -414,7 +414,7 @@ export const RegisterPublicKey: FunctionComponent<{ userId: string }> = ({ userI <> submit({ variables })}> + }} layout='vertical' onFinish={(variables) => { submit({ variables }).catch(() => { return; }); }}> @@ -462,7 +462,7 @@ export const RegisterPublicKey: FunctionComponent<{ userId: string }> = ({ userI
- @@ -534,7 +534,7 @@ export const RsaSigner: FunctionComponent = () => {

Public Key:


-
@@ -593,7 +593,7 @@ export const TokenManagement: FunctionComponent<{ userId: string }> = ({ userId return (
tokenGen({ variables })}> + }} layout='vertical' onFinish={(variables) => { tokenGen({ variables }).catch(() => { return; }); }}>

To generate an access token, you need to enter the signature signed by your private-key

Current refresh counter: {ipubkey?.refreshCounter}

diff --git a/packages/itmat-ui-react/src/components/projectDetail/index.tsx b/packages/itmat-ui-react/src/components/projectDetail/index.tsx index 39e43bd01..655abc967 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/index.tsx @@ -17,7 +17,7 @@ export const ProjectDetailPage: FunctionComponent = () => { if (whoamierror) { return

ERROR: please try again.

; } return ( - + query={GET_PROJECT} variables={{ projectId, admin: whoamidata.whoAmI.type === userTypes.ADMIN }} > @@ -29,7 +29,7 @@ export const ProjectDetailPage: FunctionComponent = () => { return

{data.getProject.name.toUpperCase()}

- query={WHO_AM_I}> + query={WHO_AM_I}> {({ loading, error, data: sessionData }) => { if (loading) return ; if (error) return

{error.toString()}

; diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx index 74dca63c3..10cfcf4de 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx @@ -27,7 +27,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu fetchPolicy: 'network-only' }); const [currentStep, setCurrentStep] = useState(-1); - const [filters, setFilters] = useState({ + const [filters, setFilters] = useState({ groups: [], comparedFields: [] }); @@ -60,15 +60,15 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu return Ontology Tree Missing!; } - const fieldPathOptions: any = []; + const fieldPathOptions = []; getOntologyTreeData.getOntologyTree[0]?.routes.forEach(el => { generateCascader(el, fieldPathOptions, true); }); - const genderField: any = findDmField(getOntologyTreeData.getOntologyTree[0], getStudyFieldsData.getStudyFields, 'SEX'); - const raceField: any = findDmField(getOntologyTreeData.getOntologyTree[0], getStudyFieldsData.getStudyFields, 'RACE'); - const ageField: any = findDmField(getOntologyTreeData.getOntologyTree[0], getStudyFieldsData.getStudyFields, 'AGE'); - const siteField: any = findDmField(getOntologyTreeData.getOntologyTree[0], getStudyFieldsData.getStudyFields, 'SITE'); + const genderField = findDmField(getOntologyTreeData.getOntologyTree[0], getStudyFieldsData.getStudyFields, 'SEX'); + const raceField = findDmField(getOntologyTreeData.getOntologyTree[0], getStudyFieldsData.getStudyFields, 'RACE'); + const ageField = findDmField(getOntologyTreeData.getOntologyTree[0], getStudyFieldsData.getStudyFields, 'AGE'); + const siteField = findDmField(getOntologyTreeData.getOntologyTree[0], getStudyFieldsData.getStudyFields, 'SITE'); const results = divideResults(filters, getDataRecordsData?.getDataRecords.data, getStudyFieldsData.getStudyFields, [genderField, raceField, ageField, siteField]); return (
@@ -85,7 +85,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu
); }; -const FilterSelector: FunctionComponent<{ guideTool: any, filtersTool: any, fields: IFieldEntry[], project: IProject, query: any, ontologyTree: IOntologyTree, fieldPathOptions: any, dmFields: any[] }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { +const FilterSelector: FunctionComponent<{ guideTool, filtersTool, fields: IFieldEntry[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { const [isModalOn, setIsModalOn] = useState(false); const [isTemplateModalOn, setIsTemplateModalOn] = useState(false); const [templateType, setTemplateType] = useState('NA'); @@ -182,7 +182,7 @@ const FilterSelector: FunctionComponent<{ guideTool: any, filtersTool: any, fiel onClick={() => { if (currentGroupIndex === -1) { if (guideTool[0] === popoverContents[guideTool[0] - 1]?.step) { - message.error('You havn\'t copy that.'); + new Promise((resolve, reject) => { message.error('You havn\'t copy that.').then(resolve, reject); }).catch(() => { return; }); } return; } else { @@ -255,7 +255,7 @@ const FilterSelector: FunctionComponent<{ guideTool: any, filtersTool: any, fiel style={{ top: 200 }} onOk={() => { if (form.getFieldsValue().visit === null) { - message.error('You must select a specific visit.'); + new Promise((resolve, reject) => { message.error('You must select a specific visit.').then(resolve, reject); }).catch(() => { return; }); return; } if (guideTool[0] === popoverContents[2].step || guideTool[0] === popoverContents[4].step) { @@ -450,7 +450,7 @@ const FilterSelector: FunctionComponent<{ guideTool: any, filtersTool: any, fiel
); }; -const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFieldEntry[], data: any }> = ({ project, fields, data }) => { +const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFieldEntry[], data }> = ({ project, fields, data }) => { const [statisticsType, setStatisticsType] = useState('ttest'); const [signifianceLevel, setSignigicanceLevel] = useState(undefined); if (data === undefined) { @@ -482,7 +482,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel key: 'field', render: (__unused__value, record) => { const thisField = fields.filter(el => el.fieldId === record.field)[0]; - const data: any = []; + const data = []; data.push({ key: 'Field Name', value: @@ -709,7 +709,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel
); }; -function variableFilterColumns(guideTool: any, fields: IFieldEntry[], remove: any, fieldPathOptions: any) { +function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPathOptions) { return [ { title: 'Field', @@ -793,7 +793,7 @@ function variableFilterColumns(guideTool: any, fields: IFieldEntry[], remove: an ]; } -function filterTableColumns(guideTool: any, fields: IFieldEntry[], dmFields: any[], filtersTool?: any, setIsModalOn?: any, setCurrentGroupIndex?: any) { +function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { if (filtersTool[0].groups.length === 0) { return []; } @@ -890,7 +890,7 @@ function filterTableColumns(guideTool: any, fields: IFieldEntry[], dmFields: any return null; } const filterFields: string[] = Array.from(new Set(record.filters.map(el => { - const field: any = fields.filter(es => es.fieldId === el.field)[0]; + const field = fields.filter(es => es.fieldId === el.field)[0]; return field.fieldId.concat('-').concat(field.fieldName).concat(' ').concat(el.op).concat(' ').concat(el.value); }))); return
@@ -964,7 +964,7 @@ function filterTableColumns(guideTool: any, fields: IFieldEntry[], dmFields: any filtersTool[1](tmpArr); }} onCancel={() => { - message.error('Cancelled!'); + new Promise((resolve, reject) => { message.error('Cancelled!').then(resolve, reject); }).catch(() => { return; }); }} okText='Yes' cancelText='No' @@ -978,7 +978,7 @@ function filterTableColumns(guideTool: any, fields: IFieldEntry[], dmFields: any return columns; } -function formInitialValues(form: any, filters: any, index: number) { +function formInitialValues(form, filters, index: number) { if (index === -1) { return { visit: null, @@ -995,8 +995,8 @@ function formInitialValues(form: any, filters: any, index: number) { } // // we sent the union of the filters as the filters in the request body -function combineFilters(fields: IFieldEntry[], filters: any, dmFields: any[]) { - const queryString: any = {}; +function combineFilters(fields: IFieldEntry[], filters, dmFields) { + const queryString = {}; queryString.data_requested = Array.from(new Set((filters.groups.map(el => el.filters).flat().map(es => es.field).concat(filters.comparedFields) .concat(dmFields.filter(el => (el !== undefined && el !== null)).map(el => el.fieldId))))); queryString.newFields = []; @@ -1019,12 +1019,12 @@ function combineFilters(fields: IFieldEntry[], filters: any, dmFields: any[]) { return queryString; } -function divideResults(filters, results, fields, dmFields: any[]) { +function divideResults(filters, results, fields, dmFields) { if (filters === undefined || results === undefined || fields === undefined) { return; } - const data: any = []; - const dms: any = { + const data = []; + const dms = { genderID: dmFields[0], race: dmFields[1], age: dmFields[2], @@ -1038,7 +1038,7 @@ function divideResults(filters, results, fields, dmFields: any[]) { if (fieldDef.tableName === 'Participants') { return; } - const dataClip: any = {}; + const dataClip = {}; dataClip.field = el; dataClip.data = {}; filters.groups.forEach((es, index) => { @@ -1132,7 +1132,7 @@ function divideResults(filters, results, fields, dmFields: any[]) { }); // construct data for visualization if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fieldDef.dataType)) { - const dataForGraph: any = Object.keys(dataClip.data).reduce((acc, curr) => { + const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { dataClip.data[curr].forEach(el => { acc.push({ x: curr, @@ -1140,10 +1140,10 @@ function divideResults(filters, results, fields, dmFields: any[]) { }); }); return acc; - }, ([] as any)); + }, []); dataClip.dataForGraph = dataForGraph; } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { - const dataForGraph: any = Object.keys(dataClip.data).reduce((acc, curr) => { + const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { if (fieldDef.possibleValues !== undefined) { fieldDef.possibleValues.forEach(ek => { acc.push({ @@ -1156,7 +1156,7 @@ function divideResults(filters, results, fields, dmFields: any[]) { return acc; } return acc; - }, ([] as any)); + }, []); dataClip.dataForGraph = dataForGraph; } // construct data for statistics diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/dashBoardTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/dashBoardTab.tsx index 335006f65..e67870221 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/dashBoardTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/dashBoardTab.tsx @@ -7,7 +7,7 @@ import { useQuery } from '@apollo/client/react/hooks'; import LoadSpinner from '../../../reusable/loadSpinner'; import css from './tabContent.module.css'; -export const DashboardTabContent: FunctionComponent<{ studyId: string; projectId: string; jobs: Array> }> = ({ projectId, jobs }) => { +export const DashboardTabContent: FunctionComponent<{ studyId: string; projectId: string; jobs: Array }> = ({ projectId, jobs }) => { const { loading: getProjectLoading, error: getProjectError, data: getProjectData } = useQuery(GET_PROJECT, { variables: { projectId: projectId, admin: false } }); if (getProjectLoading) { return ; diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/jobs.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/jobs.tsx index 980eeb4c7..13841fa32 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/jobs.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/dashboard/jobs.tsx @@ -1,7 +1,7 @@ import { FunctionComponent } from 'react'; import { IJobEntry } from '@itmat-broker/itmat-types'; -export const JobSection: FunctionComponent<{ jobs: Array> }> = ({ jobs }) => { +export const JobSection: FunctionComponent<{ jobs: Array }> = ({ jobs }) => { return
{jobs === null || jobs.length === 0 ?

There has been no past jobs associated with this project.

: @@ -23,7 +23,7 @@ export const JobSection: FunctionComponent<{ jobs: Array> }> = ({ ; }; -const OneJob: FunctionComponent<{ job: IJobEntry }> = ({ job }) => { +const OneJob: FunctionComponent<{ job: IJobEntry }> = ({ job }) => { return ( diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx index 4cf8920d5..1e4ae3a39 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx @@ -189,10 +189,10 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IFieldEntry[] }> = ({ ontologyTree, studyId, projectId, fields }) => { const [width, __unused__height__] = useWindowSize(); // process the data - const genderField: any = findDmField(ontologyTree, fields, 'SEX'); - const raceField: any = findDmField(ontologyTree, fields, 'RACE'); - const ageField: any = findDmField(ontologyTree, fields, 'AGE'); - const siteField: any = findDmField(ontologyTree, fields, 'SITE'); + const genderField = findDmField(ontologyTree, fields, 'SEX'); + const raceField = findDmField(ontologyTree, fields, 'RACE'); + const ageField = findDmField(ontologyTree, fields, 'AGE'); + const siteField = findDmField(ontologyTree, fields, 'SITE'); const { loading: getDataRecordsLoading, error: getDataRecordsError, data: getDataRecordsData } = useQuery(GET_DATA_RECORDS, { variables: { @@ -218,7 +218,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, ; } // process the data - const obj: any = {}; + const obj = {}; const data = getDataRecordsData.getDataRecords.data; if (genderField === null || !data[genderField.fieldId]) { obj.SEX = []; @@ -405,7 +405,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, }; export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IFieldEntry[], project: IProject }> = ({ ontologyTree, fields, project }) => { - const [selectedPath, setSelectedPath] = useState([]); + const [selectedPath, setSelectedPath] = useState([]); const [selectedGraphType, setSelectedGraphType] = useState(undefined); const routes: IOntologyRoute[] = ontologyTree.routes?.filter(es => { return JSON.stringify([...es.path, es.name]) === JSON.stringify(selectedPath); @@ -414,7 +414,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT return el.fieldId.toString() === routes[0]?.field[0]?.replace('$', ''); })[0]; //construct the cascader - const fieldPathOptions: any = []; + const fieldPathOptions = []; ontologyTree.routes?.forEach(el => { generateCascader(el, fieldPathOptions, true); }); @@ -541,7 +541,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT
{(routes[0].path.slice(0, routes[0].path.length) || '').concat(fieldNameEllipsis).join(' => ')}


- query={GET_DATA_RECORDS} variables={{ + query={GET_DATA_RECORDS} variables={{ studyId: project.studyId, projectId: project.id, versionId: '-1', @@ -571,7 +571,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT acc.push({ x: curr, y: el }); }); return acc; - }, ([] as any)); + }, []); } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { data = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { let count = 0; @@ -590,7 +590,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT acc.push({ visit: curr, value: 'No Record', count: project.summary.subjects.length - count }); } return acc; - }, ([] as any)).sort((a, b) => { return parseFloat(a.value) - parseFloat(b.value); }); + }, []).sort((a, b) => { return parseFloat(a.value) - parseFloat(b.value); }); } else { return null; } @@ -612,15 +612,16 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }; }); if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) - return (<> - { - selectedGraphType === 'violin' ? : selectedGraphType === 'box' ? + : selectedGraphType === 'box' + ? : - } - ); + /> + : ; else - return (<> - { - selectedGraphType === 'stackedColumn' || selectedGraphType === 'groupedColumn' ? - : - } - ); + return selectedGraphType === 'stackedColumn' || selectedGraphType === 'groupedColumn' + ? : ; }} @@ -663,7 +659,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }; export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IFieldEntry[] }> = ({ studyId, projectId, ontologyTree, fields }) => { - const [selectedPath, setSelectedPath] = useState([]); + const [selectedPath, setSelectedPath] = useState([]); const requestedFields = ontologyTree.routes?.filter(el => { if (JSON.stringify(el.path) === JSON.stringify(selectedPath)) { return true; @@ -696,7 +692,7 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project } // process the data const data = getDataRecordsData.getDataRecords.data; - const obj: any[] = []; + const obj = []; for (const fieldId of Object.keys(data)) { for (const visitId of Object.keys(data[fieldId])) { obj.push({ @@ -727,10 +723,10 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project } } }; - const tooltipConfig: any = { + const tooltipConfig = { showTitle: false, fields: ['visit', 'field', 'percentage'], - formatter: (datum: any) => { + formatter: (datum) => { const field: IFieldEntry | undefined = fields.filter(el => el.fieldId === datum.field)[0]; let name; if (field) { @@ -745,7 +741,7 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project } }; //construct the cascader - const fieldPathOptions: any = []; + const fieldPathOptions = []; ontologyTree.routes?.forEach(el => { generateCascader(el, fieldPathOptions, false); }); @@ -774,7 +770,7 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project renderer={'svg'} colorField={'percentage'} label={{ - formatter: (datum: any) => { + formatter: (datum) => { return datum.percentage + '%'; } }} @@ -797,7 +793,7 @@ export const DataDownloadBlock: FunctionComponent<{ project: IProject }> = ({ pr } const availableFormats: string[] = project.summary?.standardizationTypes ?? []; - const dataArray: any[] = []; + const dataArray = []; if (getDataRecordsData?.getDataRecords?.data !== undefined) { Object.keys(getDataRecordsData.getDataRecords.data).forEach(domain => { dataArray.push({ @@ -868,7 +864,7 @@ export const DataDownloadBlock: FunctionComponent<{ project: IProject }> = ({ pr setShouldUpdateData(false); }, notifyOnNetworkStatusChange: true - }); + }).catch(() => { return; }); }}>Fetch data @@ -258,7 +263,7 @@ const PermissionsControlPanel: FunctionComponent = ]; }; return ( - + mutation={EDIT_ROLE} // onCompleted={() => setSavedSuccessfully(true)} > @@ -267,30 +272,32 @@ const PermissionsControlPanel: FunctionComponent = ...role.permissions.data, ...role.permissions.manage, description: role.description - }} layout='vertical' onFinish={async (variables) => submit({ - variables: { - roleId: role.id, - permissionChanges: { - data: { - subjectIds: variables.subjectIds, - visitIds: variables.visitIds, - fieldIds: variables.fieldIds, - uploaders: variables.uploaders, - hasVersioned: variables.hasVersioned, - operations: variables.operations, - filters: variables.filters + }} layout='vertical' onFinish={(variables) => { + submit({ + variables: { + roleId: role.id, + permissionChanges: { + data: { + subjectIds: variables.subjectIds, + visitIds: variables.visitIds, + fieldIds: variables.fieldIds, + uploaders: variables.uploaders, + hasVersioned: variables.hasVersioned, + operations: variables.operations, + filters: variables.filters + }, + manage: { + own: variables.own, + role: variables.role, + job: variables.job, + query: variables.query, + ontologyTrees: variables.ontologyTrees + } }, - manage: { - own: variables.own, - role: variables.role, - job: variables.job, - query: variables.query, - ontologyTrees: variables.ontologyTrees - } - }, - description: variables.description - } - })}> + description: variables.description + } + }).catch(() => { return; }); + }}>
@@ -455,7 +462,7 @@ type UsersControlPanelProps = { projectId?: string; availableUserList: IUser[]; originallySelectedUsers: IUser[]; - permissions: any; + permissions; } const UsersControlPanel: FunctionComponent = ({ @@ -468,8 +475,8 @@ const UsersControlPanel: FunctionComponent = ({ const [editUsers, { loading }] = useMutation(EDIT_ROLE); const { loading: getOrgsLoading, error: getOrgsError, data: getOrgsData } = useQuery(GET_ORGANISATIONS); - const handleSelect = async (value: string) => { - return editUsers({ + const handleSelect = (value: string) => { + editUsers({ variables: { roleId, userChanges: { @@ -478,11 +485,11 @@ const UsersControlPanel: FunctionComponent = ({ }, permissionChanges: permissions } - }); + }).catch(() => { return; }); }; - const handleDeselect = async (value: string) => { - return editUsers({ + const handleDeselect = (value: string) => { + editUsers({ variables: { roleId, userChanges: { @@ -491,10 +498,10 @@ const UsersControlPanel: FunctionComponent = ({ }, permissionChanges: permissions } - }); + }).catch(() => { return; }); }; - const handleFilter = (value: string, option: any) => { + const handleFilter = (value: string, option) => { const searchTerm = value?.trim()?.toLocaleLowerCase(); const user = availableUserList.filter(user => user.id === option.value)?.[0]; if (!user || !searchTerm || searchTerm === '') @@ -525,7 +532,7 @@ const UsersControlPanel: FunctionComponent = ({ } }).then(() => { onClose(); - }); + }).catch(() => { return; }); }} > {label} @@ -547,7 +554,7 @@ const UsersControlPanel: FunctionComponent = ({ }), {}); return ( - + > mode='multiple' loading={loading} style={{ width: '100%' }} diff --git a/packages/itmat-ui-react/src/components/reusable/subsection/subsection.tsx b/packages/itmat-ui-react/src/components/reusable/subsection/subsection.tsx index 9794385b3..599cf281c 100644 --- a/packages/itmat-ui-react/src/components/reusable/subsection/subsection.tsx +++ b/packages/itmat-ui-react/src/components/reusable/subsection/subsection.tsx @@ -1,7 +1,7 @@ import { FunctionComponent } from 'react'; import css from './subsection.module.css'; -export const Subsection: FunctionComponent<{ title: any; children: any }> = ({ title, children }) => { +export const Subsection: FunctionComponent<{ title; children }> = ({ title, children }) => { return
{title}
@@ -10,7 +10,7 @@ export const Subsection: FunctionComponent<{ title: any; children: any }> = ({ t
; }; -export const SubsectionWithComment: FunctionComponent<{ title: any; comment: any; children: any; float?: any }> = ({ title, comment, children, float }) => { +export const SubsectionWithComment: FunctionComponent<{ title; comment; children; float }> = ({ title, comment, children, float }) => { return
{title} {comment}
diff --git a/packages/itmat-ui-react/src/components/scaffold/mainMenuBar.tsx b/packages/itmat-ui-react/src/components/scaffold/mainMenuBar.tsx index ed7687c07..9c67e02e3 100644 --- a/packages/itmat-ui-react/src/components/scaffold/mainMenuBar.tsx +++ b/packages/itmat-ui-react/src/components/scaffold/mainMenuBar.tsx @@ -87,7 +87,7 @@ export const MainMenuBar: FunctionComponent = ({ projects }) =
- + mutation={LOGOUT} update={(cache, { data: { logout } }) => { if (logout.successful === true) { @@ -99,7 +99,7 @@ export const MainMenuBar: FunctionComponent = ({ projects }) = }} > {(logout) => ( -
{ logout(); }}> Logout
+
{ logout().catch(() => { return; }); }}> Logout
)}
diff --git a/packages/itmat-ui-react/src/components/users/userDetails.tsx b/packages/itmat-ui-react/src/components/users/userDetails.tsx index 4fe8feabc..236b1bf30 100644 --- a/packages/itmat-ui-react/src/components/users/userDetails.tsx +++ b/packages/itmat-ui-react/src/components/users/userDetails.tsx @@ -133,7 +133,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce if (getorgserror) { return

ERROR: please try again.

; } const orgList: IOrganisation[] = getorgsdata.getOrganisations; return ( - + mutation={EDIT_USER} onCompleted={() => setSavedSuccessfully(true)} > @@ -144,7 +144,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce createdAt: dayjs(user.createdAt), expiredAt: dayjs(user.expiredAt), organisation: orgList.find(org => org.id === user.organisation)?.id - }} layout='vertical' onFinish={async (variables) => submit({ variables: formatSubmitObj(variables) })}> + }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> @@ -217,7 +217,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce forgotPassword: true, username: user.username } - }); + }).catch(() => { return; }); }}> Send a password reset email @@ -226,7 +226,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce }     {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === userTypes.ADMIN - ? + ? mutation={DELETE_USER} refetchQueries={[ { query: GET_USERS, variables: { fetchDetailsAdminOnly: false, fetchAccessPrivileges: false } }, @@ -241,7 +241,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce } if (error) return

{error.message}

; return ( - Are you sure about deleting user {user.username}?} onConfirm={() => { deleteUser({ variables: { userId: user.id } }); }} okText='Yes' cancelText='No'> + Are you sure about deleting user {user.username}?} onConfirm={() => { deleteUser({ variables: { userId: user.id } }).catch(() => { return; }); }} okText='Yes' cancelText='No'> @@ -271,7 +271,7 @@ export const showTimeFunc = { /* More time control due to different behaviors in chrome and firefox, also correct errors of summer/winter time offset */ export const changeTimeFunc = { - changeDate: function (inputs: any, value: any) { + changeDate: function (inputs, value) { /* When in summer time, there is non-zero timezoneoffset which should be considered */ const offsetTime = new Date(inputs.expiredAt - new Date(inputs.expiredAt).getTimezoneOffset() * 60 * 1000); let newDate; @@ -284,7 +284,7 @@ export const changeTimeFunc = { } return { ...inputs, expiredAt: newDate.valueOf() }; }, - changeTime: function (inputs: any, value: any) { + changeTime: function (inputs, value) { const recordedDate = new Date(inputs.expiredAt).toISOString().substring(0, 10); /* When in summer time, there is non-zero timezoneoffset which should be considered */ return { ...inputs, expiredAt: new Date(recordedDate + 'T' + value).valueOf() - new Date(inputs.expiredAt).getTimezoneOffset() * 60 * 1000 }; diff --git a/packages/itmat-ui-react/src/components/users/userList.tsx b/packages/itmat-ui-react/src/components/users/userList.tsx index 447aa6be2..636ee01c3 100644 --- a/packages/itmat-ui-react/src/components/users/userList.tsx +++ b/packages/itmat-ui-react/src/components/users/userList.tsx @@ -11,7 +11,7 @@ import { IUserWithoutToken } from '@itmat-broker/itmat-types'; export const UserListSection: FunctionComponent = () => { return ( - + query={GET_USERS} variables={{ fetchDetailsAdminOnly: true, fetchAccessPrivileges: false }} > diff --git a/packages/itmat-ui-react/src/index.tsx b/packages/itmat-ui-react/src/index.tsx index 67a8a2bb5..a945a0cc6 100644 --- a/packages/itmat-ui-react/src/index.tsx +++ b/packages/itmat-ui-react/src/index.tsx @@ -18,6 +18,7 @@ const mountApp = () => { mountApp(); registerServiceWorker(); +// eslint-disable-next-line @typescript-eslint/no-explicit-any declare const module: any; if (module.hot) { module.hot.accept('./index', mountApp); diff --git a/packages/itmat-ui-react/src/registerServiceWorker.ts b/packages/itmat-ui-react/src/registerServiceWorker.ts index 1e81597f5..e000be7f2 100644 --- a/packages/itmat-ui-react/src/registerServiceWorker.ts +++ b/packages/itmat-ui-react/src/registerServiceWorker.ts @@ -21,9 +21,13 @@ const isLocalhost = Boolean( export default function register(): void { if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { + const base = process.env['NX_REACT_APP_BASEHREF']; + if (!base) { + return; + } // The URL constructor is available in all browsers that support SW. const publicUrl = new URL( - process.env.NX_REACT_APP_BASEHREF!, + base, window.location.toString() ); if (publicUrl.origin !== window.location.origin) { @@ -47,7 +51,7 @@ export default function register(): void { 'This web app is being served cache-first by a service ' + 'worker. To learn more, visit https://goo.gl/SC7cgQ' ); - }); + }).catch(() => { return; }); } else { // Is not local host. Just register service worker registerValidSW(swUrl); @@ -94,14 +98,14 @@ function checkValidServiceWorker(swUrl: string) { // Ensure service worker exists, and that we really are getting a JS file. if ( response.status === 404 || - response.headers.get('content-type')!.indexOf('javascript') === -1 + response.headers.get('content-type')?.indexOf('javascript') === -1 ) { // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then((registration) => { - registration.unregister().then(() => { + navigator.serviceWorker.ready.then(async (registration) => { + return registration.unregister().then(() => { window.location.reload(); }); - }); + }).catch(() => { return; }); } else { // Service worker found. Proceed as normal. registerValidSW(swUrl); @@ -116,8 +120,8 @@ function checkValidServiceWorker(swUrl: string) { export function unregister(): void { if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready.then((registration) => { - registration.unregister(); - }); + navigator.serviceWorker.ready.then(async (registration) => { + return registration.unregister(); + }).catch(() => { return; }); } } diff --git a/packages/itmat-ui-react/src/utils/dmpCrypto/msrCrypto.d.ts b/packages/itmat-ui-react/src/utils/dmpCrypto/msrCrypto.d.ts index 57c4cef36..9d084d319 100644 --- a/packages/itmat-ui-react/src/utils/dmpCrypto/msrCrypto.d.ts +++ b/packages/itmat-ui-react/src/utils/dmpCrypto/msrCrypto.d.ts @@ -1,17 +1,19 @@ +/* eslint-disable @typescript-eslint/no-use-before-define */ +/* eslint-disable @typescript-eslint/no-explicit-any */ declare namespace _default { export namespace subtle { - function encrypt(algorithm: any, keyHandle: any, buffer: any, ...args: any[]): Promise; - function decrypt(algorithm: any, keyHandle: any, buffer: any, ...args: any[]): Promise; - function sign(algorithm: any, keyHandle: any, buffer: any, ...args: any[]): Promise; - function verify(algorithm: any, keyHandle: any, signature: any, buffer: any, ...args: any[]): Promise; - function digest(algorithm: any, buffer: any, ...args: any[]): Promise; - function generateKey(algorithm: any, extractable: any, keyUsage: any, ...args: any[]): Promise; - function deriveKey(algorithm: any, baseKey: any, derivedKeyType: any, extractable: any, keyUsage: any): Promise; - function deriveBits(algorithm: any, baseKey: any, length: any, ...args: any[]): Promise; - function importKey(format: any, keyData: any, algorithm: any, extractable: any, keyUsage: any, ...args: any[]): Promise; - function exportKey(format: any, keyHandle: any): Promise; - function wrapKey(format: any, key: any, wrappingKey: any, wrappingKeyAlgorithm: any): Promise; - function unwrapKey(format: any, wrappedKey: any, unwrappingKey: any, unwrapAlgorithm: any, unwrappedKeyAlgorithm: any, extractable: any, keyUsages: any): Promise; + function encrypt(algorithm: any, keyHandle: any, buffer: any, ...args: any[]): Promise; + function decrypt(algorithm: any, keyHandle: any, buffer: any, ...args: any[]): Promise; + function sign(algorithm: any, keyHandle: any, buffer: any, ...args: any[]): Promise; + function verify(algorithm: any, keyHandle: any, signature: any, buffer: any, ...args: any[]): Promise; + function digest(algorithm: any, buffer: any, ...args: any[]): Promise; + function generateKey(algorithm: any, extractable: any, keyUsage: any, ...args: any[]): Promise; + function deriveKey(algorithm: any, baseKey: any, derivedKeyType: any, extractable: any, keyUsage: any): Promise; + function deriveBits(algorithm: any, baseKey: any, length: any, ...args: any[]): Promise; + function importKey(format: any, keyData: any, algorithm: any, extractable: any, keyUsage: any, ...args: any[]): Promise; + function exportKey(format: any, keyHandle: any): Promise; + function wrapKey(format: any, key: any, wrappingKey: any, wrappingKeyAlgorithm: any): Promise; + function unwrapKey(format: any, wrappedKey: any, unwrappingKey: any, unwrapAlgorithm: any, unwrappedKeyAlgorithm: any, extractable: any, keyUsages: any): Promise; } export function getRandomValues(array: any): any; export function initPrng(entropyData: any): void; diff --git a/packages/itmat-ui-react/src/utils/logUtils.tsx b/packages/itmat-ui-react/src/utils/logUtils.tsx index ad9412a59..dd9177407 100644 --- a/packages/itmat-ui-react/src/utils/logUtils.tsx +++ b/packages/itmat-ui-react/src/utils/logUtils.tsx @@ -1,7 +1,7 @@ import { LOG_ACTION, LOG_STATUS, userTypes } from '@itmat-broker/itmat-types'; import { FetchResult } from '@apollo/client'; -export function logFun(mutationFunc: (__unused__data: { variables: any }) => Promise>, whoamidata: any, type: LOG_ACTION, actionData: any, status: LOG_STATUS) { +export function logFun(mutationFunc: (__unused__data: { variables }) => Promise>, whoamidata, type: LOG_ACTION, actionData, status: LOG_STATUS) { if ('ERROR' in actionData) { actionData.ERROR = actionData.ERROR.graphQLErrors[0].message; } @@ -15,6 +15,5 @@ export function logFun(mutationFunc: (__unused__data: { variables: any }) => Pro actionData: logData, status: status } - } - ); + }).catch(() => { return; }); } diff --git a/packages/itmat-ui-react/src/utils/tools.ts b/packages/itmat-ui-react/src/utils/tools.ts index 15c636667..714785333 100644 --- a/packages/itmat-ui-react/src/utils/tools.ts +++ b/packages/itmat-ui-react/src/utils/tools.ts @@ -84,10 +84,10 @@ const rank = { } return array; }, - rank: function (x, y) { + rank: function (x: Array, y: Array) { let nx = x.length; let ny = y.length; - const combined: any[] = []; + const combined: Array<{ set: 'x' | 'y', val: (typeof x)[number] }> = []; while (nx--) { combined.push({ set: 'x', @@ -222,17 +222,17 @@ export function mannwhitneyu(x, y, alt, corr) { return { U: u.small, p: p }; } -export function generateCascader(root: any, array: any, includeEnd: boolean) { +export function generateCascader(root, array, includeEnd: boolean) { if (!root) { return; } - let arrPointer: any = array; + let arrPointer = array; const path = [...root.path]; if (includeEnd) { path.push(root.name); } for (const node of path) { - const obj = arrPointer.filter((el: { value: any; }) => el.value === node)[0]; + const obj = arrPointer.filter((el: { value; }) => el.value === node)[0]; if (!obj) { arrPointer.push({ value: node, @@ -240,7 +240,7 @@ export function generateCascader(root: any, array: any, includeEnd: boolean) { children: [] }); } - arrPointer = arrPointer.filter((el: { value: any; }) => el.value === node)[0].children; + arrPointer = arrPointer.filter((el: { value; }) => el.value === node)[0].children; } } diff --git a/packages/itmat-ui-react/src/window.d.ts b/packages/itmat-ui-react/src/window.d.ts new file mode 100644 index 000000000..137baf40a --- /dev/null +++ b/packages/itmat-ui-react/src/window.d.ts @@ -0,0 +1,3 @@ +interface Window { + onUploadProgressHackMap: Record void>; +} \ No newline at end of file From 7056cf618c46b17be79c7657efdd093f86f6836c Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Sun, 28 Apr 2024 02:04:57 +0100 Subject: [PATCH 154/252] Fix type issues caused by any casting --- .husky/pre-commit | 8 +- package-lock.json | 24295 ++++++++++++++ package.json | 337 +- packages/itmat-commons/src/utils/database.ts | 20 +- packages/itmat-commons/src/utils/objStore.ts | 18 +- packages/itmat-interface/express-user.d.ts | 15 + .../src/graphql/ApolloServerContext 2.ts | 3 + .../src/graphql/ApolloServerContext.ts | 1 + .../src/graphql/core/fieldCore.ts | 9 +- .../src/graphql/core/permissionCore.ts | 55 +- .../src/graphql/core/studyCore.ts | 45 +- .../src/graphql/resolvers/context 2.ts | 11 + .../src/graphql/resolvers/fileResolvers.ts | 20 +- .../src/graphql/resolvers/index.ts | 23 +- .../src/graphql/resolvers/jobResolvers.ts | 12 +- .../src/graphql/resolvers/logResolvers.ts | 17 +- .../resolvers/organisationResolvers.ts | 2 +- .../graphql/resolvers/permissionResolvers.ts | 17 +- .../src/graphql/resolvers/pubkeyResolvers.ts | 9 +- .../src/graphql/resolvers/queryResolvers.ts | 7 +- .../resolvers/standardizationResolvers.ts | 9 + .../src/graphql/resolvers/studyResolvers.ts | 280 +- .../src/graphql/resolvers/userResolvers.ts | 98 +- packages/itmat-interface/src/index.ts | 4 +- .../itmat-interface/src/interfaceRunner.ts | 1 + packages/itmat-interface/src/log/logPlugin.ts | 46 +- .../itmat-interface/src/rest/fileDownload.ts | 9 +- packages/itmat-interface/src/server/router.ts | 22 +- packages/itmat-interface/src/server/server.ts | 6 +- .../src/utils/configManager.ts | 14 +- .../itmat-interface/src/utils/pubkeycrypto.ts | 4 +- packages/itmat-interface/src/utils/query.ts | 224 +- .../test/serverTests/log.test.ts | 2 + .../test/serverTests/study.test.ts | 202 +- .../src/curation/CSVCurator.ts | 330 - .../src/curation/FieldCurator.ts | 214 - .../src/curation/JSONCurator.ts | 316 - packages/itmat-job-executor/src/index.ts | 2 +- .../src/jobExecutorRunner.ts | 8 +- .../src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts | 63 - .../UKB_FIELD_INFO_UPLOAD_Handler.ts | 103 - .../jobHandlers/UKB_JSON_UPLOAD_Handler.ts | 58 - .../src/query/pipeLineGenerator.ts | 70 +- .../src/query/queryHandler.ts | 26 +- .../test/testFiles/CSVCurator.tsv | 2227 -- .../test/testFiles/CSVCurator_error1.tsv | 2227 -- .../test/testFiles/CSVCurator_error2.tsv | 2227 -- .../test/testFiles/CSVCurator_error3.tsv | 2227 -- .../test/testFiles/CSVCurator_error4.tsv | 2227 -- .../test/testFiles/CSVCurator_error5.tsv | 2227 -- .../test/testFiles/FieldCurator.tsv | 27 - .../test/testFiles/FieldCurator_1000.tsv | 1227 - .../test/testFiles/FieldCurator_error1.tsv | 1227 - .../test/testFiles/FieldCurator_error2.tsv | 1227 - .../test/testFiles/FieldCurator_error3.tsv | 1227 - .../test/testFiles/FieldCurator_error4.tsv | 1227 - .../test/testFiles/FieldCurator_error5.tsv | 1227 - .../test/testFiles/JSONCurator.json | 1 - .../test/testFiles/JSONCurator_error1.json | 1 - .../test/testFiles/JSONCurator_error2.json | 1 - .../test/testFiles/JSONCurator_error3.json | 1 - .../test/testFiles/JSONCurator_error4.json | 1 - .../test/testFiles/JSONCurator_error5.json | 1 - .../test/unit_tests/csvcurator.test.ts | 549 - .../test/unit_tests/fieldcurator.test.ts | 365 - .../test/unit_tests/jsoncurator.test.ts | 535 - packages/itmat-types/src/types/common.ts | 6 + packages/itmat-types/src/types/data.ts | 17 +- packages/itmat-types/src/types/field.ts | 4 +- packages/itmat-types/src/types/index.ts | 4 +- packages/itmat-types/src/types/log.ts | 2 +- packages/itmat-types/src/types/query.ts | 14 +- .../itmat-types/src/types/standardization.ts | 16 +- packages/itmat-types/src/types/study.ts | 55 +- packages/itmat-types/src/types/user.ts | 5 +- .../src/components/apolloClient.ts | 2 +- .../src/components/datasetDetail/index.tsx | 7 +- .../tabContent/admin/adminTab.tsx | 13 +- .../tabContent/dashboard/jobs.tsx | 12 +- .../datasetDetail/tabContent/data/dataTab.tsx | 10 +- .../tabContent/data/fieldListSelection.tsx | 4 +- .../tabContent/data/fieldTab.tsx | 6 +- .../tabContent/data/uploadNewData.tsx | 107 - .../tabContent/data/uploadNewFields.tsx | 113 - .../tabContent/files/fileTab.tsx | 38 +- .../detailSections/deleteProjectSection.tsx | 14 +- .../detailSections/patientIdMapping.tsx | 3 +- .../projects/detailSections/projectDetail.tsx | 4 +- .../projects/projectListSection.tsx | 20 +- .../components/datasetList/addNewDataSet.tsx | 6 +- .../components/datasetList/datasetList.tsx | 6 +- .../src/components/log/logList.tsx | 25 +- .../src/components/login/login.tsx | 9 +- .../src/components/profile/profile.tsx | 4 +- .../src/components/projectDetail/index.tsx | 7 +- .../tabContent/analysis/analysisTab.tsx | 94 +- .../projectDetail/tabContent/data/dataTab.tsx | 61 +- .../projectDetail/tabContent/file/fileTab.tsx | 3 +- .../components/projectList/projectList.tsx | 5 +- .../reusable/fieldList/fieldList.tsx | 2 +- .../roleControlSection/roleControlSection.tsx | 27 +- .../reusable/subsection/subsection.tsx | 2 +- .../src/components/scaffold/mainMenuBar.tsx | 8 +- .../src/components/users/userDetails.tsx | 21 +- .../src/components/users/userList.tsx | 4 +- yarn.lock | 27116 ++++++++-------- 106 files changed, 39107 insertions(+), 38010 deletions(-) create mode 100644 package-lock.json create mode 100644 packages/itmat-interface/express-user.d.ts create mode 100644 packages/itmat-interface/src/graphql/ApolloServerContext 2.ts create mode 100644 packages/itmat-interface/src/graphql/resolvers/context 2.ts delete mode 100644 packages/itmat-job-executor/src/curation/CSVCurator.ts delete mode 100644 packages/itmat-job-executor/src/curation/FieldCurator.ts delete mode 100644 packages/itmat-job-executor/src/curation/JSONCurator.ts delete mode 100644 packages/itmat-job-executor/src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts delete mode 100644 packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts delete mode 100644 packages/itmat-job-executor/src/jobHandlers/UKB_JSON_UPLOAD_Handler.ts delete mode 100644 packages/itmat-job-executor/test/testFiles/CSVCurator.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/CSVCurator_error1.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/CSVCurator_error2.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/CSVCurator_error3.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/CSVCurator_error4.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/CSVCurator_error5.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/FieldCurator.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/FieldCurator_1000.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/FieldCurator_error1.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/FieldCurator_error2.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/FieldCurator_error3.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/FieldCurator_error4.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/FieldCurator_error5.tsv delete mode 100644 packages/itmat-job-executor/test/testFiles/JSONCurator.json delete mode 100644 packages/itmat-job-executor/test/testFiles/JSONCurator_error1.json delete mode 100644 packages/itmat-job-executor/test/testFiles/JSONCurator_error2.json delete mode 100644 packages/itmat-job-executor/test/testFiles/JSONCurator_error3.json delete mode 100644 packages/itmat-job-executor/test/testFiles/JSONCurator_error4.json delete mode 100644 packages/itmat-job-executor/test/testFiles/JSONCurator_error5.json delete mode 100644 packages/itmat-job-executor/test/unit_tests/csvcurator.test.ts delete mode 100644 packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts delete mode 100644 packages/itmat-job-executor/test/unit_tests/jsoncurator.test.ts create mode 100644 packages/itmat-types/src/types/common.ts delete mode 100644 packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewData.tsx delete mode 100644 packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewFields.tsx diff --git a/.husky/pre-commit b/.husky/pre-commit index c11a10f77..610c2a54f 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -yarn run lint-staged \ No newline at end of file +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npm test diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..36ffb20d4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,24295 @@ +{ + "name": "itmat-broker", + "version": "2.5.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "itmat-broker", + "version": "2.5.1", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@ant-design/icons": "5.3.6", + "@ant-design/plots": "2.2.0", + "@apollo/client": "3.9.11", + "@apollo/server": "4.10.4", + "@commitlint/config-conventional": "^18.6.2", + "@commitlint/config-nx-scopes": "^18.6.1", + "@ideafast/idgen": "0.1.1", + "@swc/helpers": "0.5.10", + "antd": "5.16.4", + "apollo-upload-client": "18.0.1", + "axios": "1.6.8", + "bcrypt": "5.1.1", + "commitlint": "^18.6.1", + "connect-mongo": "5.1.0", + "connect-timeout": "1.9.0", + "core-js": "^3.37.0", + "cors": "2.8.5", + "csv-parse": "5.5.5", + "dayjs": "1.11.10", + "deepmerge": "4.3.1", + "esbuild": "^0.20.2", + "export-from-json": "1.7.4", + "express": "^4.19.2", + "express-rate-limit": "7.2.0", + "express-session": "1.18.0", + "fs-extra": "11.2.0", + "graphql": "16.8.1", + "graphql-scalars": "1.23.0", + "graphql-subscriptions": "2.0.0", + "graphql-tag": "2.12.6", + "graphql-type-json": "0.3.2", + "graphql-upload-minimal": "1.6.1", + "graphql-ws": "5.16.0", + "hi-base32": "0.5.1", + "http-proxy-middleware": "3.0.0", + "https-browserify": "1.0.0", + "JSONStream": "1.3.5", + "jsonwebtoken": "9.0.2", + "jstat": "1.9.6", + "lint-staged": "15.2.2", + "minio": "7.1.3", + "mongodb": "6.5.0", + "nodemailer": "6.9.13", + "passport": "0.7.0", + "path-browserify": "1.0.1", + "qrcode": "1.5.3", + "react": "18.2.0", + "react-csv": "2.2.2", + "react-dom": "18.2.0", + "react-dropzone": "14.2.3", + "react-helmet-async": "2.0.4", + "react-highlight-words": "0.20.0", + "react-router-dom": "6.22.3", + "regenerator-runtime": "0.14.1", + "sanitize-filename": "1.6.3", + "stream-browserify": "3.0.0", + "stream-http": "3.2.0", + "tmp": "0.2.3", + "tslib": "^2.6.2", + "url": "0.11.3", + "uuid": "9.0.1" + }, + "devDependencies": { + "@babel/core": "^7.24.4", + "@babel/preset-react": "^7.24.1", + "@nx/esbuild": "18.3.3", + "@nx/eslint": "18.3.3", + "@nx/eslint-plugin": "18.3.3", + "@nx/express": "18.3.3", + "@nx/jest": "18.3.3", + "@nx/js": "18.3.3", + "@nx/node": "18.3.3", + "@nx/react": "18.3.3", + "@nx/web": "18.3.3", + "@nx/webpack": "18.3.3", + "@nx/workspace": "18.3.3", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", + "@svgr/webpack": "8.1.0", + "@swc/cli": "0.3.12", + "@swc/core": "1.4.16", + "@swc/jest": "0.2.36", + "@testing-library/react": "15.0.2", + "@types/bcrypt": "5.0.2", + "@types/connect-timeout": "0.0.39", + "@types/cors": "2.8.17", + "@types/express": "4.17.21", + "@types/express-session": "1.18.0", + "@types/fs-extra": "11.0.4", + "@types/jest": "29.5.12", + "@types/json2csv": "5.0.7", + "@types/jsonwebtoken": "9.0.6", + "@types/node": "^20.12.7", + "@types/nodemailer": "6.4.14", + "@types/passport": "1.0.16", + "@types/qrcode": "1.5.5", + "@types/react": "18.2.79", + "@types/react-dom": "18.2.25", + "@types/react-highlight-words": "0.16.7", + "@types/supertest": "6.0.2", + "@types/tmp": "0.2.6", + "@types/uuid": "9.0.8", + "@types/webpack-env": "1.18.4", + "@typescript-eslint/eslint-plugin": "7.7.0", + "@typescript-eslint/parser": "7.7.0", + "eslint": "8.57.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsonc": "2.15.1", + "eslint-plugin-jsx-a11y": "6.8.0", + "eslint-plugin-react": "7.34.1", + "eslint-plugin-react-hooks": "4.6.0", + "get-port": "7.1.0", + "git-rev-sync": "3.0.2", + "husky": "^9.0.11", + "jest": "29.7.0", + "jest-environment-jsdom": "29.7.0", + "mongodb-memory-server": "9.2.0", + "nx": "18.3.3", + "prettier": "^3.2.5", + "react-refresh": "^0.14.0", + "supertest": "6.3.4", + "swc-loader": "0.2.6", + "ts-essentials": "9.4.2", + "ts-jest": "29.1.2", + "ts-node": "10.9.2", + "typescript": "5.4.5", + "url-loader": "^4.1.1", + "webpack": "^5.91.0", + "webpack-merge": "^5.10.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ant-design/charts-util": { + "version": "0.0.1-alpha.5", + "resolved": "https://registry.npmjs.org/@ant-design/charts-util/-/charts-util-0.0.1-alpha.5.tgz", + "integrity": "sha512-EwTUjRPhU2CUyI2e11pAi9aOQg9oEWdFEWxv1f4j+Ta4doYXd1yTl94Zy9JvigiEj4qv8dPGl0PUd3r+qMVrAg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, + "node_modules/@ant-design/colors": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.2.tgz", + "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.6.1" + } + }, + "node_modules/@ant-design/cssinjs": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.20.0.tgz", + "integrity": "sha512-uG3iWzJxgNkADdZmc6W0Ci3iQAUOvLMcM8SnnmWq3r6JeocACft4ChnY/YWvI2Y+rG/68QBla/O+udke1yH3vg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "@emotion/hash": "^0.8.0", + "@emotion/unitless": "^0.7.5", + "classnames": "^2.3.1", + "csstype": "^3.1.3", + "rc-util": "^5.35.0", + "stylis": "^4.0.13" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.3.6.tgz", + "integrity": "sha512-JeWsgNjvkTTC73YDPgWOgdScRku/iHN9JU0qk39OSEmJSCiRghQMLlxGTCY5ovbRRoXjxHXnUKgQEgBDnQfKmA==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^7.0.0", + "@ant-design/icons-svg": "^4.4.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "rc-util": "^5.31.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==", + "license": "MIT" + }, + "node_modules/@ant-design/plots": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ant-design/plots/-/plots-2.2.0.tgz", + "integrity": "sha512-tCsOyPwxQ8xr5wMOWrFO3CEgdboXxMzMPrydZ7szXULi8LzztO9HHrg5WClwjAr9Zgfit0fHjmPd1FkIBP4k7A==", + "license": "MIT", + "dependencies": { + "@ant-design/charts-util": "0.0.1-alpha.5", + "@antv/event-emitter": "^0.1.3", + "@antv/g": "^6.0.0", + "@antv/g2": "^5.1.18", + "@antv/g2-extension-plot": "^0.2.0" + }, + "peerDependencies": { + "lodash-es": "^4.17.21", + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, + "node_modules/@ant-design/react-slick": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", + "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@antv/component": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@antv/component/-/component-2.0.0.tgz", + "integrity": "sha512-wl1pmqLIW/Zt9p7twMcAlvowHU81iV4bb5XWS38DL7gimSONHRh5C/uYKCXKB1KtHAH5d25YHESoGMBc0L3r+w==", + "license": "MIT", + "dependencies": { + "@antv/g": "^6.0.0", + "@antv/scale": "^0.4.3", + "@antv/util": "^3.3.5", + "svg-path-parser": "^1.1.0" + } + }, + "node_modules/@antv/coord": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@antv/coord/-/coord-0.4.7.tgz", + "integrity": "sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==", + "license": "MIT", + "dependencies": { + "@antv/scale": "^0.4.12", + "@antv/util": "^2.0.13", + "gl-matrix": "^3.4.3" + } + }, + "node_modules/@antv/coord/node_modules/@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", + "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", + "license": "ISC", + "dependencies": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/event-emitter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@antv/event-emitter/-/event-emitter-0.1.3.tgz", + "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==", + "license": "MIT" + }, + "node_modules/@antv/g": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@antv/g/-/g-6.0.2.tgz", + "integrity": "sha512-ZCpxUtU4JU1PIh2bDUlcnqLd8zJ2bOdx4EHYYTgUfMwu/hL2p/OYzg26A2qj91FL00JuZNEXVZdKAy5tm8jzmw==", + "license": "MIT", + "dependencies": { + "@antv/g-camera-api": "2.0.1", + "@antv/g-dom-mutation-observer-api": "2.0.1", + "@antv/g-lite": "2.0.1", + "@antv/g-web-animations-api": "2.0.2" + } + }, + "node_modules/@antv/g-camera-api": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-camera-api/-/g-camera-api-2.0.1.tgz", + "integrity": "sha512-TQuX7heO9Dk1bxBvk2Byk42QlHFimpPbI8LdrKQ25RrwTca7+94lZEbWXaN7J58yi4FQQDBiWZsNkbFK5wP37g==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/util": "^3.3.5", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-canvas": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-canvas/-/g-canvas-2.0.1.tgz", + "integrity": "sha512-I9Tc8csfvQ84tq14PbqzxuxybWoxK79m27eyOZIZH6k5QQucMyl7rk8ctjh2+YF/QYrXJeL2OMzKgkbECFxwnA==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/g-plugin-canvas-path-generator": "2.0.1", + "@antv/g-plugin-canvas-picker": "2.0.1", + "@antv/g-plugin-canvas-renderer": "2.0.1", + "@antv/g-plugin-dom-interaction": "2.0.1", + "@antv/g-plugin-html-renderer": "2.0.1", + "@antv/g-plugin-image-loader": "2.0.1", + "@antv/util": "^3.3.5", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-dom-mutation-observer-api": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-2.0.1.tgz", + "integrity": "sha512-Jg/nc6klNpjTfvCb1tv1a5ICJRtRRGbXb+vNA37UJvttae/p2hLPOKYbLBcuNs4mQf+AOxY2TZ/3Z3onxjM6Aw==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1" + } + }, + "node_modules/@antv/g-lite": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-lite/-/g-lite-2.0.1.tgz", + "integrity": "sha512-buCkPKLWwErCySgwZVvLJow2bw9oK3Xk5VXzzOiuIqn5RAjEIyn0zSmMV6+KFiLteG9weIc/trb75rT2yVXUHw==", + "license": "MIT", + "dependencies": { + "@antv/g-math": "3.0.0", + "@antv/util": "^3.3.5", + "d3-color": "^1.4.0", + "eventemitter3": "^5.0.1", + "gl-matrix": "^3.4.3", + "rbush": "^3.0.1", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-lite/node_modules/d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@antv/g-math": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@antv/g-math/-/g-math-3.0.0.tgz", + "integrity": "sha512-AkmiNIEL1vgqTPeGY2wtsMdBBqKFwF7SKSgs+D1iOS/rqYMsXdhp/HvtuQ5tx/HdawE/ZzTiicIYopc520ADZw==", + "license": "MIT", + "dependencies": { + "@antv/util": "^3.3.5", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-path-generator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-2.0.1.tgz", + "integrity": "sha512-AEWkYW3j2q0dhZpY4w1zOTpl/qkkpQbGsT3XdSLXjQokx+ot4l7X3F+QYGobPoUkJbQxtiU1uiAhUAsIKLVjuQ==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/g-math": "3.0.0", + "@antv/util": "^3.3.5", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-picker": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-2.0.1.tgz", + "integrity": "sha512-0GN3Lhq3TtKY0EBk0//pQK1sBOFLd/W7ofNK4HorpP9GZyRugBHz1v8MEPrN7pCRE9jVLnLFGscLCtIuX2KEnA==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/g-math": "3.0.0", + "@antv/g-plugin-canvas-path-generator": "2.0.1", + "@antv/g-plugin-canvas-renderer": "2.0.1", + "@antv/util": "^3.3.5", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-renderer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-2.0.1.tgz", + "integrity": "sha512-WcxuqAGsI25yXspLJRc6uZtstWvwDGzFFVZ2FuJLYOFFI8C6v/BJ6Ptzq81e8ocVpy8mNuEUlxzh/V4IOYeg0g==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/g-math": "3.0.0", + "@antv/g-plugin-canvas-path-generator": "2.0.1", + "@antv/g-plugin-image-loader": "2.0.1", + "@antv/util": "^3.3.5", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-dom-interaction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-2.0.1.tgz", + "integrity": "sha512-r6LByuKIReLQs4oU5duDBS+mhnMG8uMX/4jbGpFdf5NoFSCldcRgUiYW7m3RrPBOCSRcDsbXkKUqGAgKf67gnQ==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-dragndrop": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-2.0.1.tgz", + "integrity": "sha512-ylw0G5SLUtjdYaWmDAZw1FrkK7ECxH1tQAtt8h3x9yQSeFSN3b0Kg559cyeJwf9FpMwCyMUpRjFULdb6zGDvrg==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/util": "^3.3.5", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-html-renderer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-2.0.1.tgz", + "integrity": "sha512-+UlRf+0aelxdr3cI5qVdsg3iTZkXR+CpEQHnMzx8Z4Uyf/67qNOJp5JFFVLXAvVqSkH/v8mWRmEcP3fEc9U6Dg==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/util": "^3.3.5", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-image-loader": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-image-loader/-/g-plugin-image-loader-2.0.1.tgz", + "integrity": "sha512-5FJI7mmoPHlMGhBLJhLXGMZh1//xPvnu6CDZTp0adNRTJiMWVf/QlZSjBTrxlPLk60nmdSPS780K1mBf69fo8w==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/util": "^3.3.5", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-web-animations-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@antv/g-web-animations-api/-/g-web-animations-api-2.0.2.tgz", + "integrity": "sha512-7zkbboSkSEGuUlpyD955KPriozbZ7dYSTPyUgkRdtmmeUrs+38wAfU1N0ZaQHT4rsTXupbsCxnXRfq03q/bEkA==", + "license": "MIT", + "dependencies": { + "@antv/g-lite": "2.0.1", + "@antv/util": "^3.3.5", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g2": { + "version": "5.1.19", + "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-5.1.19.tgz", + "integrity": "sha512-sVzxgAm6DE65wRQpZ3O+OaRlCjESC12oT2Rle6Cifb80dC6LDjZ4aBT9O90QCYibCJj6WCTrDQSasi+7ALo7MA==", + "license": "MIT", + "dependencies": { + "@antv/component": "^2.0.0", + "@antv/coord": "^0.4.6", + "@antv/event-emitter": "^0.1.3", + "@antv/g": "^6.0.0", + "@antv/g-canvas": "^2.0.0", + "@antv/g-plugin-dragndrop": "^2.0.0", + "@antv/path-util": "^3.0.1", + "@antv/scale": "^0.4.12", + "@antv/util": "^3.3.5", + "d3-array": "^3.2.4", + "d3-dsv": "^3.0.1", + "d3-force": "^3.0.0", + "d3-format": "^3.1.0", + "d3-geo": "^3.1.0", + "d3-hierarchy": "^3.1.2", + "d3-path": "^3.1.0", + "d3-scale-chromatic": "^3.0.0", + "d3-shape": "^3.2.0", + "d3-voronoi": "^1.1.4", + "flru": "^1.0.2", + "fmin": "^0.0.2", + "pdfast": "^0.2.0" + } + }, + "node_modules/@antv/g2-extension-plot": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@antv/g2-extension-plot/-/g2-extension-plot-0.2.0.tgz", + "integrity": "sha512-XeJquOmZw3dHTj2qRNZJZlkX5qDrGJDMhuknHHMgGsj1PoPc8sOWzACesWVHB9tmHJqwheySWmwf4KLxtUBZ9w==", + "dependencies": { + "@antv/g2": "^5.1.8", + "@antv/util": "^3.3.5", + "d3-array": "^3.2.4", + "d3-hierarchy": "^3.1.2" + } + }, + "node_modules/@antv/path-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@antv/path-util/-/path-util-3.0.1.tgz", + "integrity": "sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q==", + "license": "MIT", + "dependencies": { + "gl-matrix": "^3.1.0", + "lodash-es": "^4.17.21", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/scale": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.4.15.tgz", + "integrity": "sha512-b3b2U1L55fcJg0fB/BloVvcngPo/QxhosWgjn6JmYLVLezxDYMO+zdQou8hxpsLMUVhH15NqRDcM/1n4U6G04g==", + "license": "MIT", + "dependencies": { + "@antv/util": "^2.0.13", + "color-string": "^1.5.5", + "fecha": "^4.2.1" + } + }, + "node_modules/@antv/scale/node_modules/@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", + "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", + "license": "ISC", + "dependencies": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/util": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-3.3.7.tgz", + "integrity": "sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "gl-matrix": "^3.3.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@apollo/cache-control-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz", + "integrity": "sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==", + "license": "MIT", + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/client": { + "version": "3.9.11", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.9.11.tgz", + "integrity": "sha512-H7e9m7cRcFO93tokwzqrsbnfKorkpV24xU30hFH5u2g6B+c1DMo/ouyF/YrBPdrTzqxQCjTUmds/FLmJ7626GA==", + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@wry/caches": "^1.0.0", + "@wry/equality": "^0.5.6", + "@wry/trie": "^0.5.0", + "graphql-tag": "^2.12.6", + "hoist-non-react-statics": "^3.3.2", + "optimism": "^0.18.0", + "prop-types": "^15.7.2", + "rehackt": "0.0.6", + "response-iterator": "^0.2.6", + "symbol-observable": "^4.0.0", + "ts-invariant": "^0.10.3", + "tslib": "^2.3.0", + "zen-observable-ts": "^1.2.5" + }, + "peerDependencies": { + "graphql": "^15.0.0 || ^16.0.0", + "graphql-ws": "^5.5.5", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "subscriptions-transport-ws": "^0.9.0 || ^0.11.0" + }, + "peerDependenciesMeta": { + "graphql-ws": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "subscriptions-transport-ws": { + "optional": true + } + } + }, + "node_modules/@apollo/protobufjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", + "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "long": "^4.0.0" + }, + "bin": { + "apollo-pbjs": "bin/pbjs", + "apollo-pbts": "bin/pbts" + } + }, + "node_modules/@apollo/server": { + "version": "4.10.4", + "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.10.4.tgz", + "integrity": "sha512-HS12CUa1wq8f5zKXOKJRwRdESFp4por9AINecpcsEUV9jsCP/NqPILgx0hCOOFJuKxmnaL7070xO6l5xmOq4Fw==", + "license": "MIT", + "dependencies": { + "@apollo/cache-control-types": "^1.0.3", + "@apollo/server-gateway-interface": "^1.1.1", + "@apollo/usage-reporting-protobuf": "^4.1.1", + "@apollo/utils.createhash": "^2.0.0", + "@apollo/utils.fetcher": "^2.0.0", + "@apollo/utils.isnodelike": "^2.0.0", + "@apollo/utils.keyvaluecache": "^2.1.0", + "@apollo/utils.logger": "^2.0.0", + "@apollo/utils.usagereporting": "^2.1.0", + "@apollo/utils.withrequired": "^2.0.0", + "@graphql-tools/schema": "^9.0.0", + "@josephg/resolvable": "^1.0.0", + "@types/express": "^4.17.13", + "@types/express-serve-static-core": "^4.17.30", + "@types/node-fetch": "^2.6.1", + "async-retry": "^1.2.1", + "cors": "^2.8.5", + "express": "^4.17.1", + "loglevel": "^1.6.8", + "lru-cache": "^7.10.1", + "negotiator": "^0.6.3", + "node-abort-controller": "^3.1.1", + "node-fetch": "^2.6.7", + "uuid": "^9.0.0", + "whatwg-mimetype": "^3.0.0" + }, + "engines": { + "node": ">=14.16.0" + }, + "peerDependencies": { + "graphql": "^16.6.0" + } + }, + "node_modules/@apollo/server-gateway-interface": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz", + "integrity": "sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ==", + "license": "MIT", + "dependencies": { + "@apollo/usage-reporting-protobuf": "^4.1.1", + "@apollo/utils.fetcher": "^2.0.0", + "@apollo/utils.keyvaluecache": "^2.1.0", + "@apollo/utils.logger": "^2.0.0" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/server/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/@apollo/usage-reporting-protobuf": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz", + "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==", + "license": "MIT", + "dependencies": { + "@apollo/protobufjs": "1.2.7" + } + }, + "node_modules/@apollo/utils.createhash": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz", + "integrity": "sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg==", + "license": "MIT", + "dependencies": { + "@apollo/utils.isnodelike": "^2.0.1", + "sha.js": "^2.4.11" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/utils.dropunuseddefinitions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz", + "integrity": "sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.fetcher": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz", + "integrity": "sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/utils.isnodelike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz", + "integrity": "sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/utils.keyvaluecache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz", + "integrity": "sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw==", + "license": "MIT", + "dependencies": { + "@apollo/utils.logger": "^2.0.1", + "lru-cache": "^7.14.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/utils.keyvaluecache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/@apollo/utils.logger": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-2.0.1.tgz", + "integrity": "sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@apollo/utils.printwithreducedwhitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz", + "integrity": "sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.removealiases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz", + "integrity": "sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.sortast": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz", + "integrity": "sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.stripsensitiveliterals": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz", + "integrity": "sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.usagereporting": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz", + "integrity": "sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==", + "license": "MIT", + "dependencies": { + "@apollo/usage-reporting-protobuf": "^4.1.0", + "@apollo/utils.dropunuseddefinitions": "^2.0.1", + "@apollo/utils.printwithreducedwhitespace": "^2.0.1", + "@apollo/utils.removealiases": "2.0.1", + "@apollo/utils.sortast": "^2.0.1", + "@apollo/utils.stripsensitiveliterals": "^2.0.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.withrequired": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz", + "integrity": "sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", + "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", + "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", + "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", + "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", + "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", + "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz", + "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", + "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", + "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", + "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz", + "integrity": "sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-decorators": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz", + "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", + "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", + "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", + "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", + "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", + "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", + "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", + "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", + "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", + "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", + "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", + "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/template": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", + "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", + "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", + "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", + "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", + "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", + "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", + "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", + "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", + "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", + "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", + "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", + "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", + "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", + "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", + "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", + "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", + "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", + "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", + "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", + "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", + "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-replace-supers": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", + "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", + "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", + "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", + "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", + "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", + "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz", + "integrity": "sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", + "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", + "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", + "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", + "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz", + "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-plugin-utils": "^7.24.0", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", + "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", + "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", + "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", + "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", + "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz", + "integrity": "sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.4", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-typescript": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", + "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", + "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", + "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", + "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz", + "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.4", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.4", + "@babel/plugin-transform-classes": "^7.24.1", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.1", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.1", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.1", + "@babel/plugin-transform-parameters": "^7.24.1", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.1", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.1", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", + "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-react-display-name": "^7.24.1", + "@babel/plugin-transform-react-jsx": "^7.23.4", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", + "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-typescript": "^7.24.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", + "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@commitlint/cli": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.6.1.tgz", + "integrity": "sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw==", + "license": "MIT", + "dependencies": { + "@commitlint/format": "^18.6.1", + "@commitlint/lint": "^18.6.1", + "@commitlint/load": "^18.6.1", + "@commitlint/read": "^18.6.1", + "@commitlint/types": "^18.6.1", + "execa": "^5.0.0", + "lodash.isfunction": "^3.0.9", + "resolve-from": "5.0.0", + "resolve-global": "1.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-conventional": { + "version": "18.6.3", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.6.3.tgz", + "integrity": "sha512-8ZrRHqF6je+TRaFoJVwszwnOXb/VeYrPmTwPhf0WxpzpGTcYy1p0SPyZ2eRn/sRi/obnWAcobtDAq6+gJQQNhQ==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^18.6.1", + "conventional-changelog-conventionalcommits": "^7.0.2" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-nx-scopes": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-nx-scopes/-/config-nx-scopes-18.6.1.tgz", + "integrity": "sha512-bNO1ts4k0P0QvigO4mibUbif9E4IYbtVA35Bdq2d6tFekJJs5BPaSQs8w+A0HWJfHIHAbrMhgupMDMyKDIEMyw==", + "license": "MIT", + "engines": { + "node": ">=v18" + }, + "peerDependencies": { + "nx": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "nx": { + "optional": true + } + } + }, + "node_modules/@commitlint/config-validator": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.6.1.tgz", + "integrity": "sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^18.6.1", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/ensure": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.6.1.tgz", + "integrity": "sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^18.6.1", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.6.1.tgz", + "integrity": "sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg==", + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.6.1.tgz", + "integrity": "sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^18.6.1", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/is-ignored": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.6.1.tgz", + "integrity": "sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^18.6.1", + "semver": "7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/lint": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.6.1.tgz", + "integrity": "sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ==", + "license": "MIT", + "dependencies": { + "@commitlint/is-ignored": "^18.6.1", + "@commitlint/parse": "^18.6.1", + "@commitlint/rules": "^18.6.1", + "@commitlint/types": "^18.6.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.6.1.tgz", + "integrity": "sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA==", + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^18.6.1", + "@commitlint/execute-rule": "^18.6.1", + "@commitlint/resolve-extends": "^18.6.1", + "@commitlint/types": "^18.6.1", + "chalk": "^4.1.0", + "cosmiconfig": "^8.3.6", + "cosmiconfig-typescript-loader": "^5.0.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/message": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.6.1.tgz", + "integrity": "sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw==", + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.6.1.tgz", + "integrity": "sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ==", + "license": "MIT", + "dependencies": { + "@commitlint/types": "^18.6.1", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.6.1.tgz", + "integrity": "sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w==", + "license": "MIT", + "dependencies": { + "@commitlint/top-level": "^18.6.1", + "@commitlint/types": "^18.6.1", + "git-raw-commits": "^2.0.11", + "minimist": "^1.2.6" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.6.1.tgz", + "integrity": "sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ==", + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^18.6.1", + "@commitlint/types": "^18.6.1", + "import-fresh": "^3.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.6.1.tgz", + "integrity": "sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew==", + "license": "MIT", + "dependencies": { + "@commitlint/ensure": "^18.6.1", + "@commitlint/message": "^18.6.1", + "@commitlint/to-lines": "^18.6.1", + "@commitlint/types": "^18.6.1", + "execa": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/to-lines": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.6.1.tgz", + "integrity": "sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q==", + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/top-level": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.6.1.tgz", + "integrity": "sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw==", + "license": "MIT", + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/top-level/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/top-level/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@commitlint/types": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.6.1.tgz", + "integrity": "sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", + "license": "MIT" + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@graphql-tools/merge": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz", + "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==", + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz", + "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==", + "license": "MIT", + "dependencies": { + "@graphql-tools/merge": "^8.4.1", + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.12" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/utils": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz", + "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==", + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "license": "MIT", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@ideafast/idgen": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@ideafast/idgen/-/idgen-0.1.1.tgz", + "integrity": "sha512-1kaaUD9LXRYnUqK2yJnwMXon2F3vqKzViAbEZQTeYAghLB60EEIbC4JXoi+KbKKxYNHNB03MGWUR5y3Ec+yEgA==", + "license": "MIT" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@josephg/resolvable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz", + "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==", + "license": "ISC" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ljharb/resumer": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ljharb/resumer/-/resumer-0.0.1.tgz", + "integrity": "sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==", + "license": "MIT", + "dependencies": { + "@ljharb/through": "^2.3.9" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@ljharb/through": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", + "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "license": "BSD-3-Clause", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mole-inc/bin-wrapper": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz", + "integrity": "sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bin-check": "^4.1.0", + "bin-version-check": "^5.0.0", + "content-disposition": "^0.5.4", + "ext-name": "^5.0.0", + "file-type": "^17.1.6", + "filenamify": "^5.0.2", + "got": "^11.8.5", + "os-filter-obj": "^2.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz", + "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==", + "license": "MIT", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nrwl/devkit": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.3.tgz", + "integrity": "sha512-3zZLE1vfwsNie7qjVUt9lqaM1slU0RTr/dW+Yt/2lxe8Peu6f8bnCM1Pf3kSlzoxQroctfocRtVHFXJsAuAt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "18.3.3" + } + }, + "node_modules/@nrwl/esbuild": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/esbuild/-/esbuild-18.3.3.tgz", + "integrity": "sha512-bbjgY4170UlnIgmOqMJ55JaCxjpllwJNi3z9EoyG1+8gj+QnVEX/HHRJB9iVpJDpLnte7LQmbOoDcjNy2rx2Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/esbuild": "18.3.3" + } + }, + "node_modules/@nrwl/eslint-plugin-nx": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.3.3.tgz", + "integrity": "sha512-ARqwcA2n2NN+8ATrooZtPbaW5fb9WSjDFZaI8RdphMXFnPrEkZnMpbrjFpLTj+wc1R6hIgTcYbli6fv4Gfbo3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/eslint-plugin": "18.3.3" + } + }, + "node_modules/@nrwl/express": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/express/-/express-18.3.3.tgz", + "integrity": "sha512-72exWTPfAR/eKFvb4SvN86Nui/gF5X2HsD4rShe2e0C4grARha6rmdm1QUo8UWWELslIybUEszyMhdEcPzggrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/express": "18.3.3" + } + }, + "node_modules/@nrwl/jest": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-18.3.3.tgz", + "integrity": "sha512-BPI0mIbmjTHFb0/qtMND59ECld7gorV+SEVLwf4BLl7SWumVB2gLAA2+yx71cvF1jO4R5Ndi2FrBwBC9E2Va5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/jest": "18.3.3" + } + }, + "node_modules/@nrwl/js": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.3.3.tgz", + "integrity": "sha512-7Wtv5kpeMWUDBUFu5go49HM/S8vDrtMOvZf9xnUcnjsFDReWe8XIEkTWudZDbzID3X4T6WQAftzj2Ov6k566lQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/js": "18.3.3" + } + }, + "node_modules/@nrwl/node": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/node/-/node-18.3.3.tgz", + "integrity": "sha512-87PXppPqI/jOl6swYVdQi8RBveOF7Oqmqw9m9eEbts6U2bazPipKTwBO4E9afkz3GMqaxe+d2H794JqH05Mr8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/node": "18.3.3" + } + }, + "node_modules/@nrwl/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/react/-/react-18.3.3.tgz", + "integrity": "sha512-i81SZJvycadVzbPB2YkFVhjZomeVz2vDty9+jjmaK+NNrQeic769nO4w+m6LdDEogCCV0cpsl1P6LH4YuqwwmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/react": "18.3.3" + } + }, + "node_modules/@nrwl/tao": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-18.3.3.tgz", + "integrity": "sha512-f/PUDLpSMEObiLQ5sIDySJM+5DxSCNunkxxbY1R9rmQ1cFcgrHaXIHQqbSj91mMa3mmtbKACk8u1LbI+oQV0Tg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "nx": "18.3.3", + "tslib": "^2.3.0" + }, + "bin": { + "tao": "index.js" + } + }, + "node_modules/@nrwl/web": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-18.3.3.tgz", + "integrity": "sha512-EuEht/tk9VHLKxjVMEh96wu8WNkRFRabpmLBc++pp2bEaoxz8Qm2xDO+sOU3Wp4zGNx/qQVxA1kKMZCjVjk75g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/web": "18.3.3" + } + }, + "node_modules/@nrwl/webpack": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-18.3.3.tgz", + "integrity": "sha512-E/8vr1qAFSan1FnewvLBRBHYIaPG9dxZeYKRcQvcDx+Jf2oPyJNYI+9kkoNxEZg9FeFJMShK2x8YBgwB+ivH5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/webpack": "18.3.3" + } + }, + "node_modules/@nrwl/workspace": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-18.3.3.tgz", + "integrity": "sha512-9Giuec9l3PpS8mekD00W9kBIKmWRpQSkp+/RvYmc+7kKtVC+Uj/kc68exBOanVgq6zKzYrn+FqHWHGWnHxp+ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/workspace": "18.3.3" + } + }, + "node_modules/@nx/devkit": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.3.tgz", + "integrity": "sha512-FtkZ6mA5//vEA5lcbT80m080ROVacHYV5F1peztTRA+IY2JZGJoqx425kn5ylDO8aCSAIAwcn2qIdhI8BnpG3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/devkit": "18.3.3", + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 16 <= 19" + } + }, + "node_modules/@nx/esbuild": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/esbuild/-/esbuild-18.3.3.tgz", + "integrity": "sha512-qhvmLO4mXedBoLnAhuYNOOVJYTRSOp2MNxZH3bvZ3Fwa95XmRlY8pUV9FLxMp80h+kLAaHbuIYRbt2KdJoanmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/esbuild": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/js": "18.3.3", + "chalk": "^4.1.0", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "esbuild": "~0.19.2" + }, + "peerDependenciesMeta": { + "esbuild": { + "optional": true + } + } + }, + "node_modules/@nx/esbuild/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/eslint": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-18.3.3.tgz", + "integrity": "sha512-cvJjyykTEtQN08b5wQFelD/cbye7Nl5zFVESs+mn9/ezCukjAgP9seOk39nchKykRBAm7zzA1xZOB9thNqw9aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "18.3.3", + "@nx/js": "18.3.3", + "@nx/linter": "18.3.3", + "eslint": "^8.0.0", + "tslib": "^2.3.0", + "typescript": "~5.4.2" + }, + "peerDependencies": { + "js-yaml": "4.1.0" + }, + "peerDependenciesMeta": { + "js-yaml": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-18.3.3.tgz", + "integrity": "sha512-ww3r8VRlzJXOBRG+qCTd+VXHRKxiIrOH+cIokTtuzGrnCXWEMSPO5Ts6z/Jsbb0xAcfZ39WUnxuDZdKbp4aHqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/eslint-plugin-nx": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/js": "18.3.3", + "@typescript-eslint/type-utils": "^7.3.0", + "@typescript-eslint/utils": "^7.3.0", + "chalk": "^4.1.0", + "confusing-browser-globals": "^1.0.9", + "jsonc-eslint-parser": "^2.1.0", + "semver": "^7.5.3", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.13.2 || ^7.0.0", + "eslint-config-prettier": "^9.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz", + "integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/type-utils": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz", + "integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.7.1", + "@typescript-eslint/utils": "7.7.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz", + "integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz", + "integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/visitor-keys": "7.7.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz", + "integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.7.1", + "@typescript-eslint/types": "7.7.1", + "@typescript-eslint/typescript-estree": "7.7.1", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz", + "integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.7.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@nx/eslint-plugin/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/express": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/express/-/express-18.3.3.tgz", + "integrity": "sha512-FwNWDhn5Ngkw3O+/CdYjxVvepyR+YttTrSOiUjlGHZVppaycOpNFg7i2P5aq4zi0xxPQBMTum2xddMBv0dtOWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/express": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/node": "18.3.3", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "express": "^4.18.1" + }, + "peerDependenciesMeta": { + "express": { + "optional": true + } + } + }, + "node_modules/@nx/jest": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-18.3.3.tgz", + "integrity": "sha512-AwkwYSJqu0vrDFMxKAc3lb0yHZFhsD8rX6rMMwe/fZMlAYml9FvGCp/ixWpcRWIo/1t3pxiF3Vejk9+oq/Avfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/reporters": "^29.4.1", + "@jest/test-result": "^29.4.1", + "@nrwl/jest": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/js": "18.3.3", + "@phenomnomnominal/tsquery": "~5.0.1", + "chalk": "^4.1.0", + "identity-obj-proxy": "3.0.0", + "jest-config": "^29.4.1", + "jest-resolve": "^29.4.1", + "jest-util": "^29.4.1", + "minimatch": "9.0.3", + "resolve.exports": "1.1.0", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@nx/jest/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/js": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.3.3.tgz", + "integrity": "sha512-e8u56oG0mlTVz48EeH0C7txX0GeLYN0o4mK1LDAMIHQa4tKefNfwrdqHaZBiVqFOPopeFtqi8s0kqce5prwCaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nrwl/js": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/workspace": "18.3.3", + "@phenomnomnominal/tsquery": "~5.0.1", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "fast-glob": "3.2.7", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/@nx/js/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/js/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@nx/js/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/js/node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/@nx/linter": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-18.3.3.tgz", + "integrity": "sha512-5HmAN/8jZ2scrA0OiJSUdBPhIjwIHecK8AK7TxYX4fg1VJ3VcpknV8pWcETuNoBW8WlgF1RX2RW7Gog7vjf+Ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/eslint": "18.3.3" + } + }, + "node_modules/@nx/node": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/node/-/node-18.3.3.tgz", + "integrity": "sha512-OoeRuuvqrdEH8AsFKrJ91lnDVL9mlqvLzUy9D5PZCYspjCesc7Tmt7Xmbu3VEGzhQPilqZz4hVfXH6MLE7TvqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/node": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/eslint": "18.3.3", + "@nx/jest": "18.3.3", + "@nx/js": "18.3.3", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.3.tgz", + "integrity": "sha512-NpA2/7o1uUuaocMYopX9muxKif9HlGfWaXo2UeiR918usF6xri4aUqweZbaXVc9iqCAEbVMWUsjaLYGKPXHAjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/react/-/react-18.3.3.tgz", + "integrity": "sha512-eo4zM7Qfr5Un1lZiEL9DLpMgEhWQWYmH8QdnPApABoitak3ssYMvVjUAj4IXwu/sPSaUxfZAqMdzV9cBcAkqAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/react": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/eslint": "18.3.3", + "@nx/js": "18.3.3", + "@nx/web": "18.3.3", + "@phenomnomnominal/tsquery": "~5.0.1", + "@svgr/webpack": "^8.0.1", + "chalk": "^4.1.0", + "file-loader": "^6.2.0", + "minimatch": "9.0.3", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/react/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/web": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/web/-/web-18.3.3.tgz", + "integrity": "sha512-/NfQirVd2Ncq2if+1n8DaxNQF0OLaFaDag7qm5pDWJnjXFNh8N7NGZQRry2k/bTSfSc8gN+KJjqSMLAUNNtKgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/web": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/js": "18.3.3", + "chalk": "^4.1.0", + "detect-port": "^1.5.1", + "http-server": "^14.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@nx/webpack": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-18.3.3.tgz", + "integrity": "sha512-DPs8wfmYe/mEZCQ/TQgUqb/zgXY8hevR23d8bDkYjB3Akjk4OOF3QpQ2OXQ4c+Jf0ckGnQYOg6XAkE682UZqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@nrwl/webpack": "18.3.3", + "@nx/devkit": "18.3.3", + "@nx/js": "18.3.3", + "ajv": "^8.12.0", + "autoprefixer": "^10.4.9", + "babel-loader": "^9.1.2", + "browserslist": "^4.21.4", + "chalk": "^4.1.0", + "copy-webpack-plugin": "^10.2.4", + "css-loader": "^6.4.0", + "css-minimizer-webpack-plugin": "^5.0.0", + "fork-ts-checker-webpack-plugin": "7.2.13", + "less": "4.1.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "^4.0.2", + "loader-utils": "^2.0.3", + "mini-css-extract-plugin": "~2.4.7", + "parse5": "4.0.0", + "postcss": "^8.4.14", + "postcss-import": "~14.1.0", + "postcss-loader": "^6.1.1", + "rxjs": "^7.8.0", + "sass": "^1.42.1", + "sass-loader": "^12.2.0", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.0", + "stylus": "^0.59.0", + "stylus-loader": "^7.1.0", + "terser-webpack-plugin": "^5.3.3", + "ts-loader": "^9.3.1", + "tsconfig-paths-webpack-plugin": "4.0.0", + "tslib": "^2.3.0", + "webpack": "^5.80.0", + "webpack-dev-server": "^4.9.3", + "webpack-node-externals": "^3.0.0", + "webpack-subresource-integrity": "^5.1.0" + } + }, + "node_modules/@nx/webpack/node_modules/parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nx/workspace": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-18.3.3.tgz", + "integrity": "sha512-SUJJKzOUuNnclpHHde6f6nlF+pQwMjeF026jFpWDFaNzdsADhhRulkz0GLRXB9kKszvzz2JKde9WBWnKrFZ2IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nrwl/workspace": "18.3.3", + "@nx/devkit": "18.3.3", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "18.3.3", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@phenomnomnominal/tsquery": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", + "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esquery": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause" + }, + "node_modules/@rc-component/color-picker": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.5.3.tgz", + "integrity": "sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.6", + "@ctrl/tinycolor": "^3.6.1", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/context": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", + "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", + "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0" + }, + "engines": { + "node": ">=8.x" + } + }, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", + "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/tour": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.14.2.tgz", + "integrity": "sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@rc-component/trigger": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.1.1.tgz", + "integrity": "sha512-UjHkedkgtEcgQu87w1VuWug1idoDJV7VUt0swxHXRcmei2uu1AuUzGBPEUlmOmXGJ+YtTgZfVLi7kuAUKoZTMA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swc/cli": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@swc/cli/-/cli-0.3.12.tgz", + "integrity": "sha512-h7bvxT+4+UDrLWJLFHt6V+vNAcUNii2G4aGSSotKz1ECEk4MyEh5CWxmeSscwuz5K3i+4DWTgm4+4EyMCQKn+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mole-inc/bin-wrapper": "^8.0.1", + "@swc/counter": "^0.1.3", + "commander": "^8.3.0", + "fast-glob": "^3.2.5", + "minimatch": "^9.0.3", + "piscina": "^4.3.0", + "semver": "^7.3.8", + "slash": "3.0.0", + "source-map": "^0.7.3" + }, + "bin": { + "spack": "bin/spack.js", + "swc": "bin/swc.js", + "swcx": "bin/swcx.js" + }, + "engines": { + "node": ">= 16.14.0" + }, + "peerDependencies": { + "@swc/core": "^1.2.66", + "chokidar": "^3.5.1" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@swc/cli/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@swc/cli/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@swc/cli/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@swc/core": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.16.tgz", + "integrity": "sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.2", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.4.16", + "@swc/core-darwin-x64": "1.4.16", + "@swc/core-linux-arm-gnueabihf": "1.4.16", + "@swc/core-linux-arm64-gnu": "1.4.16", + "@swc/core-linux-arm64-musl": "1.4.16", + "@swc/core-linux-x64-gnu": "1.4.16", + "@swc/core-linux-x64-musl": "1.4.16", + "@swc/core-win32-arm64-msvc": "1.4.16", + "@swc/core-win32-ia32-msvc": "1.4.16", + "@swc/core-win32-x64-msvc": "1.4.16" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.4.16", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.16.tgz", + "integrity": "sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.10.tgz", + "integrity": "sha512-CU+RF9FySljn7HVSkkjiB84hWkvTaI3rtLvF433+jRSBL2hMu3zX5bGhHS8C80SM++h4xy8hBSnUHFQHmRXSBw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@swc/jest": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz", + "integrity": "sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@swc/counter": "^0.1.3", + "jsonc-parser": "^3.2.0" + }, + "engines": { + "npm": ">= 7.0.0" + }, + "peerDependencies": { + "@swc/core": "*" + } + }, + "node_modules/@swc/jest/node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@swc/types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", + "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.0.0.tgz", + "integrity": "sha512-PmJPnogldqoVFf+EwbHvbBJ98MmqASV8kLrBYgsDNxQcFMeIS7JFL48sfyXvuMtgmWO/wMhh25odr+8VhDmn4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/@testing-library/react": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-15.0.2.tgz", + "integrity": "sha512-5mzIpuytB1ctpyywvyaY2TAAUQVCZIGqwiqFQf6u9lvj/SJQepGUzNV18Xpk+NLCaCE2j7CWrZE0tEf9xLZYiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^10.0.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/bcrypt": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz", + "integrity": "sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect-timeout": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/connect-timeout/-/connect-timeout-0.0.39.tgz", + "integrity": "sha512-PHUX9yixjm4qjQ27Uz+F5cyG9Fio9iY7e6eWHvNT0wbA8eu9JaDqxRRiXn5uYnd09zx1fM+wEHnuBHMm9gwOuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/cookiejar": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", + "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz", + "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express-session": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.18.0.tgz", + "integrity": "sha512-27JdDRgor6PoYlURY+Y5kCakqp5ulC0kmf7y+QwaY+hv9jEFuQOThgkjyA53RP3jmKuBsH5GR6qEfFmvb8mwOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/fs-extra": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz", + "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json2csv": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/json2csv/-/json2csv-5.0.7.tgz", + "integrity": "sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsonfile": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz", + "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jsonwebtoken": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz", + "integrity": "sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", + "license": "MIT" + }, + "node_modules/@types/methods": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", + "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/nodemailer": { + "version": "6.4.14", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.14.tgz", + "integrity": "sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/passport": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.16.tgz", + "integrity": "sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/qrcode": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.5.5.tgz", + "integrity": "sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.79", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", + "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.25", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz", + "integrity": "sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-highlight-words": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@types/react-highlight-words/-/react-highlight-words-0.16.7.tgz", + "integrity": "sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/superagent": { + "version": "8.1.6", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.6.tgz", + "integrity": "sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cookiejar": "^2.1.5", + "@types/methods": "^1.1.4", + "@types/node": "*" + } + }, + "node_modules/@types/supertest": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz", + "integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/methods": "^1.1.4", + "@types/superagent": "^8.1.0" + } + }, + "node_modules/@types/tmp": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", + "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" + }, + "node_modules/@types/webpack-env": { + "version": "1.18.4", + "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.4.tgz", + "integrity": "sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/whatwg-url": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.4.tgz", + "integrity": "sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==", + "license": "MIT", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz", + "integrity": "sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/type-utils": "7.7.0", + "@typescript-eslint/utils": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz", + "integrity": "sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/typescript-estree": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz", + "integrity": "sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz", + "integrity": "sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "7.7.0", + "@typescript-eslint/utils": "7.7.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz", + "integrity": "sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz", + "integrity": "sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/visitor-keys": "7.7.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz", + "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.7.0", + "@typescript-eslint/types": "7.7.0", + "@typescript-eslint/typescript-estree": "7.7.0", + "semver": "^7.6.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz", + "integrity": "sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "7.7.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@wry/caches": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz", + "integrity": "sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/context": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.4.tgz", + "integrity": "sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/equality": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.7.tgz", + "integrity": "sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/trie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.5.0.tgz", + "integrity": "sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "devOptional": true, + "license": "BSD-2-Clause" + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", + "devOptional": true, + "license": "BSD-2-Clause", + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.15.0" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@zkochan/js-yaml": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", + "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "license": "(Unlicense OR Apache-2.0)", + "optional": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "license": "ISC" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/align-text/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "license": "BSD-3-Clause OR MIT", + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antd": { + "version": "5.16.4", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.16.4.tgz", + "integrity": "sha512-H3LtVz5hiNgs0lL8U6pzi11rluR6RDRw1cm2pWX6CsvgZmybWsaTBV2h+d+zmgFfuch53TWs5uztLdAldIoYYw==", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^7.0.2", + "@ant-design/cssinjs": "^1.18.5", + "@ant-design/icons": "^5.3.6", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.24.4", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~1.5.3", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/tour": "~1.14.2", + "@rc-component/trigger": "^2.1.1", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.10", + "qrcode.react": "^3.1.0", + "rc-cascader": "~3.24.1", + "rc-checkbox": "~3.2.0", + "rc-collapse": "~3.7.3", + "rc-dialog": "~9.4.0", + "rc-drawer": "~7.1.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~1.44.0", + "rc-image": "~7.6.0", + "rc-input": "~1.4.5", + "rc-input-number": "~9.0.0", + "rc-mentions": "~2.11.1", + "rc-menu": "~9.13.0", + "rc-motion": "^2.9.0", + "rc-notification": "~5.4.0", + "rc-pagination": "~4.0.4", + "rc-picker": "~4.4.1", + "rc-progress": "~4.0.0", + "rc-rate": "~2.12.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.3.0", + "rc-select": "~14.13.1", + "rc-slider": "~10.6.1", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.45.4", + "rc-tabs": "~14.1.1", + "rc-textarea": "~1.6.3", + "rc-tooltip": "~6.2.0", + "rc-tree": "~5.8.5", + "rc-tree-select": "~5.19.0", + "rc-upload": "~4.5.2", + "rc-util": "^5.39.1", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apollo-upload-client": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz", + "integrity": "sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA==", + "license": "MIT", + "dependencies": { + "extract-files": "^13.0.0" + }, + "engines": { + "node": "^18.15.0 || >=20.4.0" + }, + "funding": { + "url": "https://github.com/sponsors/jaydenseric" + }, + "peerDependencies": { + "@apollo/client": "^3.8.0", + "graphql": "14 - 16" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "license": "ISC" + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "license": "MIT" + }, + "node_modules/async-mutex": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.1.tgz", + "integrity": "sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/async-retry": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", + "license": "MIT", + "dependencies": { + "retry": "0.13.1" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/b4a": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-loader/node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/babel-loader/node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-loader/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-plugin-const-enum": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz", + "integrity": "sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.3.3", + "@babel/traverse": "^7.16.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-typescript-metadata": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz", + "integrity": "sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz", + "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/bcrypt": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", + "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.11", + "node-addon-api": "^5.0.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^0.7.0", + "executable": "^4.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/bin-check/node_modules/execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/bin-check/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/bin-check/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bin-check/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/bin-check/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/bin-version": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-6.0.0.tgz", + "integrity": "sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "find-versions": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bin-version-check": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-5.1.0.tgz", + "integrity": "sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bin-version": "^6.0.0", + "semver": "^7.5.3", + "semver-truncate": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/block-stream2": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/block-stream2/-/block-stream2-2.1.0.tgz", + "integrity": "sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg==", + "license": "MIT", + "dependencies": { + "readable-stream": "^3.4.0" + } + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-or-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz", + "integrity": "sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg==", + "license": "MIT" + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/bson": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.6.0.tgz", + "integrity": "sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.20.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "license": "MIT" + }, + "node_modules/builtins": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "license": "MIT", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001612", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", + "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", + "license": "MIT", + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "license": "MIT" + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "license": "MIT" + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", + "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone-response/node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/commitlint": { + "version": "18.6.1", + "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-18.6.1.tgz", + "integrity": "sha512-I10mj1OmBCrPUHItRqeCEj0uxCdWxL15sCfS1Poq8av2FcX/KvRoiH8jTNG0cVDA2ns7IftugTAM+nLvOavLsw==", + "license": "MIT", + "dependencies": { + "@commitlint/cli": "^18.6.1", + "@commitlint/types": "^18.6.1" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true, + "license": "ISC" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", + "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect-mongo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-5.1.0.tgz", + "integrity": "sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.1", + "kruptein": "^3.0.0" + }, + "engines": { + "node": ">=12.9.0" + }, + "peerDependencies": { + "express-session": "^1.17.1", + "mongodb": ">= 5.1.0 < 7" + } + }, + "node_modules/connect-timeout": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.9.0.tgz", + "integrity": "sha512-q4bsBIPd+eSGtnh/u6EBOKfuG+4YvwsN0idlOsg6KAw71Qpi0DCf2eCc/Va63QU9qdOeYC8katxoC+rHMNygZg==", + "license": "MIT", + "dependencies": { + "http-errors": "~1.6.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect-timeout/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/connect-timeout/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/connect-timeout/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/connect-timeout/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/connect-timeout/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect-timeout/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" + }, + "node_modules/connect-timeout/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "license": "ISC" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/contour_plot": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/contour_plot/-/contour_plot-0.0.1.tgz", + "integrity": "sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw==", + "license": "MIT" + }, + "node_modules/conventional-changelog-angular": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", + "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "license": "MIT", + "dependencies": { + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-commits-parser/node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "license": "MIT", + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-commits-parser/node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "license": "MIT", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", + "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 12.20.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.0.tgz", + "integrity": "sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", + "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.37.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz", + "integrity": "sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", + "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", + "license": "MIT", + "dependencies": { + "jiti": "^1.19.1" + }, + "engines": { + "node": ">=v16" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=8.2", + "typescript": ">=4" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano/node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/csv-parse": { + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.5.tgz", + "integrity": "sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ==", + "license": "MIT" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", + "license": "BSD-3-Clause" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "license": "MIT", + "dependencies": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz", + "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==", + "devOptional": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/dotenv-expand": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", + "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", + "devOptional": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/dotignore": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", + "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.4" + }, + "bin": { + "ignored": "bin/ignored" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.746", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz", + "integrity": "sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", + "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", + "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", + "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-compat-utils": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz", + "integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/eslint-plugin-jsonc": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.15.1.tgz", + "integrity": "sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "eslint-compat-utils": "^0.5.0", + "espree": "^9.6.1", + "graphemer": "^1.4.0", + "jsonc-eslint-parser": "^2.0.4", + "natural-compare": "^1.4.0", + "synckit": "^0.6.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", + "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "devOptional": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/export-from-json": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/export-from-json/-/export-from-json-1.7.4.tgz", + "integrity": "sha512-FjmpluvZS2PTYyhkoMfQoyEJMfe2bfAyNpa5Apa6C9n7SWUWyJkG/VFnzERuj3q9Jjo3iwBjwVsDQ7Z7sczthA==", + "license": "MIT" + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-rate-limit": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.2.0.tgz", + "integrity": "sha512-T7nul1t4TNyfZMJ7pKRKkdeVJWa2CqB8NA1P8BwYaoDI5QSBZARv5oMS43J7b7I5P+4asjVXjb7ONuwDKucahg==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": "4 || 5 || ^5.0.0-beta.1" + } + }, + "node_modules/express-session": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.0.tgz", + "integrity": "sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==", + "license": "MIT", + "dependencies": { + "cookie": "0.6.0", + "cookie-signature": "1.0.7", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/express-session/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express-session/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.28.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extract-files": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-13.0.0.tgz", + "integrity": "sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^4.1.0" + }, + "engines": { + "node": "^14.17.0 || ^16.0.0 || >= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/jaydenseric" + } + }, + "node_modules/extract-files/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz", + "integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-selector": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", + "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/file-type": { + "version": "17.1.6", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.6.tgz", + "integrity": "sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-web-to-node-stream": "^3.0.2", + "strtok3": "^7.0.0-alpha.9", + "token-types": "^5.0.0-alpha.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filename-reserved-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", + "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/filenamify": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-5.1.1.tgz", + "integrity": "sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^3.0.0", + "strip-outer": "^2.0.0", + "trim-repeated": "^2.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-versions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz", + "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver-regex": "^4.0.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "devOptional": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/flru": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flru/-/flru-1.0.2.tgz", + "integrity": "sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fmin": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/fmin/-/fmin-0.0.2.tgz", + "integrity": "sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A==", + "license": "BSD-3-Clause", + "dependencies": { + "contour_plot": "^0.0.1", + "json2module": "^0.0.3", + "rollup": "^0.25.8", + "tape": "^4.5.1", + "uglify-js": "^2.6.2" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "7.2.13", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz", + "integrity": "sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "node-abort-controller": "^3.0.1", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">=12.13.0", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "typescript": ">3.6.0", + "vue-template-compiler": "*", + "webpack": "^5.11.0" + }, + "peerDependenciesMeta": { + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-port": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", + "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "license": "MIT", + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-rev-sync": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-3.0.2.tgz", + "integrity": "sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "1.0.5", + "graceful-fs": "4.1.15", + "shelljs": "0.8.5" + } + }, + "node_modules/git-rev-sync/node_modules/graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true, + "license": "ISC" + }, + "node_modules/gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==", + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-scalars": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/graphql-scalars/-/graphql-scalars-1.23.0.tgz", + "integrity": "sha512-YTRNcwitkn8CqYcleKOx9IvedA8JIERn8BRq21nlKgOr4NEcTaWEG0sT+H92eF3ALTFbPgsqfft4cw+MGgv0Gg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/graphql-subscriptions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz", + "integrity": "sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA==", + "license": "MIT", + "dependencies": { + "iterall": "^1.3.0" + }, + "peerDependencies": { + "graphql": "^15.7.2 || ^16.0.0" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/graphql-type-json": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz", + "integrity": "sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==", + "license": "MIT", + "peerDependencies": { + "graphql": ">=0.8.0" + } + }, + "node_modules/graphql-upload-minimal": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/graphql-upload-minimal/-/graphql-upload-minimal-1.6.1.tgz", + "integrity": "sha512-wNUf/KqA0B/OguL1k6qWa4AmAduLUAhXzovh9i14SKbpBa8HX2vc7f+fR67S0rG7fSpGdM/aivxzC329/+9xXw==", + "license": "MIT", + "dependencies": { + "busboy": "^1.6.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "graphql": "0.13.1 - 16" + } + }, + "node_modules/graphql-ws": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.0.tgz", + "integrity": "sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": ">=0.11 <=16" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "dev": true, + "license": "(Apache-2.0 OR MPL-1.1)" + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "license": "ISC" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hi-base32": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", + "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==", + "license": "MIT" + }, + "node_modules/highlight-words-core": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/highlight-words-core/-/highlight-words-core-1.2.2.tgz", + "integrity": "sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==", + "license": "MIT" + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz", + "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.10", + "debug": "^4.3.4", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-proxy/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "license": "MIT" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "dev": true, + "bin": { + "husky": "bin.mjs" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dev": true, + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "devOptional": true, + "license": "BSD-3-Clause" + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "devOptional": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-text-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", + "license": "MIT", + "dependencies": { + "text-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterall": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==", + "license": "MIT" + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz", + "integrity": "sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg==", + "license": "MIT" + }, + "node_modules/json2module": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/json2module/-/json2module-0.0.3.tgz", + "integrity": "sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA==", + "license": "BSD-3-Clause", + "dependencies": { + "rw": "^1.3.2" + }, + "bin": { + "json2module": "bin/json2module" + } + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "license": "MIT", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "devOptional": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-eslint-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", + "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jstat": { + "version": "1.9.6", + "resolved": "https://registry.npmjs.org/jstat/-/jstat-1.9.6.tgz", + "integrity": "sha512-rPBkJbK2TnA8pzs93QcDDPlKcrtZWuuCo2dVR0TFLOJSxhqfWOVCSp8aV3/oSbn+4uY4yw1URtLpHQedtmXfug==" + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/kruptein": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-3.0.6.tgz", + "integrity": "sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA==", + "license": "MIT", + "dependencies": { + "asn1.js": "^5.4.1" + }, + "engines": { + "node": ">8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "dev": true, + "license": "MIT", + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "license": "ISC", + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/lint-staged": { + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz", + "integrity": "sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==", + "license": "MIT", + "dependencies": { + "chalk": "5.3.0", + "commander": "11.1.0", + "debug": "4.3.4", + "execa": "8.0.1", + "lilconfig": "3.0.0", + "listr2": "8.0.1", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.4" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "node_modules/listr2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", + "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.0.0", + "rfdc": "^1.3.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isfunction": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", + "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", + "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^6.2.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^7.0.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", + "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/loglevel": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "license": "Apache-2.0" + }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", + "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memoize-one": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.1.0.tgz", + "integrity": "sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA==", + "license": "MIT" + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT" + }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz", + "integrity": "sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==", + "dev": true, + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimatch/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minio": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minio/-/minio-7.1.3.tgz", + "integrity": "sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.4", + "block-stream2": "^2.1.0", + "browser-or-node": "^2.1.1", + "buffer-crc32": "^0.2.13", + "fast-xml-parser": "^4.2.2", + "ipaddr.js": "^2.0.1", + "json-stream": "^1.0.0", + "lodash": "^4.17.21", + "mime-types": "^2.1.35", + "query-string": "^7.1.3", + "through2": "^4.0.2", + "web-encoding": "^1.1.5", + "xml": "^1.0.1", + "xml2js": "^0.5.0" + }, + "engines": { + "node": "^16 || ^18 || >=20" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mock-property": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mock-property/-/mock-property-1.0.3.tgz", + "integrity": "sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.1", + "functions-have-names": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "hasown": "^2.0.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mongodb": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz", + "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/saslprep": "^1.1.5", + "bson": "^6.4.0", + "mongodb-connection-string-url": "^3.0.0" + }, + "engines": { + "node": ">=16.20.1" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.1.0", + "gcp-metadata": "^5.2.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=6.0.0 <7", + "snappy": "^7.2.2", + "socks": "^2.7.1" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz", + "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==", + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^11.0.2", + "whatwg-url": "^13.0.0" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==", + "license": "MIT", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/mongodb-memory-server": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-9.2.0.tgz", + "integrity": "sha512-w/usKdYtby5EALERxmA0+et+D0brP0InH3a26shNDgGefXA61hgl6U0P3IfwqZlEGRZdkbZig3n57AHZgDiwvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "mongodb-memory-server-core": "9.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.20.1" + } + }, + "node_modules/mongodb-memory-server-core": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-9.2.0.tgz", + "integrity": "sha512-9SWZEy+dGj5Fvm5RY/mtqHZKS64o4heDwReD4SsfR7+uNgtYo+JN41kPCcJeIH3aJf04j25i5Dia2s52KmsMPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-mutex": "^0.4.0", + "camelcase": "^6.3.0", + "debug": "^4.3.4", + "find-cache-dir": "^3.3.2", + "follow-redirects": "^1.15.6", + "https-proxy-agent": "^7.0.4", + "mongodb": "^5.9.1", + "new-find-package-json": "^2.0.0", + "semver": "^7.6.0", + "tar-stream": "^3.1.7", + "tslib": "^2.6.2", + "yauzl": "^3.1.3" + }, + "engines": { + "node": ">=14.20.1" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/bson": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.1.tgz", + "integrity": "sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=14.20.1" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/mongodb": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.9.2.tgz", + "integrity": "sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bson": "^5.5.0", + "mongodb-connection-string-url": "^2.6.0", + "socks": "^2.7.1" + }, + "engines": { + "node": ">=14.20.1" + }, + "optionalDependencies": { + "@mongodb-js/saslprep": "^1.1.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.0.0", + "kerberos": "^1.0.0 || ^2.0.0", + "mongodb-client-encryption": ">=2.3.0 <3", + "snappy": "^7.2.2" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + } + } + }, + "node_modules/mongodb-memory-server-core/node_modules/mongodb-connection-string-url": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", + "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "node_modules/mongodb-memory-server-core/node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/new-find-package-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/new-find-package-json/-/new-find-package-json-2.0.0.tgz", + "integrity": "sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-machine-id": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nodemailer": { + "version": "6.9.13", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.13.tgz", + "integrity": "sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz", + "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/nx": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/nx/-/nx-18.3.3.tgz", + "integrity": "sha512-GqC5ANfTWV6SFbgquZwuRMI2Z2nO0c0Yx4JzM3x32aJOgXsmRml3WcV0a5648bIXSen34gylHYl2EHaxVWkzNQ==", + "devOptional": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@nrwl/tao": "18.3.3", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.0-rc.46", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.6.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.3.1", + "dotenv-expand": "~10.0.0", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "18.3.3", + "@nx/nx-darwin-x64": "18.3.3", + "@nx/nx-freebsd-x64": "18.3.3", + "@nx/nx-linux-arm-gnueabihf": "18.3.3", + "@nx/nx-linux-arm64-gnu": "18.3.3", + "@nx/nx-linux-arm64-musl": "18.3.3", + "@nx/nx-linux-x64-gnu": "18.3.3", + "@nx/nx-linux-x64-musl": "18.3.3", + "@nx/nx-win32-arm64-msvc": "18.3.3", + "@nx/nx-win32-x64-msvc": "18.3.3" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/nx/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "devOptional": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optimism": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.18.0.tgz", + "integrity": "sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ==", + "license": "MIT", + "dependencies": { + "@wry/caches": "^1.0.0", + "@wry/context": "^0.7.0", + "@wry/trie": "^0.4.3", + "tslib": "^2.3.0" + } + }, + "node_modules/optimism/node_modules/@wry/trie": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.4.3.tgz", + "integrity": "sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arch": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/passport": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", + "license": "MIT", + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1", + "utils-merge": "^1.0.1" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, + "node_modules/passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" + }, + "node_modules/pdfast": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pdfast/-/pdfast-0.2.0.tgz", + "integrity": "sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==", + "license": "MIT" + }, + "node_modules/peek-readable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/piscina": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.4.0.tgz", + "integrity": "sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" + }, + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, + "node_modules/qrcode": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", + "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/qrcode.react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz", + "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", + "license": "ISC", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/qrcode/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/qrcode/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/qrcode/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true, + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "license": "ISC" + }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "license": "MIT", + "dependencies": { + "quickselect": "^2.0.0" + } + }, + "node_modules/rc-cascader": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.24.1.tgz", + "integrity": "sha512-RgKuYgEGPx+6wCgguYFHjMsDZdCyydZd58YJRCfYQ8FObqLnZW0x/vUcEyPjhWIj1EhjV958IcR+NFPDbbj9kg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.13.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.2.0.tgz", + "integrity": "sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.3.tgz", + "integrity": "sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.4.0.tgz", + "integrity": "sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.1.0.tgz", + "integrity": "sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.9", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz", + "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.44.0.tgz", + "integrity": "sha512-el7w87fyDUsca63Y/s8qJcq9kNkf/J5h+iTdqG5WsSHLH0e6Usl7QuYSmSVzJMgtp40mOVZIY/W/QP9zwrp1FA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.6.0.tgz", + "integrity": "sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.4.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.4.5.tgz", + "integrity": "sha512-AjzykhwnwYTRSwwgCu70CGKBIAv6bP2nqnFptnNTprph/TF1BAs0Qxl91mie/BR6n827WIJB6ZjaRf9iiMwAfw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.0.0.tgz", + "integrity": "sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/mini-decimal": "^1.0.1", + "classnames": "^2.2.5", + "rc-input": "~1.4.0", + "rc-util": "^5.28.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.11.1.tgz", + "integrity": "sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-input": "~1.4.0", + "rc-menu": "~9.13.0", + "rc-textarea": "~1.6.1", + "rc-util": "^5.34.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.13.0.tgz", + "integrity": "sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz", + "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.4.0.tgz", + "integrity": "sha512-li19y9RoYJciF3WRFvD+DvWS70jdL8Fr+Gfb/OshK+iY6iTkwzoigmSIp76/kWh5tF5i/i9im12X3nsF85GYdA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.4.tgz", + "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.4.1.tgz", + "integrity": "sha512-9/1pV12lMmUZtAbH0Sv/RIkeTdw/HSZs5G4GZFQ9UECLkCjOqhr9UF5Mf8dPuQ3xmw23SbXzOgDquN6eLFmZDw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.38.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } + } + }, + "node_modules/rc-progress": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz", + "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.12.0.tgz", + "integrity": "sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.13.1", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.13.1.tgz", + "integrity": "sha512-A1VHqjIOemxLnUGRxLGVqXBs8jGcJemI5NXxOJwU5PQc1wigAu1T4PRLgMkTPDOz8gPhlY9dwsPzMgakMc2QjQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.1.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.6.2", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.6.2.tgz", + "integrity": "sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", + "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", + "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.45.4", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.45.4.tgz", + "integrity": "sha512-6aSbGrnkN2GLSt3s1x+wa4f3j/VEgg1uKPpaLY5qHH1/nFyreS2V7DFJ0TfUb18allf2FQl7oVYEjTixlBXEyQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.37.0", + "rc-virtual-list": "^3.11.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-14.1.1.tgz", + "integrity": "sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.13.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-textarea": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.6.3.tgz", + "integrity": "sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.4.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.0.tgz", + "integrity": "sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.8.5", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.5.tgz", + "integrity": "sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.19.0.tgz", + "integrity": "sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.13.0", + "rc-tree": "~5.8.1", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-upload": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.5.2.tgz", + "integrity": "sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.39.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz", + "integrity": "sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "license": "MIT" + }, + "node_modules/rc-virtual-list": { + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.5.tgz", + "integrity": "sha512-iZRW99m5jAxtwKNPLwUrPryurcnKpXBdTyhuBp6ythf7kg/otKO5cCiIvL55GQwU0QGSlouQS0tnkciRMJUwRQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-csv": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz", + "integrity": "sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw==", + "license": "MIT" + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-dropzone": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", + "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", + "license": "MIT", + "dependencies": { + "attr-accept": "^2.2.2", + "file-selector": "^0.6.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "react": ">= 16.8 || 18.0.0" + } + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" + }, + "node_modules/react-helmet-async": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", + "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", + "license": "Apache-2.0", + "dependencies": { + "invariant": "^2.2.4", + "react-fast-compare": "^3.2.2", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-highlight-words": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/react-highlight-words/-/react-highlight-words-0.20.0.tgz", + "integrity": "sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA==", + "license": "MIT", + "dependencies": { + "highlight-words-core": "^1.2.0", + "memoize-one": "^4.0.0", + "prop-types": "^15.5.8" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.15.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "license": "ISC" + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/rehackt": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/rehackt/-/rehackt-0.0.6.tgz", + "integrity": "sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/response-iterator": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/response-iterator/-/response-iterator-0.2.6.tgz", + "integrity": "sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "license": "MIT" + }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", + "license": "MIT", + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz", + "integrity": "sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA==", + "license": "MIT", + "dependencies": { + "chalk": "^1.1.1", + "minimist": "^1.2.0", + "source-map-support": "^0.3.2" + }, + "bin": { + "rollup": "bin/rollup" + } + }, + "node_modules/rollup/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup/node_modules/source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==", + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/rollup/node_modules/source-map-support": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", + "integrity": "sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg==", + "license": "MIT", + "dependencies": { + "source-map": "0.1.32" + } + }, + "node_modules/rollup/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "license": "WTFPL OR ISC", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sass": { + "version": "1.75.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.75.0.tgz", + "integrity": "sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", + "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "license": "MIT", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true, + "license": "MIT" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-regex": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", + "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver-truncate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-3.0.0.tgz", + "integrity": "sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "license": "CC0-1.0" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "devOptional": true, + "license": "BSD-3-Clause" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "license": "MIT", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/streamx": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", + "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==", + "license": "MIT" + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-2.0.0.tgz", + "integrity": "sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "license": "MIT" + }, + "node_modules/strong-log-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + }, + "bin": { + "sl-log-transformer": "bin/sl-log-transformer.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strtok3": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/stylis": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz", + "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==", + "license": "MIT" + }, + "node_modules/stylus": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.59.0.tgz", + "integrity": "sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "debug": "^4.3.2", + "glob": "^7.1.6", + "sax": "~1.2.4", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://opencollective.com/stylus" + } + }, + "node_modules/stylus-loader": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.1.3.tgz", + "integrity": "sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.12", + "normalize-path": "^3.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "stylus": ">=0.52.4", + "webpack": "^5.0.0" + } + }, + "node_modules/stylus/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true, + "license": "ISC" + }, + "node_modules/stylus/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/supertest": { + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", + "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.1.2" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/svg-path-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/svg-path-parser/-/svg-path-parser-1.1.0.tgz", + "integrity": "sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A==", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", + "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/swc-loader": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", + "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "peerDependencies": { + "@swc/core": "^1.2.147", + "webpack": ">=2" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/synckit": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.6.2.tgz", + "integrity": "sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tape": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/tape/-/tape-4.17.0.tgz", + "integrity": "sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==", + "license": "MIT", + "dependencies": { + "@ljharb/resumer": "~0.0.1", + "@ljharb/through": "~2.3.9", + "call-bind": "~1.0.2", + "deep-equal": "~1.1.1", + "defined": "~1.0.1", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "glob": "~7.2.3", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.1.4", + "minimist": "~1.2.8", + "mock-property": "~1.0.0", + "object-inspect": "~1.12.3", + "resolve": "~1.22.6", + "string.prototype.trim": "~1.2.8" + }, + "bin": { + "tape": "bin/tape" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tape/node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser": { + "version": "5.30.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", + "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-extensions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/throttle-debounce": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "license": "MIT", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/token-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/trim-repeated": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-2.0.0.tgz", + "integrity": "sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "license": "WTFPL", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-essentials": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.4.2.tgz", + "integrity": "sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": ">=4.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/ts-invariant": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz", + "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", + "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-loader": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz", + "integrity": "sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^4.0.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true, + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "license": "BSD-2-Clause", + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/uglify-js/node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-js/node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "license": "ISC", + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-js/node_modules/yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", + "license": "MIT", + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "node_modules/uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", + "license": "MIT", + "optional": true + }, + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "license": "MIT", + "dependencies": { + "random-bytes": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "license": "MIT" + }, + "node_modules/utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", + "license": "WTFPL" + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/value-or-promise": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz", + "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "license": "MIT", + "dependencies": { + "util": "^0.12.3" + }, + "optionalDependencies": { + "@zxing/text-encoding": "0.9.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack": { + "version": "5.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.16.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-node-externals": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "license": "MIT/X11", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", + "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", + "license": "MIT" + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz", + "integrity": "sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zen-observable": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", + "license": "MIT" + }, + "node_modules/zen-observable-ts": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz", + "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==", + "license": "MIT", + "dependencies": { + "zen-observable": "0.8.15" + } + } + } +} diff --git a/package.json b/package.json index 8837a10e6..c5c02ad15 100644 --- a/package.json +++ b/package.json @@ -1,171 +1,170 @@ { - "name": "itmat-broker", - "version": "2.5.1", - "private": true, - "license": "MIT", - "scripts": { - "prepare": "husky install", - "postinstall": "husky install", - "preinstall": "node ./scripts/hintYarn.js", - "dev": "yarn serve", - "serve": "nx run-many --parallel=5 --projects=itmat-job-executor,itmat-interface,itmat-ui-react --target=serve", - "serve-ui": "nx serve itmat-ui-react", - "serve-interface": "nx serve itmat-interface", - "serve-executor": "nx serve itmat-job-executor", - "build": "nx run-many --exclude=itmat-docker --target=build", - "build-noui": "nx run-many --exclude=itmat-docker,itmat-ui-react --target=build", - "dockerise": "nx build itmat-docker --tag datascienceinstitute/itmat-broker:latest", - "dockerise-staging": "nx build itmat-docker --tag datascienceinstitute/itmat-broker:staging", - "setupDatabase": "nx run-many --projects=itmat-setup --target=setup", - "test": "nx affected --parallel=1 --target=test", - "test-all": "nx run-many --parallel=1 --target=test", - "lint": "eslint .", - "lint-check": "nx affected --target=lint --parallel=1 && yarn lint", - "lint-fix": "nx affected --target=lint --parallel=1 --fix && yarn lint --fix", - "lint-commit": "commitlint -c false --edit", - "lint-staged": "lint-staged", - "format-check": "nx format:check --all", - "format-fix": "nx format --all" - }, - "devDependencies": { - "@babel/core": "^7.24.4", - "@babel/preset-react": "^7.24.1", - "@nx/esbuild": "18.3.3", - "@nx/eslint": "18.3.3", - "@nx/eslint-plugin": "18.3.3", - "@nx/express": "18.3.3", - "@nx/jest": "18.3.3", - "@nx/js": "18.3.3", - "@nx/node": "18.3.3", - "@nx/react": "18.3.3", - "@nx/web": "18.3.3", - "@nx/webpack": "18.3.3", - "@nx/workspace": "18.3.3", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", - "@svgr/webpack": "8.1.0", - "@swc/cli": "0.3.12", - "@swc/core": "1.4.16", - "@swc/jest": "0.2.36", - "@testing-library/react": "15.0.2", - "@types/bcrypt": "5.0.2", - "@types/connect-timeout": "0.0.39", - "@types/cors": "2.8.17", - "@types/express": "4.17.21", - "@types/express-session": "1.18.0", - "@types/fs-extra": "11.0.4", - "@types/jest": "29.5.12", - "@types/json2csv": "5.0.7", - "@types/jsonwebtoken": "9.0.6", - "@types/node": "^20.12.7", - "@types/nodemailer": "6.4.14", - "@types/passport": "1.0.16", - "@types/qrcode": "1.5.5", - "@types/react": "18.2.79", - "@types/react-dom": "18.2.25", - "@types/react-highlight-words": "0.16.7", - "@types/supertest": "6.0.2", - "@types/tmp": "0.2.6", - "@types/uuid": "9.0.8", - "@types/webpack-env": "1.18.4", - "@typescript-eslint/eslint-plugin": "7.7.0", - "@typescript-eslint/parser": "7.7.0", - "eslint": "8.57.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsonc": "2.15.1", - "eslint-plugin-jsx-a11y": "6.8.0", - "eslint-plugin-react": "7.34.1", - "eslint-plugin-react-hooks": "4.6.0", - "get-port": "7.1.0", - "git-rev-sync": "3.0.2", - "husky": "9.0.11", - "jest": "29.7.0", - "jest-environment-jsdom": "29.7.0", - "mongodb-memory-server": "9.2.0", - "nx": "18.3.3", - "prettier": "^3.2.5", - "react-refresh": "^0.14.0", - "supertest": "6.3.4", - "swc-loader": "0.2.6", - "ts-essentials": "9.4.2", - "ts-jest": "29.1.2", - "ts-node": "10.9.2", - "typescript": "5.4.5", - "url-loader": "^4.1.1", - "webpack": "^5.91.0", - "webpack-merge": "^5.10.0" - }, - "dependencies": { - "@ant-design/icons": "5.3.6", - "@ant-design/plots": "2.2.0", - "@apollo/client": "3.9.11", - "@apollo/server": "4.10.4", - "@commitlint/config-conventional": "^18.6.2", - "@commitlint/config-nx-scopes": "^18.6.1", - "@ideafast/idgen": "0.1.1", - "@swc/helpers": "0.5.10", - "JSONStream": "1.3.5", - "antd": "5.16.4", - "apollo-upload-client": "18.0.1", - "axios": "1.6.8", - "bcrypt": "5.1.1", - "commitlint": "^18.6.1", - "connect-mongo": "5.1.0", - "connect-timeout": "1.9.0", - "core-js": "^3.37.0", - "cors": "2.8.5", - "csv-parse": "5.5.5", - "dayjs": "1.11.10", - "deepmerge": "4.3.1", - "esbuild": "^0.20.2", - "export-from-json": "1.7.4", - "express": "^4.19.2", - "express-rate-limit": "7.2.0", - "express-session": "1.18.0", - "fs-extra": "11.2.0", - "graphql": "16.8.1", - "graphql-scalars": "1.23.0", - "graphql-subscriptions": "2.0.0", - "graphql-tag": "2.12.6", - "graphql-type-json": "0.3.2", - "graphql-upload-minimal": "1.6.1", - "graphql-ws": "5.16.0", - "hi-base32": "0.5.1", - "http-proxy-middleware": "3.0.0", - "https-browserify": "1.0.0", - "husky": "9.0.11", - "jsonwebtoken": "9.0.2", - "jstat": "1.9.6", - "lint-staged": "15.2.2", - "minio": "7.1.3", - "mongodb": "6.5.0", - "nodemailer": "6.9.13", - "passport": "0.7.0", - "path-browserify": "1.0.1", - "qrcode": "1.5.3", - "react": "18.2.0", - "react-csv": "2.2.2", - "react-dom": "18.2.0", - "react-dropzone": "14.2.3", - "react-helmet-async": "2.0.4", - "react-highlight-words": "0.20.0", - "react-router-dom": "6.22.3", - "regenerator-runtime": "0.14.1", - "sanitize-filename": "1.6.3", - "stream-browserify": "3.0.0", - "stream-http": "3.2.0", - "tmp": "0.2.3", - "tslib": "^2.6.2", - "url": "0.11.3", - "uuid": "9.0.1" - }, - "resolutions": { - "**/@jest/create-cache-key-function": "^29", - "**/@jest/reporters": "^29", - "**/@jest/test-result": "^29", - "**/jest-config": "^29", - "**/jest-resolve": "^29", - "**/jest-util": "^29", - "**/pretty-format": "^29" - } + "name": "itmat-broker", + "version": "2.5.1", + "private": true, + "license": "MIT", + "scripts": { + "prepare": "husky && husky install", + "postinstall": "husky install", + "preinstall": "node ./scripts/hintYarn.js", + "dev": "yarn serve", + "serve": "nx run-many --parallel=5 --projects=itmat-job-executor,itmat-interface,itmat-ui-react --target=serve", + "serve-ui": "nx serve itmat-ui-react", + "serve-interface": "nx serve itmat-interface", + "serve-executor": "nx serve itmat-job-executor", + "build": "nx run-many --exclude=itmat-docker --target=build", + "build-noui": "nx run-many --exclude=itmat-docker,itmat-ui-react --target=build", + "dockerise": "nx build itmat-docker --tag datascienceinstitute/itmat-broker:latest", + "dockerise-staging": "nx build itmat-docker --tag datascienceinstitute/itmat-broker:staging", + "setupDatabase": "nx run-many --projects=itmat-setup --target=setup", + "test": "nx affected --parallel=1 --target=test", + "test-all": "nx run-many --parallel=1 --target=test", + "lint": "eslint .", + "lint-check": "nx affected --target=lint --parallel=1 && yarn lint", + "lint-fix": "nx affected --target=lint --parallel=1 --fix && yarn lint --fix", + "lint-commit": "commitlint -c false --edit", + "lint-staged": "lint-staged", + "format-check": "nx format:check --all", + "format-fix": "nx format --all" + }, + "devDependencies": { + "@babel/core": "^7.24.4", + "@babel/preset-react": "^7.24.1", + "@nx/esbuild": "18.3.3", + "@nx/eslint": "18.3.3", + "@nx/eslint-plugin": "18.3.3", + "@nx/express": "18.3.3", + "@nx/jest": "18.3.3", + "@nx/js": "18.3.3", + "@nx/node": "18.3.3", + "@nx/react": "18.3.3", + "@nx/web": "18.3.3", + "@nx/webpack": "18.3.3", + "@nx/workspace": "18.3.3", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", + "@svgr/webpack": "8.1.0", + "@swc/cli": "0.3.12", + "@swc/core": "1.4.16", + "@swc/jest": "0.2.36", + "@testing-library/react": "15.0.2", + "@types/bcrypt": "5.0.2", + "@types/connect-timeout": "0.0.39", + "@types/cors": "2.8.17", + "@types/express": "4.17.21", + "@types/express-session": "1.18.0", + "@types/fs-extra": "11.0.4", + "@types/jest": "29.5.12", + "@types/json2csv": "5.0.7", + "@types/jsonwebtoken": "9.0.6", + "@types/node": "^20.12.7", + "@types/nodemailer": "6.4.14", + "@types/passport": "1.0.16", + "@types/qrcode": "1.5.5", + "@types/react": "18.2.79", + "@types/react-dom": "18.2.25", + "@types/react-highlight-words": "0.16.7", + "@types/supertest": "6.0.2", + "@types/tmp": "0.2.6", + "@types/uuid": "9.0.8", + "@types/webpack-env": "1.18.4", + "@typescript-eslint/eslint-plugin": "7.7.0", + "@typescript-eslint/parser": "7.7.0", + "eslint": "8.57.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsonc": "2.15.1", + "eslint-plugin-jsx-a11y": "6.8.0", + "eslint-plugin-react": "7.34.1", + "eslint-plugin-react-hooks": "4.6.0", + "get-port": "7.1.0", + "git-rev-sync": "3.0.2", + "husky": "^8.0.0", + "jest": "29.7.0", + "jest-environment-jsdom": "29.7.0", + "mongodb-memory-server": "9.2.0", + "nx": "18.3.3", + "prettier": "^3.2.5", + "react-refresh": "^0.14.0", + "supertest": "6.3.4", + "swc-loader": "0.2.6", + "ts-essentials": "9.4.2", + "ts-jest": "29.1.2", + "ts-node": "10.9.2", + "typescript": "5.4.5", + "url-loader": "^4.1.1", + "webpack": "^5.91.0", + "webpack-merge": "^5.10.0" + }, + "dependencies": { + "@ant-design/icons": "5.3.6", + "@ant-design/plots": "2.2.0", + "@apollo/client": "3.9.11", + "@apollo/server": "4.10.4", + "@commitlint/config-conventional": "^18.6.2", + "@commitlint/config-nx-scopes": "^18.6.1", + "@ideafast/idgen": "0.1.1", + "@swc/helpers": "0.5.10", + "antd": "5.16.4", + "apollo-upload-client": "18.0.1", + "axios": "1.6.8", + "bcrypt": "5.1.1", + "commitlint": "^18.6.1", + "connect-mongo": "5.1.0", + "connect-timeout": "1.9.0", + "core-js": "^3.37.0", + "cors": "2.8.5", + "csv-parse": "5.5.5", + "dayjs": "1.11.10", + "deepmerge": "4.3.1", + "esbuild": "^0.20.2", + "export-from-json": "1.7.4", + "express": "^4.19.2", + "express-rate-limit": "7.2.0", + "express-session": "1.18.0", + "fs-extra": "11.2.0", + "graphql": "16.8.1", + "graphql-scalars": "1.23.0", + "graphql-subscriptions": "2.0.0", + "graphql-tag": "2.12.6", + "graphql-type-json": "0.3.2", + "graphql-upload-minimal": "1.6.1", + "graphql-ws": "5.16.0", + "hi-base32": "0.5.1", + "http-proxy-middleware": "3.0.0", + "https-browserify": "1.0.0", + "JSONStream": "1.3.5", + "jsonwebtoken": "9.0.2", + "jstat": "1.9.6", + "lint-staged": "15.2.2", + "minio": "7.1.3", + "mongodb": "6.5.0", + "nodemailer": "6.9.13", + "passport": "0.7.0", + "path-browserify": "1.0.1", + "qrcode": "1.5.3", + "react": "18.2.0", + "react-csv": "2.2.2", + "react-dom": "18.2.0", + "react-dropzone": "14.2.3", + "react-helmet-async": "2.0.4", + "react-highlight-words": "0.20.0", + "react-router-dom": "6.22.3", + "regenerator-runtime": "0.14.1", + "sanitize-filename": "1.6.3", + "stream-browserify": "3.0.0", + "stream-http": "3.2.0", + "tmp": "0.2.3", + "tslib": "^2.6.2", + "url": "0.11.3", + "uuid": "9.0.1" + }, + "resolutions": { + "**/@jest/create-cache-key-function": "^29", + "**/@jest/reporters": "^29", + "**/@jest/test-result": "^29", + "**/jest-config": "^29", + "**/jest-resolve": "^29", + "**/jest-util": "^29", + "**/pretty-format": "^29" + } } diff --git a/packages/itmat-commons/src/utils/database.ts b/packages/itmat-commons/src/utils/database.ts index e79efd2f5..de83cbfe3 100644 --- a/packages/itmat-commons/src/utils/database.ts +++ b/packages/itmat-commons/src/utils/database.ts @@ -24,10 +24,16 @@ export interface IDatabase { export class Database> implements IDatabase { get db(): Db { - return this.localClient!.db(this.config!.database); + if (!this.localClient || !this.config) { + throw new Error('Client error.'); + } + return this.localClient.db(this.config.database); } - get client(): MongoClient | undefined { + get client(): MongoClient { + if (!this.localClient) { + throw new Error('Client error.'); + } return this.localClient; } @@ -71,7 +77,10 @@ export class Database { + if (!this.config) { + throw new Error('Config Missing.'); + } + const collections = Object.entries(this.config.collections).reduce((a, e) => { a[e[0]] = this.db.collection(e[1]); return a; }, {} as Record) as C; @@ -79,8 +88,11 @@ export class Database { + if (!this.config) { + throw new Error('Config Missing.'); + } const collectionList: string[] = (await this.db.listCollections({}).toArray()).map((el) => el.name); - for (const each of Object.values(this.config!.collections)) { + for (const each of Object.values(this.config.collections)) { if (!collectionList.includes(each)) { throw new CustomError(`Collection ${each} does not exist.`); } diff --git a/packages/itmat-commons/src/utils/objStore.ts b/packages/itmat-commons/src/utils/objStore.ts index 298188f9b..be7e51d6f 100644 --- a/packages/itmat-commons/src/utils/objStore.ts +++ b/packages/itmat-commons/src/utils/objStore.ts @@ -17,7 +17,7 @@ export class ObjectStore { public async isConnected(): Promise { try { - await this.client!.listBuckets(); + this.client && await this.client.listBuckets(); return true; } catch (e) { return false; @@ -44,17 +44,20 @@ export class ObjectStore { } public async uploadFile(fileStream: Readable, studyId: string, uri: string): Promise { + if (!this.client) { + throw new Error('Connection failed.'); + } const lowercasestudyid = studyId.toLowerCase(); - const bucketExists = await this.client!.bucketExists(lowercasestudyid); + const bucketExists = await this.client.bucketExists(lowercasestudyid); if (!bucketExists) { - await this.client!.makeBucket(lowercasestudyid, this.config?.bucketRegion ?? ''); + await this.client.makeBucket(lowercasestudyid, this.config?.bucketRegion ?? ''); } /* check if object already exists because if it does, minio supplant the old file without warning*/ let fileExists; try { - await this.client!.statObject(lowercasestudyid, uri); + await this.client.statObject(lowercasestudyid, uri); fileExists = true; } catch (e) { fileExists = false; @@ -64,14 +67,17 @@ export class ObjectStore { throw new Error(`File "${uri}" of study "${studyId}" already exists.`); } - const result = await this.client!.putObject(lowercasestudyid, uri, fileStream); + const result = await this.client.putObject(lowercasestudyid, uri, fileStream); return result.etag; } public async downloadFile(studyId: string, uri: string): Promise { + if (!this.client) { + throw new Error('Connection failed.'); + } // PRECONDITION: studyId and file exists (checked by interface resolver) const lowercasestudyid = studyId.toLowerCase(); - const stream = this.client!.getObject(lowercasestudyid, uri); + const stream = this.client.getObject(lowercasestudyid, uri); return stream as Promise; } } diff --git a/packages/itmat-interface/express-user.d.ts b/packages/itmat-interface/express-user.d.ts new file mode 100644 index 000000000..a1740828a --- /dev/null +++ b/packages/itmat-interface/express-user.d.ts @@ -0,0 +1,15 @@ +import type { IUserWithoutToken } from '@itmat-broker/itmat-types'; + +declare global { + + namespace Express { + + // eslint-disable-next-line @typescript-eslint/no-empty-interface + interface User extends IUserWithoutToken { } + + interface Request { + user?: User; + headers: IncomingHttpHeaders + } + } +} \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/ApolloServerContext 2.ts b/packages/itmat-interface/src/graphql/ApolloServerContext 2.ts new file mode 100644 index 000000000..540f17e85 --- /dev/null +++ b/packages/itmat-interface/src/graphql/ApolloServerContext 2.ts @@ -0,0 +1,3 @@ +export interface ApolloServerContext { + token?: string; +} \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/ApolloServerContext.ts b/packages/itmat-interface/src/graphql/ApolloServerContext.ts index 540f17e85..bb72427bb 100644 --- a/packages/itmat-interface/src/graphql/ApolloServerContext.ts +++ b/packages/itmat-interface/src/graphql/ApolloServerContext.ts @@ -1,3 +1,4 @@ export interface ApolloServerContext { + req: Express.Request; token?: string; } \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/core/fieldCore.ts b/packages/itmat-interface/src/graphql/core/fieldCore.ts index eddea2208..cd6cf8f7a 100644 --- a/packages/itmat-interface/src/graphql/core/fieldCore.ts +++ b/packages/itmat-interface/src/graphql/core/fieldCore.ts @@ -1,17 +1,18 @@ -import { IFieldEntry, enumValueType, IUser } from '@itmat-broker/itmat-types'; +import { IFieldEntry, enumValueType, IUserWithoutToken } from '@itmat-broker/itmat-types'; import { db } from '../../database/database'; import { v4 as uuid } from 'uuid'; +import { Document, Filter } from 'mongodb'; export class FieldCore { public async getFieldsOfStudy(studyId: string, detailed: boolean, getOnlyTheseFields?: string[]): Promise { /* ASSUMING projectId and studyId match*/ /* if detailed=false, only returns the fieldid in an array */ /* constructing queryObj; if projectId is provided then only those in the approved fields are returned */ - let queryObj = { studyId }; + let queryObj: Filter = { studyId }; if (getOnlyTheseFields) { // if both study id and project id are provided then just make sure they belong to each other queryObj = { studyId, fieldId: { $in: getOnlyTheseFields } }; } - const aggregatePipeline = [ + const aggregatePipeline: Document[] = [ { $match: queryObj } ]; /* if detailed=false, only returns the fieldid in an array */ @@ -26,7 +27,7 @@ export class FieldCore { } -export function validateAndGenerateFieldEntry(fieldEntry, requester: IUser) { +export function validateAndGenerateFieldEntry(fieldEntry, requester: IUserWithoutToken) { // duplicates with existing fields are checked by caller function const error: string[] = []; const complusoryField = [ diff --git a/packages/itmat-interface/src/graphql/core/permissionCore.ts b/packages/itmat-interface/src/graphql/core/permissionCore.ts index a878ef04e..e237f077c 100644 --- a/packages/itmat-interface/src/graphql/core/permissionCore.ts +++ b/packages/itmat-interface/src/graphql/core/permissionCore.ts @@ -1,6 +1,6 @@ import { GraphQLError } from 'graphql'; -import { atomicOperation, IPermissionManagementOptions, IRole, IUser, userTypes } from '@itmat-broker/itmat-types'; -import { BulkWriteResult } from 'mongodb'; +import { atomicOperation, IDataEntry, IDataPermission, IManagementPermission, IPermissionManagementOptions, IRole, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { BulkWriteResult, Document } from 'mongodb'; import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; import { errorCodes } from '../errors'; @@ -12,12 +12,24 @@ interface ICreateRoleInput { createdBy: string; } +export interface ICombinedPermissions { + subjectIds: string[], + visitIds: string[], + fieldIds: string[] +} + +export interface QueryMatcher { + key: string, + op: string, + parameter: number | string | boolean +} + export class PermissionCore { public async getAllRolesOfStudyOrProject(studyId: string, projectId?: string): Promise { return db.collections.roles_collection.find({ studyId, projectId }).toArray(); } - public async userHasTheNeccessaryManagementPermission(type: string, operation: string, user: IUser, studyId: string, projectId?: string): Promise { + public async userHasTheNeccessaryManagementPermission(type: string, operation: string, user: IUserWithoutToken, studyId: string, projectId?: string) { if (user === undefined) { return false; } @@ -37,7 +49,7 @@ export class PermissionCore { return true; } - public async combineUserDataPermissions(operation: string, user: IUser, studyId: string, projectId?: string): Promise | false> { + public async combineUserDataPermissions(operation: string, user: IUserWithoutToken, studyId: string, projectId?: string) { if (user.type === userTypes.ADMIN) { const matchAnyString = '^.*$'; return { @@ -46,14 +58,14 @@ export class PermissionCore { fieldIds: [matchAnyString] }; } - const roles = await db.collections.roles_collection.aggregate([ + const roles = await db.collections.roles_collection.aggregate([ { $match: { studyId, projectId: { $in: [projectId, null] }, users: user.id, deleted: null } }, // matches all the role documents where the study and project matches and has the user inside { $match: { 'permissions.data.operations': operation } } ]).toArray(); if (roles.length === 0) { return false; } - const combined: Record = { + const combined: ICombinedPermissions = { subjectIds: [], visitIds: [], fieldIds: [] @@ -66,7 +78,7 @@ export class PermissionCore { return combined; } - public checkDataEntryValid(combinedDataPermissions: Record | false, fieldId: string, subjectId?: string, visitId?: string): boolean { + public checkDataEntryValid(combinedDataPermissions: ICombinedPermissions | false, fieldId: string, subjectId?: string, visitId?: string): boolean { if (!combinedDataPermissions) { return false; } @@ -81,7 +93,7 @@ export class PermissionCore { } } - public async userHasTheNeccessaryDataPermission(operation: string, user: IUser, studyId: string, projectId?: string): Promise | false> { + public async userHasTheNeccessaryDataPermission(operation: string, user: IUserWithoutToken, studyId: string, projectId?: string) { if (user === undefined) { return false; } @@ -89,30 +101,31 @@ export class PermissionCore { /* if user is an admin then return true if admin privileges includes needed permissions */ if (user.type === userTypes.ADMIN) { return { - matchObj: { - - }, hasVersioned: true, raw: { + matchObj: [], + hasVersioned: true, + raw: { subjectIds: [matchAnyString], visitIds: [matchAnyString], fieldIds: [matchAnyString] }, uploaders: [], - roles: [] + roles: [], + roleraw: [] }; } - const roles = await db.collections.roles_collection.aggregate([ + const roles = await db.collections.roles_collection.aggregate([ { $match: { studyId, projectId: { $in: [projectId, null] }, users: user.id, deleted: null } }, // matches all the role documents where the study and project matches and has the user inside { $match: { 'permissions.data.operations': operation } } ]).toArray(); let hasVersioned = false; const roleObj: Array<{ key: string; op: string, parameter: boolean }>[] = []; - const raw: Record = { + const raw: ICombinedPermissions = { subjectIds: [], visitIds: [], fieldIds: [] }; - const roleraw = []; + const roleraw: { subjectIds: string[], visitIds: string[], fieldIds: string[], uploaders: string[], hasVersioned: boolean }[] = []; let uploaders: string[] = []; for (const role of roles) { roleObj.push([{ @@ -134,7 +147,7 @@ export class PermissionCore { visitIds: role.permissions.data?.visitIds || [], fieldIds: role.permissions.data?.fieldIds || [], uploaders: role.permissions.data?.uploaders || [], - hasVersioned: role.permissions.data.hasVersioned + hasVersioned: role.permissions.data?.hasVersioned || false }); } if (Object.keys(roleObj).length === 0) { @@ -144,7 +157,7 @@ export class PermissionCore { } public combineMultiplePermissions(permissions) { - const res = { + const res: { matchObj: QueryMatcher[][], hasVersioned: boolean, raw: ICombinedPermissions } = { matchObj: [], hasVersioned: false, raw: { @@ -195,7 +208,7 @@ export class PermissionCore { } } - public async editRoleFromStudyOrProject(roleId: string, name?: string, description?: string, permissionChanges, userChanges?: { add: string[], remove: string[] }): Promise { + public async editRoleFromStudyOrProject(roleId: string, name?: string, description?: string, permissionChanges?: { data?: IDataPermission, manage?: IManagementPermission }, userChanges?: { add: string[], remove: string[] }): Promise { if (permissionChanges === undefined) { permissionChanges = { data: { subjectIds: [], visitIds: [], fieldIds: [], uploaders: ['^.*$'], hasVersioned: false, operations: [] }, @@ -231,7 +244,7 @@ export class PermissionCore { if (permissionChanges.data?.filters) { if (permissionChanges.data.filters.length > 0) { const subqueries = translateCohort(permissionChanges.data.filters); - validSubjects = (await db.collections.data_collection.aggregate([{ + validSubjects = (await db.collections.data_collection.aggregate([{ $match: { $and: subqueries } }]).toArray()).map(el => el.m_subjectId); } @@ -240,7 +253,7 @@ export class PermissionCore { // update the data and field records const dataBulkOp = db.collections.data_collection.initializeUnorderedBulkOp(); - const filters: Record = { + const filters: ICombinedPermissions = { subjectIds: permissionChanges.data?.subjectIds || [], visitIds: permissionChanges.data?.visitIds || [], fieldIds: permissionChanges.data?.fieldIds || [] @@ -343,7 +356,7 @@ export const permissionCore = new PermissionCore(); export function translateCohort(cohort) { - const queries = []; + const queries: Document[] = []; cohort.forEach(function (select) { const match = { m_fieldId: select.field diff --git a/packages/itmat-interface/src/graphql/core/studyCore.ts b/packages/itmat-interface/src/graphql/core/studyCore.ts index e83425ca7..a375c8413 100644 --- a/packages/itmat-interface/src/graphql/core/studyCore.ts +++ b/packages/itmat-interface/src/graphql/core/studyCore.ts @@ -1,9 +1,9 @@ import { GraphQLError } from 'graphql'; -import { IFile, IUser, IProject, IStudy, studyType, IStudyDataVersion, IDataEntry, IDataClip, IRole, IFieldEntry, deviceTypes, IOrganisation } from '@itmat-broker/itmat-types'; +import { IFile, IProject, IStudy, studyType, IStudyDataVersion, IDataEntry, IDataClip, IRole, IFieldEntry, deviceTypes, IOrganisation, IUserWithoutToken } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; import { errorCodes } from '../errors'; -import { PermissionCore, permissionCore, translateCohort } from './permissionCore'; +import { ICombinedPermissions, PermissionCore, permissionCore, translateCohort } from './permissionCore'; import { validate } from '@ideafast/idgen'; import type { MatchKeysAndValues } from 'mongodb'; import { objStore } from '../../objStore/objStore'; @@ -32,7 +32,7 @@ export class StudyCore { public async createNewStudy(studyName: string, description: string, type: studyType, requestedBy: string): Promise { /* check if study already exist (lowercase because S3 minio buckets cant be mixed case) */ - const existingStudies = await db.collections.studies_collection.aggregate( + const existingStudies = await db.collections.studies_collection.aggregate<{ name: string }>( [ { $match: { deleted: null } }, { @@ -138,7 +138,7 @@ export class StudyCore { // update permissions based on roles const roles = await db.collections.roles_collection.find({ studyId: studyId, deleted: null }).toArray(); for (const role of roles) { - const filters: Record = { + const filters: ICombinedPermissions = { subjectIds: role.permissions.data?.subjectIds || [], visitIds: role.permissions.data?.visitIds || [], fieldIds: role.permissions.data?.fieldIds || [] @@ -149,7 +149,9 @@ export class StudyCore { if (role.permissions.data.filters.length > 0) { validSubjects = []; const subqueries = translateCohort(role.permissions.data.filters); - validSubjects = (await db.collections.data_collection.aggregate([{ + validSubjects = (await db.collections.data_collection.aggregate<{ + m_subjectId: string, m_visitId: string, m_fieldId: string, value: string | number | boolean | { [key: string]: unknown } + }>([{ $match: { m_fieldId: { $in: role.permissions.data.filters.map(el => el.field) } } }, { @@ -218,7 +220,7 @@ export class StudyCore { return newDataVersion; } - public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUser): Promise { + public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUserWithoutToken): Promise { const response: IGenericResponse[] = []; let bulk = db.collections.data_collection.initializeUnorderedBulkOp(); // remove duplicates by subjectId, visitId and fieldId @@ -333,7 +335,7 @@ export class StudyCore { error = `Field ${dataClip.fieldId}: Cannot parse as categorical, possible values not defined.`; break; } - if (!fieldInDb.possibleValues.map((el) => el.code).includes(dataClip.value?.toString())) { + if (dataClip.value && !fieldInDb.possibleValues.map((el) => el.code).includes(dataClip.value?.toString())) { error = `Field ${dataClip.fieldId}: Cannot parse as categorical, value not in value list.`; break; } else { @@ -363,7 +365,7 @@ export class StudyCore { let objWithData: Partial>; // update the file data differently if (fieldInDb.dataType === 'file') { - const existing = await db.collections.data_collection.findOne(obj); + const existing = await db.collections.data_collection.findOne(obj); if (!existing) { await db.collections.data_collection.insertOne({ ...obj, @@ -415,7 +417,7 @@ export class StudyCore { } // This file uploading function will not check any metadate of the file - public async uploadFile(studyId: string, data: IDataClip, uploader: IUser, args: { fileLength?: number, fileHash?: string }): Promise { + public async uploadFile(studyId: string, data: IDataClip, uploader: IUserWithoutToken, args: { fileLength?: number, fileHash?: string }): Promise { if (!data.file || typeof (data.file) === 'string') { return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'Invalid File Stream' }; } @@ -423,7 +425,7 @@ export class StudyCore { if (!study) { return { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, description: 'Study does not exist.' }; } - const sitesIDMarkers = (await db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce((acc, curr) => { + const sitesIDMarkers = (await db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce<{ [key: string]: string | null }>((acc, curr) => { if (curr.metadata?.siteIDMarker) { acc[curr.metadata.siteIDMarker] = curr.shortname; } @@ -432,16 +434,19 @@ export class StudyCore { // check file metadata if (data.metadata) { let parsedDescription: Record; - let startDate; - let endDate; - let deviceId; - let participantId; + let startDate: number; + let endDate: number; + let deviceId: string; + let participantId: string; try { parsedDescription = data.metadata; - startDate = parseInt(parsedDescription.startDate); - endDate = parseInt(parsedDescription.endDate); - participantId = data.subjectId.toString(); - deviceId = parsedDescription.deviceId.toString(); + if (!parsedDescription['startDate'] || !parsedDescription['endDate'] || !parsedDescription['deviceId'] || !parsedDescription['participantId']) { + return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; + } + startDate = parseInt(parsedDescription['startDate'].toString()); + endDate = parseInt(parsedDescription['endDate'].toString()); + participantId = parsedDescription['participantId'].toString(); + deviceId = parsedDescription['deviceId'].toString(); } catch (e) { return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; } @@ -529,7 +534,7 @@ export class StudyCore { const insertResult = await db.collections.files_collection.insertOne(fileEntry as IFile); if (insertResult.acknowledged) { // delete old file if existing - await db.collections.files_collection.findOneAndUpdate({ studyId: studyId, id: oldFileId }, { $set: { deleted: Date.now().valueOf() } }); + oldFileId && await db.collections.files_collection.findOneAndUpdate({ studyId: studyId, id: oldFileId }, { $set: { deleted: Date.now().valueOf() } }); resolve(fileEntry as IFile); } else { throw new GraphQLError(errorCodes.DATABASE_ERROR); @@ -566,7 +571,7 @@ export class StudyCore { } if (getListOfPatientsResult[0] !== undefined) { - project.patientMapping = this.createPatientIdMapping(getListOfPatientsResult[0].array); + project.patientMapping = this.createPatientIdMapping(getListOfPatientsResult[0]['array']); } await db.collections.projects_collection.insertOne(project); diff --git a/packages/itmat-interface/src/graphql/resolvers/context 2.ts b/packages/itmat-interface/src/graphql/resolvers/context 2.ts new file mode 100644 index 000000000..f5a6889f1 --- /dev/null +++ b/packages/itmat-interface/src/graphql/resolvers/context 2.ts @@ -0,0 +1,11 @@ +import type { ExpressMiddlewareOptions } from '@apollo/server/express4'; +import { IResolvers } from '@graphql-tools/utils'; + +export type DMPContext = Awaited['context']>>>>; + +export type DMPResolversMap = Record>; + +export type DMPResolver = DMPResolversMap[keyof DMPResolversMap][keyof DMPResolversMap[keyof DMPResolversMap]] \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts index 2126f208a..bb82af874 100644 --- a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts @@ -23,8 +23,10 @@ export const fileResolvers: DMPResolversMap = { Mutation: { // this API has the same functions as uploading file data via clinical APIs uploadFile: async (parent, args: { fileLength?: bigint, studyId: string, file: Promise, description: string, hash?: string }, context) => { - const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } // get the target fieldId of this file const study = await studyCore.findOneStudy_throwErrorIfNotExist(args.studyId); @@ -44,7 +46,7 @@ export const fileResolvers: DMPResolversMap = { let targetFieldId: string; let isStudyLevel = false; // obtain sitesIDMarker from db - const sitesIDMarkers = (await db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce((acc, curr) => { + const sitesIDMarkers = (await db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce>((acc, curr) => { if (curr.metadata?.siteIDMarker) { acc[curr.metadata.siteIDMarker] = curr.shortname; } @@ -97,7 +99,7 @@ export const fileResolvers: DMPResolversMap = { return new Promise((resolve, reject) => { (async () => { try { - const fileEntry: Partial = { + const fileEntry: IFile = { id: uuid(), fileName: file.filename, studyId: args.studyId, @@ -105,7 +107,9 @@ export const fileResolvers: DMPResolversMap = { uploadTime: `${Date.now()}`, uploadedBy: requester.id, deleted: null, - metadata: {} + metadata: {}, + uri: '', + hash: '' }; if (!isStudyLevel) { const matcher = /(.{1})(.{6})-(.{3})(.{6})-(\d{8})-(\d{8})\.(.*)/; @@ -225,9 +229,9 @@ export const fileResolvers: DMPResolversMap = { } }); } - const insertResult = await db.collections.files_collection.insertOne(fileEntry as IFile); + const insertResult = await db.collections.files_collection.insertOne(fileEntry); if (insertResult.acknowledged) { - resolve(fileEntry as IFile); + resolve(fileEntry); } else { throw new GraphQLError(errorCodes.DATABASE_ERROR); } @@ -240,7 +244,9 @@ export const fileResolvers: DMPResolversMap = { }, deleteFile: async (parent, args: { fileId: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const file = await db.collections.files_collection.findOne({ deleted: null, id: args.fileId }); if (!file) { diff --git a/packages/itmat-interface/src/graphql/resolvers/index.ts b/packages/itmat-interface/src/graphql/resolvers/index.ts index 2102d9280..b215912e8 100644 --- a/packages/itmat-interface/src/graphql/resolvers/index.ts +++ b/packages/itmat-interface/src/graphql/resolvers/index.ts @@ -26,23 +26,20 @@ const modules = [ standardizationResolvers ]; -// const loggingDecorator = (reducerFunction: Function) => { -// return async (parent, args, context, info) => { -// return await reducerFunction(parent, args, context, info); -// }; -// }; - -const bounceNotLoggedInDecorator = (reducerFunction: DMPResolver): DMPResolver => { +const bounceNotLoggedInDecorator = (funcName: string, reducerFunction: DMPResolver): DMPResolver => { return (parent, args, context, info) => { const uncheckedFunctionWhitelist = ['login', 'rsaSigner', 'keyPairGenwSignature', 'issueAccessToken', 'whoAmI', 'getOrganisations', 'requestUsernameOrResetPassword', 'resetPassword', 'createUser', 'writeLog', 'validateResetPassword']; const requester = context.req.user; - if (!requester) { - if (!uncheckedFunctionWhitelist.includes(reducerFunction.name)) { - throw new GraphQLError(errorCodes.NOT_LOGGED_IN); - } + if (!requester && !uncheckedFunctionWhitelist.includes(funcName)) { + throw new GraphQLError(errorCodes.NOT_LOGGED_IN); + } + + if (typeof reducerFunction === 'function') { + return reducerFunction(parent, args, context, info); + } else { + throw new Error('Attempted to call a non-callable resolver'); } - return reducerFunction(parent, args, context, info); }; }; @@ -58,7 +55,7 @@ export const resolvers = modules.reduce((a, e) => { if (each === 'Subscription') { a[each][funcName] = e[each][funcName]; } else { - a[each][funcName] = bounceNotLoggedInDecorator(e[each][funcName]); + a[each][funcName] = bounceNotLoggedInDecorator(funcName, e[each][funcName]); } } } diff --git a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts index 6ae94228c..62f3b2ca9 100644 --- a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts @@ -22,7 +22,9 @@ export const jobResolvers: DMPResolversMap = { Mutation: { createDataCurationJob: async (parent, args: { file: string[], studyId: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.job, @@ -78,7 +80,9 @@ export const jobResolvers: DMPResolversMap = { }, createFieldCurationJob: async (parent, args: { file: string, studyId: string, tag: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.job, @@ -126,7 +130,9 @@ export const jobResolvers: DMPResolversMap = { }, createQueryCurationJob: async (parent, args: { queryId: string[], studyId: string, projectId: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check permission */ const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.job, diff --git a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts index 9fd072f57..47603877a 100644 --- a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts @@ -1,23 +1,26 @@ import { db } from '../../database/database'; -import { ILogEntry, LOG_ACTION, userTypes } from '@itmat-broker/itmat-types'; +import { ILogEntry, LOG_ACTION, LOG_STATUS, LOG_TYPE, userTypes } from '@itmat-broker/itmat-types'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../errors'; import { DMPResolversMap } from './context'; +import { Filter } from 'mongodb'; export const logResolvers: DMPResolversMap = { Query: { - getLogs: async (parent, args, context) => { + getLogs: async (parent, args: { requesterName: string, requesterType: userTypes, logType: LOG_TYPE, actionType: LOG_ACTION, status: LOG_STATUS }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* only admin can access this field */ if (!(requester.type === userTypes.ADMIN) && !(requester.metadata?.logPermission === true)) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const queryObj: Record = {}; + const queryObj: Filter = {}; for (const prop in args) { - if (args.prop !== undefined) { - queryObj[prop] = args.prop; + if (args[prop] !== undefined) { + queryObj[prop] = args[prop]; } } const logData = await db.collections.log_collection.find(queryObj, { projection: { _id: 0 } }).limit(1000).sort('time', -1).toArray(); @@ -37,7 +40,7 @@ export const hiddenFields = { UPLOAD_FILE: ['file', 'description'] }; -async function logDecorationHelper(actionData: unknown, actionType: string) { +async function logDecorationHelper(actionData: string, actionType: string) { const obj = JSON.parse(actionData) ?? {}; if (Object.keys(hiddenFields).includes(actionType)) { for (let i = 0; i < hiddenFields[actionType as keyof typeof hiddenFields].length; i++) { diff --git a/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts index a8b08892f..1b8525376 100644 --- a/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts @@ -4,7 +4,7 @@ import { DMPResolversMap } from './context'; export const organisationResolvers: DMPResolversMap = { Query: { - getOrganisations: async (parent, args) => { + getOrganisations: async (parent, args: { organisationId?: string }) => { // everyone is allowed to see all organisations in the app. const queryObj = args.organisationId === undefined ? { deleted: null } : { deleted: null, id: args.organisationId }; const cursor = db.collections.organisations_collection.find(queryObj, { projection: { _id: 0 } }); diff --git a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts index 7c3f6d4d9..f1fe4ea07 100644 --- a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts @@ -6,16 +6,20 @@ import { studyCore } from '../core/studyCore'; import { errorCodes } from '../errors'; import { makeGenericReponse } from '../responses'; import { DMPResolversMap } from './context'; +import { Filter } from 'mongodb'; export const permissionResolvers: DMPResolversMap = { Query: { getGrantedPermissions: async (parent, { studyId, projectId }: { studyId?: string, projectId?: string }, context) => { const requester = context.req.user; - const matchClause: Record = { users: requester.id }; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const matchClause: Filter = { users: requester.id }; if (studyId) matchClause.studyId = studyId; if (projectId) - matchClause.projectId = { $in: [projectId, null] }; + matchClause.projectId = { $in: [projectId, undefined] }; const aggregationPipeline = [ { $match: matchClause } // { $group: { _id: requester.id, arrArrPrivileges: { $addToSet: '$permissions' } } }, @@ -38,6 +42,9 @@ export const permissionResolvers: DMPResolversMap = { Mutation: { addRole: async (parent, args: { studyId: string, projectId?: string, roleName: string }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const { studyId, projectId, roleName } = args; /* check whether user has at least provided one id */ @@ -72,6 +79,9 @@ export const permissionResolvers: DMPResolversMap = { }, editRole: async (parent, args: { roleId: string, name?: string, description?: string, userChanges?: { add: string[], remove: string[] }, permissionChanges }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const { roleId, name, permissionChanges, userChanges } = args; const role = await db.collections.roles_collection.findOne({ id: roleId, deleted: null }); @@ -132,6 +142,9 @@ export const permissionResolvers: DMPResolversMap = { }, removeRole: async (parent, args: { roleId: string }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const { roleId } = args; const role = await db.collections.roles_collection.findOne({ id: roleId, deleted: null }); diff --git a/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts index f464283a2..e35d8fdfe 100644 --- a/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts @@ -13,7 +13,7 @@ import { DMPResolversMap } from './context'; export const pubkeyResolvers: DMPResolversMap = { Query: { - getPubkeys: async (parent, args) => { + getPubkeys: async (parent, args: { pubkeyId?: string, associatedUserId?: string }) => { // a user is allowed to obtain his/her registered public key. let queryObj; if (args.pubkeyId === undefined) { @@ -107,6 +107,9 @@ export const pubkeyResolvers: DMPResolversMap = { } const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* Check whether requester is the same as the associated user*/ if (associatedUserId && (requester.id !== associatedUserId)) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -138,7 +141,7 @@ export const pubkeyResolvers: DMPResolversMap = { const updateResult = await db.collections.pubkeys_collection.findOneAndUpdate({ associatedUserId, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); if (updateResult) { await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to: requester.email, subject: `[${config.appName}] New public-key has sucessfully registered!`, html: ` @@ -175,7 +178,7 @@ export const pubkeyResolvers: DMPResolversMap = { }); await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to: requester.email, subject: `[${config.appName}] Public-key Registration!`, html: ` diff --git a/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts index 6e3375286..dea8183a8 100644 --- a/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts @@ -11,6 +11,9 @@ export const queryResolvers: DMPResolversMap = { getQueryById: async (parent, args: { queryId: string }, context) => { const queryId = args.queryId; const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check query exists */ const queryEntry = await db.collections.queries_collection.findOne({ id: queryId }, { projection: { _id: 0, claimedBy: 0 } }); if (queryEntry === null || queryEntry === undefined) { @@ -38,7 +41,9 @@ export const queryResolvers: DMPResolversMap = { }, getQueries: async (parent, args: { studyId: string, projectId: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check permission */ const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.query, diff --git a/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts index 196152a29..112a2854e 100644 --- a/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts @@ -12,6 +12,9 @@ export const standardizationResolvers: DMPResolversMap = { Query: { getStandardization: async (parent, { studyId, projectId, type, versionId }: { studyId: string, projectId: string, type?: string, versionId: string }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } let modifiedStudyId = studyId; /* check study exists */ if (!studyId && !projectId) { @@ -71,6 +74,9 @@ export const standardizationResolvers: DMPResolversMap = { Mutation: { createStandardization: async (parent, { studyId, standardization }: { studyId: string, standardization }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.WRITE, @@ -116,6 +122,9 @@ export const standardizationResolvers: DMPResolversMap = { }, deleteStandardization: async (parent, { studyId, type, field }: { studyId: string, type: string, field: string[] }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.WRITE, diff --git a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts index ac25a7aad..584cf874b 100644 --- a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts @@ -11,7 +11,10 @@ import { atomicOperation, IPermissionManagementOptions, IDataEntry, - enumValueType + enumValueType, + IQueryString, + IGroupedData, + IValueDescription } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; @@ -23,11 +26,25 @@ import { IGenericResponse, makeGenericReponse } from '../responses'; import { buildPipeline, translateMetadata } from '../../utils/query'; import { dataStandardization } from '../../utils/query'; import { DMPResolversMap } from './context'; +import { Filter } from 'mongodb'; + +interface EditFieldInput { + fieldId: string; + fieldName: string; + tableName?: string; + dataType: enumValueType; + possibleValues?: IValueDescription[] + unit?: string + comments?: string +} export const studyResolvers: DMPResolversMap = { Query: { - getStudy: async (parent, args: Record, context) => { + getStudy: async (parent, args: { studyId: string }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const studyId: string = args.studyId; /* user can get study if he has readonly permission */ @@ -45,8 +62,11 @@ export const studyResolvers: DMPResolversMap = { } return study; }, - getProject: async (parent, args, context) => { + getProject: async (parent, args: { projectId: string }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const projectId: string = args.projectId; /* get project */ // defer patientMapping since it's costly and not available to all users @@ -75,6 +95,9 @@ export const studyResolvers: DMPResolversMap = { }, getStudyFields: async (parent, { studyId, projectId, versionId }: { studyId: string, projectId?: string, versionId?: string | null }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* user can get study if he has readonly permission */ const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, @@ -99,7 +122,7 @@ export const studyResolvers: DMPResolversMap = { if (versionId === null) { availableDataVersions.push(null); } - const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -120,7 +143,7 @@ export const studyResolvers: DMPResolversMap = { // unversioned data could not be returned by metadata filters if (versionId === null && aggregatedPermissions.hasVersioned) { availableDataVersions.push(null); - const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -143,12 +166,12 @@ export const studyResolvers: DMPResolversMap = { return fieldRecords.filter(el => el.dateDeleted === null); } else { // metadata filter - const subqueries = []; + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; aggregatedPermissions.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -170,14 +193,17 @@ export const studyResolvers: DMPResolversMap = { } }, getOntologyTree: async (parent, { studyId, projectId, treeName, versionId }: { studyId: string, projectId?: string, treeName?: string, versionId?: string }, context) => { + const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* get studyId by parameter or project */ const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); if (projectId) { await studyCore.findOneProject_throwErrorIfNotExist(projectId); } - const requester = context.req.user; - // we dont filters fields of an ontology tree by fieldIds const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.ontologyTrees, @@ -237,6 +263,10 @@ export const studyResolvers: DMPResolversMap = { }, checkDataComplete: async (parent, { studyId }: { studyId: string }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, @@ -266,7 +296,7 @@ export const studyResolvers: DMPResolversMap = { doc: { $last: '$$ROOT' } } } - ]).toArray()).map(el => el.doc).filter(eh => eh.dateDeleted === null).reduce((acc, curr) => { + ]).toArray()).map(el => el['doc']).filter(eh => eh.dateDeleted === null).reduce((acc, curr) => { acc[curr.fieldId] = curr; return acc; }, {}); @@ -277,21 +307,31 @@ export const studyResolvers: DMPResolversMap = { if (fieldMapping[record.m_fieldId] !== undefined && fieldMapping[record.m_fieldId] !== null) { switch (fieldMapping[record.m_fieldId].dataType) { case 'dec': {// decimal - if (!/^\d+(.\d+)?$/.test(record.value)) { + if (typeof record.value === 'number') { + if (!/^\d+(.\d+)?$/.test(record.value.toString())) { + error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; + break; + } + } else { error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; break; } break; } case 'int': {// integer - if (!/^-?\d+$/.test(record.value)) { + if (typeof record.value === 'number') { + if (!/^-?\d+$/.test(record.value.toString())) { + error = `Field ${record.m_fieldId}: Cannot parse as integer.`; + break; + } + } else { error = `Field ${record.m_fieldId}: Cannot parse as integer.`; break; } break; } case 'bool': {// boolean - if (record.value.toLowerCase() !== 'true' && record.value.toLowerCase() !== 'false') { + if (typeof record.value !== 'boolean') { error = `Field ${record.m_fieldId}: Cannot parse as boolean.`; break; } @@ -302,8 +342,13 @@ export const studyResolvers: DMPResolversMap = { } // 01/02/2021 00:00:00 case 'date': { - const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; - if (!record.value.match(matcher)) { + if (typeof record.value === 'string') { + const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; + if (!record.value.match(matcher)) { + error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; + break; + } + } else { error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; break; } @@ -313,15 +358,25 @@ export const studyResolvers: DMPResolversMap = { break; } case 'file': { - const file = await db.collections.files_collection.findOne({ id: record.value }); - if (!file) { + if (typeof record.value === 'string') { + const file = await db.collections.files_collection.findOne({ id: record.value }); + if (!file) { + error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; + break; + } + } else { error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; break; } break; } case 'cat': { - if (!fieldMapping[record.m_fieldId].possibleValues.map((el) => el.code).includes(record.value.toString())) { + if (typeof record.value === 'string') { + if (!fieldMapping[record.m_fieldId].possibleValues.map((el) => el.code).includes(record.value.toString())) { + error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; + break; + } + } else { error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; break; } @@ -345,6 +400,10 @@ export const studyResolvers: DMPResolversMap = { }, getDataRecords: async (parent, { studyId, queryString, versionId, projectId }: { queryString, studyId: string, versionId: string | null | undefined, projectId?: string }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* user can get study if he has readonly permission */ const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, @@ -363,9 +422,9 @@ export const studyResolvers: DMPResolversMap = { const aggregatedPermissions = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); let availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - let fieldRecords = []; + let fieldRecords: IFieldEntry[] = []; let result; - let metadataFilter = undefined; + let metadataFilter; // we obtain the data by different requests // admin used will not filtered by metadata filters if (requester.type === userTypes.ADMIN) { @@ -379,7 +438,7 @@ export const studyResolvers: DMPResolversMap = { } } - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -401,7 +460,7 @@ export const studyResolvers: DMPResolversMap = { const pipeline = buildPipeline(queryString, studyId, availableDataVersions, fieldRecords, undefined, true, versionId === null); result = await db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); } else { - const subqueries = []; + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; aggregatedPermissions.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); @@ -409,7 +468,7 @@ export const studyResolvers: DMPResolversMap = { // unversioned data: metadatafilter for versioned data and all unversioned tags if (versionId === null && aggregatedPermissions.hasVersioned) { availableDataVersions.push(null); - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -439,7 +498,7 @@ export const studyResolvers: DMPResolversMap = { if (versionId === '-1') { availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; } - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -466,7 +525,7 @@ export const studyResolvers: DMPResolversMap = { } } else if (versionId !== undefined) { availableDataVersions = [versionId]; - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -502,7 +561,7 @@ export const studyResolvers: DMPResolversMap = { } // post processing the data // 2. update to the latest data; start from first record - const groupedResult = {}; + const groupedResult: IGroupedData = {}; for (let i = 0; i < result.length; i++) { const { m_subjectId, m_visitId, m_fieldId, value } = result[i]; if (!groupedResult[m_subjectId]) { @@ -534,6 +593,9 @@ export const studyResolvers: DMPResolversMap = { }, files: async (study: IStudy, args: never, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -544,7 +606,7 @@ export const studyResolvers: DMPResolversMap = { return []; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const fileFieldIds: string[] = (await db.collections.field_dictionary_collection.aggregate([{ + const fileFieldIds: string[] = (await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } }, { $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { $sort: { dateAdded: -1 } @@ -560,28 +622,28 @@ export const studyResolvers: DMPResolversMap = { }, { $sort: { fieldId: 1 } }]).toArray()).map(el => el.fieldId); - let adds = []; - let removes = []; + let adds: string[] = []; + let removes: string[] = []; // versioned data if (requester.type === userTypes.ADMIN) { - const fileRecords = await db.collections.data_collection.aggregate([{ + const fileRecords = await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_fieldId: { $in: fileFieldIds } } }]).toArray(); adds = fileRecords.map(el => el.metadata?.add || []).flat(); removes = fileRecords.map(el => el.metadata?.remove || []).flat(); } else { - const subqueries = []; + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; hasPermission.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - const versionedFileRecors = await db.collections.data_collection.aggregate([{ + const versionedFileRecors = await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } }, { $match: metadataFilter }]).toArray(); - const filters = []; + const filters: Filter[] = []; for (const role of hasPermission.roleraw) { if (!(role.hasVersioned)) { continue; @@ -593,9 +655,9 @@ export const studyResolvers: DMPResolversMap = { m_versionId: null }); } - let unversionedFileRecords = []; + let unversionedFileRecords: IDataEntry[] = []; if (filters.length !== 0) { - unversionedFileRecords = await db.collections.data_collection.aggregate([{ + unversionedFileRecords = await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: null, m_fieldId: { $in: fileFieldIds } } }, { $match: { $or: filters } @@ -610,6 +672,9 @@ export const studyResolvers: DMPResolversMap = { }, subjects: async (study: IStudy, args: never, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -639,6 +704,9 @@ export const studyResolvers: DMPResolversMap = { }, visits: async (study: IStudy, args: never, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -668,6 +736,9 @@ export const studyResolvers: DMPResolversMap = { }, numOfRecords: async (study: IStudy, args: never, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -687,7 +758,7 @@ export const studyResolvers: DMPResolversMap = { } }, { $count: 'count' - }]).toArray())[0]?.count || 0; + }]).toArray())[0]?.['count'] || 0; const numberOfUnVersioned: number = hasPermission.hasVersioned ? (await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: null, value: { $ne: null } } }, { @@ -698,7 +769,7 @@ export const studyResolvers: DMPResolversMap = { } }, { $count: 'count' - }]).toArray())[0]?.count || 0 : 0; + }]).toArray())[0]?.['count'] || 0 : 0; return [numberOfVersioned, numberOfUnVersioned]; }, currentDataVersion: async (study: IStudy) => { @@ -708,6 +779,9 @@ export const studyResolvers: DMPResolversMap = { Project: { fields: async (project: Omit, args: never, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -736,9 +810,9 @@ export const studyResolvers: DMPResolversMap = { return []; } const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - let fieldRecords = []; + let fieldRecords: IFieldEntry[] = []; if (requester.type === userTypes.ADMIN) { - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } }, { $group: { @@ -756,12 +830,12 @@ export const studyResolvers: DMPResolversMap = { }]).toArray(); } else { // metadata filter - const subqueries = []; + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; hasProjectLevelPermission.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } }, { $match: metadataFilter }, { $group: { @@ -785,6 +859,9 @@ export const studyResolvers: DMPResolversMap = { }, files: async (project: Omit, args: never, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, requester, @@ -810,7 +887,7 @@ export const studyResolvers: DMPResolversMap = { return []; } const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - const fileFieldIds: string[] = (await db.collections.field_dictionary_collection.aggregate([{ + const fileFieldIds: string[] = (await db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } }, { $match: { $and: [{ fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } }, { fieldId: { $in: ontologyTreeFieldIds } }] } }, { $group: { @@ -827,19 +904,19 @@ export const studyResolvers: DMPResolversMap = { let add: string[] = []; let remove: string[] = []; if (Object.keys(hasPermission.matchObj).length === 0) { - (await db.collections.data_collection.aggregate([{ + (await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } }]).toArray()).forEach(element => { add = add.concat(element.metadata?.add || []); remove = remove.concat(element.metadata?.remove || []); }); } else { - const subqueries = []; + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; hasPermission.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - (await db.collections.data_collection.aggregate([{ + (await db.collections.data_collection.aggregate([{ $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } }, { $match: metadataFilter @@ -867,6 +944,9 @@ export const studyResolvers: DMPResolversMap = { return summary; } const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* user can get study if he has readonly permission */ const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, @@ -883,7 +963,7 @@ export const studyResolvers: DMPResolversMap = { // get all dataVersions that are valid (before the current version) const aggregatedPermissions = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); - let metadataFilter = undefined; + let metadataFilter; const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); // ontology trees @@ -914,7 +994,7 @@ export const studyResolvers: DMPResolversMap = { } }]).toArray(); } else { - const subqueries = []; + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; aggregatedPermissions.matchObj.forEach((subMetadata) => { subqueries.push(translateMetadata(subMetadata)); }); @@ -933,8 +1013,12 @@ export const studyResolvers: DMPResolversMap = { }]).toArray(); } // fieldRecords = fieldRecords.filter(el => ontologyTreeFieldIds.includes(el.fieldId)); - const pipeline = buildPipeline({}, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IFieldEntry[], metadataFilter, requester.type === userTypes.ADMIN, false); - const result = await db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); + const emptyQueryString: IQueryString = { + cohort: [[]], + new_fields: [] + }; + const pipeline = buildPipeline(emptyQueryString, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IFieldEntry[], metadataFilter, requester.type === userTypes.ADMIN, false); + const result = await db.collections.data_collection.aggregate<{ m_subjectId: string, m_visitId: string, m_fieldId: string, value: unknown }>(pipeline, { allowDiskUse: true }).toArray(); summary['subjects'] = Array.from(new Set(result.map((el) => el.m_subjectId))).sort(); summary['visits'] = Array.from(new Set(result.map((el) => el.m_visitId))).sort((a, b) => parseFloat(a) - parseFloat(b)).sort(); summary['standardizationTypes'] = (await db.collections.standardizations_collection.distinct('type', { studyId: study.id, deleted: null })).sort(); @@ -942,6 +1026,9 @@ export const studyResolvers: DMPResolversMap = { }, patientMapping: async (project: Omit, args: never, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.READ, // patientMapping is not visible to project users; only to study users. @@ -978,7 +1065,9 @@ export const studyResolvers: DMPResolversMap = { Mutation: { createStudy: async (parent, { name, description, type }: { name: string, description: string, type: studyType }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -990,7 +1079,9 @@ export const studyResolvers: DMPResolversMap = { }, editStudy: async (parent, { studyId, description }: { studyId: string, description: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -1002,6 +1093,9 @@ export const studyResolvers: DMPResolversMap = { }, createNewField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( @@ -1042,19 +1136,22 @@ export const studyResolvers: DMPResolversMap = { } // // construct the rest of the fields if (!isError) { - fieldEntry.id = uuid(); - fieldEntry.studyId = studyId; - fieldEntry.dataVersion = null; - fieldEntry.dateAdded = (new Date()).valueOf(); - fieldEntry.dateDeleted = null; - fieldEntry.metadata = { - uploader: requester.id + const newFieldEntry: IFieldEntry = { + ...fieldEntry, + id: uuid(), + studyId: studyId, + dataVersion: null, + dateAdded: Date.now(), + dateDeleted: null, + metadata: { + uploader: requester.id + } }; bulk.find({ fieldId: fieldEntry.fieldId, studyId: studyId, dataVersion: null - }).upsert().updateOne({ $set: fieldEntry }); + }).upsert().updateOne({ $set: newFieldEntry }); } } if (bulk.batches.length > 0) { @@ -1062,21 +1159,40 @@ export const studyResolvers: DMPResolversMap = { } return response; }, - editField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput }, context) => { + editField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput: EditFieldInput }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } // check fieldId exist - const searchField = await db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); + const searchField = await db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); if (!searchField) { throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } - for (const each of Object.keys(fieldInput) as Array) { - searchField[each] = fieldInput[each]; + searchField.fieldId = fieldInput.fieldId; + searchField.fieldName = fieldInput.fieldName; + searchField.dataType = fieldInput.dataType; + if (fieldInput.tableName) { + searchField.tableName = fieldInput.tableName; + } + if (fieldInput.unit) { + searchField.unit = fieldInput.unit; } + if (fieldInput.possibleValues) { + searchField.possibleValues = fieldInput.possibleValues; + } + if (fieldInput.tableName) { + searchField.tableName = fieldInput.tableName; + } + if (fieldInput.comments) { + searchField.comments = fieldInput.comments; + } + const { fieldEntry, error } = validateAndGenerateFieldEntry(searchField, requester); if (error.length !== 0) { throw new GraphQLError(JSON.stringify(error), { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); @@ -1089,6 +1205,9 @@ export const studyResolvers: DMPResolversMap = { }, deleteField: async (parent, { studyId, fieldId }: { studyId: string, fieldId: string }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.WRITE, @@ -1132,6 +1251,9 @@ export const studyResolvers: DMPResolversMap = { const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( @@ -1160,7 +1282,7 @@ export const studyResolvers: DMPResolversMap = { } ]).toArray(); // filter those that have been deleted - const fieldsList = fieldRecords.map(el => el.doc).filter(eh => eh.dateDeleted === null); + const fieldsList = fieldRecords.map(el => el['doc']).filter(eh => eh.dateDeleted === null); const response = (await studyCore.uploadOneDataClip(studyId, hasPermission.raw, fieldsList, data, requester)); return response; @@ -1170,6 +1292,9 @@ export const studyResolvers: DMPResolversMap = { await studyCore.findOneStudy_throwErrorIfNotExist(studyId); const response: IGenericResponse[] = []; const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( atomicOperation.WRITE, @@ -1233,6 +1358,9 @@ export const studyResolvers: DMPResolversMap = { await studyCore.findOneStudy_throwErrorIfNotExist(studyId); const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (requester.type !== userTypes.ADMIN) { @@ -1255,7 +1383,9 @@ export const studyResolvers: DMPResolversMap = { const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.ontologyTrees, @@ -1308,7 +1438,9 @@ export const studyResolvers: DMPResolversMap = { await studyCore.findOneStudy_throwErrorIfNotExist(studyId); const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* user can get study if he has readonly permission */ const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.ontologyTrees, @@ -1354,7 +1486,9 @@ export const studyResolvers: DMPResolversMap = { }, createProject: async (parent, { studyId, projectName }: { studyId: string, projectName: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.own, @@ -1374,7 +1508,9 @@ export const studyResolvers: DMPResolversMap = { }, deleteProject: async (parent, { projectId }: { projectId: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const project = await studyCore.findOneProject_throwErrorIfNotExist(projectId); /* check privileges */ @@ -1393,7 +1529,9 @@ export const studyResolvers: DMPResolversMap = { }, deleteStudy: async (parent, { studyId }: { studyId: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -1412,7 +1550,9 @@ export const studyResolvers: DMPResolversMap = { }, setDataversionAsCurrent: async (parent, { studyId, dataVersionId }: { studyId: string, dataVersionId: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (!(await permissionCore.userHasTheNeccessaryManagementPermission( IPermissionManagementOptions.own, diff --git a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts index 27bb85c46..5d92b9948 100644 --- a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts @@ -11,24 +11,25 @@ import { db } from '../../database/database'; import config from '../../utils/configManager'; import { userCore } from '../core/userCore'; import { errorCodes } from '../errors'; -import { makeGenericReponse } from '../responses'; +import { IGenericResponse, makeGenericReponse } from '../responses'; import * as mfa from '../../utils/mfa'; import QRCode from 'qrcode'; import tmp from 'tmp'; import { DMPResolversMap } from './context'; +import { UpdateFilter } from 'mongodb'; export const userResolvers: DMPResolversMap = { Query: { - whoAm: (parent, args, context) => { + whoAmI: (parent, args, context) => { return context.req.user; }, - getUsers: async (parent, args) => { + getUsers: async (parent, args: { userId?: string }) => { // everyone is allowed to see all the users in the app. But only admin can access certain fields, like emails, etc - see resolvers for User type. const queryObj = args.userId === undefined ? { deleted: null } : { deleted: null, id: args.userId }; const cursor = db.collections.users_collection.find(queryObj, { projection: { _id: 0 } }); return cursor.toArray(); }, - validateResetPassword: async (parent, args) => { + validateResetPassword: async (parent, args: { token: string, encryptedEmail: string }) => { /* decrypt email */ const salt = makeAESKeySalt(args.token); const iv = makeAESIv(args.token); @@ -66,7 +67,9 @@ export const userResolvers: DMPResolversMap = { User: { access: async (user: IUser, args, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* only admin can access this field */ if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -104,8 +107,11 @@ export const userResolvers: DMPResolversMap = { }, username: async (user: IUser, args, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* only admin can access this field */ - if (context.req.user.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -113,8 +119,11 @@ export const userResolvers: DMPResolversMap = { }, description: async (user: IUser, args, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* only admin can access this field */ - if (context.req.user.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -122,8 +131,11 @@ export const userResolvers: DMPResolversMap = { }, email: async (user: IUser, args, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* only admin can access this field */ - if (context.req.user.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -223,7 +235,7 @@ export const userResolvers: DMPResolversMap = { } return makeGenericReponse(); }, - login: async (parent: Record, args: unknown, context) => { + login: async (parent: Record, args: { username: string, password: string, totp: string, requestexpirydate?: boolean }, context) => { const { req }: { req: Express.Request } = context; const result = await db.collections.users_collection.findOne({ deleted: null, username: args.username }); if (!result) { @@ -238,7 +250,7 @@ export const userResolvers: DMPResolversMap = { // validate the TOTP const totpValidated = mfa.verifyTOTP(args.totp, result.otpSecret); if (!totpValidated) { - if (process.env.NODE_ENV === 'development') + if (process.env['NODE_ENV'] === 'development') console.warn('Incorrect One-Time password. Continuing in development ...'); else throw new GraphQLError('Incorrect One-Time password.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); @@ -263,15 +275,14 @@ export const userResolvers: DMPResolversMap = { throw new GraphQLError('Account Expired. Please request a new expiry date!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const filteredResult: Partial = { ...result }; - delete filteredResult.password; - delete filteredResult.deleted; + const filteredResult: IUserWithoutToken = { ...result }; - return new Promise((resolve) => { + return new Promise((resolve, reject) => { req.login(filteredResult, (err: unknown) => { if (err) { Logger.error(err); - throw new GraphQLError('Cannot log in. Please try again later.'); + reject(new GraphQLError('Cannot log in. Please try again later.')); + return; } resolve(filteredResult); }); @@ -279,22 +290,26 @@ export const userResolvers: DMPResolversMap = { }, logout: async (parent: Record, args: unknown, context) => { const requester = context.req.user; - const req: Express.Request = context.req; - if (requester === undefined || requester === null) { - return makeGenericReponse(context.req.user); + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } - return new Promise((resolve) => { + const req: Express.Request = context.req; + return new Promise((resolve) => { req.logout((err) => { if (err) { Logger.error(err); throw new GraphQLError('Cannot log out'); } else { - resolve(makeGenericReponse(context.req.user)); + resolve(makeGenericReponse(requester.id)); } }); }); }, - createUser: async (parent, args: unknown) => { + createUser: async (parent, args: { + user: { + username: string, firstname: string, lastname: string, email: string, emailNotificationsActivated?: boolean, password: string, description?: string, organisation: string, metadata: unknown + } + }) => { const { username, firstname, lastname, email, emailNotificationsActivated, password, description, organisation, metadata }: { username: string, firstname: string, lastname: string, email: string, emailNotificationsActivated?: boolean, password: string, description?: string, organisation: string, metadata: unknown } = args.user; @@ -353,7 +368,7 @@ export const userResolvers: DMPResolversMap = { const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to: email, subject: `[${config.appName}] Registration Successful`, html: ` @@ -380,10 +395,12 @@ export const userResolvers: DMPResolversMap = { tmpobj.removeCallback(); return makeGenericReponse(); }, - deleteUser: async (parent, args: unknown, context) => { + deleteUser: async (parent, args: { userId: string }, context) => { /* only admin can delete users */ const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } // user (admin type) cannot delete itself if (requester.id === args.userId) { throw new GraphQLError('User cannot delete itself'); @@ -474,7 +491,7 @@ export const userResolvers: DMPResolversMap = { const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to: email, subject: `[${config.appName}] Password reset`, html: ` @@ -500,8 +517,15 @@ export const userResolvers: DMPResolversMap = { tmpobj.removeCallback(); return makeGenericReponse(); }, - editUser: async (parent, args: unknown, context) => { + editUser: async (parent, args: { + user: { + id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown + } + }, context) => { const requester = context.req.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } const { id, username, type, firstname, lastname, email, emailNotificationsActivated, emailNotificationsStatus, password, description, organisation, expiredAt, metadata }: { id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown } = args.user; @@ -522,7 +546,7 @@ export const userResolvers: DMPResolversMap = { } } - const fieldsToUpdate = { + const fieldsToUpdate: UpdateFilter = { type, firstname, lastname, @@ -547,7 +571,7 @@ export const userResolvers: DMPResolversMap = { throw new GraphQLError('User not updated: Non-admin users are only authorised to change their password, email or email notification.'); } - if (password) { fieldsToUpdate.password = await bcrypt.hash(password, config.bcrypt.saltround); } + if (password) { fieldsToUpdate['password'] = await bcrypt.hash(password, config.bcrypt.saltround); } for (const each of (Object.keys(fieldsToUpdate) as Array)) { if (fieldsToUpdate[each] === undefined) { delete fieldsToUpdate[each]; @@ -575,7 +599,9 @@ export const userResolvers: DMPResolversMap = { }, createOrganisation: async (parent, { name, shortname, containOrg, metadata }: { name: string, shortname: string, containOrg: string, metadata: unknown }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -592,7 +618,9 @@ export const userResolvers: DMPResolversMap = { }, deleteOrganisation: async (parent, { id }: { id: string }, context) => { const requester = context.req.user; - + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } /* check privileges */ if (requester.type !== userTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -663,7 +691,7 @@ async function formatEmailForForgottenPassword({ username, firstname, to, resetP const link = `${origin}/reset/${encryptedEmail}/${resetPasswordToken}`; return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to, subject: `[${config.appName}] password reset`, html: ` @@ -687,7 +715,7 @@ async function formatEmailForForgottenPassword({ username, firstname, to, resetP function formatEmailForFogettenUsername({ username, to }: { username: string, to: string }) { return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to, subject: `[${config.appName}] password reset`, html: ` @@ -707,7 +735,7 @@ function formatEmailForFogettenUsername({ username, to }: { username: string, to function formatEmailRequestExpiryDatetoClient({ username, to }: { username: string, to: string }) { return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to, subject: `[${config.appName}] New expiry date has been requested!`, html: ` @@ -728,7 +756,7 @@ function formatEmailRequestExpiryDatetoClient({ username, to }: { username: stri function formatEmailRequestExpiryDatetoAdmin({ username, userEmail }: { username: string, userEmail: string }) { return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to: `${config.adminEmail}`, subject: `[${config.appName}] New expiry date has been requested from ${username} account!`, html: ` @@ -749,7 +777,7 @@ function formatEmailRequestExpiryDatetoAdmin({ username, userEmail }: { username function formatEmailRequestExpiryDateNotification({ username, to }: { username: string, to: string }) { return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to, subject: `[${config.appName}] New expiry date has been updated!`, html: ` diff --git a/packages/itmat-interface/src/index.ts b/packages/itmat-interface/src/index.ts index 5511d44dd..7acbcdf09 100644 --- a/packages/itmat-interface/src/index.ts +++ b/packages/itmat-interface/src/index.ts @@ -29,7 +29,7 @@ function serverStart() { socket.setKeepAlive(true); socket.setNoDelay(true); socket.setTimeout(0); - (socket as unknown as Record).timeout = 0; + (socket as unknown as Record)['timeout'] = 0; interfaceSockets.push(socket); }) .on('error', (error) => { @@ -106,7 +106,7 @@ async function emailNotification() { }).toArray(); for (const user of users) { await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, + from: `${config.appName} <${config.nodemailer.auth?.user}>`, to: user.email, subject: `[${config.appName}] Account is going to expire!`, html: ` diff --git a/packages/itmat-interface/src/interfaceRunner.ts b/packages/itmat-interface/src/interfaceRunner.ts index 96d94115a..cf261216d 100644 --- a/packages/itmat-interface/src/interfaceRunner.ts +++ b/packages/itmat-interface/src/interfaceRunner.ts @@ -18,6 +18,7 @@ class ITMATInterfaceRunner extends Runner { * In case of error, an ErrorStack is rejected. */ public async start(): Promise { + // eslint-disable-next-line @typescript-eslint/no-this-alias const _this = this; return new Promise((resolve, reject) => { diff --git a/packages/itmat-interface/src/log/logPlugin.ts b/packages/itmat-interface/src/log/logPlugin.ts index c95ca7e97..16c9a57b6 100644 --- a/packages/itmat-interface/src/log/logPlugin.ts +++ b/packages/itmat-interface/src/log/logPlugin.ts @@ -28,20 +28,21 @@ export class LogPlugin { } public async requestDidStartLogPlugin(requestContext: GraphQLRequestContextWillSendResponse): Promise { - if (!logActionRecordWhiteList.includes(requestContext.operationName)) { + if (!requestContext.operationName || !logActionRecordWhiteList.includes(requestContext.operationName)) { return null; } if (LOG_ACTION[requestContext.operationName] === undefined || LOG_ACTION[requestContext.operationName] === null) { return null; } + const variables = requestContext.request.variables ?? {}; // Add null check await db.collections.log_collection.insertOne({ id: uuid(), requesterName: requestContext.contextValue?.req?.user?.username ?? 'NA', requesterType: requestContext.contextValue?.req?.user?.type ?? userTypes.SYSTEM, - userAgent: (requestContext.contextValue.req.headers['user-agent'] as string)?.startsWith('Mozilla') ? USER_AGENT.MOZILLA : USER_AGENT.OTHER, + userAgent: (requestContext.contextValue.req?.headers['user-agent'] as string)?.startsWith('Mozilla') ? USER_AGENT.MOZILLA : USER_AGENT.OTHER, logType: LOG_TYPE.REQUEST_LOG, actionType: LOG_ACTION[requestContext.operationName], - actionData: JSON.stringify(ignoreFieldsHelper(requestContext.request.variables, requestContext.operationName)), + actionData: JSON.stringify(ignoreFieldsHelper(variables, requestContext.operationName)), // Use the null-checked variables time: Date.now(), status: requestContext.errors === undefined ? LOG_STATUS.SUCCESS : LOG_STATUS.FAIL, errors: requestContext.errors === undefined ? '' : requestContext.errors[0].message @@ -50,7 +51,44 @@ export class LogPlugin { } } -function ignoreFieldsHelper(dataObj: unknown, operationName: string) { +type LogOperationName = 'login' | 'createUser' | 'registerPubkey' | 'issueAccessToken' | 'editUser' | 'uploadDataInArray' | 'uploadFile' | string; + +interface LoginData { + passpord?: string; + totp?: string; +} + +interface CreateUserData { + user?: { + password?: string; + }; +} + +interface registerPubkeyData { + signature?: string; +} + +interface EditUserData { + user?: { + password?: string; + }; +} + +interface UploadDataInArrayData { + data?: { + value?: string; + file?: string; + metadata?: string; + }[]; +} + +interface UploadFileData { + file?: string; +} + +type DataObj = LoginData | CreateUserData | registerPubkeyData | EditUserData | UploadDataInArrayData | UploadFileData; + +function ignoreFieldsHelper(dataObj: DataObj, operationName: LogOperationName) { if (operationName === 'login') { delete dataObj['password']; delete dataObj['totp']; diff --git a/packages/itmat-interface/src/rest/fileDownload.ts b/packages/itmat-interface/src/rest/fileDownload.ts index d443bda39..c1d10fd61 100644 --- a/packages/itmat-interface/src/rest/fileDownload.ts +++ b/packages/itmat-interface/src/rest/fileDownload.ts @@ -11,14 +11,19 @@ import { GraphQLError } from 'graphql'; export const fileDownloadController = (req: Request, res: Response) => { (async () => { const requester = req.user as IUser; - const requestedFile = req.params.fileId; + const requestedFile = req.params['fileId']; const token = req.headers.authorization || ''; let associatedUser = requester; if ((token !== '') && (req.user === undefined)) { // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed const decodedPayload = jwt.decode(token); // obtain the public-key of the robot user in the JWT payload - const pubkey = decodedPayload.publicKey; + let pubkey: string; + if (decodedPayload !== null && !(typeof decodedPayload === 'string')) { + pubkey = decodedPayload['publicKey']; + } else { + throw new GraphQLError('JWT verification failed.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } // verify the JWT jwt.verify(token, pubkey, function (error) { if (error) { diff --git a/packages/itmat-interface/src/server/router.ts b/packages/itmat-interface/src/server/router.ts index b361e1c6e..89f50d8c7 100644 --- a/packages/itmat-interface/src/server/router.ts +++ b/packages/itmat-interface/src/server/router.ts @@ -9,7 +9,6 @@ import { WebSocketServer } from 'ws'; import { useServer } from 'graphql-ws/lib/use/ws'; import { makeExecutableSchema } from '@graphql-tools/schema'; import MongoStore from 'connect-mongo'; -// import cors from 'cors'; import express from 'express'; import { Express } from 'express'; import { Request, Response, RequestHandler as NativeRequestHandler } from 'express-serve-static-core'; @@ -50,9 +49,6 @@ export class Router { max: 500 })); - // if (process.env.NODE_ENV === 'development') - // this.app.use(cors({ credentials: true })); - this.app.use(express.json({ limit: '50mb' })); this.app.use(express.urlencoded({ extended: true })); @@ -83,13 +79,12 @@ export class Router { passport.deserializeUser(userLoginUtils.deserialiseUser); this.server = http.createServer({ - allowHTTP1: true, keepAlive: true, keepAliveInitialDelay: 0, requestTimeout: 0, - headersTimeout: 0, noDelay: true }, this.app); + this.server.headersTimeout = 0; this.server.timeout = 0; this.server.headersTimeout = 0; @@ -105,6 +100,7 @@ export class Router { async init() { + // eslint-disable-next-line @typescript-eslint/no-this-alias const _this = this; /* putting schema together */ @@ -182,7 +178,7 @@ export class Router { preq.end(); }; - if (contentType === 'application/json') { // contentType.includes('application/json') + if (contentType === 'application/json') { writeBody(JSON.stringify(req.body)); } @@ -221,18 +217,18 @@ export class Router { express.json(), graphqlUploadExpress(), expressMiddleware(gqlServer, { - // context: async({ req }) => ({ token: req.headers.token }) context: async ({ req, res }): Promise => { - /* Bounce all unauthenticated graphql requests */ - // if (req.user === undefined && req.body.operationName !== 'login' && req.body.operationName !== 'IntrospectionQuery' ) { // login and schema introspection doesn't need authentication - // throw new ForbiddenError('not logged in'); - // } const token: string = req.headers.authorization || ''; if ((token !== '') && (req.user === undefined)) { // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed const decodedPayload = jwt.decode(token); // obtain the public-key of the robot user in the JWT payload - const pubkey = decodedPayload.publicKey; + let pubkey; + if (decodedPayload !== null && typeof decodedPayload === 'object') { + pubkey = decodedPayload['publicKey']; + } else { + throw new GraphQLError('JWT verification failed. ', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } // verify the JWT jwt.verify(token, pubkey, function (error) { diff --git a/packages/itmat-interface/src/server/server.ts b/packages/itmat-interface/src/server/server.ts index cfa1099d4..a743bcf92 100644 --- a/packages/itmat-interface/src/server/server.ts +++ b/packages/itmat-interface/src/server/server.ts @@ -1,4 +1,4 @@ -import { CustomError, IServerBaseConfig, ServerBase } from '@itmat-broker/itmat-commons'; +import { CustomError, IServerBaseConfig, Logger, ServerBase } from '@itmat-broker/itmat-commons'; import { IConfiguration } from '../utils/configManager'; export interface IServerConfig extends IServerBaseConfig { @@ -8,12 +8,12 @@ export interface IServerConfig extends IServerBaseConfig { } export class Runner extends ServerBase { - constructor(protected config: IConfiguration) { + constructor(protected override config: IConfiguration) { super(config); } protected async additionalChecksAndActions(): Promise { if (isNaN(parseInt(`${this.config.bcrypt.saltround}`, 10))) { - console.log(new CustomError('Salt round must be a number')); + Logger.log(new CustomError('Salt round must be a number')); process.exit(1); } } diff --git a/packages/itmat-interface/src/utils/configManager.ts b/packages/itmat-interface/src/utils/configManager.ts index 299d38bbc..35bdb9457 100644 --- a/packages/itmat-interface/src/utils/configManager.ts +++ b/packages/itmat-interface/src/utils/configManager.ts @@ -1,17 +1,17 @@ import merge from 'deepmerge'; import fs from 'fs-extra'; import path from 'path'; -import { IObjectStoreConfig, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; +import { IObjectStoreConfig, IDatabaseBaseConfig, Logger } from '@itmat-broker/itmat-commons'; import configDefaults from '../../config/config.sample.json'; import { IServerConfig } from '../server/server.js'; import chalk from 'chalk'; -import type nodemailer from 'nodemailer'; +import SMTPTransport from 'nodemailer/lib/smtp-transport'; export interface IConfiguration extends IServerConfig { appName: string; database: IDatabaseBaseConfig; objectStore: IObjectStoreConfig; - nodemailer: Parameters[0]; + nodemailer: SMTPTransport.Options; aesSecret: string; sessionsSecret: string; adminEmail: string; @@ -23,17 +23,17 @@ class ConfigurationManager { public static expand(configurationFiles: string[]): IConfiguration { let config = configDefaults; - console.log('Applied default configuration.'); + Logger.log('Applied default configuration.'); configurationFiles.forEach((configurationFile) => { try { if (fs.existsSync(configurationFile)) { const content = fs.readFileSync(configurationFile, 'utf8'); config = merge(config, JSON.parse(content)); - console.log(`Applied configuration from ${path.resolve(configurationFile)}.`); + Logger.log(`Applied configuration from ${path.resolve(configurationFile)}.`); } } catch (e) { - console.error(chalk.red('Cannot parse configuration file.')); + Logger.error(chalk.red('Cannot parse configuration file.')); } }); @@ -42,4 +42,4 @@ class ConfigurationManager { } -export default ConfigurationManager.expand((process.env.NODE_ENV === 'development' ? [path.join(__dirname.replace('dist', ''), 'config/config.json')] : []).concat(['config/config.json'])); +export default ConfigurationManager.expand((process.env['NODE_ENV'] === 'development' ? [path.join(__dirname.replace('dist', ''), 'config/config.json')] : []).concat(['config/config.json'])); diff --git a/packages/itmat-interface/src/utils/pubkeycrypto.ts b/packages/itmat-interface/src/utils/pubkeycrypto.ts index ab4ff2bbb..c32fe058a 100644 --- a/packages/itmat-interface/src/utils/pubkeycrypto.ts +++ b/packages/itmat-interface/src/utils/pubkeycrypto.ts @@ -16,7 +16,7 @@ export function rsasigner(privateKey: string, message: string, scheme = 'RSA-SHA return signature; } catch (err) { - return err; + return err instanceof Error ? err.message : String(err); } } @@ -43,7 +43,7 @@ export function reGenPkfromSk(privateKey: string, passphrase = 'idea-fast'): str return reGenPk.toString('base64'); } catch (err) { - return err; + return err instanceof Error ? err.message : String(err); } } diff --git a/packages/itmat-interface/src/utils/query.ts b/packages/itmat-interface/src/utils/query.ts index 72fe3e602..1eff6422e 100644 --- a/packages/itmat-interface/src/utils/query.ts +++ b/packages/itmat-interface/src/utils/query.ts @@ -1,4 +1,6 @@ -import { IStudy, IFieldEntry, IStandardization, IQueryEntry } from '@itmat-broker/itmat-types'; +import { IStudy, IFieldEntry, IStandardization, ICohortSelection, IQueryString, IGroupedData, StandardizationFilterOptionParameters, StandardizationFilterOptions } from '@itmat-broker/itmat-types'; +import { Filter } from 'mongodb'; +import { QueryMatcher } from '../graphql/core/permissionCore'; /* queryString: format: string # returned foramt: raw, standardized, grouped, summary @@ -10,12 +12,13 @@ import { IStudy, IFieldEntry, IStandardization, IQueryEntry } from '@itmat-broke // if has study-level permission, non versioned data will also be returned -export function buildPipeline(query: IQueryEntry['queryString'], studyId: string, permittedVersions: Array, permittedFields: IFieldEntry[], metadataFilter, isAdmin: boolean, includeUnversioned: boolean) { +export function buildPipeline(query: IQueryString, studyId: string, permittedVersions: Array, permittedFields: IFieldEntry[], metadataFilter, isAdmin: boolean, includeUnversioned: boolean) { let fieldIds: string[] = permittedFields.map(el => el.fieldId); const fields = { _id: 0, m_subjectId: 1, m_visitId: 1 }; // We send back the requested fields, by default send all fields - if (query['data_requested'] !== undefined && query['data_requested'] !== null) { - fieldIds = permittedFields.filter(el => query['data_requested'].includes(el.fieldId)).map(el => el.fieldId); + if (query.data_requested) { + const data_requested = query.data_requested; + fieldIds = permittedFields.filter(el => data_requested.includes(el.fieldId)).map(el => el.fieldId); query.data_requested.forEach((field: string) => { if (fieldIds.includes(field)) { fields[field] = 1; @@ -35,7 +38,7 @@ export function buildPipeline(query: IQueryEntry['queryString'], studyId: string // We send back the filtered fields values if (query['cohort'] !== undefined && query['cohort'] !== null) { if (query.cohort.length > 1) { - const subqueries = []; + const subqueries: Filter<{ [key: string]: unknown }>[] = []; query.cohort.forEach((subcohort) => { subqueries.push(translateCohort(subcohort)); }); @@ -92,111 +95,7 @@ export function buildPipeline(query: IQueryEntry['queryString'], studyId: string } } -// function createNewField(expression) { -// let newField = {}; -// // if any parameters === '99999', then ignore this calculation -// switch (expression.op) { -// case '*': -// newField = { -// $cond: [ -// { -// $or: [ -// { $eq: [{ $type: createNewField(expression.left) }, 'string'] }, -// { $eq: [{ $type: createNewField(expression.right) }, 'string'] } -// ] -// }, -// '99999', -// { -// $multiply: [createNewField(expression.left), createNewField(expression.right)] -// } -// ] -// }; -// break; -// case '/': -// newField = { -// $cond: [ -// { -// $or: [ -// { $eq: [{ $type: createNewField(expression.left) }, 'string'] }, -// { $eq: [{ $type: createNewField(expression.right) }, 'string'] } -// ] -// }, -// '99999', -// { -// $divide: [createNewField(expression.left), createNewField(expression.right)] -// } -// ] -// }; -// break; -// case '-': -// newField = { -// $cond: [ -// { -// $or: [ -// { $eq: [{ $type: createNewField(expression.left) }, 'string'] }, -// { $eq: [{ $type: createNewField(expression.right) }, 'string'] } -// ] -// }, -// '99999', -// { -// $subtract: [createNewField(expression.left), createNewField(expression.right)] -// } -// ] -// }; -// break; -// case '+': -// newField = { -// $cond: [ -// { -// $or: [ -// { $eq: [{ $type: createNewField(expression.left) }, 'string'] }, -// { $eq: [{ $type: createNewField(expression.right) }, 'string'] } -// ] -// }, -// '99999', -// { -// $add: [createNewField(expression.left), createNewField(expression.right)] -// } -// ] -// }; -// break; -// case '^': -// newField = { -// $cond: [ -// { $eq: [{ $type: createNewField(expression.left) }, 'string'] }, -// '99999', -// { -// $pow: [createNewField(expression.left), createNewField(expression.right)] -// } -// ] -// }; -// break; -// case 'val': -// newField = parseFloat(expression.left); -// break; -// case 'field': -// newField = { -// $cond: [ -// { $eq: [{ $type: createNewField(expression.left) }, 'string'] }, -// '99999', -// '$' + expression.left -// ] -// }; -// break; -// default: -// break; -// } - -// return newField; -// } - - -// function isEmptyObject(obj) { -// return !Object.keys(obj).length; -// } - - -function translateCohort(cohort) { +function translateCohort(cohort: ICohortSelection[]) { const match: Record = {}; cohort.forEach(function (select) { @@ -259,8 +158,8 @@ function translateCohort(cohort) { return match; } -export function translateMetadata(metadata) { - const match: Record = {}; +export function translateMetadata(metadata: QueryMatcher[]) { + const match: Filter<{ [key: string]: string | number | boolean }> = {}; metadata.forEach(function (select) { switch (select.op) { case '=': @@ -273,11 +172,11 @@ export function translateMetadata(metadata) { break; case '<': // select.parameter must be a float - match['metadata.'.concat(select.key)] = { $lt: parseFloat(select.parameter) }; + match['metadata.'.concat(select.key)] = { $lt: parseFloat(select.parameter.toString()) }; break; case '>': // select.parameter must be a float - match['metadata.'.concat(select.key)] = { $gt: parseFloat(select.parameter) }; + match['metadata.'.concat(select.key)] = { $gt: parseFloat(select.parameter.toString()) }; break; case 'exists': // We check if the field exists. This is to be used for checking if a patient @@ -292,26 +191,24 @@ export function translateMetadata(metadata) { return match; } -export function dataStandardization(study: IStudy, fields: IFieldEntry[], data, queryString, standardizations: IStandardization[] | null) { +export function dataStandardization(study: IStudy, fields: IFieldEntry[], data: IGroupedData, queryString: IQueryString, standardizations: IStandardization[] | null) { if (!queryString['format'] || queryString['format'] === 'raw') { return data; } else if (queryString['format'] === 'grouped' || queryString['format'] === 'summary') { return dataGrouping(data, queryString['format']); } else if (standardizations && queryString['format'].startsWith('standardized')) { - return standardize(study, fields, data, standardizations, queryString['new_fields'] || []); + return standardize(study, fields, data, standardizations); } return { error: 'Format not recognized.' }; } // fields are obtained from called functions, providing the valid fields -export function standardize(study: IStudy, fields: IFieldEntry[], data: unknown, standardizations: IStandardization[], newFields) { + + + +export function standardize(study: IStudy, fields: IFieldEntry[], data: IGroupedData, standardizations: IStandardization[]) { const records = {}; - const mergedFields = [...fields]; - [...newFields].forEach(el => { - const emptyArr: string[] = []; - preOrderTraversal(el, emptyArr); - mergedFields.push({ fieldId: emptyArr }); - }); + const mergedFields: IFieldEntry[] = [...fields]; const seqNumMap: Map = new Map(); for (const field of mergedFields) { let fieldDef = {}; @@ -353,8 +250,14 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: unknown, if (!rule.parameter) { continue; } - if (rule.filters !== undefined && rule.filters !== null && rule.filters[dataClip[rule.entry]] !== undefined - && rule.filters[dataClip[rule.entry]][0] === 'delete') { + let filterKey = ''; + if (typeof dataClip[rule.entry] === 'string') { + filterKey = dataClip[rule.entry] as string; // Safe after type check + } else if (typeof dataClip[rule.entry] === 'number') { + filterKey = (dataClip[rule.entry] as number).toString(); + } + if (rule.filters !== undefined && rule.filters !== null && rule.filters[filterKey] !== undefined + && rule.filters[filterKey][0] === 'delete') { continue; } switch (rule.source) { @@ -410,23 +313,28 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: unknown, // deal with filters // support two ways: convert to another value, delete this value; input should be [delete/convert, $value] if (rule.filters) { - if (Object.keys(rule.filters).includes(dataClip[rule.entry].toString())) { - if (rule.filters[dataClip[rule.entry]].length !== 2) { + let filterKey = ''; + if (typeof dataClip[rule.entry] === 'string') { + filterKey = dataClip[rule.entry] as string; // Safe after type check + } else if (typeof dataClip[rule.entry] === 'number') { + filterKey = (dataClip[rule.entry] as number).toString(); + } + if (Object.keys(rule.filters).includes(filterKey)) { + if (rule.filters[filterKey].length !== 2) { continue; } - switch (rule.filters[dataClip[rule.entry]][0]) { + switch (rule.filters[filterKey][0]) { // add patch to allow to convert to another field value case 'convert': { - const options: Record = rule.filters[dataClip[rule.entry]][1]; - if (options.source === 'value') { - dataClip[rule.entry] = options.parameter; - } else if (options.source === 'data') { - const tmpData = data[subjectId][visitId][options.parameter]; - // the replaced value can be converted again - if (options.filters && Object.keys(options.filters).includes(tmpData)) { - dataClip[rule.entry] = options.filters[tmpData]; - } else { - dataClip[rule.entry] = tmpData; + const options: StandardizationFilterOptionParameters | StandardizationFilterOptions = rule.filters[filterKey][1]; + if (typeof options !== 'object') { + break; + } + if ('source' in options) { + if (options.source === 'value') { + dataClip[rule.entry] = options.parameter; + } else if (options.source === 'data') { + dataClip[rule.entry] = data[subjectId][visitId][options.parameter]; } } break; @@ -446,9 +354,6 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: unknown, if (isSkip) { continue; } - // if (Object.keys(dataClip).includes('CMTRT') && dataClip['CMTRT'] === '') { - // console.log(field.fieldId, subjectId, visitId, console.log(data[subjectId][visitId][field.fieldId])); - // } // deal with join if (standardization.path) { let pointer = insertInObj(records, standardization.path, undefined, true, subjectId, visitId); @@ -486,8 +391,16 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: unknown, } // ignore the subjectId, join values with same visitId and fieldId; with extra info -export function dataGrouping(data: unknown, format: string) { - const joinedData: Record = {}; +export function dataGrouping(data: IGroupedData, format: string) { + const joinedData: { + [key: string]: { + [key: string]: { + totalNumOfRecords: number, + validNumOfRecords: number, + data: unknown[] + } + } + } = {}; for (const subjectId of Object.keys(data)) { for (const visitId of Object.keys(data[subjectId])) { for (const fieldId of Object.keys(data[subjectId][visitId])) { @@ -565,28 +478,3 @@ function insertInObj(obj, levels: string[], lastValue: unknown, join: boolean, s return pointer; } -// array[0] should be the name of the new field; array[-1] should be 'derived' -function preOrderTraversal(node: unknown, array: string[]) { - if (!node) { - return false; - } - if (node.name) { - // first level - array.push(node.name); - preOrderTraversal(node.value, array); - } - // node must have a value of left/right children - if (node instanceof Object) { - array.push(node.op); - if (node.op === 'field') { - array.push('$' + node.left); - array.push(''); - } else { - preOrderTraversal(node.left, array); - preOrderTraversal(node.right, array); - } - } else { - array.push(node); - } - return true; -} diff --git a/packages/itmat-interface/test/serverTests/log.test.ts b/packages/itmat-interface/test/serverTests/log.test.ts index cd0c8687e..4710712a8 100644 --- a/packages/itmat-interface/test/serverTests/log.test.ts +++ b/packages/itmat-interface/test/serverTests/log.test.ts @@ -96,8 +96,10 @@ describe('LOG API', () => { totp: otp } }); + console.log(res.body); expect(res.status).toBe(200); const findLogInMongo = await db.collections.log_collection.find({}).toArray(); + console.log(findLogInMongo); const lastLog = findLogInMongo.pop(); expect(lastLog).toBeDefined(); if (!lastLog) diff --git a/packages/itmat-interface/test/serverTests/study.test.ts b/packages/itmat-interface/test/serverTests/study.test.ts index a18d7c17f..bff96d541 100644 --- a/packages/itmat-interface/test/serverTests/study.test.ts +++ b/packages/itmat-interface/test/serverTests/study.test.ts @@ -2166,52 +2166,52 @@ if (global.hasMinio) { expect(res.body.data.getStudy).toBe(null); }); - test('Get study (user with privilege)', async () => { - { - const res = await authorisedUser.post('/graphql').send({ - query: print(GET_STUDY), - variables: { studyId: createdStudy.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - expect(res.body.data.getStudy).toEqual(null); - } - { - const res = await authorisedUser.post('/graphql').send({ - query: print(GET_PROJECT), - variables: { projectId: createdProject.id, admin: false } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.getProject).toEqual({ - id: createdProject.id, - studyId: createdStudy.id, - name: createdProject.name, - jobs: [], - iCanEdit: true, - fields: [], - files: [], - dataVersion: { - contentId: 'mockContentId', - id: 'mockDataVersionId', - tag: null, - updateDate: '5000000', - version: '0.0.1' - }, - summary: { - subjects: [ - 'mock_patient1', - 'mock_patient2' - ], - visits: [ - 'mockvisitId' - ], - standardizationTypes: [] - } - }); - } - }); + // test('Get study (user with privilege)', async () => { + // { + // const res = await authorisedUser.post('/graphql').send({ + // query: print(GET_STUDY), + // variables: { studyId: createdStudy.id } + // }); + // expect(res.status).toBe(200); + // expect(res.body.errors).toHaveLength(1); + // expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); + // expect(res.body.data.getStudy).toEqual(null); + // } + // { + // const res = await authorisedUser.post('/graphql').send({ + // query: print(GET_PROJECT), + // variables: { projectId: createdProject.id, admin: false } + // }); + // expect(res.status).toBe(200); + // expect(res.body.errors).toBeUndefined(); + // expect(res.body.data.getProject).toEqual({ + // id: createdProject.id, + // studyId: createdStudy.id, + // name: createdProject.name, + // jobs: [], + // iCanEdit: true, + // fields: [], + // files: [], + // dataVersion: { + // contentId: 'mockContentId', + // id: 'mockDataVersionId', + // tag: null, + // updateDate: '5000000', + // version: '0.0.1' + // }, + // summary: { + // subjects: [ + // 'mock_patient1', + // 'mock_patient2' + // ], + // visits: [ + // 'mockvisitId' + // ], + // standardizationTypes: [] + // } + // }); + // } + // }); test('Get study fields (admin)', async () => { const res = await admin.post('/graphql').send({ @@ -3608,6 +3608,7 @@ if (global.hasMinio) { deviceId: 'MMM7N3G6G', startDate: '1590966000000', endDate: '1593730800000', + participantId: 'I7N3G6G', postFix: 'txt' } } @@ -3639,6 +3640,7 @@ if (global.hasMinio) { deviceId: 'MMM7N3G6G', startDate: '1590966000000', endDate: '1593730800000', + participantId: 'I7N3G6G', postFix: 'test' } } @@ -3951,114 +3953,6 @@ if (global.hasMinio) { expect(Object.keys(getRes.body.data.getDataRecords.data)).toHaveLength(2); }); - // test('Get data records (user with project privilege)', async () => { - // await authorisedUser.post('/graphql').send({ - // query: print(UPLOAD_DATA_IN_ARRAY), - // variables: { studyId: createdStudy.id, data: multipleRecords } - // }); - // await admin.post('/graphql').send({ - // query: print(CREATE_NEW_DATA_VERSION), - // variables: { studyId: createdStudy.id, dataVersion: '1', tag: 'testTag' } - // }); - // await authorisedUser.post('/graphql').send({ - // query: print(UPLOAD_DATA_IN_ARRAY), - // variables: { - // studyId: createdStudy.id, - // data: [ - // { - // fieldId: '31', - // value: '10', - // subjectId: 'I7N3G6G', - // visitId: '3' - // } - // ] - // } - // }); - // const getRes = await authorisedProjectUser.post('/graphql').send({ - // query: print(GET_DATA_RECORDS), - // variables: { - // studyId: createdStudy.id, - // projectId: createdProject.id, - // queryString: { - // data_requested: ['31', '32'], - // format: 'raw', - // cohort: [[]], - // new_fields: [] - // } - // } - // }); - // expect(getRes.status).toBe(200); - // expect(getRes.body.errors).toBeUndefined(); - // expect(Object.keys(getRes.body.data.getDataRecords.data)).toHaveLength(2); - // }); - - // test('Get data records with meta data filters', async () => { - // const study = await db.collections.studies_collection.findOne({ id: createdStudy.id }); - // await db.collections.field_dictionary_collection.updateMany({ fieldId: { $in: ['31', '32'] } }, { - // $set: { - // [`metadata.role:${createdRole_study_accessData.id}`]: true - // } - // }); - // await db.collections.data_collection.insertMany([{ - // m_studyId: createdStudy.id, - // m_fieldId: '31', - // m_subjectId: 'I7N3G6G', - // m_versionId: study.dataVersions[study?.currentDataVersion].id, - // m_visitId: '1', - // id: '0001', - // metadata: { - // 'uploader:org': createdUserAuthorisedProfile.organisation, - // 'uploader:user': createdUserAuthorisedProfile.id, - // 'uploader:wp': 'wp5.1', - // [`role:${createdRole_study_accessData.id}`]: true - // }, - // uploadedAt: 10000000, - // value: '1' - // }, { - // m_studyId: createdStudy.id, - // m_fieldId: '32', - // m_subjectId: 'I7N3G6G', - // m_versionId: study.dataVersions[study?.currentDataVersion].id, - // m_visitId: '1', - // id: '0002', - // metadata: { - // 'uploader:org': createdUserAuthorisedProject.organisation, - // 'uploader:user': createdUserAuthorisedProject.id, - // 'uploader:wp': 'wp5.2', - // [`role:${createdRole_study_accessData.id}`]: true - // }, - // uploadedAt: 10000000, - // value: '2' - // }]); - // const resMetadataOrg = await authorisedUser.post('/graphql').send({ - // query: print(GET_DATA_RECORDS), - // variables: { - // studyId: createdStudy.id, - // queryString: { - // data_requested: ['31', '32'], - // format: 'raw', - // cohort: [[]], - // new_fields: [], - // metadata: [ - // [ - // { - // key: 'uploader:wp', - // op: '=', - // parameter: 'wp5.1' - // } - // ] - // ] - // } - // } - // }); - // expect(resMetadataOrg.status).toBe(200); - // expect(resMetadataOrg.body.errors).toBeUndefined(); - // expect(resMetadataOrg.body.data.getDataRecords.data).toEqual({ - // I7N3G6G: { 1: { 31: '1', m_subjectId: 'I7N3G6G', m_visitId: '1' } } - // }); - // await db.collections.studies_collection.findOneAndUpdate({ id: createdStudy.id }, { $set: { ontologyTrees: [] } }); - // }); - test('Create an ontology tree (authorised user)', async () => { const res = await authorisedUser.post('/graphql').send({ query: print(CREATE_ONTOLOGY_TREE), diff --git a/packages/itmat-job-executor/src/curation/CSVCurator.ts b/packages/itmat-job-executor/src/curation/CSVCurator.ts deleted file mode 100644 index ffde06f12..000000000 --- a/packages/itmat-job-executor/src/curation/CSVCurator.ts +++ /dev/null @@ -1,330 +0,0 @@ -import * as csvparse from 'csv-parse'; -import { Collection } from 'mongodb'; -import { Writable, Readable } from 'stream'; -import { IFieldDescriptionObject, IDataEntry, IJobEntry, IFieldEntry } from '@itmat-broker/itmat-types'; - -/* update should be audit trailed */ -/* eid is not checked whether it is unique in the file: this is assumed to be enforced by database */ -export class CSVCurator { - /** - * things to check: - * - duplicate subject id - * - duplicate field - * - datatype mismatch - * - uneven column number - * - parse / encoding error - */ - private _header: (IFieldDescriptionObject | null)[]; - private _numOfSubj: number; - private _errored: boolean; - private _errors: string[]; - private _subjectIdIndex: number; - private _visitIdIndex: number; - - constructor( - private readonly dataCollection: Collection, - private readonly incomingWebStream: Readable, - private readonly parseOptions: csvparse.Options = { delimiter: ',', quote: '"', relax_column_count: true, skip_records_with_error: true }, - private readonly job: IJobEntry, - private readonly fieldsList: IFieldEntry[] - ) { - this._header = [null]; // the first element is subject id - this._numOfSubj = 0; - this._errored = false; - this._errors = []; - this._subjectIdIndex = 0; - this._visitIdIndex = 0; - } - - /* return list of errors. [] if no error */ - public async processIncomingStreamAndUploadToMongo(): Promise { - return new Promise((resolve) => { - let lineNum = 0; - let isHeader = true; - const subjectString: string[] = []; - let bulkInsert = this.dataCollection.initializeUnorderedBulkOp(); - const csvparseStream = csvparse.parse(this.parseOptions); - const parseStream = this.incomingWebStream.pipe(csvparseStream); // piping the incoming stream to a parser stream - - csvparseStream.on('skip', (error) => { - lineNum++; - this._errored = true; - this._errors.push(error.toString()); - }); - - const uploadWriteStream: NodeJS.WritableStream = new Writable({ - objectMode: true, - write: (line, _, next) => { - (async () => { - if (isHeader) { - lineNum++; - const { error, parsedHeader, subjectIdIndex, visitIdIndex } = processHeader(line, this.fieldsList); - if (error) { - this._errored = true; - this._errors.push(...error); - } - this._header = parsedHeader; - this._subjectIdIndex = subjectIdIndex; - this._visitIdIndex = visitIdIndex; - isHeader = false; - next(); - } else { - const currentLineNum = ++lineNum; - subjectString.push(line[this._subjectIdIndex]); - const { error, dataEntry } = processDataRow({ - subjectIdIndex: this._subjectIdIndex, - visitIdIndex: this._visitIdIndex, - lineNum: currentLineNum, - row: line, - parsedHeader: this._header, - job: this.job - }); - - if (error) { - this._errored = true; - this._errors.push(...error); - } - - if (this._errored) { - next(); - return; - } - - // // TO_DO { - // curator-defined constraints for values - // } - const matchObj = { - m_subjectId: dataEntry.m_subjectId, - m_visitId: dataEntry.m_visitId, - m_versionId: dataEntry.m_versionId, - m_studyId: dataEntry.m_studyId - }; - bulkInsert.find(matchObj).upsert().updateOne({ $set: dataEntry }); - - this._numOfSubj++; - if (this._numOfSubj > 999) { - this._numOfSubj = 0; - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err); - } - }); - bulkInsert = this.dataCollection.initializeUnorderedBulkOp(); - } - next(); - } - })().catch(() => { return; }); - } - }); - - uploadWriteStream.on('finish', () => { - (async () => { - if (!this._errored) { - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err); - } - }); - } - - resolve(this._errors); - })().catch(() => { return; }); - }); - - parseStream.pipe(uploadWriteStream); - }); - } -} - - -export function processHeader(header: string[], fieldsList: IFieldEntry[]) { - /* pure function */ - /* headerline is ['eid', 1@0.0, 2@0.1:c] */ - /* returns a parsed object array and error (undefined if no error) */ - - // const fieldstrings: string[] = []; - const error: string[] = []; - const parsedHeader = Array(header.length); - let colNum = 0; - const fields: string[] = []; - const validatedFieldNames = fieldsList.map(el => el.fieldName); - if (!header.includes('SubjectID') || !header.includes('VisitID')) { - error.push('SubjectID or VisitID not found.'); - } - for (const each of header) { - if (colNum === 0) { - colNum++; - continue; - } - if (each === null || each === undefined || each === '') { - error.push(`Line 1, Column ${colNum}: Field Name should not be empty.`); - colNum++; - parsedHeader.push(null); - } else { - if (fields.includes(each)) { - // if duplicates happens, we only extract data from the first one - error.push(`Line 1 column ${colNum + 1}: Duplicate field.`); - parsedHeader.push({ fieldName: each, dataType: 'dul', fieldId: undefined }); - colNum++; - continue; - } - fields.push(each); - if (validatedFieldNames.includes(each)) { - parsedHeader.push(fieldsList.filter(el => el.fieldName === each)[0]); - } else { - error.push(`Line 1 column ${colNum + 1}: Unknown field.`); - parsedHeader.push({ fieldName: each, dataType: 'unk', fieldId: undefined }); - } - } - colNum++; - } - - const filteredParsedHeader = parsedHeader.filter(el => el !== undefined); - const subjectIdIndex = filteredParsedHeader.findIndex(el => el.fieldName === 'SubjectID') + 1; // ID is the first - const visitIdIndex = filteredParsedHeader.findIndex(el => el.fieldName === 'VisitID') + 1; - return ({ parsedHeader: filteredParsedHeader, error: error.length === 0 ? undefined : error, subjectIdIndex, visitIdIndex }); -} - -export function processDataRow({ subjectIdIndex, visitIdIndex, lineNum, row, parsedHeader, job }: { subjectIdIndex: number, visitIdIndex: number, lineNum: number, row: string[], parsedHeader: (IFieldDescriptionObject | null)[], job: IJobEntry }) { - /* pure function */ - const error: string[] = []; - let colIndex = 0; - const dataEntry: Partial = { - m_studyId: job.studyId, - m_versionId: null, - deleted: null - }; - if (row.length !== (parsedHeader.filter(el => el !== undefined).length + 1)) { - error.push(`Line ${lineNum}: Uneven field Number; expected ${parsedHeader.length + 1} fields but got ${row.length}`); - return ({ error, dataEntry }); - } - for (const each of row) { - if (colIndex === 0) { - // first column is ID, no actual meaning - colIndex++; - continue; - } - - /* skip for missing data */ - if (each === '') { - colIndex++; - continue; - } - - if (parsedHeader[colIndex] === null) { - colIndex++; - continue; - } - - if (colIndex === subjectIdIndex) { - dataEntry.m_subjectId = each.replace('-', ''); - colIndex++; - continue; - } - - if (colIndex === visitIdIndex) { - dataEntry.m_visitId = each; - colIndex++; - continue; - } - const { fieldId, dataType, possibleValues } = parsedHeader[colIndex - 1] ?? {}; - if (fieldId === undefined) { - colIndex++; - continue; - } - /* adding value to dataEntry */ - let value; - try { - if (each.toString() === '99999') { - value = '99999'; - } else { - switch (dataType) { - case 'cat': {// categorical - const code = parseInt(each, 10).toString(); - if (!possibleValues.map((el) => el.code).includes(code)) { - error.push(`Line ${lineNum} column ${colIndex + 1}: Cannot parse '${each}' as categorical, value is illegal.`); - colIndex++; - continue; - } - value = code; - break; - } - case 'dec': {// decimal - if (!/^\d+(.\d+)?$/.test(each)) { - error.push(`Line ${lineNum} column ${colIndex + 1}: Cannot parse '${each}' as decimal.`); - colIndex++; - continue; - } - value = parseFloat(each); - break; - } - case 'int': {// integer - if (!/^-?\d+$/.test(each)) { - error.push(`Line ${lineNum} column ${colIndex + 1}: Cannot parse '${each}' as integer.`); - colIndex++; - continue; - } - value = parseInt(each, 10); - break; - } - case 'bool': {// boolean - if (each.toLowerCase() === 'true' || each.toLowerCase() === 'false') { - value = each.toLowerCase() === 'true'; - } else { - error.push(`Line ${lineNum} column ${colIndex + 1}: value for boolean type must be 'true' or 'false'.`); - colIndex++; - continue; - } - break; - } - case 'str': { - value = each.toString(); - break; - } - case 'date': { - const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; - if (!each.match(matcher)) { - error.push(`Line ${lineNum} column ${colIndex + 1}: value for date type must be in ISO format.`); - colIndex++; - continue; - } - value = each.toString(); - break; - } - case 'json': { - value = each; - break; - } - case 'file': { - value = each.toString(); - break; - } - default: { - error.push(`Line ${lineNum} column ${colIndex + 1}: Invalid data Type.`); - break; - } - } - } - } catch (e) { - error.push(e.toString()); - continue; - } - - if (dataEntry[fieldId] === undefined) { - dataEntry[fieldId] = null; - } - - dataEntry[fieldId] = value; - colIndex++; - } - - if (dataEntry.m_subjectId === undefined) { - error.push('No subject id provided.'); - } - if (dataEntry.m_visitId === undefined) { - error.push('No visit id provided.'); - } - return ({ error: error.length === 0 ? undefined : error, dataEntry }); -} diff --git a/packages/itmat-job-executor/src/curation/FieldCurator.ts b/packages/itmat-job-executor/src/curation/FieldCurator.ts deleted file mode 100644 index 462514f2a..000000000 --- a/packages/itmat-job-executor/src/curation/FieldCurator.ts +++ /dev/null @@ -1,214 +0,0 @@ -import * as csvparse from 'csv-parse'; -import { Collection } from 'mongodb'; -import { Writable, Readable } from 'stream'; -import { v4 as uuid } from 'uuid'; -import { IJobEntryForFieldCuration, IFieldEntry, enumValueType } from '@itmat-broker/itmat-types'; -import { CodeRecords } from '../jobHandlers/jobHandlerInterface'; - -/* update should be audit trailed */ -/* eid is not checked whether it is unique in the file: this is assumed to be enforced by database */ - -const CORRECT_NUMBER_OF_COLUMN = 33; - -export class FieldCurator { - private _errored: boolean; - private _errors: string[]; - private _numOfFields: number; - - constructor( - private readonly fieldCollection: Collection, - private readonly incomingWebStream: Readable, - private readonly parseOptions: csvparse.Options = { delimiter: ',', quote: '"', relax_column_count: true, skip_records_with_error: true }, - private readonly job: IJobEntryForFieldCuration, - private readonly codesObj: CodeRecords - ) { - this._errored = false; - this._errors = []; - this._numOfFields = 0; - } - - /* return list of errors. [] if no error */ - public async processIncomingStreamAndUploadToMongo(): Promise { - /** - * ID Database TableName TableID SequentialOrder QuestionNumber Fieldname Label Label_DE Label_NL Label_IT Label_ES Label_PL - * Label_F EligibleAnswer IneligibleAnswer Validation DataType ControlType SystemGenerated ValueList Length DisplayFormat Nullable Required - * Mandatory CollectIf NotMapped DefaultValue RegEx RegExErrorMsg ShowOnIndexView Comments - */ - return new Promise((resolve) => { - const fieldIdString: string[] = []; - let lineNum = 0; - let isHeader = true; - let bulkInsert = this.fieldCollection.initializeUnorderedBulkOp(); - const csvparseStream = csvparse.parse(this.parseOptions); - const parseStream = this.incomingWebStream.pipe(csvparseStream); // piping the incoming stream to a parser stream - - csvparseStream.on('skip', (error) => { - lineNum++; - this._errored = true; - this._errors.push(error.toString()); - }); - - const uploadWriteStream: NodeJS.WritableStream = new Writable({ - objectMode: true, - write: (line, _, next) => { - (async () => { - if (isHeader) { - if (line.length !== CORRECT_NUMBER_OF_COLUMN) { - this._errored = true; - this._errors.push(`Line ${lineNum}: expected ${CORRECT_NUMBER_OF_COLUMN} fields but got ${line.length}`); - } - isHeader = false; - lineNum++; - next(); - } else { - const currentLineNum = ++lineNum; - fieldIdString.push(line[0]); - const { error, dataEntry } = processFieldRow({ - lineNum: currentLineNum, - row: line, - job: this.job, - codes: this.codesObj - }); - - if (error) { - this._errored = true; - this._errors.push(...error); - } - - if (this._errored) { - next(); - return; - } - - // // TO_DO { - // curator-defined constraints for values - // } - - bulkInsert.insert(dataEntry); - this._numOfFields++; - if (this._numOfFields > 999) { - this._numOfFields = 0; - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err); - } - }); - bulkInsert = this.fieldCollection.initializeUnorderedBulkOp(); - } - next(); - } - })().catch(() => { return; }); - } - }); - - uploadWriteStream.on('finish', () => { - (async () => { - /* check for subject Id duplicate */ - const set = new Set(fieldIdString); - if (set.size !== fieldIdString.length) { - this._errors.push('Data Error: There is duplicate field id.'); - this._errored = true; - } - - if (!this._errored) { - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err); - } - }); - } - - resolve(this._errors); - })().catch(() => { return; }); - }); - - parseStream.pipe(uploadWriteStream); - }); - } -} - -export function processFieldRow({ lineNum, row, job, codes }: { lineNum: number, row: string[], job: IJobEntryForFieldCuration, codes: CodeRecords }): { error?: string[], dataEntry: IFieldEntry } { - /* pure function */ - const error: string[] = []; - const dataEntry_nouse: Partial = {}; - const THESE_COL_CANT_BE_EMPTY: Record = { - 0: 'FieldID', - 6: 'Field Name', - 17: 'Data Type' - }; - if (row.length !== CORRECT_NUMBER_OF_COLUMN) { - error.push(`Line ${lineNum}: Uneven field Number; expected ${CORRECT_NUMBER_OF_COLUMN} fields but got ${row.length}.`); - return ({ error, dataEntry: dataEntry_nouse }); - } - - for (let i = 0; i < row.length; i++) { - if (THESE_COL_CANT_BE_EMPTY[i] !== undefined && row[i] === '') { - error.push(`Line ${lineNum} column ${i + 1}: ${THESE_COL_CANT_BE_EMPTY[i]} cannot be empty.`); - continue; - } - } - - /* these fields has to be numbers */ - // fieldId should not be '' - if (!/^\d+$/.test(row[0]) && row[0]) { - error.push(`Line ${lineNum} column 1: Cannot parse field ID as number.`); - } - if (!/^\d+$/.test(row[21]) && row[21] !== '') { - error.push(`Line ${lineNum} column 22: Cannot parse length of characters as number.`); - } - - /* check the value type */ - const dataTypeNames: Record = { - int: enumValueType.INTEGER, - decimal: enumValueType.DECIMAL, - nvarchar: enumValueType.STRING, - varchar: enumValueType.STRING, - datetime: enumValueType.DATETIME, - bit: enumValueType.BOOLEAN, - json: enumValueType.JSON, - file: enumValueType.FILE, - categorical: enumValueType.CATEGORICAL - }; - - // datatypes: if fieldid exist in codes, then convert datatype to categorical - let dataType; - let possibleValues = []; - if (codes[row[0].toString()] !== undefined) { - dataType = dataTypeNames.categorical; - possibleValues = codes[row[0].toString()]; - } else { - dataType = dataTypeNames[Object.keys(dataTypeNames).filter(el => row[17].toUpperCase().indexOf(el.toUpperCase()) >= 0)[0]]; - } - if (!(Object.keys(dataTypeNames).some(x => row[17].toUpperCase().indexOf(x.toUpperCase()) >= 0))) { - error.push(`Line ${lineNum} column 18: Invalid value type "${row[2]}": use "int" for integers, "decimal()" for decimals, "nvarchar/varchar" for characters/strings, "datetime" for date time, "bit" for bit.`); - } - - /* if valueType = C, then possibleValues cant be empty */ - // if (row[2] === 'c' && row[3] === '') { - // error.push(`Line ${lineNum} column 4: "Possible values" cannot be empty if value type is categorical.`); - // } - - if (error.length !== 0) { - return ({ error, dataEntry: dataEntry_nouse }); - } - - - const dataEntry: IFieldEntry = { - id: uuid(), - studyId: job.studyId, - fieldId: row[0], - fieldName: row[6], - tableName: row[2], - dataType: dataType, - possibleValues: possibleValues, - unit: '', - comments: row[32], - dateAdded: (new Date()).toISOString(), - dateDeleted: null, - dataVersion: null - }; - - return ({ error: undefined, dataEntry }); -} diff --git a/packages/itmat-job-executor/src/curation/JSONCurator.ts b/packages/itmat-job-executor/src/curation/JSONCurator.ts deleted file mode 100644 index 19cfbb724..000000000 --- a/packages/itmat-job-executor/src/curation/JSONCurator.ts +++ /dev/null @@ -1,316 +0,0 @@ -import { Collection } from 'mongodb'; -import { Writable, Readable } from 'stream'; -import JSONStream from 'JSONStream'; -import { IFieldDescriptionObject, IDataEntry, IJobEntry, IFieldEntry } from '@itmat-broker/itmat-types'; - -/* update should be audit trailed */ -/* eid is not checked whether it is unique in the file: this is assumed to be enforced by database */ -export class JSONCurator { - /** - * things to check: - * - duplicate subject id - * - duplicate field - * - datatype mismatch - * - uneven column number - * - parse / encoding error - */ - private _header: (IFieldDescriptionObject | null)[]; - private _numOfSubj: number; - private _errored: boolean; - private _errors: string[]; - private _subjectIdIndex: number; - private _visitIdIndex: number; - - constructor( - private readonly dataCollection: Collection, - private readonly incomingWebStream: Readable, - private readonly job: IJobEntry, - private readonly fieldsList: IFieldEntry[] - ) { - this._header = [null]; // the first element is subject id - this._numOfSubj = 0; - this._errored = false; - this._errors = []; - this._subjectIdIndex = 0; - this._visitIdIndex = 0; - } - - /* return list of errors. [] if no error */ - public async processIncomingStreamAndUploadToMongo(): Promise { - return new Promise((resolve) => { - let isHeader = true; - let objectNum = 0; - const subjectString: string[] = []; - let bulkInsert = this.dataCollection.initializeUnorderedBulkOp(); - const jsonstream = JSONStream.parse([{}]); - const uploadWriteStream: NodeJS.WritableStream = new Writable({ - objectMode: true, - write: (chunk, _, callback) => { - (async () => { - objectNum++; - if (isHeader) { - objectNum++; - const { error, parsedHeader, subjectIdIndex, visitIdIndex } = processJSONHeader(chunk, this.fieldsList); - if (error) { - this._errored = true; - this._errors.push(...error); - } - this._header = parsedHeader; - this._subjectIdIndex = subjectIdIndex; - this._visitIdIndex = visitIdIndex; - isHeader = false; - - } else { - subjectString.push(chunk[0]); - const { error, dataEntry } = processEachSubject({ - subjectIdIndex: this._subjectIdIndex, - visitIdIndex: this._visitIdIndex, - objectNum: objectNum, - subject: chunk, - parsedHeader: this._header, - job: this.job - }); - if (error) { - this._errored = true; - this._errors.push(...error); - } - - if (this._errored) { - callback(); - return; - } - const matchObj = { - m_subjectId: dataEntry.m_subjectId, - m_visitId: dataEntry.m_visitId, - m_versionId: dataEntry.m_versionId, - m_studyId: dataEntry.m_studyId - }; - bulkInsert.find(matchObj).upsert().updateOne({ $set: dataEntry }); - this._numOfSubj++; - - } - if (this._numOfSubj > 999) { - this._numOfSubj = 0; - await bulkInsert.execute().catch((err) => { - if (err) { - //TODO Handle error recording - console.error(err, err?.getWriteErrors?.()); - return; - } - }); - bulkInsert = this.dataCollection.initializeUnorderedBulkOp(); - } - callback(); - })().catch(() => { return; }); - } - }); - - uploadWriteStream.on('finish', () => { - (async () => { - if (!this._errored) { - await bulkInsert.execute().catch((err) => { - if (err) { - //TOTO Handle error recording - console.error(err); - return; - } - }); - } - resolve(this._errors); - })().catch(() => { return; }); - }); - this.incomingWebStream.pipe(jsonstream); - jsonstream.pipe(uploadWriteStream); - }); - } -} - - -export function processJSONHeader(header: string[], fieldsList: IFieldEntry[]) { - /* pure function */ - /* headerObject is ['eid', 1@0.0, 2@0.1:c] */ - /* returns a parsed object array and error (undefined if no error) */ - - // const fieldstrings: string[] = []; - const error: string[] = []; - const parsedHeader = Array(header.length); - let colNum = 0; - const fields: string[] = []; - const validatedFieldNames = fieldsList.map(el => el.fieldName); - if (!header.includes('SubjectID') || !header.includes('VisitID')) { - error.push('SubjectID or VisitID not found.'); - } - for (const each of header) { - if (colNum === 0) { - colNum++; - continue; - } - if (each === null || each === undefined || each === '') { - error.push(`Object 1, Column ${colNum}: Field Name should not be empty.`); - colNum++; - parsedHeader.push(null); - } else { - if (fields.includes(each)) { - // if duplicates happens, we only extract data from the first one - error.push(`Object 1 column ${colNum + 1}: Duplicate field.`); - parsedHeader.push({ fieldName: each, dataType: 'dul', fieldId: undefined }); - colNum++; - continue; - } - fields.push(each); - if (validatedFieldNames.includes(each)) { - parsedHeader.push(fieldsList.filter(el => el.fieldName === each)[0]); - } else { - error.push(`Object 1 column ${colNum + 1}: Unknown field.`); - parsedHeader.push({ fieldName: each, dataType: 'unk', fieldId: undefined }); - } - } - colNum++; - } - - const filteredParsedHeader = parsedHeader.filter(el => el !== undefined); - const subjectIdIndex = filteredParsedHeader.findIndex(el => el.fieldName === 'SubjectID') + 1; // ID is the first - const visitIdIndex = filteredParsedHeader.findIndex(el => el.fieldName === 'VisitID') + 1; - return ({ parsedHeader: filteredParsedHeader, error: error.length === 0 ? undefined : error, subjectIdIndex, visitIdIndex }); -} - -export function processEachSubject({ subjectIdIndex, visitIdIndex, objectNum, subject, parsedHeader, job }: { subjectIdIndex: number, visitIdIndex: number, objectNum: number, subject: string[], parsedHeader: IFieldDescriptionObject[], job: IJobEntry }): { error?: string[], dataEntry: Partial } { - /* pure function */ - const error: string[] = []; - let colIndex = 0; - const dataEntry: Partial = { - m_studyId: job.studyId, - deleted: null - }; - if (subject.length !== (parsedHeader.filter(el => el !== undefined).length + 1)) { - error.push(`Object ${objectNum}: Uneven field Number; expected ${parsedHeader.length + 1} fields but got ${subject.length}`); - return ({ error, dataEntry }); - } - for (const each of subject) { - if (colIndex === 0) { - // first column is ID, no actual meaning - colIndex++; - continue; - } - - /* skip for missing data */ - if (each === '') { - colIndex++; - continue; - } - - if (parsedHeader[colIndex] === null) { - colIndex++; - continue; - } - - if (colIndex === subjectIdIndex) { - dataEntry.m_subjectId = each.replace('-', ''); - colIndex++; - continue; - } - - if (colIndex === visitIdIndex) { - dataEntry.m_visitId = each; - colIndex++; - continue; - } - const { fieldId, dataType, possibleValues } = parsedHeader[colIndex - 1]; - if (fieldId === undefined) { - colIndex++; - continue; - } - /* adding value to dataEntry */ - let value; - try { - if (each.toString() === '99999') { - value = '99999'; - } else { - switch (dataType) { - case 'cat': {// categorical - const code = parseInt(each, 10).toString(); - if (!possibleValues.map((el) => el.code).includes(code)) { - error.push(`Object ${objectNum} column ${colIndex + 1}: Cannot parse '${each}' as categorical, value is illegal.`); - colIndex++; - continue; - } - value = code; - break; - } - case 'dec': {// decimal - if (!/^\d+(.\d+)?$/.test(each)) { - error.push(`Object ${objectNum} column ${colIndex + 1}: Cannot parse '${each}' as decimal.`); - colIndex++; - continue; - } - value = parseFloat(each); - break; - } - case 'int': {// integer - if (!/^-?\d+$/.test(each)) { - error.push(`Object ${objectNum} column ${colIndex + 1}: Cannot parse '${each}' as integer.`); - colIndex++; - continue; - } - value = parseInt(each, 10); - break; - } - case 'bool': {// boolean - if (each.toLowerCase() === 'true' || each.toLowerCase() === 'false') { - value = each.toLowerCase() === 'true'; - } else { - error.push(`Object ${objectNum} column ${colIndex + 1}: value for boolean type must be 'true' or 'false'.`); - colIndex++; - continue; - } - break; - } - case 'str': { - value = each.toString(); - break; - } - case 'date': { - const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; - if (!each.match(matcher)) { - error.push(`Object ${objectNum} column ${colIndex + 1}: value for date type must be in ISO format.`); - colIndex++; - continue; - } - value = each.toString(); - break; - } - case 'json': { - value = each; - break; - } - case 'file': { - value = each.toString(); - break; - } - default: { - error.push(`Object ${objectNum} column ${colIndex + 1}: Invalid data Type.`); - break; - } - } - } - } catch (e) { - error.push(e.toString()); - continue; - } - - if (dataEntry[fieldId] === undefined) { - dataEntry[fieldId] = null; - } - - dataEntry[fieldId] = value; - colIndex++; - } - - if (dataEntry.m_subjectId === undefined) { - error.push('No subject id provided.'); - } - if (dataEntry.m_visitId === undefined) { - error.push('No visit id provided.'); - } - return ({ error: error.length === 0 ? undefined : error, dataEntry }); -} diff --git a/packages/itmat-job-executor/src/index.ts b/packages/itmat-job-executor/src/index.ts index 2e223593d..b1ac26b47 100644 --- a/packages/itmat-job-executor/src/index.ts +++ b/packages/itmat-job-executor/src/index.ts @@ -61,7 +61,7 @@ function serverSpinning() { serverSpinning(); // eslint-disable-next-line @typescript-eslint/no-explicit-any -declare const module; +declare const module: any; if (module.hot) { module.hot.accept('./index', serverSpinning); module.hot.accept('./jobExecutorRunner', serverSpinning); diff --git a/packages/itmat-job-executor/src/jobExecutorRunner.ts b/packages/itmat-job-executor/src/jobExecutorRunner.ts index 9379aca06..e69d40c4b 100644 --- a/packages/itmat-job-executor/src/jobExecutorRunner.ts +++ b/packages/itmat-job-executor/src/jobExecutorRunner.ts @@ -7,9 +7,6 @@ import { Runner } from './server/server'; import { JobPoller } from '@itmat-broker/itmat-commons'; import { JobDispatcher } from './jobDispatch/dispatcher'; import { MongoClient } from 'mongodb'; -import { UKB_CSV_UPLOAD_Handler } from './jobHandlers/UKB_CSV_UPLOAD_Handler'; -import { UKB_JSON_UPLOAD_Handler } from './jobHandlers/UKB_JSON_UPLOAD_Handler'; -import { UKB_FIELD_INFO_UPLOAD_Handler } from './jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler'; import { QueryHandler } from './query/queryHandler'; class ITMATJobExecutorRunner extends Runner { @@ -24,6 +21,7 @@ class ITMATJobExecutorRunner extends Runner { * In case of error, an ErrorStack is rejected. */ public async start(): Promise { + // eslint-disable-next-line @typescript-eslint/no-this-alias const _this = this; return new Promise((resolve, reject) => { @@ -37,11 +35,7 @@ class ITMATJobExecutorRunner extends Runner { const jobDispatcher = new JobDispatcher(); /* TO_DO: can we figure out the files at runtime and import at runtime */ - jobDispatcher.registerJobType('DATA_UPLOAD_CSV', UKB_CSV_UPLOAD_Handler.prototype.getInstance.bind(UKB_CSV_UPLOAD_Handler)); - jobDispatcher.registerJobType('DATA_UPLOAD_JSON', UKB_JSON_UPLOAD_Handler.prototype.getInstance.bind(UKB_JSON_UPLOAD_Handler)); - jobDispatcher.registerJobType('FIELD_INFO_UPLOAD', UKB_FIELD_INFO_UPLOAD_Handler.prototype.getInstance.bind(UKB_FIELD_INFO_UPLOAD_Handler)); jobDispatcher.registerJobType('QUERY_EXECUTION', QueryHandler.prototype.getInstance.bind(QueryHandler)); - // jobDispatcher.registerJobType('UKB_IMAGE_UPLOAD', UKB_IMAGE_UPLOAD_Handler.prototype.getInstance); const poller = new JobPoller({ identity: uuid(), diff --git a/packages/itmat-job-executor/src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts b/packages/itmat-job-executor/src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts deleted file mode 100644 index d53b52549..000000000 --- a/packages/itmat-job-executor/src/jobHandlers/UKB_CSV_UPLOAD_Handler.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { IJobEntry } from '@itmat-broker/itmat-types'; -import { db } from '../database/database'; -import { objStore } from '../objStore/objStore'; -import { JobHandler } from './jobHandlerInterface'; -import { CSVCurator } from '../curation/CSVCurator'; -import { Readable } from 'stream'; - -export class UKB_CSV_UPLOAD_Handler extends JobHandler { - private _instance?: UKB_CSV_UPLOAD_Handler; - // private ukbCurator: UKBCurator; - - public async getInstance() { - if (!this._instance) { - this._instance = new UKB_CSV_UPLOAD_Handler(); - } - return this._instance; - } - - public async execute(job: IJobEntry) { - // check if study version exists: checked by resolvers - // check if fieldTreeId version exists: checked by resolvers - - - const errorsList: Array<{ - fileId: string; - fileName?: string; - error: string | string[]; - }> = []; - // get fieldid info from database - const fieldsList = await db.collections.field_dictionary_collection.find({ studyId: job.studyId }).toArray(); - - for (const fileId of job.receivedFiles) { - try { - const file = await db.collections.files_collection.findOne({ id: fileId, deleted: null }); - if (!file) { - errorsList.push({ fileId: fileId, error: 'file does not exist' }); - continue; - } - const components = file.fileName.split('.')[0].split('_'); - components.shift(); - const tableName = components.join('_'); - const filteredFieldsList = fieldsList.filter(el => el.tableName === tableName); - const fileStream: Readable = await objStore.downloadFile(job.studyId, file.uri); - const csvcurator = new CSVCurator( - db.collections.data_collection, - fileStream, - undefined, - job, - filteredFieldsList - ); - const errors = await csvcurator.processIncomingStreamAndUploadToMongo(); - if (errors.length !== 0) { - errorsList.push({ fileId: file.id, fileName: file.fileName, error: errors }); - await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'ERROR', error: errorsList } }); - } else { - await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'FINISHED' } }); - } - } catch (e) { - throw new Error(); - } - } - } -} diff --git a/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts b/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts deleted file mode 100644 index 8ab888779..000000000 --- a/packages/itmat-job-executor/src/jobHandlers/UKB_FIELD_INFO_UPLOAD_Handler.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { db } from '../database/database'; -import { objStore } from '../objStore/objStore'; -import { CodeRecords, JobHandler } from './jobHandlerInterface'; -import { IJobEntryForFieldCuration } from '@itmat-broker/itmat-types'; -import { FieldCurator } from '../curation/FieldCurator'; -import { Readable, Writable } from 'stream'; -import * as csvparse from 'csv-parse'; - -export class UKB_FIELD_INFO_UPLOAD_Handler extends JobHandler { - private _instance?: UKB_FIELD_INFO_UPLOAD_Handler; - - public async getInstance() { - if (!this._instance) { - this._instance = new UKB_FIELD_INFO_UPLOAD_Handler(); - } - return this._instance; - } - - public async execute(job: IJobEntryForFieldCuration) { - const file = await db.collections.files_collection.findOne({ id: job.receivedFiles[0], deleted: null }); - if (!file) { - throw new Error('File does not exists.'); - } - - const codesFile = await db.collections.files_collection.findOne({ fileName: 'prolific_Codes.csv' }); - if (!codesFile) { - throw new Error('Codes File does not exists.'); - } - - const codesStream: Readable = await objStore.downloadFile(job.studyId, codesFile.uri); - const codesObj = await processCodesFileStreamAndReturnList(codesStream); - - const fileStream: Readable = await objStore.downloadFile(job.studyId, file.uri); - const fieldcurator = new FieldCurator( - db.collections.field_dictionary_collection, - fileStream, - undefined, - job, - codesObj - ); - const errors = (await fieldcurator.processIncomingStreamAndUploadToMongo()).map(err => new Error(err)); - - if (errors.length !== 0) { - await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'ERROR', error: errors } }); - return; - } else { - await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'FINISHED' } }); - // await this.updateFieldTreesInMongo(job, fieldTreeId); - } - - } - - // public async updateFieldTreesInMongo(job: IJobEntryForFieldCuration, fieldTreeId: string) { - // const queryObject = { 'id': job.studyId, 'deleted': null, 'dataVersions.id': job.data!.dataVersionId }; - // const updateObject = { $push: { 'dataVersions.$.fieldTrees': fieldTreeId } }; - // return await db.collections.studies_collection.findOneAndUpdate(queryObject, updateObject); - // } -} - -async function processCodesFileStreamAndReturnList(incomingStream: Readable): Promise { - const parseOptions: csvparse.Options = { delimiter: ',', quote: '"', relax_column_count: true, skip_records_with_error: true }; - const csvparseStream = csvparse.parse(parseOptions); - const parseStream = incomingStream.pipe(csvparseStream); - - // csvparseStream.on('skip', () => { - // }); - - let isHeader = true; - const codes: CodeRecords = {}; - - const CORRECT_NUMBER_OF_COLUMN = 4; - const uploadWriteStream: NodeJS.WritableStream = new Writable({ - objectMode: true, - write: (line, _, next) => { - if (isHeader) { - if (line.length !== CORRECT_NUMBER_OF_COLUMN) { - throw console.error('Line length not equal to 4.'); - - } - isHeader = false; - next(); - } else { - if (codes[line[1].toString()] === undefined) { - codes[line[1].toString()] = []; - } - codes[line[1].toString()].push({ - code: parseInt(line[2], 10).toString(), - description: line[3].toString() - }); - - next(); - } - } - }); - - uploadWriteStream.on('finish', () => { - //TODO - /* check for subject Id duplicate */ - }); - - parseStream.pipe(uploadWriteStream); - return codes; -} diff --git a/packages/itmat-job-executor/src/jobHandlers/UKB_JSON_UPLOAD_Handler.ts b/packages/itmat-job-executor/src/jobHandlers/UKB_JSON_UPLOAD_Handler.ts deleted file mode 100644 index d14be428f..000000000 --- a/packages/itmat-job-executor/src/jobHandlers/UKB_JSON_UPLOAD_Handler.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { IJobEntry } from '@itmat-broker/itmat-types'; -import { db } from '../database/database'; -import { objStore } from '../objStore/objStore'; -import { JobHandler } from './jobHandlerInterface'; -import { JSONCurator } from '../curation/JSONCurator'; -import { Readable } from 'stream'; - -export class UKB_JSON_UPLOAD_Handler extends JobHandler { - private _instance?: UKB_JSON_UPLOAD_Handler; - // private ukbCurator: UKBCurator; - - public async getInstance() { - if (!this._instance) { - this._instance = new UKB_JSON_UPLOAD_Handler(); - } - return this._instance; - } - - public async execute(job: IJobEntry) { - const errorsList: Array<{ - fileId: string; - fileName?: string; - error: string | string[]; - }> = []; - // get fieldid info from database - const fieldsList = await db.collections.field_dictionary_collection.find({ studyId: job.studyId }).toArray(); - - for (const fileId of job.receivedFiles) { - try { - const file = await db.collections.files_collection.findOne({ id: fileId, deleted: null }); - if (!file) { - errorsList.push({ fileId: fileId, error: 'file does not exist' }); - continue; - } - const components = file.fileName.split('.')[0].split('_'); - components.shift(); - const tableName = components.join('_'); - const filteredFieldsList = fieldsList.filter(el => el.tableName === tableName); - const fileStream: Readable = await objStore.downloadFile(job.studyId, file.uri); - const jsoncurator = new JSONCurator( - db.collections.data_collection, - fileStream, - job, - filteredFieldsList - ); - const errors = await jsoncurator.processIncomingStreamAndUploadToMongo(); - if (errors.length !== 0) { - errorsList.push({ fileId: file.id, fileName: file.fileName, error: errors }); - await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'ERROR', error: errorsList } }); - } else { - await db.collections.jobs_collection.updateOne({ id: job.id }, { $set: { status: 'FINISHED' } }); - } - } catch (e) { - throw new Error(); - } - } - } -} diff --git a/packages/itmat-job-executor/src/query/pipeLineGenerator.ts b/packages/itmat-job-executor/src/query/pipeLineGenerator.ts index 5764ddc4c..2e24b7704 100644 --- a/packages/itmat-job-executor/src/query/pipeLineGenerator.ts +++ b/packages/itmat-job-executor/src/query/pipeLineGenerator.ts @@ -6,7 +6,24 @@ // * @constructor // */ -import { ICohortSelection, IEquationDescription, IQueryEntry, IStudyDataVersion } from '@itmat-broker/itmat-types'; +import { ICohortSelection, IEquationDescription, IQueryString, IStudyDataVersion } from '@itmat-broker/itmat-types'; +import { Filter } from 'mongodb'; + +type MongoAggregationOperand = MongoAggregationExpression | string | number; + +type MongoAggregationExpression = + | { $multiply: [MongoAggregationOperand, MongoAggregationOperand] } + | { $add: [MongoAggregationOperand, MongoAggregationOperand] } + | { $subtract: [MongoAggregationOperand, MongoAggregationOperand] } + | { $divide: [MongoAggregationOperand, MongoAggregationOperand] } + | { $pow: [string, number] } // MongoDB expects field name and a number for $pow + | number + | string; + +interface AddFields { + [key: string]: MongoAggregationExpression; +} + class PipelineGenerator { constructor(private readonly config = {}) { } @@ -47,7 +64,7 @@ class PipelineGenerator { } } */ - public buildPipeline(query: IQueryEntry['queryString'], studyId: string, availableDataVersions: Array) { + public buildPipeline(query: IQueryString, studyId: string, availableDataVersions: Array) { // check query, then decide whether to parse the query if (query['data_requested'] === undefined || query['cohort'] === undefined || query['new_fields'] === undefined) { return null; @@ -56,18 +73,26 @@ class PipelineGenerator { return null; } - const fields = { _id: 0, m_subjectId: 1, m_visitId: 1 }; + const fields: { + _id: 0; + m_subjectId: 1; + m_visitId: 1; + [key: string]: 1 | 0 + } = { _id: 0, m_subjectId: 1, m_visitId: 1 }; // We send back the requested fields query.data_requested.forEach((field) => { fields[field] = 1; }); - const addFields = {}; + const addFields: AddFields = {}; // We send back the newly created derived fields by default if (query.new_fields.length > 0) { query.new_fields.forEach((field) => { if (field.op === 'derived') { fields[field.name] = 1; - addFields[field.name] = this._createNewField(field.value); + const newField = this._createNewField(field.value); + if (Object.keys(newField).length !== 0) { + addFields[field.name] = newField as MongoAggregationExpression; + } } else { return 'Error'; } @@ -75,7 +100,7 @@ class PipelineGenerator { } let match = {}; if (query.cohort.length > 1) { - const subqueries = []; + const subqueries: Filter[] = []; query.cohort.forEach((subcohort) => { // addFields. subqueries.push(this._translateCohort(subcohort)); @@ -122,41 +147,37 @@ class PipelineGenerator { */ private _createNewField(expression: IEquationDescription) { let newField = {}; - switch (expression.op) { - case '*': + + if (typeof expression.left === 'object' && typeof expression.right === 'object') { + if (expression.op === '*') { newField = { $multiply: [this._createNewField(expression.left), this._createNewField(expression.right)] }; - break; - case '/': + } else if (expression.op === '/') { newField = { $divide: [this._createNewField(expression.left), this._createNewField(expression.right)] }; - break; - case '-': + } else if (expression.op === '-') { newField = { $subtract: [this._createNewField(expression.left), this._createNewField(expression.right)] }; - break; - case '+': + } else if (expression.op === '+') { newField = { $add: [this._createNewField(expression.left), this._createNewField(expression.right)] }; - break; - case '^': - // NB the right side my be an integer while the left must be a field ! + } + } else if (typeof expression.left === 'object' && typeof expression.right === 'string') { + if (expression.op === '^') { newField = { $pow: ['$' + expression.left, parseInt(expression.right, 10)] }; - break; - case 'val': + } + } else if (typeof expression.left === 'string') { + if (expression.op === 'val') { newField = parseFloat(expression.left); - break; - case 'field': + } else if (expression.op === 'field') { newField = '$' + expression.left; - break; - default: - break; + } } return newField; @@ -181,7 +202,6 @@ class PipelineGenerator { */ private _translateCohort(cohorts: ICohortSelection[]) { const match: Record = {}; - cohorts.forEach(function (select) { switch (select.op) { diff --git a/packages/itmat-job-executor/src/query/queryHandler.ts b/packages/itmat-job-executor/src/query/queryHandler.ts index 4e6d83b51..34ac3e1fc 100644 --- a/packages/itmat-job-executor/src/query/queryHandler.ts +++ b/packages/itmat-job-executor/src/query/queryHandler.ts @@ -17,11 +17,29 @@ export class QueryHandler extends JobHandler { public async execute(job: IJobEntry<{ queryId: string[], projectId: string, studyId: string }>) { // get available data versions - const thisProject = await db.collections.projects_collection.findOne({ id: job.data?.projectId }); - const availableDataVersions = [thisProject!.dataVersion]; const queryId = job.data?.queryId[0]; - const queryString = await db.collections.queries_collection.findOne({ id: queryId }); - const pipeline = pipelineGenerator.buildPipeline(queryString.queryString, job.studyId, availableDataVersions); + const thisProject = await db.collections.projects_collection.findOne({ id: job.data?.projectId }); + if (!thisProject) { + await db.collections.queries_collection.findOneAndUpdate({ queryId }, { + $set: { + error: 'Project does not exist.', + status: 'FINISHED WITH ERROR' + } + }); + return; + } + const availableDataVersions = [thisProject.dataVersion]; + const query = await db.collections.queries_collection.findOne({ id: queryId }); + if (!query) { + await db.collections.queries_collection.findOneAndUpdate({ queryId }, { + $set: { + error: 'Query does not exist.', + status: 'FINISHED WITH ERROR' + } + }); + return; + } + const pipeline = pipelineGenerator.buildPipeline(query.queryString, job.studyId, availableDataVersions); if (!pipeline) { /* update query status */ await db.collections.queries_collection.findOneAndUpdate({ queryId }, { diff --git a/packages/itmat-job-executor/test/testFiles/CSVCurator.tsv b/packages/itmat-job-executor/test/testFiles/CSVCurator.tsv deleted file mode 100644 index 1efb9b85a..000000000 --- a/packages/itmat-job-executor/test/testFiles/CSVCurator.tsv +++ /dev/null @@ -1,2227 +0,0 @@ -ID,SubjectID,VisitID,Sex,Description,Weight -1,I7N3G6G,1,0,no description,60.2 -2,I7N3G6G,2,1,no description,60.2 -3,I7N3G6G,3,1,no description,60.2 -4,I7N3G6G,4,1,no description,60.2 -5,I7N3G6G,5,1,no description,60.2 -6,I7N3G6G,6,1,no description,60.2 -7,I7N3G6G,7,1,no description,60.2 -8,I7N3G6G,8,1,no description,60.2 -9,I7N3G6G,9,1,no description,60.2 -10,I7N3G6G,10,1,no description,60.2 -11,I7N3G6G,11,1,no description,60.2 -12,I7N3G6G,12,1,no description,60.2 -13,I7N3G6G,13,1,no description,60.2 -14,I7N3G6G,14,1,no description,60.2 -15,I7N3G6G,15,1,no description,60.2 -16,I7N3G6G,16,1,no description,60.2 -17,I7N3G6G,17,1,no description,60.2 -18,I7N3G6G,18,1,no description,60.2 -19,I7N3G6G,19,1,no description,60.2 -20,I7N3G6G,20,1,no description,60.2 -21,I7N3G6G,21,1,no description,60.2 -22,I7N3G6G,22,1,no description,60.2 -23,I7N3G6G,23,1,no description,60.2 -24,I7N3G6G,24,1,no description,60.2 -25,I7N3G6G,25,1,no description,60.2 -26,I7N3G6G,26,1,no description,60.2 -27,I7N3G6G,27,1,no description,60.2 -28,I7N3G6G,28,1,no description,60.2 -29,I7N3G6G,29,1,no description,60.2 -30,I7N3G6G,30,1,no description,60.2 -31,I7N3G6G,31,1,no description,60.2 -32,I7N3G6G,32,1,no description,60.2 -33,I7N3G6G,33,1,no description,60.2 -34,I7N3G6G,34,1,no description,60.2 -35,I7N3G6G,35,1,no description,60.2 -36,I7N3G6G,36,1,no description,60.2 -37,I7N3G6G,37,1,no description,60.2 -38,I7N3G6G,38,1,no description,60.2 -39,I7N3G6G,39,1,no description,60.2 -40,I7N3G6G,40,1,no description,60.2 -41,I7N3G6G,41,1,no description,60.2 -42,I7N3G6G,42,1,no description,60.2 -43,I7N3G6G,43,1,no description,60.2 -44,I7N3G6G,44,1,no description,60.2 -45,I7N3G6G,45,1,no description,60.2 -46,I7N3G6G,46,1,no description,60.2 -47,I7N3G6G,47,1,no description,60.2 -48,I7N3G6G,48,1,no description,60.2 -49,I7N3G6G,49,1,no description,60.2 -50,I7N3G6G,50,1,no description,60.2 -51,I7N3G6G,51,1,no description,60.2 -52,I7N3G6G,52,1,no description,60.2 -53,I7N3G6G,53,1,no description,60.2 -54,I7N3G6G,54,1,no description,60.2 -55,I7N3G6G,55,1,no description,60.2 -56,I7N3G6G,56,1,no description,60.2 -57,I7N3G6G,57,1,no description,60.2 -58,I7N3G6G,58,1,no description,60.2 -59,I7N3G6G,59,1,no description,60.2 -60,I7N3G6G,60,1,no description,60.2 -61,I7N3G6G,61,1,no description,60.2 -62,I7N3G6G,62,1,no description,60.2 -63,I7N3G6G,63,1,no description,60.2 -64,I7N3G6G,64,1,no description,60.2 -65,I7N3G6G,65,1,no description,60.2 -66,I7N3G6G,66,1,no description,60.2 -67,I7N3G6G,67,1,no description,60.2 -68,I7N3G6G,68,1,no description,60.2 -69,I7N3G6G,69,1,no description,60.2 -70,I7N3G6G,70,1,no description,60.2 -71,I7N3G6G,71,1,no description,60.2 -72,I7N3G6G,72,1,no description,60.2 -73,I7N3G6G,73,1,no description,60.2 -74,I7N3G6G,74,1,no description,60.2 -75,I7N3G6G,75,1,no description,60.2 -76,I7N3G6G,76,1,no description,60.2 -77,I7N3G6G,77,1,no description,60.2 -78,I7N3G6G,78,1,no description,60.2 -79,I7N3G6G,79,1,no description,60.2 -80,I7N3G6G,80,1,no description,60.2 -81,I7N3G6G,81,1,no description,60.2 -82,I7N3G6G,82,1,no description,60.2 -83,I7N3G6G,83,1,no description,60.2 -84,I7N3G6G,84,1,no description,60.2 -85,I7N3G6G,85,1,no description,60.2 -86,I7N3G6G,86,1,no description,60.2 -87,I7N3G6G,87,1,no description,60.2 -88,I7N3G6G,88,1,no description,60.2 -89,I7N3G6G,89,1,no description,60.2 -90,I7N3G6G,90,1,no description,60.2 -91,I7N3G6G,91,1,no description,60.2 -92,I7N3G6G,92,1,no description,60.2 -93,I7N3G6G,93,1,no description,60.2 -94,I7N3G6G,94,1,no description,60.2 -95,I7N3G6G,95,1,no description,60.2 -96,I7N3G6G,96,1,no description,60.2 -97,I7N3G6G,97,1,no description,60.2 -98,I7N3G6G,98,1,no description,60.2 -99,I7N3G6G,99,1,no description,60.2 -100,I7N3G6G,100,1,no description,60.2 -101,I7N3G6G,101,1,no description,60.2 -102,I7N3G6G,102,1,no description,60.2 -103,I7N3G6G,103,1,no description,60.2 -104,I7N3G6G,104,1,no description,60.2 -105,I7N3G6G,105,1,no description,60.2 -106,I7N3G6G,106,1,no description,60.2 -107,I7N3G6G,107,1,no description,60.2 -108,I7N3G6G,108,1,no description,60.2 -109,I7N3G6G,109,1,no description,60.2 -110,I7N3G6G,110,1,no description,60.2 -111,I7N3G6G,111,1,no description,60.2 -112,I7N3G6G,112,1,no description,60.2 -113,I7N3G6G,113,1,no description,60.2 -114,I7N3G6G,114,1,no description,60.2 -115,I7N3G6G,115,1,no description,60.2 -116,I7N3G6G,116,1,no description,60.2 -117,I7N3G6G,117,1,no description,60.2 -118,I7N3G6G,118,1,no description,60.2 -119,I7N3G6G,119,1,no description,60.2 -120,I7N3G6G,120,1,no description,60.2 -121,I7N3G6G,121,1,no description,60.2 -122,I7N3G6G,122,1,no description,60.2 -123,I7N3G6G,123,1,no description,60.2 -124,I7N3G6G,124,1,no description,60.2 -125,I7N3G6G,125,1,no description,60.2 -126,I7N3G6G,126,1,no description,60.2 -127,I7N3G6G,127,1,no description,60.2 -128,I7N3G6G,128,1,no description,60.2 -129,I7N3G6G,129,1,no description,60.2 -130,I7N3G6G,130,1,no description,60.2 -131,I7N3G6G,131,1,no description,60.2 -132,I7N3G6G,132,1,no description,60.2 -133,I7N3G6G,133,1,no description,60.2 -134,I7N3G6G,134,1,no description,60.2 -135,I7N3G6G,135,1,no description,60.2 -136,I7N3G6G,136,1,no description,60.2 -137,I7N3G6G,137,1,no description,60.2 -138,I7N3G6G,138,1,no description,60.2 -139,I7N3G6G,139,1,no description,60.2 -140,I7N3G6G,140,1,no description,60.2 -141,I7N3G6G,141,1,no description,60.2 -142,I7N3G6G,142,1,no description,60.2 -143,I7N3G6G,143,1,no description,60.2 -144,I7N3G6G,144,1,no description,60.2 -145,I7N3G6G,145,1,no description,60.2 -146,I7N3G6G,146,1,no description,60.2 -147,I7N3G6G,147,1,no description,60.2 -148,I7N3G6G,148,1,no description,60.2 -149,I7N3G6G,149,1,no description,60.2 -150,I7N3G6G,150,1,no description,60.2 -151,I7N3G6G,151,1,no description,60.2 -152,I7N3G6G,152,1,no description,60.2 -153,I7N3G6G,153,1,no description,60.2 -154,I7N3G6G,154,1,no description,60.2 -155,I7N3G6G,155,1,no description,60.2 -156,I7N3G6G,156,1,no description,60.2 -157,I7N3G6G,157,1,no description,60.2 -158,I7N3G6G,158,1,no description,60.2 -159,I7N3G6G,159,1,no description,60.2 -160,I7N3G6G,160,1,no description,60.2 -161,I7N3G6G,161,1,no description,60.2 -162,I7N3G6G,162,1,no description,60.2 -163,I7N3G6G,163,1,no description,60.2 -164,I7N3G6G,164,1,no description,60.2 -165,I7N3G6G,165,1,no description,60.2 -166,I7N3G6G,166,1,no description,60.2 -167,I7N3G6G,167,1,no description,60.2 -168,I7N3G6G,168,1,no description,60.2 -169,I7N3G6G,169,1,no description,60.2 -170,I7N3G6G,170,1,no description,60.2 -171,I7N3G6G,171,1,no description,60.2 -172,I7N3G6G,172,1,no description,60.2 -173,I7N3G6G,173,1,no description,60.2 -174,I7N3G6G,174,1,no description,60.2 -175,I7N3G6G,175,1,no description,60.2 -176,I7N3G6G,176,1,no description,60.2 -177,I7N3G6G,177,1,no description,60.2 -178,I7N3G6G,178,1,no description,60.2 -179,I7N3G6G,179,1,no description,60.2 -180,I7N3G6G,180,1,no description,60.2 -181,I7N3G6G,181,1,no description,60.2 -182,I7N3G6G,182,1,no description,60.2 -183,I7N3G6G,183,1,no description,60.2 -184,I7N3G6G,184,1,no description,60.2 -185,I7N3G6G,185,1,no description,60.2 -186,I7N3G6G,186,1,no description,60.2 -187,I7N3G6G,187,1,no description,60.2 -188,I7N3G6G,188,1,no description,60.2 -189,I7N3G6G,189,1,no description,60.2 -190,I7N3G6G,190,1,no description,60.2 -191,I7N3G6G,191,1,no description,60.2 -192,I7N3G6G,192,1,no description,60.2 -193,I7N3G6G,193,1,no description,60.2 -194,I7N3G6G,194,1,no description,60.2 -195,I7N3G6G,195,1,no description,60.2 -196,I7N3G6G,196,1,no description,60.2 -197,I7N3G6G,197,1,no description,60.2 -198,I7N3G6G,198,1,no description,60.2 -199,I7N3G6G,199,1,no description,60.2 -200,I7N3G6G,200,1,no description,60.2 -201,I7N3G6G,201,1,no description,60.2 -202,I7N3G6G,202,1,no description,60.2 -203,I7N3G6G,203,1,no description,60.2 -204,I7N3G6G,204,1,no description,60.2 -205,I7N3G6G,205,1,no description,60.2 -206,I7N3G6G,206,1,no description,60.2 -207,I7N3G6G,207,1,no description,60.2 -208,I7N3G6G,208,1,no description,60.2 -209,I7N3G6G,209,1,no description,60.2 -210,I7N3G6G,210,1,no description,60.2 -211,I7N3G6G,211,1,no description,60.2 -212,I7N3G6G,212,1,no description,60.2 -213,I7N3G6G,213,1,no description,60.2 -214,I7N3G6G,214,1,no description,60.2 -215,I7N3G6G,215,1,no description,60.2 -216,I7N3G6G,216,1,no description,60.2 -217,I7N3G6G,217,1,no description,60.2 -218,I7N3G6G,218,1,no description,60.2 -219,I7N3G6G,219,1,no description,60.2 -220,I7N3G6G,220,1,no description,60.2 -221,I7N3G6G,221,1,no description,60.2 -222,I7N3G6G,222,1,no description,60.2 -223,I7N3G6G,223,1,no description,60.2 -224,I7N3G6G,224,1,no description,60.2 -225,I7N3G6G,225,1,no description,60.2 -226,I7N3G6G,226,1,no description,60.2 -227,I7N3G6G,227,1,no description,60.2 -228,I7N3G6G,228,1,no description,60.2 -229,I7N3G6G,229,1,no description,60.2 -230,I7N3G6G,230,1,no description,60.2 -231,I7N3G6G,231,1,no description,60.2 -232,I7N3G6G,232,1,no description,60.2 -233,I7N3G6G,233,1,no description,60.2 -234,I7N3G6G,234,1,no description,60.2 -235,I7N3G6G,235,1,no description,60.2 -236,I7N3G6G,236,1,no description,60.2 -237,I7N3G6G,237,1,no description,60.2 -238,I7N3G6G,238,1,no description,60.2 -239,I7N3G6G,239,1,no description,60.2 -240,I7N3G6G,240,1,no description,60.2 -241,I7N3G6G,241,1,no description,60.2 -242,I7N3G6G,242,1,no description,60.2 -243,I7N3G6G,243,1,no description,60.2 -244,I7N3G6G,244,1,no description,60.2 -245,I7N3G6G,245,1,no description,60.2 -246,I7N3G6G,246,1,no description,60.2 -247,I7N3G6G,247,1,no description,60.2 -248,I7N3G6G,248,1,no description,60.2 -249,I7N3G6G,249,1,no description,60.2 -250,I7N3G6G,250,1,no description,60.2 -251,I7N3G6G,251,1,no description,60.2 -252,I7N3G6G,252,1,no description,60.2 -253,I7N3G6G,253,1,no description,60.2 -254,I7N3G6G,254,1,no description,60.2 -255,I7N3G6G,255,1,no description,60.2 -256,I7N3G6G,256,1,no description,60.2 -257,I7N3G6G,257,1,no description,60.2 -258,I7N3G6G,258,1,no description,60.2 -259,I7N3G6G,259,1,no description,60.2 -260,I7N3G6G,260,1,no description,60.2 -261,I7N3G6G,261,1,no description,60.2 -262,I7N3G6G,262,1,no description,60.2 -263,I7N3G6G,263,1,no description,60.2 -264,I7N3G6G,264,1,no description,60.2 -265,I7N3G6G,265,1,no description,60.2 -266,I7N3G6G,266,1,no description,60.2 -267,I7N3G6G,267,1,no description,60.2 -268,I7N3G6G,268,1,no description,60.2 -269,I7N3G6G,269,1,no description,60.2 -270,I7N3G6G,270,1,no description,60.2 -271,I7N3G6G,271,1,no description,60.2 -272,I7N3G6G,272,1,no description,60.2 -273,I7N3G6G,273,1,no description,60.2 -274,I7N3G6G,274,1,no description,60.2 -275,I7N3G6G,275,1,no description,60.2 -276,I7N3G6G,276,1,no description,60.2 -277,I7N3G6G,277,1,no description,60.2 -278,I7N3G6G,278,1,no description,60.2 -279,I7N3G6G,279,1,no description,60.2 -280,I7N3G6G,280,1,no description,60.2 -281,I7N3G6G,281,1,no description,60.2 -282,I7N3G6G,282,1,no description,60.2 -283,I7N3G6G,283,1,no description,60.2 -284,I7N3G6G,284,1,no description,60.2 -285,I7N3G6G,285,1,no description,60.2 -286,I7N3G6G,286,1,no description,60.2 -287,I7N3G6G,287,1,no description,60.2 -288,I7N3G6G,288,1,no description,60.2 -289,I7N3G6G,289,1,no description,60.2 -290,I7N3G6G,290,1,no description,60.2 -291,I7N3G6G,291,1,no description,60.2 -292,I7N3G6G,292,1,no description,60.2 -293,I7N3G6G,293,1,no description,60.2 -294,I7N3G6G,294,1,no description,60.2 -295,I7N3G6G,295,1,no description,60.2 -296,I7N3G6G,296,1,no description,60.2 -297,I7N3G6G,297,1,no description,60.2 -298,I7N3G6G,298,1,no description,60.2 -299,I7N3G6G,299,1,no description,60.2 -300,I7N3G6G,300,1,no description,60.2 -301,I7N3G6G,301,1,no description,60.2 -302,I7N3G6G,302,1,no description,60.2 -303,I7N3G6G,303,1,no description,60.2 -304,I7N3G6G,304,1,no description,60.2 -305,I7N3G6G,305,1,no description,60.2 -306,I7N3G6G,306,1,no description,60.2 -307,I7N3G6G,307,1,no description,60.2 -308,I7N3G6G,308,1,no description,60.2 -309,I7N3G6G,309,1,no description,60.2 -310,I7N3G6G,310,1,no description,60.2 -311,I7N3G6G,311,1,no description,60.2 -312,I7N3G6G,312,1,no description,60.2 -313,I7N3G6G,313,1,no description,60.2 -314,I7N3G6G,314,1,no description,60.2 -315,I7N3G6G,315,1,no description,60.2 -316,I7N3G6G,316,1,no description,60.2 -317,I7N3G6G,317,1,no description,60.2 -318,I7N3G6G,318,1,no description,60.2 -319,I7N3G6G,319,1,no description,60.2 -320,I7N3G6G,320,1,no description,60.2 -321,I7N3G6G,321,1,no description,60.2 -322,I7N3G6G,322,1,no description,60.2 -323,I7N3G6G,323,1,no description,60.2 -324,I7N3G6G,324,1,no description,60.2 -325,I7N3G6G,325,1,no description,60.2 -326,I7N3G6G,326,1,no description,60.2 -327,I7N3G6G,327,1,no description,60.2 -328,I7N3G6G,328,1,no description,60.2 -329,I7N3G6G,329,1,no description,60.2 -330,I7N3G6G,330,1,no description,60.2 -331,I7N3G6G,331,1,no description,60.2 -332,I7N3G6G,332,1,no description,60.2 -333,I7N3G6G,333,1,no description,60.2 -334,I7N3G6G,334,1,no description,60.2 -335,I7N3G6G,335,1,no description,60.2 -336,I7N3G6G,336,1,no description,60.2 -337,I7N3G6G,337,1,no description,60.2 -338,I7N3G6G,338,1,no description,60.2 -339,I7N3G6G,339,1,no description,60.2 -340,I7N3G6G,340,1,no description,60.2 -341,I7N3G6G,341,1,no description,60.2 -342,I7N3G6G,342,1,no description,60.2 -343,I7N3G6G,343,1,no description,60.2 -344,I7N3G6G,344,1,no description,60.2 -345,I7N3G6G,345,1,no description,60.2 -346,I7N3G6G,346,1,no description,60.2 -347,I7N3G6G,347,1,no description,60.2 -348,I7N3G6G,348,1,no description,60.2 -349,I7N3G6G,349,1,no description,60.2 -350,I7N3G6G,350,1,no description,60.2 -351,I7N3G6G,351,1,no description,60.2 -352,I7N3G6G,352,1,no description,60.2 -353,I7N3G6G,353,1,no description,60.2 -354,I7N3G6G,354,1,no description,60.2 -355,I7N3G6G,355,1,no description,60.2 -356,I7N3G6G,356,1,no description,60.2 -357,I7N3G6G,357,1,no description,60.2 -358,I7N3G6G,358,1,no description,60.2 -359,I7N3G6G,359,1,no description,60.2 -360,I7N3G6G,360,1,no description,60.2 -361,I7N3G6G,361,1,no description,60.2 -362,I7N3G6G,362,1,no description,60.2 -363,I7N3G6G,363,1,no description,60.2 -364,I7N3G6G,364,1,no description,60.2 -365,I7N3G6G,365,1,no description,60.2 -366,I7N3G6G,366,1,no description,60.2 -367,I7N3G6G,367,1,no description,60.2 -368,I7N3G6G,368,1,no description,60.2 -369,I7N3G6G,369,1,no description,60.2 -370,I7N3G6G,370,1,no description,60.2 -371,I7N3G6G,371,1,no description,60.2 -372,I7N3G6G,372,1,no description,60.2 -373,I7N3G6G,373,1,no description,60.2 -374,I7N3G6G,374,1,no description,60.2 -375,I7N3G6G,375,1,no description,60.2 -376,I7N3G6G,376,1,no description,60.2 -377,I7N3G6G,377,1,no description,60.2 -378,I7N3G6G,378,1,no description,60.2 -379,I7N3G6G,379,1,no description,60.2 -380,I7N3G6G,380,1,no description,60.2 -381,I7N3G6G,381,1,no description,60.2 -382,I7N3G6G,382,1,no description,60.2 -383,I7N3G6G,383,1,no description,60.2 -384,I7N3G6G,384,1,no description,60.2 -385,I7N3G6G,385,1,no description,60.2 -386,I7N3G6G,386,1,no description,60.2 -387,I7N3G6G,387,1,no description,60.2 -388,I7N3G6G,388,1,no description,60.2 -389,I7N3G6G,389,1,no description,60.2 -390,I7N3G6G,390,1,no description,60.2 -391,I7N3G6G,391,1,no description,60.2 -392,I7N3G6G,392,1,no description,60.2 -393,I7N3G6G,393,1,no description,60.2 -394,I7N3G6G,394,1,no description,60.2 -395,I7N3G6G,395,1,no description,60.2 -396,I7N3G6G,396,1,no description,60.2 -397,I7N3G6G,397,1,no description,60.2 -398,I7N3G6G,398,1,no description,60.2 -399,I7N3G6G,399,1,no description,60.2 -400,I7N3G6G,400,1,no description,60.2 -401,I7N3G6G,401,1,no description,60.2 -402,I7N3G6G,402,1,no description,60.2 -403,I7N3G6G,403,1,no description,60.2 -404,I7N3G6G,404,1,no description,60.2 -405,I7N3G6G,405,1,no description,60.2 -406,I7N3G6G,406,1,no description,60.2 -407,I7N3G6G,407,1,no description,60.2 -408,I7N3G6G,408,1,no description,60.2 -409,I7N3G6G,409,1,no description,60.2 -410,I7N3G6G,410,1,no description,60.2 -411,I7N3G6G,411,1,no description,60.2 -412,I7N3G6G,412,1,no description,60.2 -413,I7N3G6G,413,1,no description,60.2 -414,I7N3G6G,414,1,no description,60.2 -415,I7N3G6G,415,1,no description,60.2 -416,I7N3G6G,416,1,no description,60.2 -417,I7N3G6G,417,1,no description,60.2 -418,I7N3G6G,418,1,no description,60.2 -419,I7N3G6G,419,1,no description,60.2 -420,I7N3G6G,420,1,no description,60.2 -421,I7N3G6G,421,1,no description,60.2 -422,I7N3G6G,422,1,no description,60.2 -423,I7N3G6G,423,1,no description,60.2 -424,I7N3G6G,424,1,no description,60.2 -425,I7N3G6G,425,1,no description,60.2 -426,I7N3G6G,426,1,no description,60.2 -427,I7N3G6G,427,1,no description,60.2 -428,I7N3G6G,428,1,no description,60.2 -429,I7N3G6G,429,1,no description,60.2 -430,I7N3G6G,430,1,no description,60.2 -431,I7N3G6G,431,1,no description,60.2 -432,I7N3G6G,432,1,no description,60.2 -433,I7N3G6G,433,1,no description,60.2 -434,I7N3G6G,434,1,no description,60.2 -435,I7N3G6G,435,1,no description,60.2 -436,I7N3G6G,436,1,no description,60.2 -437,I7N3G6G,437,1,no description,60.2 -438,I7N3G6G,438,1,no description,60.2 -439,I7N3G6G,439,1,no description,60.2 -440,I7N3G6G,440,1,no description,60.2 -441,I7N3G6G,441,1,no description,60.2 -442,I7N3G6G,442,1,no description,60.2 -443,I7N3G6G,443,1,no description,60.2 -444,I7N3G6G,444,1,no description,60.2 -445,I7N3G6G,445,1,no description,60.2 -446,I7N3G6G,446,1,no description,60.2 -447,I7N3G6G,447,1,no description,60.2 -448,I7N3G6G,448,1,no description,60.2 -449,I7N3G6G,449,1,no description,60.2 -450,I7N3G6G,450,1,no description,60.2 -451,I7N3G6G,451,1,no description,60.2 -452,I7N3G6G,452,1,no description,60.2 -453,I7N3G6G,453,1,no description,60.2 -454,I7N3G6G,454,1,no description,60.2 -455,I7N3G6G,455,1,no description,60.2 -456,I7N3G6G,456,1,no description,60.2 -457,I7N3G6G,457,1,no description,60.2 -458,I7N3G6G,458,1,no description,60.2 -459,I7N3G6G,459,1,no description,60.2 -460,I7N3G6G,460,1,no description,60.2 -461,I7N3G6G,461,1,no description,60.2 -462,I7N3G6G,462,1,no description,60.2 -463,I7N3G6G,463,1,no description,60.2 -464,I7N3G6G,464,1,no description,60.2 -465,I7N3G6G,465,1,no description,60.2 -466,I7N3G6G,466,1,no description,60.2 -467,I7N3G6G,467,1,no description,60.2 -468,I7N3G6G,468,1,no description,60.2 -469,I7N3G6G,469,1,no description,60.2 -470,I7N3G6G,470,1,no description,60.2 -471,I7N3G6G,471,1,no description,60.2 -472,I7N3G6G,472,1,no description,60.2 -473,I7N3G6G,473,1,no description,60.2 -474,I7N3G6G,474,1,no description,60.2 -475,I7N3G6G,475,1,no description,60.2 -476,I7N3G6G,476,1,no description,60.2 -477,I7N3G6G,477,1,no description,60.2 -478,I7N3G6G,478,1,no description,60.2 -479,I7N3G6G,479,1,no description,60.2 -480,I7N3G6G,480,1,no description,60.2 -481,I7N3G6G,481,1,no description,60.2 -482,I7N3G6G,482,1,no description,60.2 -483,I7N3G6G,483,1,no description,60.2 -484,I7N3G6G,484,1,no description,60.2 -485,I7N3G6G,485,1,no description,60.2 -486,I7N3G6G,486,1,no description,60.2 -487,I7N3G6G,487,1,no description,60.2 -488,I7N3G6G,488,1,no description,60.2 -489,I7N3G6G,489,1,no description,60.2 -490,I7N3G6G,490,1,no description,60.2 -491,I7N3G6G,491,1,no description,60.2 -492,I7N3G6G,492,1,no description,60.2 -493,I7N3G6G,493,1,no description,60.2 -494,I7N3G6G,494,1,no description,60.2 -495,I7N3G6G,495,1,no description,60.2 -496,I7N3G6G,496,1,no description,60.2 -497,I7N3G6G,497,1,no description,60.2 -498,I7N3G6G,498,1,no description,60.2 -499,I7N3G6G,499,1,no description,60.2 -500,I7N3G6G,500,1,no description,60.2 -501,I7N3G6G,501,1,no description,60.2 -502,I7N3G6G,502,1,no description,60.2 -503,I7N3G6G,503,1,no description,60.2 -504,I7N3G6G,504,1,no description,60.2 -505,I7N3G6G,505,1,no description,60.2 -506,I7N3G6G,506,1,no description,60.2 -507,I7N3G6G,507,1,no description,60.2 -508,I7N3G6G,508,1,no description,60.2 -509,I7N3G6G,509,1,no description,60.2 -510,I7N3G6G,510,1,no description,60.2 -511,I7N3G6G,511,1,no description,60.2 -512,I7N3G6G,512,1,no description,60.2 -513,I7N3G6G,513,1,no description,60.2 -514,I7N3G6G,514,1,no description,60.2 -515,I7N3G6G,515,1,no description,60.2 -516,I7N3G6G,516,1,no description,60.2 -517,I7N3G6G,517,1,no description,60.2 -518,I7N3G6G,518,1,no description,60.2 -519,I7N3G6G,519,1,no description,60.2 -520,I7N3G6G,520,1,no description,60.2 -521,I7N3G6G,521,1,no description,60.2 -522,I7N3G6G,522,1,no description,60.2 -523,I7N3G6G,523,1,no description,60.2 -524,I7N3G6G,524,1,no description,60.2 -525,I7N3G6G,525,1,no description,60.2 -526,I7N3G6G,526,1,no description,60.2 -527,I7N3G6G,527,1,no description,60.2 -528,I7N3G6G,528,1,no description,60.2 -529,I7N3G6G,529,1,no description,60.2 -530,I7N3G6G,530,1,no description,60.2 -531,I7N3G6G,531,1,no description,60.2 -532,I7N3G6G,532,1,no description,60.2 -533,I7N3G6G,533,1,no description,60.2 -534,I7N3G6G,534,1,no description,60.2 -535,I7N3G6G,535,1,no description,60.2 -536,I7N3G6G,536,1,no description,60.2 -537,I7N3G6G,537,1,no description,60.2 -538,I7N3G6G,538,1,no description,60.2 -539,I7N3G6G,539,1,no description,60.2 -540,I7N3G6G,540,1,no description,60.2 -541,I7N3G6G,541,1,no description,60.2 -542,I7N3G6G,542,1,no description,60.2 -543,I7N3G6G,543,1,no description,60.2 -544,I7N3G6G,544,1,no description,60.2 -545,I7N3G6G,545,1,no description,60.2 -546,I7N3G6G,546,1,no description,60.2 -547,I7N3G6G,547,1,no description,60.2 -548,I7N3G6G,548,1,no description,60.2 -549,I7N3G6G,549,1,no description,60.2 -550,I7N3G6G,550,1,no description,60.2 -551,I7N3G6G,551,1,no description,60.2 -552,I7N3G6G,552,1,no description,60.2 -553,I7N3G6G,553,1,no description,60.2 -554,I7N3G6G,554,1,no description,60.2 -555,I7N3G6G,555,1,no description,60.2 -556,I7N3G6G,556,1,no description,60.2 -557,I7N3G6G,557,1,no description,60.2 -558,I7N3G6G,558,1,no description,60.2 -559,I7N3G6G,559,1,no description,60.2 -560,I7N3G6G,560,1,no description,60.2 -561,I7N3G6G,561,1,no description,60.2 -562,I7N3G6G,562,1,no description,60.2 -563,I7N3G6G,563,1,no description,60.2 -564,I7N3G6G,564,1,no description,60.2 -565,I7N3G6G,565,1,no description,60.2 -566,I7N3G6G,566,1,no description,60.2 -567,I7N3G6G,567,1,no description,60.2 -568,I7N3G6G,568,1,no description,60.2 -569,I7N3G6G,569,1,no description,60.2 -570,I7N3G6G,570,1,no description,60.2 -571,I7N3G6G,571,1,no description,60.2 -572,I7N3G6G,572,1,no description,60.2 -573,I7N3G6G,573,1,no description,60.2 -574,I7N3G6G,574,1,no description,60.2 -575,I7N3G6G,575,1,no description,60.2 -576,I7N3G6G,576,1,no description,60.2 -577,I7N3G6G,577,1,no description,60.2 -578,I7N3G6G,578,1,no description,60.2 -579,I7N3G6G,579,1,no description,60.2 -580,I7N3G6G,580,1,no description,60.2 -581,I7N3G6G,581,1,no description,60.2 -582,I7N3G6G,582,1,no description,60.2 -583,I7N3G6G,583,1,no description,60.2 -584,I7N3G6G,584,1,no description,60.2 -585,I7N3G6G,585,1,no description,60.2 -586,I7N3G6G,586,1,no description,60.2 -587,I7N3G6G,587,1,no description,60.2 -588,I7N3G6G,588,1,no description,60.2 -589,I7N3G6G,589,1,no description,60.2 -590,I7N3G6G,590,1,no description,60.2 -591,I7N3G6G,591,1,no description,60.2 -592,I7N3G6G,592,1,no description,60.2 -593,I7N3G6G,593,1,no description,60.2 -594,I7N3G6G,594,1,no description,60.2 -595,I7N3G6G,595,1,no description,60.2 -596,I7N3G6G,596,1,no description,60.2 -597,I7N3G6G,597,1,no description,60.2 -598,I7N3G6G,598,1,no description,60.2 -599,I7N3G6G,599,1,no description,60.2 -600,I7N3G6G,600,1,no description,60.2 -601,I7N3G6G,601,1,no description,60.2 -602,I7N3G6G,602,1,no description,60.2 -603,I7N3G6G,603,1,no description,60.2 -604,I7N3G6G,604,1,no description,60.2 -605,I7N3G6G,605,1,no description,60.2 -606,I7N3G6G,606,1,no description,60.2 -607,I7N3G6G,607,1,no description,60.2 -608,I7N3G6G,608,1,no description,60.2 -609,I7N3G6G,609,1,no description,60.2 -610,I7N3G6G,610,1,no description,60.2 -611,I7N3G6G,611,1,no description,60.2 -612,I7N3G6G,612,1,no description,60.2 -613,I7N3G6G,613,1,no description,60.2 -614,I7N3G6G,614,1,no description,60.2 -615,I7N3G6G,615,1,no description,60.2 -616,I7N3G6G,616,1,no description,60.2 -617,I7N3G6G,617,1,no description,60.2 -618,I7N3G6G,618,1,no description,60.2 -619,I7N3G6G,619,1,no description,60.2 -620,I7N3G6G,620,1,no description,60.2 -621,I7N3G6G,621,1,no description,60.2 -622,I7N3G6G,622,1,no description,60.2 -623,I7N3G6G,623,1,no description,60.2 -624,I7N3G6G,624,1,no description,60.2 -625,I7N3G6G,625,1,no description,60.2 -626,I7N3G6G,626,1,no description,60.2 -627,I7N3G6G,627,1,no description,60.2 -628,I7N3G6G,628,1,no description,60.2 -629,I7N3G6G,629,1,no description,60.2 -630,I7N3G6G,630,1,no description,60.2 -631,I7N3G6G,631,1,no description,60.2 -632,I7N3G6G,632,1,no description,60.2 -633,I7N3G6G,633,1,no description,60.2 -634,I7N3G6G,634,1,no description,60.2 -635,I7N3G6G,635,1,no description,60.2 -636,I7N3G6G,636,1,no description,60.2 -637,I7N3G6G,637,1,no description,60.2 -638,I7N3G6G,638,1,no description,60.2 -639,I7N3G6G,639,1,no description,60.2 -640,I7N3G6G,640,1,no description,60.2 -641,I7N3G6G,641,1,no description,60.2 -642,I7N3G6G,642,1,no description,60.2 -643,I7N3G6G,643,1,no description,60.2 -644,I7N3G6G,644,1,no description,60.2 -645,I7N3G6G,645,1,no description,60.2 -646,I7N3G6G,646,1,no description,60.2 -647,I7N3G6G,647,1,no description,60.2 -648,I7N3G6G,648,1,no description,60.2 -649,I7N3G6G,649,1,no description,60.2 -650,I7N3G6G,650,1,no description,60.2 -651,I7N3G6G,651,1,no description,60.2 -652,I7N3G6G,652,1,no description,60.2 -653,I7N3G6G,653,1,no description,60.2 -654,I7N3G6G,654,1,no description,60.2 -655,I7N3G6G,655,1,no description,60.2 -656,I7N3G6G,656,1,no description,60.2 -657,I7N3G6G,657,1,no description,60.2 -658,I7N3G6G,658,1,no description,60.2 -659,I7N3G6G,659,1,no description,60.2 -660,I7N3G6G,660,1,no description,60.2 -661,I7N3G6G,661,1,no description,60.2 -662,I7N3G6G,662,1,no description,60.2 -663,I7N3G6G,663,1,no description,60.2 -664,I7N3G6G,664,1,no description,60.2 -665,I7N3G6G,665,1,no description,60.2 -666,I7N3G6G,666,1,no description,60.2 -667,I7N3G6G,667,1,no description,60.2 -668,I7N3G6G,668,1,no description,60.2 -669,I7N3G6G,669,1,no description,60.2 -670,I7N3G6G,670,1,no description,60.2 -671,I7N3G6G,671,1,no description,60.2 -672,I7N3G6G,672,1,no description,60.2 -673,I7N3G6G,673,1,no description,60.2 -674,I7N3G6G,674,1,no description,60.2 -675,I7N3G6G,675,1,no description,60.2 -676,I7N3G6G,676,1,no description,60.2 -677,I7N3G6G,677,1,no description,60.2 -678,I7N3G6G,678,1,no description,60.2 -679,I7N3G6G,679,1,no description,60.2 -680,I7N3G6G,680,1,no description,60.2 -681,I7N3G6G,681,1,no description,60.2 -682,I7N3G6G,682,1,no description,60.2 -683,I7N3G6G,683,1,no description,60.2 -684,I7N3G6G,684,1,no description,60.2 -685,I7N3G6G,685,1,no description,60.2 -686,I7N3G6G,686,1,no description,60.2 -687,I7N3G6G,687,1,no description,60.2 -688,I7N3G6G,688,1,no description,60.2 -689,I7N3G6G,689,1,no description,60.2 -690,I7N3G6G,690,1,no description,60.2 -691,I7N3G6G,691,1,no description,60.2 -692,I7N3G6G,692,1,no description,60.2 -693,I7N3G6G,693,1,no description,60.2 -694,I7N3G6G,694,1,no description,60.2 -695,I7N3G6G,695,1,no description,60.2 -696,I7N3G6G,696,1,no description,60.2 -697,I7N3G6G,697,1,no description,60.2 -698,I7N3G6G,698,1,no description,60.2 -699,I7N3G6G,699,1,no description,60.2 -700,I7N3G6G,700,1,no description,60.2 -701,I7N3G6G,701,1,no description,60.2 -702,I7N3G6G,702,1,no description,60.2 -703,I7N3G6G,703,1,no description,60.2 -704,I7N3G6G,704,1,no description,60.2 -705,I7N3G6G,705,1,no description,60.2 -706,I7N3G6G,706,1,no description,60.2 -707,I7N3G6G,707,1,no description,60.2 -708,I7N3G6G,708,1,no description,60.2 -709,I7N3G6G,709,1,no description,60.2 -710,I7N3G6G,710,1,no description,60.2 -711,I7N3G6G,711,1,no description,60.2 -712,I7N3G6G,712,1,no description,60.2 -713,I7N3G6G,713,1,no description,60.2 -714,I7N3G6G,714,1,no description,60.2 -715,I7N3G6G,715,1,no description,60.2 -716,I7N3G6G,716,1,no description,60.2 -717,I7N3G6G,717,1,no description,60.2 -718,I7N3G6G,718,1,no description,60.2 -719,I7N3G6G,719,1,no description,60.2 -720,I7N3G6G,720,1,no description,60.2 -721,I7N3G6G,721,1,no description,60.2 -722,I7N3G6G,722,1,no description,60.2 -723,I7N3G6G,723,1,no description,60.2 -724,I7N3G6G,724,1,no description,60.2 -725,I7N3G6G,725,1,no description,60.2 -726,I7N3G6G,726,1,no description,60.2 -727,I7N3G6G,727,1,no description,60.2 -728,I7N3G6G,728,1,no description,60.2 -729,I7N3G6G,729,1,no description,60.2 -730,I7N3G6G,730,1,no description,60.2 -731,I7N3G6G,731,1,no description,60.2 -732,I7N3G6G,732,1,no description,60.2 -733,I7N3G6G,733,1,no description,60.2 -734,I7N3G6G,734,1,no description,60.2 -735,I7N3G6G,735,1,no description,60.2 -736,I7N3G6G,736,1,no description,60.2 -737,I7N3G6G,737,1,no description,60.2 -738,I7N3G6G,738,1,no description,60.2 -739,I7N3G6G,739,1,no description,60.2 -740,I7N3G6G,740,1,no description,60.2 -741,I7N3G6G,741,1,no description,60.2 -742,I7N3G6G,742,1,no description,60.2 -743,I7N3G6G,743,1,no description,60.2 -744,I7N3G6G,744,1,no description,60.2 -745,I7N3G6G,745,1,no description,60.2 -746,I7N3G6G,746,1,no description,60.2 -747,I7N3G6G,747,1,no description,60.2 -748,I7N3G6G,748,1,no description,60.2 -749,I7N3G6G,749,1,no description,60.2 -750,I7N3G6G,750,1,no description,60.2 -751,I7N3G6G,751,1,no description,60.2 -752,I7N3G6G,752,1,no description,60.2 -753,I7N3G6G,753,1,no description,60.2 -754,I7N3G6G,754,1,no description,60.2 -755,I7N3G6G,755,1,no description,60.2 -756,I7N3G6G,756,1,no description,60.2 -757,I7N3G6G,757,1,no description,60.2 -758,I7N3G6G,758,1,no description,60.2 -759,I7N3G6G,759,1,no description,60.2 -760,I7N3G6G,760,1,no description,60.2 -761,I7N3G6G,761,1,no description,60.2 -762,I7N3G6G,762,1,no description,60.2 -763,I7N3G6G,763,1,no description,60.2 -764,I7N3G6G,764,1,no description,60.2 -765,I7N3G6G,765,1,no description,60.2 -766,I7N3G6G,766,1,no description,60.2 -767,I7N3G6G,767,1,no description,60.2 -768,I7N3G6G,768,1,no description,60.2 -769,I7N3G6G,769,1,no description,60.2 -770,I7N3G6G,770,1,no description,60.2 -771,I7N3G6G,771,1,no description,60.2 -772,I7N3G6G,772,1,no description,60.2 -773,I7N3G6G,773,1,no description,60.2 -774,I7N3G6G,774,1,no description,60.2 -775,I7N3G6G,775,1,no description,60.2 -776,I7N3G6G,776,1,no description,60.2 -777,I7N3G6G,777,1,no description,60.2 -778,I7N3G6G,778,1,no description,60.2 -779,I7N3G6G,779,1,no description,60.2 -780,I7N3G6G,780,1,no description,60.2 -781,I7N3G6G,781,1,no description,60.2 -782,I7N3G6G,782,1,no description,60.2 -783,I7N3G6G,783,1,no description,60.2 -784,I7N3G6G,784,1,no description,60.2 -785,I7N3G6G,785,1,no description,60.2 -786,I7N3G6G,786,1,no description,60.2 -787,I7N3G6G,787,1,no description,60.2 -788,I7N3G6G,788,1,no description,60.2 -789,I7N3G6G,789,1,no description,60.2 -790,I7N3G6G,790,1,no description,60.2 -791,I7N3G6G,791,1,no description,60.2 -792,I7N3G6G,792,1,no description,60.2 -793,I7N3G6G,793,1,no description,60.2 -794,I7N3G6G,794,1,no description,60.2 -795,I7N3G6G,795,1,no description,60.2 -796,I7N3G6G,796,1,no description,60.2 -797,I7N3G6G,797,1,no description,60.2 -798,I7N3G6G,798,1,no description,60.2 -799,I7N3G6G,799,1,no description,60.2 -800,I7N3G6G,800,1,no description,60.2 -801,I7N3G6G,801,1,no description,60.2 -802,I7N3G6G,802,1,no description,60.2 -803,I7N3G6G,803,1,no description,60.2 -804,I7N3G6G,804,1,no description,60.2 -805,I7N3G6G,805,1,no description,60.2 -806,I7N3G6G,806,1,no description,60.2 -807,I7N3G6G,807,1,no description,60.2 -808,I7N3G6G,808,1,no description,60.2 -809,I7N3G6G,809,1,no description,60.2 -810,I7N3G6G,810,1,no description,60.2 -811,I7N3G6G,811,1,no description,60.2 -812,I7N3G6G,812,1,no description,60.2 -813,I7N3G6G,813,1,no description,60.2 -814,I7N3G6G,814,1,no description,60.2 -815,I7N3G6G,815,1,no description,60.2 -816,I7N3G6G,816,1,no description,60.2 -817,I7N3G6G,817,1,no description,60.2 -818,I7N3G6G,818,1,no description,60.2 -819,I7N3G6G,819,1,no description,60.2 -820,I7N3G6G,820,1,no description,60.2 -821,I7N3G6G,821,1,no description,60.2 -822,I7N3G6G,822,1,no description,60.2 -823,I7N3G6G,823,1,no description,60.2 -824,I7N3G6G,824,1,no description,60.2 -825,I7N3G6G,825,1,no description,60.2 -826,I7N3G6G,826,1,no description,60.2 -827,I7N3G6G,827,1,no description,60.2 -828,I7N3G6G,828,1,no description,60.2 -829,I7N3G6G,829,1,no description,60.2 -830,I7N3G6G,830,1,no description,60.2 -831,I7N3G6G,831,1,no description,60.2 -832,I7N3G6G,832,1,no description,60.2 -833,I7N3G6G,833,1,no description,60.2 -834,I7N3G6G,834,1,no description,60.2 -835,I7N3G6G,835,1,no description,60.2 -836,I7N3G6G,836,1,no description,60.2 -837,I7N3G6G,837,1,no description,60.2 -838,I7N3G6G,838,1,no description,60.2 -839,I7N3G6G,839,1,no description,60.2 -840,I7N3G6G,840,1,no description,60.2 -841,I7N3G6G,841,1,no description,60.2 -842,I7N3G6G,842,1,no description,60.2 -843,I7N3G6G,843,1,no description,60.2 -844,I7N3G6G,844,1,no description,60.2 -845,I7N3G6G,845,1,no description,60.2 -846,I7N3G6G,846,1,no description,60.2 -847,I7N3G6G,847,1,no description,60.2 -848,I7N3G6G,848,1,no description,60.2 -849,I7N3G6G,849,1,no description,60.2 -850,I7N3G6G,850,1,no description,60.2 -851,I7N3G6G,851,1,no description,60.2 -852,I7N3G6G,852,1,no description,60.2 -853,I7N3G6G,853,1,no description,60.2 -854,I7N3G6G,854,1,no description,60.2 -855,I7N3G6G,855,1,no description,60.2 -856,I7N3G6G,856,1,no description,60.2 -857,I7N3G6G,857,1,no description,60.2 -858,I7N3G6G,858,1,no description,60.2 -859,I7N3G6G,859,1,no description,60.2 -860,I7N3G6G,860,1,no description,60.2 -861,I7N3G6G,861,1,no description,60.2 -862,I7N3G6G,862,1,no description,60.2 -863,I7N3G6G,863,1,no description,60.2 -864,I7N3G6G,864,1,no description,60.2 -865,I7N3G6G,865,1,no description,60.2 -866,I7N3G6G,866,1,no description,60.2 -867,I7N3G6G,867,1,no description,60.2 -868,I7N3G6G,868,1,no description,60.2 -869,I7N3G6G,869,1,no description,60.2 -870,I7N3G6G,870,1,no description,60.2 -871,I7N3G6G,871,1,no description,60.2 -872,I7N3G6G,872,1,no description,60.2 -873,I7N3G6G,873,1,no description,60.2 -874,I7N3G6G,874,1,no description,60.2 -875,I7N3G6G,875,1,no description,60.2 -876,I7N3G6G,876,1,no description,60.2 -877,I7N3G6G,877,1,no description,60.2 -878,I7N3G6G,878,1,no description,60.2 -879,I7N3G6G,879,1,no description,60.2 -880,I7N3G6G,880,1,no description,60.2 -881,I7N3G6G,881,1,no description,60.2 -882,I7N3G6G,882,1,no description,60.2 -883,I7N3G6G,883,1,no description,60.2 -884,I7N3G6G,884,1,no description,60.2 -885,I7N3G6G,885,1,no description,60.2 -886,I7N3G6G,886,1,no description,60.2 -887,I7N3G6G,887,1,no description,60.2 -888,I7N3G6G,888,1,no description,60.2 -889,I7N3G6G,889,1,no description,60.2 -890,I7N3G6G,890,1,no description,60.2 -891,I7N3G6G,891,1,no description,60.2 -892,I7N3G6G,892,1,no description,60.2 -893,I7N3G6G,893,1,no description,60.2 -894,I7N3G6G,894,1,no description,60.2 -895,I7N3G6G,895,1,no description,60.2 -896,I7N3G6G,896,1,no description,60.2 -897,I7N3G6G,897,1,no description,60.2 -898,I7N3G6G,898,1,no description,60.2 -899,I7N3G6G,899,1,no description,60.2 -900,I7N3G6G,900,1,no description,60.2 -901,I7N3G6G,901,1,no description,60.2 -902,I7N3G6G,902,1,no description,60.2 -903,I7N3G6G,903,1,no description,60.2 -904,I7N3G6G,904,1,no description,60.2 -905,I7N3G6G,905,1,no description,60.2 -906,I7N3G6G,906,1,no description,60.2 -907,I7N3G6G,907,1,no description,60.2 -908,I7N3G6G,908,1,no description,60.2 -909,I7N3G6G,909,1,no description,60.2 -910,I7N3G6G,910,1,no description,60.2 -911,I7N3G6G,911,1,no description,60.2 -912,I7N3G6G,912,1,no description,60.2 -913,I7N3G6G,913,1,no description,60.2 -914,I7N3G6G,914,1,no description,60.2 -915,I7N3G6G,915,1,no description,60.2 -916,I7N3G6G,916,1,no description,60.2 -917,I7N3G6G,917,1,no description,60.2 -918,I7N3G6G,918,1,no description,60.2 -919,I7N3G6G,919,1,no description,60.2 -920,I7N3G6G,920,1,no description,60.2 -921,I7N3G6G,921,1,no description,60.2 -922,I7N3G6G,922,1,no description,60.2 -923,I7N3G6G,923,1,no description,60.2 -924,I7N3G6G,924,1,no description,60.2 -925,I7N3G6G,925,1,no description,60.2 -926,I7N3G6G,926,1,no description,60.2 -927,I7N3G6G,927,1,no description,60.2 -928,I7N3G6G,928,1,no description,60.2 -929,I7N3G6G,929,1,no description,60.2 -930,I7N3G6G,930,1,no description,60.2 -931,I7N3G6G,931,1,no description,60.2 -932,I7N3G6G,932,1,no description,60.2 -933,I7N3G6G,933,1,no description,60.2 -934,I7N3G6G,934,1,no description,60.2 -935,I7N3G6G,935,1,no description,60.2 -936,I7N3G6G,936,1,no description,60.2 -937,I7N3G6G,937,1,no description,60.2 -938,I7N3G6G,938,1,no description,60.2 -939,I7N3G6G,939,1,no description,60.2 -940,I7N3G6G,940,1,no description,60.2 -941,I7N3G6G,941,1,no description,60.2 -942,I7N3G6G,942,1,no description,60.2 -943,I7N3G6G,943,1,no description,60.2 -944,I7N3G6G,944,1,no description,60.2 -945,I7N3G6G,945,1,no description,60.2 -946,I7N3G6G,946,1,no description,60.2 -947,I7N3G6G,947,1,no description,60.2 -948,I7N3G6G,948,1,no description,60.2 -949,I7N3G6G,949,1,no description,60.2 -950,I7N3G6G,950,1,no description,60.2 -951,I7N3G6G,951,1,no description,60.2 -952,I7N3G6G,952,1,no description,60.2 -953,I7N3G6G,953,1,no description,60.2 -954,I7N3G6G,954,1,no description,60.2 -955,I7N3G6G,955,1,no description,60.2 -956,I7N3G6G,956,1,no description,60.2 -957,I7N3G6G,957,1,no description,60.2 -958,I7N3G6G,958,1,no description,60.2 -959,I7N3G6G,959,1,no description,60.2 -960,I7N3G6G,960,1,no description,60.2 -961,I7N3G6G,961,1,no description,60.2 -962,I7N3G6G,962,1,no description,60.2 -963,I7N3G6G,963,1,no description,60.2 -964,I7N3G6G,964,1,no description,60.2 -965,I7N3G6G,965,1,no description,60.2 -966,I7N3G6G,966,1,no description,60.2 -967,I7N3G6G,967,1,no description,60.2 -968,I7N3G6G,968,1,no description,60.2 -969,I7N3G6G,969,1,no description,60.2 -970,I7N3G6G,970,1,no description,60.2 -971,I7N3G6G,971,1,no description,60.2 -972,I7N3G6G,972,1,no description,60.2 -973,I7N3G6G,973,1,no description,60.2 -974,I7N3G6G,974,1,no description,60.2 -975,I7N3G6G,975,1,no description,60.2 -976,I7N3G6G,976,1,no description,60.2 -977,I7N3G6G,977,1,no description,60.2 -978,I7N3G6G,978,1,no description,60.2 -979,I7N3G6G,979,1,no description,60.2 -980,I7N3G6G,980,1,no description,60.2 -981,I7N3G6G,981,1,no description,60.2 -982,I7N3G6G,982,1,no description,60.2 -983,I7N3G6G,983,1,no description,60.2 -984,I7N3G6G,984,1,no description,60.2 -985,I7N3G6G,985,1,no description,60.2 -986,I7N3G6G,986,1,no description,60.2 -987,I7N3G6G,987,1,no description,60.2 -988,I7N3G6G,988,1,no description,60.2 -989,I7N3G6G,989,1,no description,60.2 -990,I7N3G6G,990,1,no description,60.2 -991,I7N3G6G,991,1,no description,60.2 -992,I7N3G6G,992,1,no description,60.2 -993,I7N3G6G,993,1,no description,60.2 -994,I7N3G6G,994,1,no description,60.2 -995,I7N3G6G,995,1,no description,60.2 -996,I7N3G6G,996,1,no description,60.2 -997,I7N3G6G,997,1,no description,60.2 -998,I7N3G6G,998,1,no description,60.2 -999,I7N3G6G,999,1,no description,60.2 -1000,I7N3G6G,1000,1,no description,60.2 -1001,I7N3G6G,1001,1,no description,60.2 -1002,I7N3G6G,1002,1,no description,60.2 -1003,I7N3G6G,1003,1,no description,60.2 -1004,I7N3G6G,1004,1,no description,60.2 -1005,I7N3G6G,1005,1,no description,60.2 -1006,I7N3G6G,1006,1,no description,60.2 -1007,I7N3G6G,1007,1,no description,60.2 -1008,I7N3G6G,1008,1,no description,60.2 -1009,I7N3G6G,1009,1,no description,60.2 -1010,I7N3G6G,1010,1,no description,60.2 -1011,I7N3G6G,1011,1,no description,60.2 -1012,I7N3G6G,1012,1,no description,60.2 -1013,I7N3G6G,1013,1,no description,60.2 -1014,I7N3G6G,1014,1,no description,60.2 -1015,I7N3G6G,1015,1,no description,60.2 -1016,I7N3G6G,1016,1,no description,60.2 -1017,I7N3G6G,1017,1,no description,60.2 -1018,I7N3G6G,1018,1,no description,60.2 -1019,I7N3G6G,1019,1,no description,60.2 -1020,I7N3G6G,1020,1,no description,60.2 -1021,I7N3G6G,1021,1,no description,60.2 -1022,I7N3G6G,1022,1,no description,60.2 -1023,I7N3G6G,1023,1,no description,60.2 -1024,I7N3G6G,1024,1,no description,60.2 -1025,I7N3G6G,1025,1,no description,60.2 -1026,I7N3G6G,1026,1,no description,60.2 -1027,I7N3G6G,1027,1,no description,60.2 -1028,I7N3G6G,1028,1,no description,60.2 -1029,I7N3G6G,1029,1,no description,60.2 -1030,I7N3G6G,1030,1,no description,60.2 -1031,I7N3G6G,1031,1,no description,60.2 -1032,I7N3G6G,1032,1,no description,60.2 -1033,I7N3G6G,1033,1,no description,60.2 -1034,I7N3G6G,1034,1,no description,60.2 -1035,I7N3G6G,1035,1,no description,60.2 -1036,I7N3G6G,1036,1,no description,60.2 -1037,I7N3G6G,1037,1,no description,60.2 -1038,I7N3G6G,1038,1,no description,60.2 -1039,I7N3G6G,1039,1,no description,60.2 -1040,I7N3G6G,1040,1,no description,60.2 -1041,I7N3G6G,1041,1,no description,60.2 -1042,I7N3G6G,1042,1,no description,60.2 -1043,I7N3G6G,1043,1,no description,60.2 -1044,I7N3G6G,1044,1,no description,60.2 -1045,I7N3G6G,1045,1,no description,60.2 -1046,I7N3G6G,1046,1,no description,60.2 -1047,I7N3G6G,1047,1,no description,60.2 -1048,I7N3G6G,1048,1,no description,60.2 -1049,I7N3G6G,1049,1,no description,60.2 -1050,I7N3G6G,1050,1,no description,60.2 -1051,I7N3G6G,1051,1,no description,60.2 -1052,I7N3G6G,1052,1,no description,60.2 -1053,I7N3G6G,1053,1,no description,60.2 -1054,I7N3G6G,1054,1,no description,60.2 -1055,I7N3G6G,1055,1,no description,60.2 -1056,I7N3G6G,1056,1,no description,60.2 -1057,I7N3G6G,1057,1,no description,60.2 -1058,I7N3G6G,1058,1,no description,60.2 -1059,I7N3G6G,1059,1,no description,60.2 -1060,I7N3G6G,1060,1,no description,60.2 -1061,I7N3G6G,1061,1,no description,60.2 -1062,I7N3G6G,1062,1,no description,60.2 -1063,I7N3G6G,1063,1,no description,60.2 -1064,I7N3G6G,1064,1,no description,60.2 -1065,I7N3G6G,1065,1,no description,60.2 -1066,I7N3G6G,1066,1,no description,60.2 -1067,I7N3G6G,1067,1,no description,60.2 -1068,I7N3G6G,1068,1,no description,60.2 -1069,I7N3G6G,1069,1,no description,60.2 -1070,I7N3G6G,1070,1,no description,60.2 -1071,I7N3G6G,1071,1,no description,60.2 -1072,I7N3G6G,1072,1,no description,60.2 -1073,I7N3G6G,1073,1,no description,60.2 -1074,I7N3G6G,1074,1,no description,60.2 -1075,I7N3G6G,1075,1,no description,60.2 -1076,I7N3G6G,1076,1,no description,60.2 -1077,I7N3G6G,1077,1,no description,60.2 -1078,I7N3G6G,1078,1,no description,60.2 -1079,I7N3G6G,1079,1,no description,60.2 -1080,I7N3G6G,1080,1,no description,60.2 -1081,I7N3G6G,1081,1,no description,60.2 -1082,I7N3G6G,1082,1,no description,60.2 -1083,I7N3G6G,1083,1,no description,60.2 -1084,I7N3G6G,1084,1,no description,60.2 -1085,I7N3G6G,1085,1,no description,60.2 -1086,I7N3G6G,1086,1,no description,60.2 -1087,I7N3G6G,1087,1,no description,60.2 -1088,I7N3G6G,1088,1,no description,60.2 -1089,I7N3G6G,1089,1,no description,60.2 -1090,I7N3G6G,1090,1,no description,60.2 -1091,I7N3G6G,1091,1,no description,60.2 -1092,I7N3G6G,1092,1,no description,60.2 -1093,I7N3G6G,1093,1,no description,60.2 -1094,I7N3G6G,1094,1,no description,60.2 -1095,I7N3G6G,1095,1,no description,60.2 -1096,I7N3G6G,1096,1,no description,60.2 -1097,I7N3G6G,1097,1,no description,60.2 -1098,I7N3G6G,1098,1,no description,60.2 -1099,I7N3G6G,1099,1,no description,60.2 -1100,I7N3G6G,1100,1,no description,60.2 -1101,I7N3G6G,1101,1,no description,60.2 -1102,I7N3G6G,1102,1,no description,60.2 -1103,I7N3G6G,1103,1,no description,60.2 -1104,I7N3G6G,1104,1,no description,60.2 -1105,I7N3G6G,1105,1,no description,60.2 -1106,I7N3G6G,1106,1,no description,60.2 -1107,I7N3G6G,1107,1,no description,60.2 -1108,I7N3G6G,1108,1,no description,60.2 -1109,I7N3G6G,1109,1,no description,60.2 -1110,I7N3G6G,1110,1,no description,60.2 -1111,I7N3G6G,1111,1,no description,60.2 -1112,I7N3G6G,1112,1,no description,60.2 -1113,I7N3G6G,1113,1,no description,60.2 -1114,I7N3G6G,1114,1,no description,60.2 -1115,I7N3G6G,1115,1,no description,60.2 -1116,I7N3G6G,1116,1,no description,60.2 -1117,I7N3G6G,1117,1,no description,60.2 -1118,I7N3G6G,1118,1,no description,60.2 -1119,I7N3G6G,1119,1,no description,60.2 -1120,I7N3G6G,1120,1,no description,60.2 -1121,I7N3G6G,1121,1,no description,60.2 -1122,I7N3G6G,1122,1,no description,60.2 -1123,I7N3G6G,1123,1,no description,60.2 -1124,I7N3G6G,1124,1,no description,60.2 -1125,I7N3G6G,1125,1,no description,60.2 -1126,I7N3G6G,1126,1,no description,60.2 -1127,I7N3G6G,1127,1,no description,60.2 -1128,I7N3G6G,1128,1,no description,60.2 -1129,I7N3G6G,1129,1,no description,60.2 -1130,I7N3G6G,1130,1,no description,60.2 -1131,I7N3G6G,1131,1,no description,60.2 -1132,I7N3G6G,1132,1,no description,60.2 -1133,I7N3G6G,1133,1,no description,60.2 -1134,I7N3G6G,1134,1,no description,60.2 -1135,I7N3G6G,1135,1,no description,60.2 -1136,I7N3G6G,1136,1,no description,60.2 -1137,I7N3G6G,1137,1,no description,60.2 -1138,I7N3G6G,1138,1,no description,60.2 -1139,I7N3G6G,1139,1,no description,60.2 -1140,I7N3G6G,1140,1,no description,60.2 -1141,I7N3G6G,1141,1,no description,60.2 -1142,I7N3G6G,1142,1,no description,60.2 -1143,I7N3G6G,1143,1,no description,60.2 -1144,I7N3G6G,1144,1,no description,60.2 -1145,I7N3G6G,1145,1,no description,60.2 -1146,I7N3G6G,1146,1,no description,60.2 -1147,I7N3G6G,1147,1,no description,60.2 -1148,I7N3G6G,1148,1,no description,60.2 -1149,I7N3G6G,1149,1,no description,60.2 -1150,I7N3G6G,1150,1,no description,60.2 -1151,I7N3G6G,1151,1,no description,60.2 -1152,I7N3G6G,1152,1,no description,60.2 -1153,I7N3G6G,1153,1,no description,60.2 -1154,I7N3G6G,1154,1,no description,60.2 -1155,I7N3G6G,1155,1,no description,60.2 -1156,I7N3G6G,1156,1,no description,60.2 -1157,I7N3G6G,1157,1,no description,60.2 -1158,I7N3G6G,1158,1,no description,60.2 -1159,I7N3G6G,1159,1,no description,60.2 -1160,I7N3G6G,1160,1,no description,60.2 -1161,I7N3G6G,1161,1,no description,60.2 -1162,I7N3G6G,1162,1,no description,60.2 -1163,I7N3G6G,1163,1,no description,60.2 -1164,I7N3G6G,1164,1,no description,60.2 -1165,I7N3G6G,1165,1,no description,60.2 -1166,I7N3G6G,1166,1,no description,60.2 -1167,I7N3G6G,1167,1,no description,60.2 -1168,I7N3G6G,1168,1,no description,60.2 -1169,I7N3G6G,1169,1,no description,60.2 -1170,I7N3G6G,1170,1,no description,60.2 -1171,I7N3G6G,1171,1,no description,60.2 -1172,I7N3G6G,1172,1,no description,60.2 -1173,I7N3G6G,1173,1,no description,60.2 -1174,I7N3G6G,1174,1,no description,60.2 -1175,I7N3G6G,1175,1,no description,60.2 -1176,I7N3G6G,1176,1,no description,60.2 -1177,I7N3G6G,1177,1,no description,60.2 -1178,I7N3G6G,1178,1,no description,60.2 -1179,I7N3G6G,1179,1,no description,60.2 -1180,I7N3G6G,1180,1,no description,60.2 -1181,I7N3G6G,1181,1,no description,60.2 -1182,I7N3G6G,1182,1,no description,60.2 -1183,I7N3G6G,1183,1,no description,60.2 -1184,I7N3G6G,1184,1,no description,60.2 -1185,I7N3G6G,1185,1,no description,60.2 -1186,I7N3G6G,1186,1,no description,60.2 -1187,I7N3G6G,1187,1,no description,60.2 -1188,I7N3G6G,1188,1,no description,60.2 -1189,I7N3G6G,1189,1,no description,60.2 -1190,I7N3G6G,1190,1,no description,60.2 -1191,I7N3G6G,1191,1,no description,60.2 -1192,I7N3G6G,1192,1,no description,60.2 -1193,I7N3G6G,1193,1,no description,60.2 -1194,I7N3G6G,1194,1,no description,60.2 -1195,I7N3G6G,1195,1,no description,60.2 -1196,I7N3G6G,1196,1,no description,60.2 -1197,I7N3G6G,1197,1,no description,60.2 -1198,I7N3G6G,1198,1,no description,60.2 -1199,I7N3G6G,1199,1,no description,60.2 -1200,I7N3G6G,1200,1,no description,60.2 -1201,I7N3G6G,1201,1,no description,60.2 -1202,I7N3G6G,1202,1,no description,60.2 -1203,I7N3G6G,1203,1,no description,60.2 -1204,I7N3G6G,1204,1,no description,60.2 -1205,I7N3G6G,1205,1,no description,60.2 -1206,I7N3G6G,1206,1,no description,60.2 -1207,I7N3G6G,1207,1,no description,60.2 -1208,I7N3G6G,1208,1,no description,60.2 -1209,I7N3G6G,1209,1,no description,60.2 -1210,I7N3G6G,1210,1,no description,60.2 -1211,I7N3G6G,1211,1,no description,60.2 -1212,I7N3G6G,1212,1,no description,60.2 -1213,I7N3G6G,1213,1,no description,60.2 -1214,I7N3G6G,1214,1,no description,60.2 -1215,I7N3G6G,1215,1,no description,60.2 -1216,I7N3G6G,1216,1,no description,60.2 -1217,I7N3G6G,1217,1,no description,60.2 -1218,I7N3G6G,1218,1,no description,60.2 -1219,I7N3G6G,1219,1,no description,60.2 -1220,I7N3G6G,1220,1,no description,60.2 -1221,I7N3G6G,1221,1,no description,60.2 -1222,I7N3G6G,1222,1,no description,60.2 -1223,I7N3G6G,1223,1,no description,60.2 -1224,I7N3G6G,1224,1,no description,60.2 -1225,I7N3G6G,1225,1,no description,60.2 -1226,I7N3G6G,1226,1,no description,60.2 -1227,I7N3G6G,1227,1,no description,60.2 -1228,I7N3G6G,1228,1,no description,60.2 -1229,I7N3G6G,1229,1,no description,60.2 -1230,I7N3G6G,1230,1,no description,60.2 -1231,I7N3G6G,1231,1,no description,60.2 -1232,I7N3G6G,1232,1,no description,60.2 -1233,I7N3G6G,1233,1,no description,60.2 -1234,I7N3G6G,1234,1,no description,60.2 -1235,I7N3G6G,1235,1,no description,60.2 -1236,I7N3G6G,1236,1,no description,60.2 -1237,I7N3G6G,1237,1,no description,60.2 -1238,I7N3G6G,1238,1,no description,60.2 -1239,I7N3G6G,1239,1,no description,60.2 -1240,I7N3G6G,1240,1,no description,60.2 -1241,I7N3G6G,1241,1,no description,60.2 -1242,I7N3G6G,1242,1,no description,60.2 -1243,I7N3G6G,1243,1,no description,60.2 -1244,I7N3G6G,1244,1,no description,60.2 -1245,I7N3G6G,1245,1,no description,60.2 -1246,I7N3G6G,1246,1,no description,60.2 -1247,I7N3G6G,1247,1,no description,60.2 -1248,I7N3G6G,1248,1,no description,60.2 -1249,I7N3G6G,1249,1,no description,60.2 -1250,I7N3G6G,1250,1,no description,60.2 -1251,I7N3G6G,1251,1,no description,60.2 -1252,I7N3G6G,1252,1,no description,60.2 -1253,I7N3G6G,1253,1,no description,60.2 -1254,I7N3G6G,1254,1,no description,60.2 -1255,I7N3G6G,1255,1,no description,60.2 -1256,I7N3G6G,1256,1,no description,60.2 -1257,I7N3G6G,1257,1,no description,60.2 -1258,I7N3G6G,1258,1,no description,60.2 -1259,I7N3G6G,1259,1,no description,60.2 -1260,I7N3G6G,1260,1,no description,60.2 -1261,I7N3G6G,1261,1,no description,60.2 -1262,I7N3G6G,1262,1,no description,60.2 -1263,I7N3G6G,1263,1,no description,60.2 -1264,I7N3G6G,1264,1,no description,60.2 -1265,I7N3G6G,1265,1,no description,60.2 -1266,I7N3G6G,1266,1,no description,60.2 -1267,I7N3G6G,1267,1,no description,60.2 -1268,I7N3G6G,1268,1,no description,60.2 -1269,I7N3G6G,1269,1,no description,60.2 -1270,I7N3G6G,1270,1,no description,60.2 -1271,I7N3G6G,1271,1,no description,60.2 -1272,I7N3G6G,1272,1,no description,60.2 -1273,I7N3G6G,1273,1,no description,60.2 -1274,I7N3G6G,1274,1,no description,60.2 -1275,I7N3G6G,1275,1,no description,60.2 -1276,I7N3G6G,1276,1,no description,60.2 -1277,I7N3G6G,1277,1,no description,60.2 -1278,I7N3G6G,1278,1,no description,60.2 -1279,I7N3G6G,1279,1,no description,60.2 -1280,I7N3G6G,1280,1,no description,60.2 -1281,I7N3G6G,1281,1,no description,60.2 -1282,I7N3G6G,1282,1,no description,60.2 -1283,I7N3G6G,1283,1,no description,60.2 -1284,I7N3G6G,1284,1,no description,60.2 -1285,I7N3G6G,1285,1,no description,60.2 -1286,I7N3G6G,1286,1,no description,60.2 -1287,I7N3G6G,1287,1,no description,60.2 -1288,I7N3G6G,1288,1,no description,60.2 -1289,I7N3G6G,1289,1,no description,60.2 -1290,I7N3G6G,1290,1,no description,60.2 -1291,I7N3G6G,1291,1,no description,60.2 -1292,I7N3G6G,1292,1,no description,60.2 -1293,I7N3G6G,1293,1,no description,60.2 -1294,I7N3G6G,1294,1,no description,60.2 -1295,I7N3G6G,1295,1,no description,60.2 -1296,I7N3G6G,1296,1,no description,60.2 -1297,I7N3G6G,1297,1,no description,60.2 -1298,I7N3G6G,1298,1,no description,60.2 -1299,I7N3G6G,1299,1,no description,60.2 -1300,I7N3G6G,1300,1,no description,60.2 -1301,I7N3G6G,1301,1,no description,60.2 -1302,I7N3G6G,1302,1,no description,60.2 -1303,I7N3G6G,1303,1,no description,60.2 -1304,I7N3G6G,1304,1,no description,60.2 -1305,I7N3G6G,1305,1,no description,60.2 -1306,I7N3G6G,1306,1,no description,60.2 -1307,I7N3G6G,1307,1,no description,60.2 -1308,I7N3G6G,1308,1,no description,60.2 -1309,I7N3G6G,1309,1,no description,60.2 -1310,I7N3G6G,1310,1,no description,60.2 -1311,I7N3G6G,1311,1,no description,60.2 -1312,I7N3G6G,1312,1,no description,60.2 -1313,I7N3G6G,1313,1,no description,60.2 -1314,I7N3G6G,1314,1,no description,60.2 -1315,I7N3G6G,1315,1,no description,60.2 -1316,I7N3G6G,1316,1,no description,60.2 -1317,I7N3G6G,1317,1,no description,60.2 -1318,I7N3G6G,1318,1,no description,60.2 -1319,I7N3G6G,1319,1,no description,60.2 -1320,I7N3G6G,1320,1,no description,60.2 -1321,I7N3G6G,1321,1,no description,60.2 -1322,I7N3G6G,1322,1,no description,60.2 -1323,I7N3G6G,1323,1,no description,60.2 -1324,I7N3G6G,1324,1,no description,60.2 -1325,I7N3G6G,1325,1,no description,60.2 -1326,I7N3G6G,1326,1,no description,60.2 -1327,I7N3G6G,1327,1,no description,60.2 -1328,I7N3G6G,1328,1,no description,60.2 -1329,I7N3G6G,1329,1,no description,60.2 -1330,I7N3G6G,1330,1,no description,60.2 -1331,I7N3G6G,1331,1,no description,60.2 -1332,I7N3G6G,1332,1,no description,60.2 -1333,I7N3G6G,1333,1,no description,60.2 -1334,I7N3G6G,1334,1,no description,60.2 -1335,I7N3G6G,1335,1,no description,60.2 -1336,I7N3G6G,1336,1,no description,60.2 -1337,I7N3G6G,1337,1,no description,60.2 -1338,I7N3G6G,1338,1,no description,60.2 -1339,I7N3G6G,1339,1,no description,60.2 -1340,I7N3G6G,1340,1,no description,60.2 -1341,I7N3G6G,1341,1,no description,60.2 -1342,I7N3G6G,1342,1,no description,60.2 -1343,I7N3G6G,1343,1,no description,60.2 -1344,I7N3G6G,1344,1,no description,60.2 -1345,I7N3G6G,1345,1,no description,60.2 -1346,I7N3G6G,1346,1,no description,60.2 -1347,I7N3G6G,1347,1,no description,60.2 -1348,I7N3G6G,1348,1,no description,60.2 -1349,I7N3G6G,1349,1,no description,60.2 -1350,I7N3G6G,1350,1,no description,60.2 -1351,I7N3G6G,1351,1,no description,60.2 -1352,I7N3G6G,1352,1,no description,60.2 -1353,I7N3G6G,1353,1,no description,60.2 -1354,I7N3G6G,1354,1,no description,60.2 -1355,I7N3G6G,1355,1,no description,60.2 -1356,I7N3G6G,1356,1,no description,60.2 -1357,I7N3G6G,1357,1,no description,60.2 -1358,I7N3G6G,1358,1,no description,60.2 -1359,I7N3G6G,1359,1,no description,60.2 -1360,I7N3G6G,1360,1,no description,60.2 -1361,I7N3G6G,1361,1,no description,60.2 -1362,I7N3G6G,1362,1,no description,60.2 -1363,I7N3G6G,1363,1,no description,60.2 -1364,I7N3G6G,1364,1,no description,60.2 -1365,I7N3G6G,1365,1,no description,60.2 -1366,I7N3G6G,1366,1,no description,60.2 -1367,I7N3G6G,1367,1,no description,60.2 -1368,I7N3G6G,1368,1,no description,60.2 -1369,I7N3G6G,1369,1,no description,60.2 -1370,I7N3G6G,1370,1,no description,60.2 -1371,I7N3G6G,1371,1,no description,60.2 -1372,I7N3G6G,1372,1,no description,60.2 -1373,I7N3G6G,1373,1,no description,60.2 -1374,I7N3G6G,1374,1,no description,60.2 -1375,I7N3G6G,1375,1,no description,60.2 -1376,I7N3G6G,1376,1,no description,60.2 -1377,I7N3G6G,1377,1,no description,60.2 -1378,I7N3G6G,1378,1,no description,60.2 -1379,I7N3G6G,1379,1,no description,60.2 -1380,I7N3G6G,1380,1,no description,60.2 -1381,I7N3G6G,1381,1,no description,60.2 -1382,I7N3G6G,1382,1,no description,60.2 -1383,I7N3G6G,1383,1,no description,60.2 -1384,I7N3G6G,1384,1,no description,60.2 -1385,I7N3G6G,1385,1,no description,60.2 -1386,I7N3G6G,1386,1,no description,60.2 -1387,I7N3G6G,1387,1,no description,60.2 -1388,I7N3G6G,1388,1,no description,60.2 -1389,I7N3G6G,1389,1,no description,60.2 -1390,I7N3G6G,1390,1,no description,60.2 -1391,I7N3G6G,1391,1,no description,60.2 -1392,I7N3G6G,1392,1,no description,60.2 -1393,I7N3G6G,1393,1,no description,60.2 -1394,I7N3G6G,1394,1,no description,60.2 -1395,I7N3G6G,1395,1,no description,60.2 -1396,I7N3G6G,1396,1,no description,60.2 -1397,I7N3G6G,1397,1,no description,60.2 -1398,I7N3G6G,1398,1,no description,60.2 -1399,I7N3G6G,1399,1,no description,60.2 -1400,I7N3G6G,1400,1,no description,60.2 -1401,I7N3G6G,1401,1,no description,60.2 -1402,I7N3G6G,1402,1,no description,60.2 -1403,I7N3G6G,1403,1,no description,60.2 -1404,I7N3G6G,1404,1,no description,60.2 -1405,I7N3G6G,1405,1,no description,60.2 -1406,I7N3G6G,1406,1,no description,60.2 -1407,I7N3G6G,1407,1,no description,60.2 -1408,I7N3G6G,1408,1,no description,60.2 -1409,I7N3G6G,1409,1,no description,60.2 -1410,I7N3G6G,1410,1,no description,60.2 -1411,I7N3G6G,1411,1,no description,60.2 -1412,I7N3G6G,1412,1,no description,60.2 -1413,I7N3G6G,1413,1,no description,60.2 -1414,I7N3G6G,1414,1,no description,60.2 -1415,I7N3G6G,1415,1,no description,60.2 -1416,I7N3G6G,1416,1,no description,60.2 -1417,I7N3G6G,1417,1,no description,60.2 -1418,I7N3G6G,1418,1,no description,60.2 -1419,I7N3G6G,1419,1,no description,60.2 -1420,I7N3G6G,1420,1,no description,60.2 -1421,I7N3G6G,1421,1,no description,60.2 -1422,I7N3G6G,1422,1,no description,60.2 -1423,I7N3G6G,1423,1,no description,60.2 -1424,I7N3G6G,1424,1,no description,60.2 -1425,I7N3G6G,1425,1,no description,60.2 -1426,I7N3G6G,1426,1,no description,60.2 -1427,I7N3G6G,1427,1,no description,60.2 -1428,I7N3G6G,1428,1,no description,60.2 -1429,I7N3G6G,1429,1,no description,60.2 -1430,I7N3G6G,1430,1,no description,60.2 -1431,I7N3G6G,1431,1,no description,60.2 -1432,I7N3G6G,1432,1,no description,60.2 -1433,I7N3G6G,1433,1,no description,60.2 -1434,I7N3G6G,1434,1,no description,60.2 -1435,I7N3G6G,1435,1,no description,60.2 -1436,I7N3G6G,1436,1,no description,60.2 -1437,I7N3G6G,1437,1,no description,60.2 -1438,I7N3G6G,1438,1,no description,60.2 -1439,I7N3G6G,1439,1,no description,60.2 -1440,I7N3G6G,1440,1,no description,60.2 -1441,I7N3G6G,1441,1,no description,60.2 -1442,I7N3G6G,1442,1,no description,60.2 -1443,I7N3G6G,1443,1,no description,60.2 -1444,I7N3G6G,1444,1,no description,60.2 -1445,I7N3G6G,1445,1,no description,60.2 -1446,I7N3G6G,1446,1,no description,60.2 -1447,I7N3G6G,1447,1,no description,60.2 -1448,I7N3G6G,1448,1,no description,60.2 -1449,I7N3G6G,1449,1,no description,60.2 -1450,I7N3G6G,1450,1,no description,60.2 -1451,I7N3G6G,1451,1,no description,60.2 -1452,I7N3G6G,1452,1,no description,60.2 -1453,I7N3G6G,1453,1,no description,60.2 -1454,I7N3G6G,1454,1,no description,60.2 -1455,I7N3G6G,1455,1,no description,60.2 -1456,I7N3G6G,1456,1,no description,60.2 -1457,I7N3G6G,1457,1,no description,60.2 -1458,I7N3G6G,1458,1,no description,60.2 -1459,I7N3G6G,1459,1,no description,60.2 -1460,I7N3G6G,1460,1,no description,60.2 -1461,I7N3G6G,1461,1,no description,60.2 -1462,I7N3G6G,1462,1,no description,60.2 -1463,I7N3G6G,1463,1,no description,60.2 -1464,I7N3G6G,1464,1,no description,60.2 -1465,I7N3G6G,1465,1,no description,60.2 -1466,I7N3G6G,1466,1,no description,60.2 -1467,I7N3G6G,1467,1,no description,60.2 -1468,I7N3G6G,1468,1,no description,60.2 -1469,I7N3G6G,1469,1,no description,60.2 -1470,I7N3G6G,1470,1,no description,60.2 -1471,I7N3G6G,1471,1,no description,60.2 -1472,I7N3G6G,1472,1,no description,60.2 -1473,I7N3G6G,1473,1,no description,60.2 -1474,I7N3G6G,1474,1,no description,60.2 -1475,I7N3G6G,1475,1,no description,60.2 -1476,I7N3G6G,1476,1,no description,60.2 -1477,I7N3G6G,1477,1,no description,60.2 -1478,I7N3G6G,1478,1,no description,60.2 -1479,I7N3G6G,1479,1,no description,60.2 -1480,I7N3G6G,1480,1,no description,60.2 -1481,I7N3G6G,1481,1,no description,60.2 -1482,I7N3G6G,1482,1,no description,60.2 -1483,I7N3G6G,1483,1,no description,60.2 -1484,I7N3G6G,1484,1,no description,60.2 -1485,I7N3G6G,1485,1,no description,60.2 -1486,I7N3G6G,1486,1,no description,60.2 -1487,I7N3G6G,1487,1,no description,60.2 -1488,I7N3G6G,1488,1,no description,60.2 -1489,I7N3G6G,1489,1,no description,60.2 -1490,I7N3G6G,1490,1,no description,60.2 -1491,I7N3G6G,1491,1,no description,60.2 -1492,I7N3G6G,1492,1,no description,60.2 -1493,I7N3G6G,1493,1,no description,60.2 -1494,I7N3G6G,1494,1,no description,60.2 -1495,I7N3G6G,1495,1,no description,60.2 -1496,I7N3G6G,1496,1,no description,60.2 -1497,I7N3G6G,1497,1,no description,60.2 -1498,I7N3G6G,1498,1,no description,60.2 -1499,I7N3G6G,1499,1,no description,60.2 -1500,I7N3G6G,1500,1,no description,60.2 -1501,I7N3G6G,1501,1,no description,60.2 -1502,I7N3G6G,1502,1,no description,60.2 -1503,I7N3G6G,1503,1,no description,60.2 -1504,I7N3G6G,1504,1,no description,60.2 -1505,I7N3G6G,1505,1,no description,60.2 -1506,I7N3G6G,1506,1,no description,60.2 -1507,I7N3G6G,1507,1,no description,60.2 -1508,I7N3G6G,1508,1,no description,60.2 -1509,I7N3G6G,1509,1,no description,60.2 -1510,I7N3G6G,1510,1,no description,60.2 -1511,I7N3G6G,1511,1,no description,60.2 -1512,I7N3G6G,1512,1,no description,60.2 -1513,I7N3G6G,1513,1,no description,60.2 -1514,I7N3G6G,1514,1,no description,60.2 -1515,I7N3G6G,1515,1,no description,60.2 -1516,I7N3G6G,1516,1,no description,60.2 -1517,I7N3G6G,1517,1,no description,60.2 -1518,I7N3G6G,1518,1,no description,60.2 -1519,I7N3G6G,1519,1,no description,60.2 -1520,I7N3G6G,1520,1,no description,60.2 -1521,I7N3G6G,1521,1,no description,60.2 -1522,I7N3G6G,1522,1,no description,60.2 -1523,I7N3G6G,1523,1,no description,60.2 -1524,I7N3G6G,1524,1,no description,60.2 -1525,I7N3G6G,1525,1,no description,60.2 -1526,I7N3G6G,1526,1,no description,60.2 -1527,I7N3G6G,1527,1,no description,60.2 -1528,I7N3G6G,1528,1,no description,60.2 -1529,I7N3G6G,1529,1,no description,60.2 -1530,I7N3G6G,1530,1,no description,60.2 -1531,I7N3G6G,1531,1,no description,60.2 -1532,I7N3G6G,1532,1,no description,60.2 -1533,I7N3G6G,1533,1,no description,60.2 -1534,I7N3G6G,1534,1,no description,60.2 -1535,I7N3G6G,1535,1,no description,60.2 -1536,I7N3G6G,1536,1,no description,60.2 -1537,I7N3G6G,1537,1,no description,60.2 -1538,I7N3G6G,1538,1,no description,60.2 -1539,I7N3G6G,1539,1,no description,60.2 -1540,I7N3G6G,1540,1,no description,60.2 -1541,I7N3G6G,1541,1,no description,60.2 -1542,I7N3G6G,1542,1,no description,60.2 -1543,I7N3G6G,1543,1,no description,60.2 -1544,I7N3G6G,1544,1,no description,60.2 -1545,I7N3G6G,1545,1,no description,60.2 -1546,I7N3G6G,1546,1,no description,60.2 -1547,I7N3G6G,1547,1,no description,60.2 -1548,I7N3G6G,1548,1,no description,60.2 -1549,I7N3G6G,1549,1,no description,60.2 -1550,I7N3G6G,1550,1,no description,60.2 -1551,I7N3G6G,1551,1,no description,60.2 -1552,I7N3G6G,1552,1,no description,60.2 -1553,I7N3G6G,1553,1,no description,60.2 -1554,I7N3G6G,1554,1,no description,60.2 -1555,I7N3G6G,1555,1,no description,60.2 -1556,I7N3G6G,1556,1,no description,60.2 -1557,I7N3G6G,1557,1,no description,60.2 -1558,I7N3G6G,1558,1,no description,60.2 -1559,I7N3G6G,1559,1,no description,60.2 -1560,I7N3G6G,1560,1,no description,60.2 -1561,I7N3G6G,1561,1,no description,60.2 -1562,I7N3G6G,1562,1,no description,60.2 -1563,I7N3G6G,1563,1,no description,60.2 -1564,I7N3G6G,1564,1,no description,60.2 -1565,I7N3G6G,1565,1,no description,60.2 -1566,I7N3G6G,1566,1,no description,60.2 -1567,I7N3G6G,1567,1,no description,60.2 -1568,I7N3G6G,1568,1,no description,60.2 -1569,I7N3G6G,1569,1,no description,60.2 -1570,I7N3G6G,1570,1,no description,60.2 -1571,I7N3G6G,1571,1,no description,60.2 -1572,I7N3G6G,1572,1,no description,60.2 -1573,I7N3G6G,1573,1,no description,60.2 -1574,I7N3G6G,1574,1,no description,60.2 -1575,I7N3G6G,1575,1,no description,60.2 -1576,I7N3G6G,1576,1,no description,60.2 -1577,I7N3G6G,1577,1,no description,60.2 -1578,I7N3G6G,1578,1,no description,60.2 -1579,I7N3G6G,1579,1,no description,60.2 -1580,I7N3G6G,1580,1,no description,60.2 -1581,I7N3G6G,1581,1,no description,60.2 -1582,I7N3G6G,1582,1,no description,60.2 -1583,I7N3G6G,1583,1,no description,60.2 -1584,I7N3G6G,1584,1,no description,60.2 -1585,I7N3G6G,1585,1,no description,60.2 -1586,I7N3G6G,1586,1,no description,60.2 -1587,I7N3G6G,1587,1,no description,60.2 -1588,I7N3G6G,1588,1,no description,60.2 -1589,I7N3G6G,1589,1,no description,60.2 -1590,I7N3G6G,1590,1,no description,60.2 -1591,I7N3G6G,1591,1,no description,60.2 -1592,I7N3G6G,1592,1,no description,60.2 -1593,I7N3G6G,1593,1,no description,60.2 -1594,I7N3G6G,1594,1,no description,60.2 -1595,I7N3G6G,1595,1,no description,60.2 -1596,I7N3G6G,1596,1,no description,60.2 -1597,I7N3G6G,1597,1,no description,60.2 -1598,I7N3G6G,1598,1,no description,60.2 -1599,I7N3G6G,1599,1,no description,60.2 -1600,I7N3G6G,1600,1,no description,60.2 -1601,I7N3G6G,1601,1,no description,60.2 -1602,I7N3G6G,1602,1,no description,60.2 -1603,I7N3G6G,1603,1,no description,60.2 -1604,I7N3G6G,1604,1,no description,60.2 -1605,I7N3G6G,1605,1,no description,60.2 -1606,I7N3G6G,1606,1,no description,60.2 -1607,I7N3G6G,1607,1,no description,60.2 -1608,I7N3G6G,1608,1,no description,60.2 -1609,I7N3G6G,1609,1,no description,60.2 -1610,I7N3G6G,1610,1,no description,60.2 -1611,I7N3G6G,1611,1,no description,60.2 -1612,I7N3G6G,1612,1,no description,60.2 -1613,I7N3G6G,1613,1,no description,60.2 -1614,I7N3G6G,1614,1,no description,60.2 -1615,I7N3G6G,1615,1,no description,60.2 -1616,I7N3G6G,1616,1,no description,60.2 -1617,I7N3G6G,1617,1,no description,60.2 -1618,I7N3G6G,1618,1,no description,60.2 -1619,I7N3G6G,1619,1,no description,60.2 -1620,I7N3G6G,1620,1,no description,60.2 -1621,I7N3G6G,1621,1,no description,60.2 -1622,I7N3G6G,1622,1,no description,60.2 -1623,I7N3G6G,1623,1,no description,60.2 -1624,I7N3G6G,1624,1,no description,60.2 -1625,I7N3G6G,1625,1,no description,60.2 -1626,I7N3G6G,1626,1,no description,60.2 -1627,I7N3G6G,1627,1,no description,60.2 -1628,I7N3G6G,1628,1,no description,60.2 -1629,I7N3G6G,1629,1,no description,60.2 -1630,I7N3G6G,1630,1,no description,60.2 -1631,I7N3G6G,1631,1,no description,60.2 -1632,I7N3G6G,1632,1,no description,60.2 -1633,I7N3G6G,1633,1,no description,60.2 -1634,I7N3G6G,1634,1,no description,60.2 -1635,I7N3G6G,1635,1,no description,60.2 -1636,I7N3G6G,1636,1,no description,60.2 -1637,I7N3G6G,1637,1,no description,60.2 -1638,I7N3G6G,1638,1,no description,60.2 -1639,I7N3G6G,1639,1,no description,60.2 -1640,I7N3G6G,1640,1,no description,60.2 -1641,I7N3G6G,1641,1,no description,60.2 -1642,I7N3G6G,1642,1,no description,60.2 -1643,I7N3G6G,1643,1,no description,60.2 -1644,I7N3G6G,1644,1,no description,60.2 -1645,I7N3G6G,1645,1,no description,60.2 -1646,I7N3G6G,1646,1,no description,60.2 -1647,I7N3G6G,1647,1,no description,60.2 -1648,I7N3G6G,1648,1,no description,60.2 -1649,I7N3G6G,1649,1,no description,60.2 -1650,I7N3G6G,1650,1,no description,60.2 -1651,I7N3G6G,1651,1,no description,60.2 -1652,I7N3G6G,1652,1,no description,60.2 -1653,I7N3G6G,1653,1,no description,60.2 -1654,I7N3G6G,1654,1,no description,60.2 -1655,I7N3G6G,1655,1,no description,60.2 -1656,I7N3G6G,1656,1,no description,60.2 -1657,I7N3G6G,1657,1,no description,60.2 -1658,I7N3G6G,1658,1,no description,60.2 -1659,I7N3G6G,1659,1,no description,60.2 -1660,I7N3G6G,1660,1,no description,60.2 -1661,I7N3G6G,1661,1,no description,60.2 -1662,I7N3G6G,1662,1,no description,60.2 -1663,I7N3G6G,1663,1,no description,60.2 -1664,I7N3G6G,1664,1,no description,60.2 -1665,I7N3G6G,1665,1,no description,60.2 -1666,I7N3G6G,1666,1,no description,60.2 -1667,I7N3G6G,1667,1,no description,60.2 -1668,I7N3G6G,1668,1,no description,60.2 -1669,I7N3G6G,1669,1,no description,60.2 -1670,I7N3G6G,1670,1,no description,60.2 -1671,I7N3G6G,1671,1,no description,60.2 -1672,I7N3G6G,1672,1,no description,60.2 -1673,I7N3G6G,1673,1,no description,60.2 -1674,I7N3G6G,1674,1,no description,60.2 -1675,I7N3G6G,1675,1,no description,60.2 -1676,I7N3G6G,1676,1,no description,60.2 -1677,I7N3G6G,1677,1,no description,60.2 -1678,I7N3G6G,1678,1,no description,60.2 -1679,I7N3G6G,1679,1,no description,60.2 -1680,I7N3G6G,1680,1,no description,60.2 -1681,I7N3G6G,1681,1,no description,60.2 -1682,I7N3G6G,1682,1,no description,60.2 -1683,I7N3G6G,1683,1,no description,60.2 -1684,I7N3G6G,1684,1,no description,60.2 -1685,I7N3G6G,1685,1,no description,60.2 -1686,I7N3G6G,1686,1,no description,60.2 -1687,I7N3G6G,1687,1,no description,60.2 -1688,I7N3G6G,1688,1,no description,60.2 -1689,I7N3G6G,1689,1,no description,60.2 -1690,I7N3G6G,1690,1,no description,60.2 -1691,I7N3G6G,1691,1,no description,60.2 -1692,I7N3G6G,1692,1,no description,60.2 -1693,I7N3G6G,1693,1,no description,60.2 -1694,I7N3G6G,1694,1,no description,60.2 -1695,I7N3G6G,1695,1,no description,60.2 -1696,I7N3G6G,1696,1,no description,60.2 -1697,I7N3G6G,1697,1,no description,60.2 -1698,I7N3G6G,1698,1,no description,60.2 -1699,I7N3G6G,1699,1,no description,60.2 -1700,I7N3G6G,1700,1,no description,60.2 -1701,I7N3G6G,1701,1,no description,60.2 -1702,I7N3G6G,1702,1,no description,60.2 -1703,I7N3G6G,1703,1,no description,60.2 -1704,I7N3G6G,1704,1,no description,60.2 -1705,I7N3G6G,1705,1,no description,60.2 -1706,I7N3G6G,1706,1,no description,60.2 -1707,I7N3G6G,1707,1,no description,60.2 -1708,I7N3G6G,1708,1,no description,60.2 -1709,I7N3G6G,1709,1,no description,60.2 -1710,I7N3G6G,1710,1,no description,60.2 -1711,I7N3G6G,1711,1,no description,60.2 -1712,I7N3G6G,1712,1,no description,60.2 -1713,I7N3G6G,1713,1,no description,60.2 -1714,I7N3G6G,1714,1,no description,60.2 -1715,I7N3G6G,1715,1,no description,60.2 -1716,I7N3G6G,1716,1,no description,60.2 -1717,I7N3G6G,1717,1,no description,60.2 -1718,I7N3G6G,1718,1,no description,60.2 -1719,I7N3G6G,1719,1,no description,60.2 -1720,I7N3G6G,1720,1,no description,60.2 -1721,I7N3G6G,1721,1,no description,60.2 -1722,I7N3G6G,1722,1,no description,60.2 -1723,I7N3G6G,1723,1,no description,60.2 -1724,I7N3G6G,1724,1,no description,60.2 -1725,I7N3G6G,1725,1,no description,60.2 -1726,I7N3G6G,1726,1,no description,60.2 -1727,I7N3G6G,1727,1,no description,60.2 -1728,I7N3G6G,1728,1,no description,60.2 -1729,I7N3G6G,1729,1,no description,60.2 -1730,I7N3G6G,1730,1,no description,60.2 -1731,I7N3G6G,1731,1,no description,60.2 -1732,I7N3G6G,1732,1,no description,60.2 -1733,I7N3G6G,1733,1,no description,60.2 -1734,I7N3G6G,1734,1,no description,60.2 -1735,I7N3G6G,1735,1,no description,60.2 -1736,I7N3G6G,1736,1,no description,60.2 -1737,I7N3G6G,1737,1,no description,60.2 -1738,I7N3G6G,1738,1,no description,60.2 -1739,I7N3G6G,1739,1,no description,60.2 -1740,I7N3G6G,1740,1,no description,60.2 -1741,I7N3G6G,1741,1,no description,60.2 -1742,I7N3G6G,1742,1,no description,60.2 -1743,I7N3G6G,1743,1,no description,60.2 -1744,I7N3G6G,1744,1,no description,60.2 -1745,I7N3G6G,1745,1,no description,60.2 -1746,I7N3G6G,1746,1,no description,60.2 -1747,I7N3G6G,1747,1,no description,60.2 -1748,I7N3G6G,1748,1,no description,60.2 -1749,I7N3G6G,1749,1,no description,60.2 -1750,I7N3G6G,1750,1,no description,60.2 -1751,I7N3G6G,1751,1,no description,60.2 -1752,I7N3G6G,1752,1,no description,60.2 -1753,I7N3G6G,1753,1,no description,60.2 -1754,I7N3G6G,1754,1,no description,60.2 -1755,I7N3G6G,1755,1,no description,60.2 -1756,I7N3G6G,1756,1,no description,60.2 -1757,I7N3G6G,1757,1,no description,60.2 -1758,I7N3G6G,1758,1,no description,60.2 -1759,I7N3G6G,1759,1,no description,60.2 -1760,I7N3G6G,1760,1,no description,60.2 -1761,I7N3G6G,1761,1,no description,60.2 -1762,I7N3G6G,1762,1,no description,60.2 -1763,I7N3G6G,1763,1,no description,60.2 -1764,I7N3G6G,1764,1,no description,60.2 -1765,I7N3G6G,1765,1,no description,60.2 -1766,I7N3G6G,1766,1,no description,60.2 -1767,I7N3G6G,1767,1,no description,60.2 -1768,I7N3G6G,1768,1,no description,60.2 -1769,I7N3G6G,1769,1,no description,60.2 -1770,I7N3G6G,1770,1,no description,60.2 -1771,I7N3G6G,1771,1,no description,60.2 -1772,I7N3G6G,1772,1,no description,60.2 -1773,I7N3G6G,1773,1,no description,60.2 -1774,I7N3G6G,1774,1,no description,60.2 -1775,I7N3G6G,1775,1,no description,60.2 -1776,I7N3G6G,1776,1,no description,60.2 -1777,I7N3G6G,1777,1,no description,60.2 -1778,I7N3G6G,1778,1,no description,60.2 -1779,I7N3G6G,1779,1,no description,60.2 -1780,I7N3G6G,1780,1,no description,60.2 -1781,I7N3G6G,1781,1,no description,60.2 -1782,I7N3G6G,1782,1,no description,60.2 -1783,I7N3G6G,1783,1,no description,60.2 -1784,I7N3G6G,1784,1,no description,60.2 -1785,I7N3G6G,1785,1,no description,60.2 -1786,I7N3G6G,1786,1,no description,60.2 -1787,I7N3G6G,1787,1,no description,60.2 -1788,I7N3G6G,1788,1,no description,60.2 -1789,I7N3G6G,1789,1,no description,60.2 -1790,I7N3G6G,1790,1,no description,60.2 -1791,I7N3G6G,1791,1,no description,60.2 -1792,I7N3G6G,1792,1,no description,60.2 -1793,I7N3G6G,1793,1,no description,60.2 -1794,I7N3G6G,1794,1,no description,60.2 -1795,I7N3G6G,1795,1,no description,60.2 -1796,I7N3G6G,1796,1,no description,60.2 -1797,I7N3G6G,1797,1,no description,60.2 -1798,I7N3G6G,1798,1,no description,60.2 -1799,I7N3G6G,1799,1,no description,60.2 -1800,I7N3G6G,1800,1,no description,60.2 -1801,I7N3G6G,1801,1,no description,60.2 -1802,I7N3G6G,1802,1,no description,60.2 -1803,I7N3G6G,1803,1,no description,60.2 -1804,I7N3G6G,1804,1,no description,60.2 -1805,I7N3G6G,1805,1,no description,60.2 -1806,I7N3G6G,1806,1,no description,60.2 -1807,I7N3G6G,1807,1,no description,60.2 -1808,I7N3G6G,1808,1,no description,60.2 -1809,I7N3G6G,1809,1,no description,60.2 -1810,I7N3G6G,1810,1,no description,60.2 -1811,I7N3G6G,1811,1,no description,60.2 -1812,I7N3G6G,1812,1,no description,60.2 -1813,I7N3G6G,1813,1,no description,60.2 -1814,I7N3G6G,1814,1,no description,60.2 -1815,I7N3G6G,1815,1,no description,60.2 -1816,I7N3G6G,1816,1,no description,60.2 -1817,I7N3G6G,1817,1,no description,60.2 -1818,I7N3G6G,1818,1,no description,60.2 -1819,I7N3G6G,1819,1,no description,60.2 -1820,I7N3G6G,1820,1,no description,60.2 -1821,I7N3G6G,1821,1,no description,60.2 -1822,I7N3G6G,1822,1,no description,60.2 -1823,I7N3G6G,1823,1,no description,60.2 -1824,I7N3G6G,1824,1,no description,60.2 -1825,I7N3G6G,1825,1,no description,60.2 -1826,I7N3G6G,1826,1,no description,60.2 -1827,I7N3G6G,1827,1,no description,60.2 -1828,I7N3G6G,1828,1,no description,60.2 -1829,I7N3G6G,1829,1,no description,60.2 -1830,I7N3G6G,1830,1,no description,60.2 -1831,I7N3G6G,1831,1,no description,60.2 -1832,I7N3G6G,1832,1,no description,60.2 -1833,I7N3G6G,1833,1,no description,60.2 -1834,I7N3G6G,1834,1,no description,60.2 -1835,I7N3G6G,1835,1,no description,60.2 -1836,I7N3G6G,1836,1,no description,60.2 -1837,I7N3G6G,1837,1,no description,60.2 -1838,I7N3G6G,1838,1,no description,60.2 -1839,I7N3G6G,1839,1,no description,60.2 -1840,I7N3G6G,1840,1,no description,60.2 -1841,I7N3G6G,1841,1,no description,60.2 -1842,I7N3G6G,1842,1,no description,60.2 -1843,I7N3G6G,1843,1,no description,60.2 -1844,I7N3G6G,1844,1,no description,60.2 -1845,I7N3G6G,1845,1,no description,60.2 -1846,I7N3G6G,1846,1,no description,60.2 -1847,I7N3G6G,1847,1,no description,60.2 -1848,I7N3G6G,1848,1,no description,60.2 -1849,I7N3G6G,1849,1,no description,60.2 -1850,I7N3G6G,1850,1,no description,60.2 -1851,I7N3G6G,1851,1,no description,60.2 -1852,I7N3G6G,1852,1,no description,60.2 -1853,I7N3G6G,1853,1,no description,60.2 -1854,I7N3G6G,1854,1,no description,60.2 -1855,I7N3G6G,1855,1,no description,60.2 -1856,I7N3G6G,1856,1,no description,60.2 -1857,I7N3G6G,1857,1,no description,60.2 -1858,I7N3G6G,1858,1,no description,60.2 -1859,I7N3G6G,1859,1,no description,60.2 -1860,I7N3G6G,1860,1,no description,60.2 -1861,I7N3G6G,1861,1,no description,60.2 -1862,I7N3G6G,1862,1,no description,60.2 -1863,I7N3G6G,1863,1,no description,60.2 -1864,I7N3G6G,1864,1,no description,60.2 -1865,I7N3G6G,1865,1,no description,60.2 -1866,I7N3G6G,1866,1,no description,60.2 -1867,I7N3G6G,1867,1,no description,60.2 -1868,I7N3G6G,1868,1,no description,60.2 -1869,I7N3G6G,1869,1,no description,60.2 -1870,I7N3G6G,1870,1,no description,60.2 -1871,I7N3G6G,1871,1,no description,60.2 -1872,I7N3G6G,1872,1,no description,60.2 -1873,I7N3G6G,1873,1,no description,60.2 -1874,I7N3G6G,1874,1,no description,60.2 -1875,I7N3G6G,1875,1,no description,60.2 -1876,I7N3G6G,1876,1,no description,60.2 -1877,I7N3G6G,1877,1,no description,60.2 -1878,I7N3G6G,1878,1,no description,60.2 -1879,I7N3G6G,1879,1,no description,60.2 -1880,I7N3G6G,1880,1,no description,60.2 -1881,I7N3G6G,1881,1,no description,60.2 -1882,I7N3G6G,1882,1,no description,60.2 -1883,I7N3G6G,1883,1,no description,60.2 -1884,I7N3G6G,1884,1,no description,60.2 -1885,I7N3G6G,1885,1,no description,60.2 -1886,I7N3G6G,1886,1,no description,60.2 -1887,I7N3G6G,1887,1,no description,60.2 -1888,I7N3G6G,1888,1,no description,60.2 -1889,I7N3G6G,1889,1,no description,60.2 -1890,I7N3G6G,1890,1,no description,60.2 -1891,I7N3G6G,1891,1,no description,60.2 -1892,I7N3G6G,1892,1,no description,60.2 -1893,I7N3G6G,1893,1,no description,60.2 -1894,I7N3G6G,1894,1,no description,60.2 -1895,I7N3G6G,1895,1,no description,60.2 -1896,I7N3G6G,1896,1,no description,60.2 -1897,I7N3G6G,1897,1,no description,60.2 -1898,I7N3G6G,1898,1,no description,60.2 -1899,I7N3G6G,1899,1,no description,60.2 -1900,I7N3G6G,1900,1,no description,60.2 -1901,I7N3G6G,1901,1,no description,60.2 -1902,I7N3G6G,1902,1,no description,60.2 -1903,I7N3G6G,1903,1,no description,60.2 -1904,I7N3G6G,1904,1,no description,60.2 -1905,I7N3G6G,1905,1,no description,60.2 -1906,I7N3G6G,1906,1,no description,60.2 -1907,I7N3G6G,1907,1,no description,60.2 -1908,I7N3G6G,1908,1,no description,60.2 -1909,I7N3G6G,1909,1,no description,60.2 -1910,I7N3G6G,1910,1,no description,60.2 -1911,I7N3G6G,1911,1,no description,60.2 -1912,I7N3G6G,1912,1,no description,60.2 -1913,I7N3G6G,1913,1,no description,60.2 -1914,I7N3G6G,1914,1,no description,60.2 -1915,I7N3G6G,1915,1,no description,60.2 -1916,I7N3G6G,1916,1,no description,60.2 -1917,I7N3G6G,1917,1,no description,60.2 -1918,I7N3G6G,1918,1,no description,60.2 -1919,I7N3G6G,1919,1,no description,60.2 -1920,I7N3G6G,1920,1,no description,60.2 -1921,I7N3G6G,1921,1,no description,60.2 -1922,I7N3G6G,1922,1,no description,60.2 -1923,I7N3G6G,1923,1,no description,60.2 -1924,I7N3G6G,1924,1,no description,60.2 -1925,I7N3G6G,1925,1,no description,60.2 -1926,I7N3G6G,1926,1,no description,60.2 -1927,I7N3G6G,1927,1,no description,60.2 -1928,I7N3G6G,1928,1,no description,60.2 -1929,I7N3G6G,1929,1,no description,60.2 -1930,I7N3G6G,1930,1,no description,60.2 -1931,I7N3G6G,1931,1,no description,60.2 -1932,I7N3G6G,1932,1,no description,60.2 -1933,I7N3G6G,1933,1,no description,60.2 -1934,I7N3G6G,1934,1,no description,60.2 -1935,I7N3G6G,1935,1,no description,60.2 -1936,I7N3G6G,1936,1,no description,60.2 -1937,I7N3G6G,1937,1,no description,60.2 -1938,I7N3G6G,1938,1,no description,60.2 -1939,I7N3G6G,1939,1,no description,60.2 -1940,I7N3G6G,1940,1,no description,60.2 -1941,I7N3G6G,1941,1,no description,60.2 -1942,I7N3G6G,1942,1,no description,60.2 -1943,I7N3G6G,1943,1,no description,60.2 -1944,I7N3G6G,1944,1,no description,60.2 -1945,I7N3G6G,1945,1,no description,60.2 -1946,I7N3G6G,1946,1,no description,60.2 -1947,I7N3G6G,1947,1,no description,60.2 -1948,I7N3G6G,1948,1,no description,60.2 -1949,I7N3G6G,1949,1,no description,60.2 -1950,I7N3G6G,1950,1,no description,60.2 -1951,I7N3G6G,1951,1,no description,60.2 -1952,I7N3G6G,1952,1,no description,60.2 -1953,I7N3G6G,1953,1,no description,60.2 -1954,I7N3G6G,1954,1,no description,60.2 -1955,I7N3G6G,1955,1,no description,60.2 -1956,I7N3G6G,1956,1,no description,60.2 -1957,I7N3G6G,1957,1,no description,60.2 -1958,I7N3G6G,1958,1,no description,60.2 -1959,I7N3G6G,1959,1,no description,60.2 -1960,I7N3G6G,1960,1,no description,60.2 -1961,I7N3G6G,1961,1,no description,60.2 -1962,I7N3G6G,1962,1,no description,60.2 -1963,I7N3G6G,1963,1,no description,60.2 -1964,I7N3G6G,1964,1,no description,60.2 -1965,I7N3G6G,1965,1,no description,60.2 -1966,I7N3G6G,1966,1,no description,60.2 -1967,I7N3G6G,1967,1,no description,60.2 -1968,I7N3G6G,1968,1,no description,60.2 -1969,I7N3G6G,1969,1,no description,60.2 -1970,I7N3G6G,1970,1,no description,60.2 -1971,I7N3G6G,1971,1,no description,60.2 -1972,I7N3G6G,1972,1,no description,60.2 -1973,I7N3G6G,1973,1,no description,60.2 -1974,I7N3G6G,1974,1,no description,60.2 -1975,I7N3G6G,1975,1,no description,60.2 -1976,I7N3G6G,1976,1,no description,60.2 -1977,I7N3G6G,1977,1,no description,60.2 -1978,I7N3G6G,1978,1,no description,60.2 -1979,I7N3G6G,1979,1,no description,60.2 -1980,I7N3G6G,1980,1,no description,60.2 -1981,I7N3G6G,1981,1,no description,60.2 -1982,I7N3G6G,1982,1,no description,60.2 -1983,I7N3G6G,1983,1,no description,60.2 -1984,I7N3G6G,1984,1,no description,60.2 -1985,I7N3G6G,1985,1,no description,60.2 -1986,I7N3G6G,1986,1,no description,60.2 -1987,I7N3G6G,1987,1,no description,60.2 -1988,I7N3G6G,1988,1,no description,60.2 -1989,I7N3G6G,1989,1,no description,60.2 -1990,I7N3G6G,1990,1,no description,60.2 -1991,I7N3G6G,1991,1,no description,60.2 -1992,I7N3G6G,1992,1,no description,60.2 -1993,I7N3G6G,1993,1,no description,60.2 -1994,I7N3G6G,1994,1,no description,60.2 -1995,I7N3G6G,1995,1,no description,60.2 -1996,I7N3G6G,1996,1,no description,60.2 -1997,I7N3G6G,1997,1,no description,60.2 -1998,I7N3G6G,1998,1,no description,60.2 -1999,I7N3G6G,1999,1,no description,60.2 -2000,I7N3G6G,2000,1,no description,60.2 -2001,I7N3G6G,2001,1,no description,60.2 -2002,I7N3G6G,2002,1,no description,60.2 -2003,I7N3G6G,2003,1,no description,60.2 -2004,I7N3G6G,2004,1,no description,60.2 -2005,I7N3G6G,2005,1,no description,60.2 -2006,I7N3G6G,2006,1,no description,60.2 -2007,I7N3G6G,2007,1,no description,60.2 -2008,I7N3G6G,2008,1,no description,60.2 -2009,I7N3G6G,2009,1,no description,60.2 -2010,I7N3G6G,2010,1,no description,60.2 -2011,I7N3G6G,2011,1,no description,60.2 -2012,I7N3G6G,2012,1,no description,60.2 -2013,I7N3G6G,2013,1,no description,60.2 -2014,I7N3G6G,2014,1,no description,60.2 -2015,I7N3G6G,2015,1,no description,60.2 -2016,I7N3G6G,2016,1,no description,60.2 -2017,I7N3G6G,2017,1,no description,60.2 -2018,I7N3G6G,2018,1,no description,60.2 -2019,I7N3G6G,2019,1,no description,60.2 -2020,I7N3G6G,2020,1,no description,60.2 -2021,I7N3G6G,2021,1,no description,60.2 -2022,I7N3G6G,2022,1,no description,60.2 -2023,I7N3G6G,2023,1,no description,60.2 -2024,I7N3G6G,2024,1,no description,60.2 -2025,I7N3G6G,2025,1,no description,60.2 -2026,I7N3G6G,2026,1,no description,60.2 -2027,I7N3G6G,2027,1,no description,60.2 -2028,I7N3G6G,2028,1,no description,60.2 -2029,I7N3G6G,2029,1,no description,60.2 -2030,I7N3G6G,2030,1,no description,60.2 -2031,I7N3G6G,2031,1,no description,60.2 -2032,I7N3G6G,2032,1,no description,60.2 -2033,I7N3G6G,2033,1,no description,60.2 -2034,I7N3G6G,2034,1,no description,60.2 -2035,I7N3G6G,2035,1,no description,60.2 -2036,I7N3G6G,2036,1,no description,60.2 -2037,I7N3G6G,2037,1,no description,60.2 -2038,I7N3G6G,2038,1,no description,60.2 -2039,I7N3G6G,2039,1,no description,60.2 -2040,I7N3G6G,2040,1,no description,60.2 -2041,I7N3G6G,2041,1,no description,60.2 -2042,I7N3G6G,2042,1,no description,60.2 -2043,I7N3G6G,2043,1,no description,60.2 -2044,I7N3G6G,2044,1,no description,60.2 -2045,I7N3G6G,2045,1,no description,60.2 -2046,I7N3G6G,2046,1,no description,60.2 -2047,I7N3G6G,2047,1,no description,60.2 -2048,I7N3G6G,2048,1,no description,60.2 -2049,I7N3G6G,2049,1,no description,60.2 -2050,I7N3G6G,2050,1,no description,60.2 -2051,I7N3G6G,2051,1,no description,60.2 -2052,I7N3G6G,2052,1,no description,60.2 -2053,I7N3G6G,2053,1,no description,60.2 -2054,I7N3G6G,2054,1,no description,60.2 -2055,I7N3G6G,2055,1,no description,60.2 -2056,I7N3G6G,2056,1,no description,60.2 -2057,I7N3G6G,2057,1,no description,60.2 -2058,I7N3G6G,2058,1,no description,60.2 -2059,I7N3G6G,2059,1,no description,60.2 -2060,I7N3G6G,2060,1,no description,60.2 -2061,I7N3G6G,2061,1,no description,60.2 -2062,I7N3G6G,2062,1,no description,60.2 -2063,I7N3G6G,2063,1,no description,60.2 -2064,I7N3G6G,2064,1,no description,60.2 -2065,I7N3G6G,2065,1,no description,60.2 -2066,I7N3G6G,2066,1,no description,60.2 -2067,I7N3G6G,2067,1,no description,60.2 -2068,I7N3G6G,2068,1,no description,60.2 -2069,I7N3G6G,2069,1,no description,60.2 -2070,I7N3G6G,2070,1,no description,60.2 -2071,I7N3G6G,2071,1,no description,60.2 -2072,I7N3G6G,2072,1,no description,60.2 -2073,I7N3G6G,2073,1,no description,60.2 -2074,I7N3G6G,2074,1,no description,60.2 -2075,I7N3G6G,2075,1,no description,60.2 -2076,I7N3G6G,2076,1,no description,60.2 -2077,I7N3G6G,2077,1,no description,60.2 -2078,I7N3G6G,2078,1,no description,60.2 -2079,I7N3G6G,2079,1,no description,60.2 -2080,I7N3G6G,2080,1,no description,60.2 -2081,I7N3G6G,2081,1,no description,60.2 -2082,I7N3G6G,2082,1,no description,60.2 -2083,I7N3G6G,2083,1,no description,60.2 -2084,I7N3G6G,2084,1,no description,60.2 -2085,I7N3G6G,2085,1,no description,60.2 -2086,I7N3G6G,2086,1,no description,60.2 -2087,I7N3G6G,2087,1,no description,60.2 -2088,I7N3G6G,2088,1,no description,60.2 -2089,I7N3G6G,2089,1,no description,60.2 -2090,I7N3G6G,2090,1,no description,60.2 -2091,I7N3G6G,2091,1,no description,60.2 -2092,I7N3G6G,2092,1,no description,60.2 -2093,I7N3G6G,2093,1,no description,60.2 -2094,I7N3G6G,2094,1,no description,60.2 -2095,I7N3G6G,2095,1,no description,60.2 -2096,I7N3G6G,2096,1,no description,60.2 -2097,I7N3G6G,2097,1,no description,60.2 -2098,I7N3G6G,2098,1,no description,60.2 -2099,I7N3G6G,2099,1,no description,60.2 -2100,I7N3G6G,2100,1,no description,60.2 -2101,I7N3G6G,2101,1,no description,60.2 -2102,I7N3G6G,2102,1,no description,60.2 -2103,I7N3G6G,2103,1,no description,60.2 -2104,I7N3G6G,2104,1,no description,60.2 -2105,I7N3G6G,2105,1,no description,60.2 -2106,I7N3G6G,2106,1,no description,60.2 -2107,I7N3G6G,2107,1,no description,60.2 -2108,I7N3G6G,2108,1,no description,60.2 -2109,I7N3G6G,2109,1,no description,60.2 -2110,I7N3G6G,2110,1,no description,60.2 -2111,I7N3G6G,2111,1,no description,60.2 -2112,I7N3G6G,2112,1,no description,60.2 -2113,I7N3G6G,2113,1,no description,60.2 -2114,I7N3G6G,2114,1,no description,60.2 -2115,I7N3G6G,2115,1,no description,60.2 -2116,I7N3G6G,2116,1,no description,60.2 -2117,I7N3G6G,2117,1,no description,60.2 -2118,I7N3G6G,2118,1,no description,60.2 -2119,I7N3G6G,2119,1,no description,60.2 -2120,I7N3G6G,2120,1,no description,60.2 -2121,I7N3G6G,2121,1,no description,60.2 -2122,I7N3G6G,2122,1,no description,60.2 -2123,I7N3G6G,2123,1,no description,60.2 -2124,I7N3G6G,2124,1,no description,60.2 -2125,I7N3G6G,2125,1,no description,60.2 -2126,I7N3G6G,2126,1,no description,60.2 -2127,I7N3G6G,2127,1,no description,60.2 -2128,I7N3G6G,2128,1,no description,60.2 -2129,I7N3G6G,2129,1,no description,60.2 -2130,I7N3G6G,2130,1,no description,60.2 -2131,I7N3G6G,2131,1,no description,60.2 -2132,I7N3G6G,2132,1,no description,60.2 -2133,I7N3G6G,2133,1,no description,60.2 -2134,I7N3G6G,2134,1,no description,60.2 -2135,I7N3G6G,2135,1,no description,60.2 -2136,I7N3G6G,2136,1,no description,60.2 -2137,I7N3G6G,2137,1,no description,60.2 -2138,I7N3G6G,2138,1,no description,60.2 -2139,I7N3G6G,2139,1,no description,60.2 -2140,I7N3G6G,2140,1,no description,60.2 -2141,I7N3G6G,2141,1,no description,60.2 -2142,I7N3G6G,2142,1,no description,60.2 -2143,I7N3G6G,2143,1,no description,60.2 -2144,I7N3G6G,2144,1,no description,60.2 -2145,I7N3G6G,2145,1,no description,60.2 -2146,I7N3G6G,2146,1,no description,60.2 -2147,I7N3G6G,2147,1,no description,60.2 -2148,I7N3G6G,2148,1,no description,60.2 -2149,I7N3G6G,2149,1,no description,60.2 -2150,I7N3G6G,2150,1,no description,60.2 -2151,I7N3G6G,2151,1,no description,60.2 -2152,I7N3G6G,2152,1,no description,60.2 -2153,I7N3G6G,2153,1,no description,60.2 -2154,I7N3G6G,2154,1,no description,60.2 -2155,I7N3G6G,2155,1,no description,60.2 -2156,I7N3G6G,2156,1,no description,60.2 -2157,I7N3G6G,2157,1,no description,60.2 -2158,I7N3G6G,2158,1,no description,60.2 -2159,I7N3G6G,2159,1,no description,60.2 -2160,I7N3G6G,2160,1,no description,60.2 -2161,I7N3G6G,2161,1,no description,60.2 -2162,I7N3G6G,2162,1,no description,60.2 -2163,I7N3G6G,2163,1,no description,60.2 -2164,I7N3G6G,2164,1,no description,60.2 -2165,I7N3G6G,2165,1,no description,60.2 -2166,I7N3G6G,2166,1,no description,60.2 -2167,I7N3G6G,2167,1,no description,60.2 -2168,I7N3G6G,2168,1,no description,60.2 -2169,I7N3G6G,2169,1,no description,60.2 -2170,I7N3G6G,2170,1,no description,60.2 -2171,I7N3G6G,2171,1,no description,60.2 -2172,I7N3G6G,2172,1,no description,60.2 -2173,I7N3G6G,2173,1,no description,60.2 -2174,I7N3G6G,2174,1,no description,60.2 -2175,I7N3G6G,2175,1,no description,60.2 -2176,I7N3G6G,2176,1,no description,60.2 -2177,I7N3G6G,2177,1,no description,60.2 -2178,I7N3G6G,2178,1,no description,60.2 -2179,I7N3G6G,2179,1,no description,60.2 -2180,I7N3G6G,2180,1,no description,60.2 -2181,I7N3G6G,2181,1,no description,60.2 -2182,I7N3G6G,2182,1,no description,60.2 -2183,I7N3G6G,2183,1,no description,60.2 -2184,I7N3G6G,2184,1,no description,60.2 -2185,I7N3G6G,2185,1,no description,60.2 -2186,I7N3G6G,2186,1,no description,60.2 -2187,I7N3G6G,2187,1,no description,60.2 -2188,I7N3G6G,2188,1,no description,60.2 -2189,I7N3G6G,2189,1,no description,60.2 -2190,I7N3G6G,2190,1,no description,60.2 -2191,I7N3G6G,2191,1,no description,60.2 -2192,I7N3G6G,2192,1,no description,60.2 -2193,I7N3G6G,2193,1,no description,60.2 -2194,I7N3G6G,2194,1,no description,60.2 -2195,I7N3G6G,2195,1,no description,60.2 -2196,I7N3G6G,2196,1,no description,60.2 -2197,I7N3G6G,2197,1,no description,60.2 -2198,I7N3G6G,2198,1,no description,60.2 -2199,I7N3G6G,2199,1,no description,60.2 -2200,I7N3G6G,2200,1,no description,60.2 -2201,I7N3G6G,2201,1,no description,60.2 -2202,I7N3G6G,2202,1,no description,60.2 -2203,I7N3G6G,2203,1,no description,60.2 -2204,I7N3G6G,2204,1,no description,60.2 -2205,I7N3G6G,2205,1,no description,60.2 -2206,I7N3G6G,2206,1,no description,60.2 -2207,I7N3G6G,2207,1,no description,60.2 -2208,I7N3G6G,2208,1,no description,60.2 -2209,I7N3G6G,2209,1,no description,60.2 -2210,I7N3G6G,2210,1,no description,60.2 -2211,I7N3G6G,2211,1,no description,60.2 -2212,I7N3G6G,2212,1,no description,60.2 -2213,I7N3G6G,2213,1,no description,60.2 -2214,I7N3G6G,2214,1,no description,60.2 -2215,I7N3G6G,2215,1,no description,60.2 -2216,I7N3G6G,2216,1,no description,60.2 -2217,I7N3G6G,2217,1,no description,60.2 -2218,I7N3G6G,2218,1,no description,60.2 -2219,I7N3G6G,2219,1,no description,60.2 -2220,I7N3G6G,2220,1,no description,60.2 -2221,I7N3G6G,2221,1,no description,60.2 -2222,I7N3G6G,2222,1,no description,60.2 -2223,I7N3G6G,2223,1,no description,60.2 -2224,I7N3G6G,2224,1,no description,60.2 -2225,I7N3G6G,2225,1,no description,60.2 -2226,I7N3G6G,2226,1,no description,60.2 diff --git a/packages/itmat-job-executor/test/testFiles/CSVCurator_error1.tsv b/packages/itmat-job-executor/test/testFiles/CSVCurator_error1.tsv deleted file mode 100644 index 9a49e65bb..000000000 --- a/packages/itmat-job-executor/test/testFiles/CSVCurator_error1.tsv +++ /dev/null @@ -1,2227 +0,0 @@ -ID,SubjectID,VisitID,Sex,Description,Weight,UNKNOWN -1,I7N3G6G,1,1,no description,60.2,random -2,I7N3G6G,2,1,no description,60.2,random -3,I7N3G6G,3,1,no description,60.2,random -4,I7N3G6G,4,1,no description,60.2,random -5,I7N3G6G,5,1,no description,60.2,random -6,I7N3G6G,6,1,no description,60.2,random -7,I7N3G6G,7,1,no description,60.2,random -8,I7N3G6G,8,1,no description,60.2,random -9,I7N3G6G,9,1,no description,60.2,random -10,I7N3G6G,10,1,no description,60.2,random -11,I7N3G6G,11,1,no description,60.2,random -12,I7N3G6G,12,1,no description,60.2,random -13,I7N3G6G,13,1,no description,60.2,random -14,I7N3G6G,14,1,no description,60.2,random -15,I7N3G6G,15,1,no description,60.2,random -16,I7N3G6G,16,1,no description,60.2,random -17,I7N3G6G,17,1,no description,60.2,random -18,I7N3G6G,18,1,no description,60.2,random -19,I7N3G6G,19,1,no description,60.2,random -20,I7N3G6G,20,1,no description,60.2,random -21,I7N3G6G,21,1,no description,60.2,random -22,I7N3G6G,22,1,no description,60.2,random -23,I7N3G6G,23,1,no description,60.2,random -24,I7N3G6G,24,1,no description,60.2,random -25,I7N3G6G,25,1,no description,60.2,random -26,I7N3G6G,26,1,no description,60.2,random -27,I7N3G6G,27,1,no description,60.2,random -28,I7N3G6G,28,1,no description,60.2,random -29,I7N3G6G,29,1,no description,60.2,random -30,I7N3G6G,30,1,no description,60.2,random -31,I7N3G6G,31,1,no description,60.2,random -32,I7N3G6G,32,1,no description,60.2,random -33,I7N3G6G,33,1,no description,60.2,random -34,I7N3G6G,34,1,no description,60.2,random -35,I7N3G6G,35,1,no description,60.2,random -36,I7N3G6G,36,1,no description,60.2,random -37,I7N3G6G,37,1,no description,60.2,random -38,I7N3G6G,38,1,no description,60.2,random -39,I7N3G6G,39,1,no description,60.2,random -40,I7N3G6G,40,1,no description,60.2,random -41,I7N3G6G,41,1,no description,60.2,random -42,I7N3G6G,42,1,no description,60.2,random -43,I7N3G6G,43,1,no description,60.2,random -44,I7N3G6G,44,1,no description,60.2,random -45,I7N3G6G,45,1,no description,60.2,random -46,I7N3G6G,46,1,no description,60.2,random -47,I7N3G6G,47,1,no description,60.2,random -48,I7N3G6G,48,1,no description,60.2,random -49,I7N3G6G,49,1,no description,60.2,random -50,I7N3G6G,50,1,no description,60.2,random -51,I7N3G6G,51,1,no description,60.2,random -52,I7N3G6G,52,1,no description,60.2,random -53,I7N3G6G,53,1,no description,60.2,random -54,I7N3G6G,54,1,no description,60.2,random -55,I7N3G6G,55,1,no description,60.2,random -56,I7N3G6G,56,1,no description,60.2,random -57,I7N3G6G,57,1,no description,60.2,random -58,I7N3G6G,58,1,no description,60.2,random -59,I7N3G6G,59,1,no description,60.2,random -60,I7N3G6G,60,1,no description,60.2,random -61,I7N3G6G,61,1,no description,60.2,random -62,I7N3G6G,62,1,no description,60.2,random -63,I7N3G6G,63,1,no description,60.2,random -64,I7N3G6G,64,1,no description,60.2,random -65,I7N3G6G,65,1,no description,60.2,random -66,I7N3G6G,66,1,no description,60.2,random -67,I7N3G6G,67,1,no description,60.2,random -68,I7N3G6G,68,1,no description,60.2,random -69,I7N3G6G,69,1,no description,60.2,random -70,I7N3G6G,70,1,no description,60.2,random -71,I7N3G6G,71,1,no description,60.2,random -72,I7N3G6G,72,1,no description,60.2,random -73,I7N3G6G,73,1,no description,60.2,random -74,I7N3G6G,74,1,no description,60.2,random -75,I7N3G6G,75,1,no description,60.2,random -76,I7N3G6G,76,1,no description,60.2,random -77,I7N3G6G,77,1,no description,60.2,random -78,I7N3G6G,78,1,no description,60.2,random -79,I7N3G6G,79,1,no description,60.2,random -80,I7N3G6G,80,1,no description,60.2,random -81,I7N3G6G,81,1,no description,60.2,random -82,I7N3G6G,82,1,no description,60.2,random -83,I7N3G6G,83,1,no description,60.2,random -84,I7N3G6G,84,1,no description,60.2,random -85,I7N3G6G,85,1,no description,60.2,random -86,I7N3G6G,86,1,no description,60.2,random -87,I7N3G6G,87,1,no description,60.2,random -88,I7N3G6G,88,1,no description,60.2,random -89,I7N3G6G,89,1,no description,60.2,random -90,I7N3G6G,90,1,no description,60.2,random -91,I7N3G6G,91,1,no description,60.2,random -92,I7N3G6G,92,1,no description,60.2,random -93,I7N3G6G,93,1,no description,60.2,random -94,I7N3G6G,94,1,no description,60.2,random -95,I7N3G6G,95,1,no description,60.2,random -96,I7N3G6G,96,1,no description,60.2,random -97,I7N3G6G,97,1,no description,60.2,random -98,I7N3G6G,98,1,no description,60.2,random -99,I7N3G6G,99,1,no description,60.2,random -100,I7N3G6G,100,1,no description,60.2,random -101,I7N3G6G,101,1,no description,60.2,random -102,I7N3G6G,102,1,no description,60.2,random -103,I7N3G6G,103,1,no description,60.2,random -104,I7N3G6G,104,1,no description,60.2,random -105,I7N3G6G,105,1,no description,60.2,random -106,I7N3G6G,106,1,no description,60.2,random -107,I7N3G6G,107,1,no description,60.2,random -108,I7N3G6G,108,1,no description,60.2,random -109,I7N3G6G,109,1,no description,60.2,random -110,I7N3G6G,110,1,no description,60.2,random -111,I7N3G6G,111,1,no description,60.2,random -112,I7N3G6G,112,1,no description,60.2,random -113,I7N3G6G,113,1,no description,60.2,random -114,I7N3G6G,114,1,no description,60.2,random -115,I7N3G6G,115,1,no description,60.2,random -116,I7N3G6G,116,1,no description,60.2,random -117,I7N3G6G,117,1,no description,60.2,random -118,I7N3G6G,118,1,no description,60.2,random -119,I7N3G6G,119,1,no description,60.2,random -120,I7N3G6G,120,1,no description,60.2,random -121,I7N3G6G,121,1,no description,60.2,random -122,I7N3G6G,122,1,no description,60.2,random -123,I7N3G6G,123,1,no description,60.2,random -124,I7N3G6G,124,1,no description,60.2,random -125,I7N3G6G,125,1,no description,60.2,random -126,I7N3G6G,126,1,no description,60.2,random -127,I7N3G6G,127,1,no description,60.2,random -128,I7N3G6G,128,1,no description,60.2,random -129,I7N3G6G,129,1,no description,60.2,random -130,I7N3G6G,130,1,no description,60.2,random -131,I7N3G6G,131,1,no description,60.2,random -132,I7N3G6G,132,1,no description,60.2,random -133,I7N3G6G,133,1,no description,60.2,random -134,I7N3G6G,134,1,no description,60.2,random -135,I7N3G6G,135,1,no description,60.2,random -136,I7N3G6G,136,1,no description,60.2,random -137,I7N3G6G,137,1,no description,60.2,random -138,I7N3G6G,138,1,no description,60.2,random -139,I7N3G6G,139,1,no description,60.2,random -140,I7N3G6G,140,1,no description,60.2,random -141,I7N3G6G,141,1,no description,60.2,random -142,I7N3G6G,142,1,no description,60.2,random -143,I7N3G6G,143,1,no description,60.2,random -144,I7N3G6G,144,1,no description,60.2,random -145,I7N3G6G,145,1,no description,60.2,random -146,I7N3G6G,146,1,no description,60.2,random -147,I7N3G6G,147,1,no description,60.2,random -148,I7N3G6G,148,1,no description,60.2,random -149,I7N3G6G,149,1,no description,60.2,random -150,I7N3G6G,150,1,no description,60.2,random -151,I7N3G6G,151,1,no description,60.2,random -152,I7N3G6G,152,1,no description,60.2,random -153,I7N3G6G,153,1,no description,60.2,random -154,I7N3G6G,154,1,no description,60.2,random -155,I7N3G6G,155,1,no description,60.2,random -156,I7N3G6G,156,1,no description,60.2,random -157,I7N3G6G,157,1,no description,60.2,random -158,I7N3G6G,158,1,no description,60.2,random -159,I7N3G6G,159,1,no description,60.2,random -160,I7N3G6G,160,1,no description,60.2,random -161,I7N3G6G,161,1,no description,60.2,random -162,I7N3G6G,162,1,no description,60.2,random -163,I7N3G6G,163,1,no description,60.2,random -164,I7N3G6G,164,1,no description,60.2,random -165,I7N3G6G,165,1,no description,60.2,random -166,I7N3G6G,166,1,no description,60.2,random -167,I7N3G6G,167,1,no description,60.2,random -168,I7N3G6G,168,1,no description,60.2,random -169,I7N3G6G,169,1,no description,60.2,random -170,I7N3G6G,170,1,no description,60.2,random -171,I7N3G6G,171,1,no description,60.2,random -172,I7N3G6G,172,1,no description,60.2,random -173,I7N3G6G,173,1,no description,60.2,random -174,I7N3G6G,174,1,no description,60.2,random -175,I7N3G6G,175,1,no description,60.2,random -176,I7N3G6G,176,1,no description,60.2,random -177,I7N3G6G,177,1,no description,60.2,random -178,I7N3G6G,178,1,no description,60.2,random -179,I7N3G6G,179,1,no description,60.2,random -180,I7N3G6G,180,1,no description,60.2,random -181,I7N3G6G,181,1,no description,60.2,random -182,I7N3G6G,182,1,no description,60.2,random -183,I7N3G6G,183,1,no description,60.2,random -184,I7N3G6G,184,1,no description,60.2,random -185,I7N3G6G,185,1,no description,60.2,random -186,I7N3G6G,186,1,no description,60.2,random -187,I7N3G6G,187,1,no description,60.2,random -188,I7N3G6G,188,1,no description,60.2,random -189,I7N3G6G,189,1,no description,60.2,random -190,I7N3G6G,190,1,no description,60.2,random -191,I7N3G6G,191,1,no description,60.2,random -192,I7N3G6G,192,1,no description,60.2,random -193,I7N3G6G,193,1,no description,60.2,random -194,I7N3G6G,194,1,no description,60.2,random -195,I7N3G6G,195,1,no description,60.2,random -196,I7N3G6G,196,1,no description,60.2,random -197,I7N3G6G,197,1,no description,60.2,random -198,I7N3G6G,198,1,no description,60.2,random -199,I7N3G6G,199,1,no description,60.2,random -200,I7N3G6G,200,1,no description,60.2,random -201,I7N3G6G,201,1,no description,60.2,random -202,I7N3G6G,202,1,no description,60.2,random -203,I7N3G6G,203,1,no description,60.2,random -204,I7N3G6G,204,1,no description,60.2,random -205,I7N3G6G,205,1,no description,60.2,random -206,I7N3G6G,206,1,no description,60.2,random -207,I7N3G6G,207,1,no description,60.2,random -208,I7N3G6G,208,1,no description,60.2,random -209,I7N3G6G,209,1,no description,60.2,random -210,I7N3G6G,210,1,no description,60.2,random -211,I7N3G6G,211,1,no description,60.2,random -212,I7N3G6G,212,1,no description,60.2,random -213,I7N3G6G,213,1,no description,60.2,random -214,I7N3G6G,214,1,no description,60.2,random -215,I7N3G6G,215,1,no description,60.2,random -216,I7N3G6G,216,1,no description,60.2,random -217,I7N3G6G,217,1,no description,60.2,random -218,I7N3G6G,218,1,no description,60.2,random -219,I7N3G6G,219,1,no description,60.2,random -220,I7N3G6G,220,1,no description,60.2,random -221,I7N3G6G,221,1,no description,60.2,random -222,I7N3G6G,222,1,no description,60.2,random -223,I7N3G6G,223,1,no description,60.2,random -224,I7N3G6G,224,1,no description,60.2,random -225,I7N3G6G,225,1,no description,60.2,random -226,I7N3G6G,226,1,no description,60.2,random -227,I7N3G6G,227,1,no description,60.2,random -228,I7N3G6G,228,1,no description,60.2,random -229,I7N3G6G,229,1,no description,60.2,random -230,I7N3G6G,230,1,no description,60.2,random -231,I7N3G6G,231,1,no description,60.2,random -232,I7N3G6G,232,1,no description,60.2,random -233,I7N3G6G,233,1,no description,60.2,random -234,I7N3G6G,234,1,no description,60.2,random -235,I7N3G6G,235,1,no description,60.2,random -236,I7N3G6G,236,1,no description,60.2,random -237,I7N3G6G,237,1,no description,60.2,random -238,I7N3G6G,238,1,no description,60.2,random -239,I7N3G6G,239,1,no description,60.2,random -240,I7N3G6G,240,1,no description,60.2,random -241,I7N3G6G,241,1,no description,60.2,random -242,I7N3G6G,242,1,no description,60.2,random -243,I7N3G6G,243,1,no description,60.2,random -244,I7N3G6G,244,1,no description,60.2,random -245,I7N3G6G,245,1,no description,60.2,random -246,I7N3G6G,246,1,no description,60.2,random -247,I7N3G6G,247,1,no description,60.2,random -248,I7N3G6G,248,1,no description,60.2,random -249,I7N3G6G,249,1,no description,60.2,random -250,I7N3G6G,250,1,no description,60.2,random -251,I7N3G6G,251,1,no description,60.2,random -252,I7N3G6G,252,1,no description,60.2,random -253,I7N3G6G,253,1,no description,60.2,random -254,I7N3G6G,254,1,no description,60.2,random -255,I7N3G6G,255,1,no description,60.2,random -256,I7N3G6G,256,1,no description,60.2,random -257,I7N3G6G,257,1,no description,60.2,random -258,I7N3G6G,258,1,no description,60.2,random -259,I7N3G6G,259,1,no description,60.2,random -260,I7N3G6G,260,1,no description,60.2,random -261,I7N3G6G,261,1,no description,60.2,random -262,I7N3G6G,262,1,no description,60.2,random -263,I7N3G6G,263,1,no description,60.2,random -264,I7N3G6G,264,1,no description,60.2,random -265,I7N3G6G,265,1,no description,60.2,random -266,I7N3G6G,266,1,no description,60.2,random -267,I7N3G6G,267,1,no description,60.2,random -268,I7N3G6G,268,1,no description,60.2,random -269,I7N3G6G,269,1,no description,60.2,random -270,I7N3G6G,270,1,no description,60.2,random -271,I7N3G6G,271,1,no description,60.2,random -272,I7N3G6G,272,1,no description,60.2,random -273,I7N3G6G,273,1,no description,60.2,random -274,I7N3G6G,274,1,no description,60.2,random -275,I7N3G6G,275,1,no description,60.2,random -276,I7N3G6G,276,1,no description,60.2,random -277,I7N3G6G,277,1,no description,60.2,random -278,I7N3G6G,278,1,no description,60.2,random -279,I7N3G6G,279,1,no description,60.2,random -280,I7N3G6G,280,1,no description,60.2,random -281,I7N3G6G,281,1,no description,60.2,random -282,I7N3G6G,282,1,no description,60.2,random -283,I7N3G6G,283,1,no description,60.2,random -284,I7N3G6G,284,1,no description,60.2,random -285,I7N3G6G,285,1,no description,60.2,random -286,I7N3G6G,286,1,no description,60.2,random -287,I7N3G6G,287,1,no description,60.2,random -288,I7N3G6G,288,1,no description,60.2,random -289,I7N3G6G,289,1,no description,60.2,random -290,I7N3G6G,290,1,no description,60.2,random -291,I7N3G6G,291,1,no description,60.2,random -292,I7N3G6G,292,1,no description,60.2,random -293,I7N3G6G,293,1,no description,60.2,random -294,I7N3G6G,294,1,no description,60.2,random -295,I7N3G6G,295,1,no description,60.2,random -296,I7N3G6G,296,1,no description,60.2,random -297,I7N3G6G,297,1,no description,60.2,random -298,I7N3G6G,298,1,no description,60.2,random -299,I7N3G6G,299,1,no description,60.2,random -300,I7N3G6G,300,1,no description,60.2,random -301,I7N3G6G,301,1,no description,60.2,random -302,I7N3G6G,302,1,no description,60.2,random -303,I7N3G6G,303,1,no description,60.2,random -304,I7N3G6G,304,1,no description,60.2,random -305,I7N3G6G,305,1,no description,60.2,random -306,I7N3G6G,306,1,no description,60.2,random -307,I7N3G6G,307,1,no description,60.2,random -308,I7N3G6G,308,1,no description,60.2,random -309,I7N3G6G,309,1,no description,60.2,random -310,I7N3G6G,310,1,no description,60.2,random -311,I7N3G6G,311,1,no description,60.2,random -312,I7N3G6G,312,1,no description,60.2,random -313,I7N3G6G,313,1,no description,60.2,random -314,I7N3G6G,314,1,no description,60.2,random -315,I7N3G6G,315,1,no description,60.2,random -316,I7N3G6G,316,1,no description,60.2,random -317,I7N3G6G,317,1,no description,60.2,random -318,I7N3G6G,318,1,no description,60.2,random -319,I7N3G6G,319,1,no description,60.2,random -320,I7N3G6G,320,1,no description,60.2,random -321,I7N3G6G,321,1,no description,60.2,random -322,I7N3G6G,322,1,no description,60.2,random -323,I7N3G6G,323,1,no description,60.2,random -324,I7N3G6G,324,1,no description,60.2,random -325,I7N3G6G,325,1,no description,60.2,random -326,I7N3G6G,326,1,no description,60.2,random -327,I7N3G6G,327,1,no description,60.2,random -328,I7N3G6G,328,1,no description,60.2,random -329,I7N3G6G,329,1,no description,60.2,random -330,I7N3G6G,330,1,no description,60.2,random -331,I7N3G6G,331,1,no description,60.2,random -332,I7N3G6G,332,1,no description,60.2,random -333,I7N3G6G,333,1,no description,60.2,random -334,I7N3G6G,334,1,no description,60.2,random -335,I7N3G6G,335,1,no description,60.2,random -336,I7N3G6G,336,1,no description,60.2,random -337,I7N3G6G,337,1,no description,60.2,random -338,I7N3G6G,338,1,no description,60.2,random -339,I7N3G6G,339,1,no description,60.2,random -340,I7N3G6G,340,1,no description,60.2,random -341,I7N3G6G,341,1,no description,60.2,random -342,I7N3G6G,342,1,no description,60.2,random -343,I7N3G6G,343,1,no description,60.2,random -344,I7N3G6G,344,1,no description,60.2,random -345,I7N3G6G,345,1,no description,60.2,random -346,I7N3G6G,346,1,no description,60.2,random -347,I7N3G6G,347,1,no description,60.2,random -348,I7N3G6G,348,1,no description,60.2,random -349,I7N3G6G,349,1,no description,60.2,random -350,I7N3G6G,350,1,no description,60.2,random -351,I7N3G6G,351,1,no description,60.2,random -352,I7N3G6G,352,1,no description,60.2,random -353,I7N3G6G,353,1,no description,60.2,random -354,I7N3G6G,354,1,no description,60.2,random -355,I7N3G6G,355,1,no description,60.2,random -356,I7N3G6G,356,1,no description,60.2,random -357,I7N3G6G,357,1,no description,60.2,random -358,I7N3G6G,358,1,no description,60.2,random -359,I7N3G6G,359,1,no description,60.2,random -360,I7N3G6G,360,1,no description,60.2,random -361,I7N3G6G,361,1,no description,60.2,random -362,I7N3G6G,362,1,no description,60.2,random -363,I7N3G6G,363,1,no description,60.2,random -364,I7N3G6G,364,1,no description,60.2,random -365,I7N3G6G,365,1,no description,60.2,random -366,I7N3G6G,366,1,no description,60.2,random -367,I7N3G6G,367,1,no description,60.2,random -368,I7N3G6G,368,1,no description,60.2,random -369,I7N3G6G,369,1,no description,60.2,random -370,I7N3G6G,370,1,no description,60.2,random -371,I7N3G6G,371,1,no description,60.2,random -372,I7N3G6G,372,1,no description,60.2,random -373,I7N3G6G,373,1,no description,60.2,random -374,I7N3G6G,374,1,no description,60.2,random -375,I7N3G6G,375,1,no description,60.2,random -376,I7N3G6G,376,1,no description,60.2,random -377,I7N3G6G,377,1,no description,60.2,random -378,I7N3G6G,378,1,no description,60.2,random -379,I7N3G6G,379,1,no description,60.2,random -380,I7N3G6G,380,1,no description,60.2,random -381,I7N3G6G,381,1,no description,60.2,random -382,I7N3G6G,382,1,no description,60.2,random -383,I7N3G6G,383,1,no description,60.2,random -384,I7N3G6G,384,1,no description,60.2,random -385,I7N3G6G,385,1,no description,60.2,random -386,I7N3G6G,386,1,no description,60.2,random -387,I7N3G6G,387,1,no description,60.2,random -388,I7N3G6G,388,1,no description,60.2,random -389,I7N3G6G,389,1,no description,60.2,random -390,I7N3G6G,390,1,no description,60.2,random -391,I7N3G6G,391,1,no description,60.2,random -392,I7N3G6G,392,1,no description,60.2,random -393,I7N3G6G,393,1,no description,60.2,random -394,I7N3G6G,394,1,no description,60.2,random -395,I7N3G6G,395,1,no description,60.2,random -396,I7N3G6G,396,1,no description,60.2,random -397,I7N3G6G,397,1,no description,60.2,random -398,I7N3G6G,398,1,no description,60.2,random -399,I7N3G6G,399,1,no description,60.2,random -400,I7N3G6G,400,1,no description,60.2,random -401,I7N3G6G,401,1,no description,60.2,random -402,I7N3G6G,402,1,no description,60.2,random -403,I7N3G6G,403,1,no description,60.2,random -404,I7N3G6G,404,1,no description,60.2,random -405,I7N3G6G,405,1,no description,60.2,random -406,I7N3G6G,406,1,no description,60.2,random -407,I7N3G6G,407,1,no description,60.2,random -408,I7N3G6G,408,1,no description,60.2,random -409,I7N3G6G,409,1,no description,60.2,random -410,I7N3G6G,410,1,no description,60.2,random -411,I7N3G6G,411,1,no description,60.2,random -412,I7N3G6G,412,1,no description,60.2,random -413,I7N3G6G,413,1,no description,60.2,random -414,I7N3G6G,414,1,no description,60.2,random -415,I7N3G6G,415,1,no description,60.2,random -416,I7N3G6G,416,1,no description,60.2,random -417,I7N3G6G,417,1,no description,60.2,random -418,I7N3G6G,418,1,no description,60.2,random -419,I7N3G6G,419,1,no description,60.2,random -420,I7N3G6G,420,1,no description,60.2,random -421,I7N3G6G,421,1,no description,60.2,random -422,I7N3G6G,422,1,no description,60.2,random -423,I7N3G6G,423,1,no description,60.2,random -424,I7N3G6G,424,1,no description,60.2,random -425,I7N3G6G,425,1,no description,60.2,random -426,I7N3G6G,426,1,no description,60.2,random -427,I7N3G6G,427,1,no description,60.2,random -428,I7N3G6G,428,1,no description,60.2,random -429,I7N3G6G,429,1,no description,60.2,random -430,I7N3G6G,430,1,no description,60.2,random -431,I7N3G6G,431,1,no description,60.2,random -432,I7N3G6G,432,1,no description,60.2,random -433,I7N3G6G,433,1,no description,60.2,random -434,I7N3G6G,434,1,no description,60.2,random -435,I7N3G6G,435,1,no description,60.2,random -436,I7N3G6G,436,1,no description,60.2,random -437,I7N3G6G,437,1,no description,60.2,random -438,I7N3G6G,438,1,no description,60.2,random -439,I7N3G6G,439,1,no description,60.2,random -440,I7N3G6G,440,1,no description,60.2,random -441,I7N3G6G,441,1,no description,60.2,random -442,I7N3G6G,442,1,no description,60.2,random -443,I7N3G6G,443,1,no description,60.2,random -444,I7N3G6G,444,1,no description,60.2,random -445,I7N3G6G,445,1,no description,60.2,random -446,I7N3G6G,446,1,no description,60.2,random -447,I7N3G6G,447,1,no description,60.2,random -448,I7N3G6G,448,1,no description,60.2,random -449,I7N3G6G,449,1,no description,60.2,random -450,I7N3G6G,450,1,no description,60.2,random -451,I7N3G6G,451,1,no description,60.2,random -452,I7N3G6G,452,1,no description,60.2,random -453,I7N3G6G,453,1,no description,60.2,random -454,I7N3G6G,454,1,no description,60.2,random -455,I7N3G6G,455,1,no description,60.2,random -456,I7N3G6G,456,1,no description,60.2,random -457,I7N3G6G,457,1,no description,60.2,random -458,I7N3G6G,458,1,no description,60.2,random -459,I7N3G6G,459,1,no description,60.2,random -460,I7N3G6G,460,1,no description,60.2,random -461,I7N3G6G,461,1,no description,60.2,random -462,I7N3G6G,462,1,no description,60.2,random -463,I7N3G6G,463,1,no description,60.2,random -464,I7N3G6G,464,1,no description,60.2,random -465,I7N3G6G,465,1,no description,60.2,random -466,I7N3G6G,466,1,no description,60.2,random -467,I7N3G6G,467,1,no description,60.2,random -468,I7N3G6G,468,1,no description,60.2,random -469,I7N3G6G,469,1,no description,60.2,random -470,I7N3G6G,470,1,no description,60.2,random -471,I7N3G6G,471,1,no description,60.2,random -472,I7N3G6G,472,1,no description,60.2,random -473,I7N3G6G,473,1,no description,60.2,random -474,I7N3G6G,474,1,no description,60.2,random -475,I7N3G6G,475,1,no description,60.2,random -476,I7N3G6G,476,1,no description,60.2,random -477,I7N3G6G,477,1,no description,60.2,random -478,I7N3G6G,478,1,no description,60.2,random -479,I7N3G6G,479,1,no description,60.2,random -480,I7N3G6G,480,1,no description,60.2,random -481,I7N3G6G,481,1,no description,60.2,random -482,I7N3G6G,482,1,no description,60.2,random -483,I7N3G6G,483,1,no description,60.2,random -484,I7N3G6G,484,1,no description,60.2,random -485,I7N3G6G,485,1,no description,60.2,random -486,I7N3G6G,486,1,no description,60.2,random -487,I7N3G6G,487,1,no description,60.2,random -488,I7N3G6G,488,1,no description,60.2,random -489,I7N3G6G,489,1,no description,60.2,random -490,I7N3G6G,490,1,no description,60.2,random -491,I7N3G6G,491,1,no description,60.2,random -492,I7N3G6G,492,1,no description,60.2,random -493,I7N3G6G,493,1,no description,60.2,random -494,I7N3G6G,494,1,no description,60.2,random -495,I7N3G6G,495,1,no description,60.2,random -496,I7N3G6G,496,1,no description,60.2,random -497,I7N3G6G,497,1,no description,60.2,random -498,I7N3G6G,498,1,no description,60.2,random -499,I7N3G6G,499,1,no description,60.2,random -500,I7N3G6G,500,1,no description,60.2,random -501,I7N3G6G,501,1,no description,60.2,random -502,I7N3G6G,502,1,no description,60.2,random -503,I7N3G6G,503,1,no description,60.2,random -504,I7N3G6G,504,1,no description,60.2,random -505,I7N3G6G,505,1,no description,60.2,random -506,I7N3G6G,506,1,no description,60.2,random -507,I7N3G6G,507,1,no description,60.2,random -508,I7N3G6G,508,1,no description,60.2,random -509,I7N3G6G,509,1,no description,60.2,random -510,I7N3G6G,510,1,no description,60.2,random -511,I7N3G6G,511,1,no description,60.2,random -512,I7N3G6G,512,1,no description,60.2,random -513,I7N3G6G,513,1,no description,60.2,random -514,I7N3G6G,514,1,no description,60.2,random -515,I7N3G6G,515,1,no description,60.2,random -516,I7N3G6G,516,1,no description,60.2,random -517,I7N3G6G,517,1,no description,60.2,random -518,I7N3G6G,518,1,no description,60.2,random -519,I7N3G6G,519,1,no description,60.2,random -520,I7N3G6G,520,1,no description,60.2,random -521,I7N3G6G,521,1,no description,60.2,random -522,I7N3G6G,522,1,no description,60.2,random -523,I7N3G6G,523,1,no description,60.2,random -524,I7N3G6G,524,1,no description,60.2,random -525,I7N3G6G,525,1,no description,60.2,random -526,I7N3G6G,526,1,no description,60.2,random -527,I7N3G6G,527,1,no description,60.2,random -528,I7N3G6G,528,1,no description,60.2,random -529,I7N3G6G,529,1,no description,60.2,random -530,I7N3G6G,530,1,no description,60.2,random -531,I7N3G6G,531,1,no description,60.2,random -532,I7N3G6G,532,1,no description,60.2,random -533,I7N3G6G,533,1,no description,60.2,random -534,I7N3G6G,534,1,no description,60.2,random -535,I7N3G6G,535,1,no description,60.2,random -536,I7N3G6G,536,1,no description,60.2,random -537,I7N3G6G,537,1,no description,60.2,random -538,I7N3G6G,538,1,no description,60.2,random -539,I7N3G6G,539,1,no description,60.2,random -540,I7N3G6G,540,1,no description,60.2,random -541,I7N3G6G,541,1,no description,60.2,random -542,I7N3G6G,542,1,no description,60.2,random -543,I7N3G6G,543,1,no description,60.2,random -544,I7N3G6G,544,1,no description,60.2,random -545,I7N3G6G,545,1,no description,60.2,random -546,I7N3G6G,546,1,no description,60.2,random -547,I7N3G6G,547,1,no description,60.2,random -548,I7N3G6G,548,1,no description,60.2,random -549,I7N3G6G,549,1,no description,60.2,random -550,I7N3G6G,550,1,no description,60.2,random -551,I7N3G6G,551,1,no description,60.2,random -552,I7N3G6G,552,1,no description,60.2,random -553,I7N3G6G,553,1,no description,60.2,random -554,I7N3G6G,554,1,no description,60.2,random -555,I7N3G6G,555,1,no description,60.2,random -556,I7N3G6G,556,1,no description,60.2,random -557,I7N3G6G,557,1,no description,60.2,random -558,I7N3G6G,558,1,no description,60.2,random -559,I7N3G6G,559,1,no description,60.2,random -560,I7N3G6G,560,1,no description,60.2,random -561,I7N3G6G,561,1,no description,60.2,random -562,I7N3G6G,562,1,no description,60.2,random -563,I7N3G6G,563,1,no description,60.2,random -564,I7N3G6G,564,1,no description,60.2,random -565,I7N3G6G,565,1,no description,60.2,random -566,I7N3G6G,566,1,no description,60.2,random -567,I7N3G6G,567,1,no description,60.2,random -568,I7N3G6G,568,1,no description,60.2,random -569,I7N3G6G,569,1,no description,60.2,random -570,I7N3G6G,570,1,no description,60.2,random -571,I7N3G6G,571,1,no description,60.2,random -572,I7N3G6G,572,1,no description,60.2,random -573,I7N3G6G,573,1,no description,60.2,random -574,I7N3G6G,574,1,no description,60.2,random -575,I7N3G6G,575,1,no description,60.2,random -576,I7N3G6G,576,1,no description,60.2,random -577,I7N3G6G,577,1,no description,60.2,random -578,I7N3G6G,578,1,no description,60.2,random -579,I7N3G6G,579,1,no description,60.2,random -580,I7N3G6G,580,1,no description,60.2,random -581,I7N3G6G,581,1,no description,60.2,random -582,I7N3G6G,582,1,no description,60.2,random -583,I7N3G6G,583,1,no description,60.2,random -584,I7N3G6G,584,1,no description,60.2,random -585,I7N3G6G,585,1,no description,60.2,random -586,I7N3G6G,586,1,no description,60.2,random -587,I7N3G6G,587,1,no description,60.2,random -588,I7N3G6G,588,1,no description,60.2,random -589,I7N3G6G,589,1,no description,60.2,random -590,I7N3G6G,590,1,no description,60.2,random -591,I7N3G6G,591,1,no description,60.2,random -592,I7N3G6G,592,1,no description,60.2,random -593,I7N3G6G,593,1,no description,60.2,random -594,I7N3G6G,594,1,no description,60.2,random -595,I7N3G6G,595,1,no description,60.2,random -596,I7N3G6G,596,1,no description,60.2,random -597,I7N3G6G,597,1,no description,60.2,random -598,I7N3G6G,598,1,no description,60.2,random -599,I7N3G6G,599,1,no description,60.2,random -600,I7N3G6G,600,1,no description,60.2,random -601,I7N3G6G,601,1,no description,60.2,random -602,I7N3G6G,602,1,no description,60.2,random -603,I7N3G6G,603,1,no description,60.2,random -604,I7N3G6G,604,1,no description,60.2,random -605,I7N3G6G,605,1,no description,60.2,random -606,I7N3G6G,606,1,no description,60.2,random -607,I7N3G6G,607,1,no description,60.2,random -608,I7N3G6G,608,1,no description,60.2,random -609,I7N3G6G,609,1,no description,60.2,random -610,I7N3G6G,610,1,no description,60.2,random -611,I7N3G6G,611,1,no description,60.2,random -612,I7N3G6G,612,1,no description,60.2,random -613,I7N3G6G,613,1,no description,60.2,random -614,I7N3G6G,614,1,no description,60.2,random -615,I7N3G6G,615,1,no description,60.2,random -616,I7N3G6G,616,1,no description,60.2,random -617,I7N3G6G,617,1,no description,60.2,random -618,I7N3G6G,618,1,no description,60.2,random -619,I7N3G6G,619,1,no description,60.2,random -620,I7N3G6G,620,1,no description,60.2,random -621,I7N3G6G,621,1,no description,60.2,random -622,I7N3G6G,622,1,no description,60.2,random -623,I7N3G6G,623,1,no description,60.2,random -624,I7N3G6G,624,1,no description,60.2,random -625,I7N3G6G,625,1,no description,60.2,random -626,I7N3G6G,626,1,no description,60.2,random -627,I7N3G6G,627,1,no description,60.2,random -628,I7N3G6G,628,1,no description,60.2,random -629,I7N3G6G,629,1,no description,60.2,random -630,I7N3G6G,630,1,no description,60.2,random -631,I7N3G6G,631,1,no description,60.2,random -632,I7N3G6G,632,1,no description,60.2,random -633,I7N3G6G,633,1,no description,60.2,random -634,I7N3G6G,634,1,no description,60.2,random -635,I7N3G6G,635,1,no description,60.2,random -636,I7N3G6G,636,1,no description,60.2,random -637,I7N3G6G,637,1,no description,60.2,random -638,I7N3G6G,638,1,no description,60.2,random -639,I7N3G6G,639,1,no description,60.2,random -640,I7N3G6G,640,1,no description,60.2,random -641,I7N3G6G,641,1,no description,60.2,random -642,I7N3G6G,642,1,no description,60.2,random -643,I7N3G6G,643,1,no description,60.2,random -644,I7N3G6G,644,1,no description,60.2,random -645,I7N3G6G,645,1,no description,60.2,random -646,I7N3G6G,646,1,no description,60.2,random -647,I7N3G6G,647,1,no description,60.2,random -648,I7N3G6G,648,1,no description,60.2,random -649,I7N3G6G,649,1,no description,60.2,random -650,I7N3G6G,650,1,no description,60.2,random -651,I7N3G6G,651,1,no description,60.2,random -652,I7N3G6G,652,1,no description,60.2,random -653,I7N3G6G,653,1,no description,60.2,random -654,I7N3G6G,654,1,no description,60.2,random -655,I7N3G6G,655,1,no description,60.2,random -656,I7N3G6G,656,1,no description,60.2,random -657,I7N3G6G,657,1,no description,60.2,random -658,I7N3G6G,658,1,no description,60.2,random -659,I7N3G6G,659,1,no description,60.2,random -660,I7N3G6G,660,1,no description,60.2,random -661,I7N3G6G,661,1,no description,60.2,random -662,I7N3G6G,662,1,no description,60.2,random -663,I7N3G6G,663,1,no description,60.2,random -664,I7N3G6G,664,1,no description,60.2,random -665,I7N3G6G,665,1,no description,60.2,random -666,I7N3G6G,666,1,no description,60.2,random -667,I7N3G6G,667,1,no description,60.2,random -668,I7N3G6G,668,1,no description,60.2,random -669,I7N3G6G,669,1,no description,60.2,random -670,I7N3G6G,670,1,no description,60.2,random -671,I7N3G6G,671,1,no description,60.2,random -672,I7N3G6G,672,1,no description,60.2,random -673,I7N3G6G,673,1,no description,60.2,random -674,I7N3G6G,674,1,no description,60.2,random -675,I7N3G6G,675,1,no description,60.2,random -676,I7N3G6G,676,1,no description,60.2,random -677,I7N3G6G,677,1,no description,60.2,random -678,I7N3G6G,678,1,no description,60.2,random -679,I7N3G6G,679,1,no description,60.2,random -680,I7N3G6G,680,1,no description,60.2,random -681,I7N3G6G,681,1,no description,60.2,random -682,I7N3G6G,682,1,no description,60.2,random -683,I7N3G6G,683,1,no description,60.2,random -684,I7N3G6G,684,1,no description,60.2,random -685,I7N3G6G,685,1,no description,60.2,random -686,I7N3G6G,686,1,no description,60.2,random -687,I7N3G6G,687,1,no description,60.2,random -688,I7N3G6G,688,1,no description,60.2,random -689,I7N3G6G,689,1,no description,60.2,random -690,I7N3G6G,690,1,no description,60.2,random -691,I7N3G6G,691,1,no description,60.2,random -692,I7N3G6G,692,1,no description,60.2,random -693,I7N3G6G,693,1,no description,60.2,random -694,I7N3G6G,694,1,no description,60.2,random -695,I7N3G6G,695,1,no description,60.2,random -696,I7N3G6G,696,1,no description,60.2,random -697,I7N3G6G,697,1,no description,60.2,random -698,I7N3G6G,698,1,no description,60.2,random -699,I7N3G6G,699,1,no description,60.2,random -700,I7N3G6G,700,1,no description,60.2,random -701,I7N3G6G,701,1,no description,60.2,random -702,I7N3G6G,702,1,no description,60.2,random -703,I7N3G6G,703,1,no description,60.2,random -704,I7N3G6G,704,1,no description,60.2,random -705,I7N3G6G,705,1,no description,60.2,random -706,I7N3G6G,706,1,no description,60.2,random -707,I7N3G6G,707,1,no description,60.2,random -708,I7N3G6G,708,1,no description,60.2,random -709,I7N3G6G,709,1,no description,60.2,random -710,I7N3G6G,710,1,no description,60.2,random -711,I7N3G6G,711,1,no description,60.2,random -712,I7N3G6G,712,1,no description,60.2,random -713,I7N3G6G,713,1,no description,60.2,random -714,I7N3G6G,714,1,no description,60.2,random -715,I7N3G6G,715,1,no description,60.2,random -716,I7N3G6G,716,1,no description,60.2,random -717,I7N3G6G,717,1,no description,60.2,random -718,I7N3G6G,718,1,no description,60.2,random -719,I7N3G6G,719,1,no description,60.2,random -720,I7N3G6G,720,1,no description,60.2,random -721,I7N3G6G,721,1,no description,60.2,random -722,I7N3G6G,722,1,no description,60.2,random -723,I7N3G6G,723,1,no description,60.2,random -724,I7N3G6G,724,1,no description,60.2,random -725,I7N3G6G,725,1,no description,60.2,random -726,I7N3G6G,726,1,no description,60.2,random -727,I7N3G6G,727,1,no description,60.2,random -728,I7N3G6G,728,1,no description,60.2,random -729,I7N3G6G,729,1,no description,60.2,random -730,I7N3G6G,730,1,no description,60.2,random -731,I7N3G6G,731,1,no description,60.2,random -732,I7N3G6G,732,1,no description,60.2,random -733,I7N3G6G,733,1,no description,60.2,random -734,I7N3G6G,734,1,no description,60.2,random -735,I7N3G6G,735,1,no description,60.2,random -736,I7N3G6G,736,1,no description,60.2,random -737,I7N3G6G,737,1,no description,60.2,random -738,I7N3G6G,738,1,no description,60.2,random -739,I7N3G6G,739,1,no description,60.2,random -740,I7N3G6G,740,1,no description,60.2,random -741,I7N3G6G,741,1,no description,60.2,random -742,I7N3G6G,742,1,no description,60.2,random -743,I7N3G6G,743,1,no description,60.2,random -744,I7N3G6G,744,1,no description,60.2,random -745,I7N3G6G,745,1,no description,60.2,random -746,I7N3G6G,746,1,no description,60.2,random -747,I7N3G6G,747,1,no description,60.2,random -748,I7N3G6G,748,1,no description,60.2,random -749,I7N3G6G,749,1,no description,60.2,random -750,I7N3G6G,750,1,no description,60.2,random -751,I7N3G6G,751,1,no description,60.2,random -752,I7N3G6G,752,1,no description,60.2,random -753,I7N3G6G,753,1,no description,60.2,random -754,I7N3G6G,754,1,no description,60.2,random -755,I7N3G6G,755,1,no description,60.2,random -756,I7N3G6G,756,1,no description,60.2,random -757,I7N3G6G,757,1,no description,60.2,random -758,I7N3G6G,758,1,no description,60.2,random -759,I7N3G6G,759,1,no description,60.2,random -760,I7N3G6G,760,1,no description,60.2,random -761,I7N3G6G,761,1,no description,60.2,random -762,I7N3G6G,762,1,no description,60.2,random -763,I7N3G6G,763,1,no description,60.2,random -764,I7N3G6G,764,1,no description,60.2,random -765,I7N3G6G,765,1,no description,60.2,random -766,I7N3G6G,766,1,no description,60.2,random -767,I7N3G6G,767,1,no description,60.2,random -768,I7N3G6G,768,1,no description,60.2,random -769,I7N3G6G,769,1,no description,60.2,random -770,I7N3G6G,770,1,no description,60.2,random -771,I7N3G6G,771,1,no description,60.2,random -772,I7N3G6G,772,1,no description,60.2,random -773,I7N3G6G,773,1,no description,60.2,random -774,I7N3G6G,774,1,no description,60.2,random -775,I7N3G6G,775,1,no description,60.2,random -776,I7N3G6G,776,1,no description,60.2,random -777,I7N3G6G,777,1,no description,60.2,random -778,I7N3G6G,778,1,no description,60.2,random -779,I7N3G6G,779,1,no description,60.2,random -780,I7N3G6G,780,1,no description,60.2,random -781,I7N3G6G,781,1,no description,60.2,random -782,I7N3G6G,782,1,no description,60.2,random -783,I7N3G6G,783,1,no description,60.2,random -784,I7N3G6G,784,1,no description,60.2,random -785,I7N3G6G,785,1,no description,60.2,random -786,I7N3G6G,786,1,no description,60.2,random -787,I7N3G6G,787,1,no description,60.2,random -788,I7N3G6G,788,1,no description,60.2,random -789,I7N3G6G,789,1,no description,60.2,random -790,I7N3G6G,790,1,no description,60.2,random -791,I7N3G6G,791,1,no description,60.2,random -792,I7N3G6G,792,1,no description,60.2,random -793,I7N3G6G,793,1,no description,60.2,random -794,I7N3G6G,794,1,no description,60.2,random -795,I7N3G6G,795,1,no description,60.2,random -796,I7N3G6G,796,1,no description,60.2,random -797,I7N3G6G,797,1,no description,60.2,random -798,I7N3G6G,798,1,no description,60.2,random -799,I7N3G6G,799,1,no description,60.2,random -800,I7N3G6G,800,1,no description,60.2,random -801,I7N3G6G,801,1,no description,60.2,random -802,I7N3G6G,802,1,no description,60.2,random -803,I7N3G6G,803,1,no description,60.2,random -804,I7N3G6G,804,1,no description,60.2,random -805,I7N3G6G,805,1,no description,60.2,random -806,I7N3G6G,806,1,no description,60.2,random -807,I7N3G6G,807,1,no description,60.2,random -808,I7N3G6G,808,1,no description,60.2,random -809,I7N3G6G,809,1,no description,60.2,random -810,I7N3G6G,810,1,no description,60.2,random -811,I7N3G6G,811,1,no description,60.2,random -812,I7N3G6G,812,1,no description,60.2,random -813,I7N3G6G,813,1,no description,60.2,random -814,I7N3G6G,814,1,no description,60.2,random -815,I7N3G6G,815,1,no description,60.2,random -816,I7N3G6G,816,1,no description,60.2,random -817,I7N3G6G,817,1,no description,60.2,random -818,I7N3G6G,818,1,no description,60.2,random -819,I7N3G6G,819,1,no description,60.2,random -820,I7N3G6G,820,1,no description,60.2,random -821,I7N3G6G,821,1,no description,60.2,random -822,I7N3G6G,822,1,no description,60.2,random -823,I7N3G6G,823,1,no description,60.2,random -824,I7N3G6G,824,1,no description,60.2,random -825,I7N3G6G,825,1,no description,60.2,random -826,I7N3G6G,826,1,no description,60.2,random -827,I7N3G6G,827,1,no description,60.2,random -828,I7N3G6G,828,1,no description,60.2,random -829,I7N3G6G,829,1,no description,60.2,random -830,I7N3G6G,830,1,no description,60.2,random -831,I7N3G6G,831,1,no description,60.2,random -832,I7N3G6G,832,1,no description,60.2,random -833,I7N3G6G,833,1,no description,60.2,random -834,I7N3G6G,834,1,no description,60.2,random -835,I7N3G6G,835,1,no description,60.2,random -836,I7N3G6G,836,1,no description,60.2,random -837,I7N3G6G,837,1,no description,60.2,random -838,I7N3G6G,838,1,no description,60.2,random -839,I7N3G6G,839,1,no description,60.2,random -840,I7N3G6G,840,1,no description,60.2,random -841,I7N3G6G,841,1,no description,60.2,random -842,I7N3G6G,842,1,no description,60.2,random -843,I7N3G6G,843,1,no description,60.2,random -844,I7N3G6G,844,1,no description,60.2,random -845,I7N3G6G,845,1,no description,60.2,random -846,I7N3G6G,846,1,no description,60.2,random -847,I7N3G6G,847,1,no description,60.2,random -848,I7N3G6G,848,1,no description,60.2,random -849,I7N3G6G,849,1,no description,60.2,random -850,I7N3G6G,850,1,no description,60.2,random -851,I7N3G6G,851,1,no description,60.2,random -852,I7N3G6G,852,1,no description,60.2,random -853,I7N3G6G,853,1,no description,60.2,random -854,I7N3G6G,854,1,no description,60.2,random -855,I7N3G6G,855,1,no description,60.2,random -856,I7N3G6G,856,1,no description,60.2,random -857,I7N3G6G,857,1,no description,60.2,random -858,I7N3G6G,858,1,no description,60.2,random -859,I7N3G6G,859,1,no description,60.2,random -860,I7N3G6G,860,1,no description,60.2,random -861,I7N3G6G,861,1,no description,60.2,random -862,I7N3G6G,862,1,no description,60.2,random -863,I7N3G6G,863,1,no description,60.2,random -864,I7N3G6G,864,1,no description,60.2,random -865,I7N3G6G,865,1,no description,60.2,random -866,I7N3G6G,866,1,no description,60.2,random -867,I7N3G6G,867,1,no description,60.2,random -868,I7N3G6G,868,1,no description,60.2,random -869,I7N3G6G,869,1,no description,60.2,random -870,I7N3G6G,870,1,no description,60.2,random -871,I7N3G6G,871,1,no description,60.2,random -872,I7N3G6G,872,1,no description,60.2,random -873,I7N3G6G,873,1,no description,60.2,random -874,I7N3G6G,874,1,no description,60.2,random -875,I7N3G6G,875,1,no description,60.2,random -876,I7N3G6G,876,1,no description,60.2,random -877,I7N3G6G,877,1,no description,60.2,random -878,I7N3G6G,878,1,no description,60.2,random -879,I7N3G6G,879,1,no description,60.2,random -880,I7N3G6G,880,1,no description,60.2,random -881,I7N3G6G,881,1,no description,60.2,random -882,I7N3G6G,882,1,no description,60.2,random -883,I7N3G6G,883,1,no description,60.2,random -884,I7N3G6G,884,1,no description,60.2,random -885,I7N3G6G,885,1,no description,60.2,random -886,I7N3G6G,886,1,no description,60.2,random -887,I7N3G6G,887,1,no description,60.2,random -888,I7N3G6G,888,1,no description,60.2,random -889,I7N3G6G,889,1,no description,60.2,random -890,I7N3G6G,890,1,no description,60.2,random -891,I7N3G6G,891,1,no description,60.2,random -892,I7N3G6G,892,1,no description,60.2,random -893,I7N3G6G,893,1,no description,60.2,random -894,I7N3G6G,894,1,no description,60.2,random -895,I7N3G6G,895,1,no description,60.2,random -896,I7N3G6G,896,1,no description,60.2,random -897,I7N3G6G,897,1,no description,60.2,random -898,I7N3G6G,898,1,no description,60.2,random -899,I7N3G6G,899,1,no description,60.2,random -900,I7N3G6G,900,1,no description,60.2,random -901,I7N3G6G,901,1,no description,60.2,random -902,I7N3G6G,902,1,no description,60.2,random -903,I7N3G6G,903,1,no description,60.2,random -904,I7N3G6G,904,1,no description,60.2,random -905,I7N3G6G,905,1,no description,60.2,random -906,I7N3G6G,906,1,no description,60.2,random -907,I7N3G6G,907,1,no description,60.2,random -908,I7N3G6G,908,1,no description,60.2,random -909,I7N3G6G,909,1,no description,60.2,random -910,I7N3G6G,910,1,no description,60.2,random -911,I7N3G6G,911,1,no description,60.2,random -912,I7N3G6G,912,1,no description,60.2,random -913,I7N3G6G,913,1,no description,60.2,random -914,I7N3G6G,914,1,no description,60.2,random -915,I7N3G6G,915,1,no description,60.2,random -916,I7N3G6G,916,1,no description,60.2,random -917,I7N3G6G,917,1,no description,60.2,random -918,I7N3G6G,918,1,no description,60.2,random -919,I7N3G6G,919,1,no description,60.2,random -920,I7N3G6G,920,1,no description,60.2,random -921,I7N3G6G,921,1,no description,60.2,random -922,I7N3G6G,922,1,no description,60.2,random -923,I7N3G6G,923,1,no description,60.2,random -924,I7N3G6G,924,1,no description,60.2,random -925,I7N3G6G,925,1,no description,60.2,random -926,I7N3G6G,926,1,no description,60.2,random -927,I7N3G6G,927,1,no description,60.2,random -928,I7N3G6G,928,1,no description,60.2,random -929,I7N3G6G,929,1,no description,60.2,random -930,I7N3G6G,930,1,no description,60.2,random -931,I7N3G6G,931,1,no description,60.2,random -932,I7N3G6G,932,1,no description,60.2,random -933,I7N3G6G,933,1,no description,60.2,random -934,I7N3G6G,934,1,no description,60.2,random -935,I7N3G6G,935,1,no description,60.2,random -936,I7N3G6G,936,1,no description,60.2,random -937,I7N3G6G,937,1,no description,60.2,random -938,I7N3G6G,938,1,no description,60.2,random -939,I7N3G6G,939,1,no description,60.2,random -940,I7N3G6G,940,1,no description,60.2,random -941,I7N3G6G,941,1,no description,60.2,random -942,I7N3G6G,942,1,no description,60.2,random -943,I7N3G6G,943,1,no description,60.2,random -944,I7N3G6G,944,1,no description,60.2,random -945,I7N3G6G,945,1,no description,60.2,random -946,I7N3G6G,946,1,no description,60.2,random -947,I7N3G6G,947,1,no description,60.2,random -948,I7N3G6G,948,1,no description,60.2,random -949,I7N3G6G,949,1,no description,60.2,random -950,I7N3G6G,950,1,no description,60.2,random -951,I7N3G6G,951,1,no description,60.2,random -952,I7N3G6G,952,1,no description,60.2,random -953,I7N3G6G,953,1,no description,60.2,random -954,I7N3G6G,954,1,no description,60.2,random -955,I7N3G6G,955,1,no description,60.2,random -956,I7N3G6G,956,1,no description,60.2,random -957,I7N3G6G,957,1,no description,60.2,random -958,I7N3G6G,958,1,no description,60.2,random -959,I7N3G6G,959,1,no description,60.2,random -960,I7N3G6G,960,1,no description,60.2,random -961,I7N3G6G,961,1,no description,60.2,random -962,I7N3G6G,962,1,no description,60.2,random -963,I7N3G6G,963,1,no description,60.2,random -964,I7N3G6G,964,1,no description,60.2,random -965,I7N3G6G,965,1,no description,60.2,random -966,I7N3G6G,966,1,no description,60.2,random -967,I7N3G6G,967,1,no description,60.2,random -968,I7N3G6G,968,1,no description,60.2,random -969,I7N3G6G,969,1,no description,60.2,random -970,I7N3G6G,970,1,no description,60.2,random -971,I7N3G6G,971,1,no description,60.2,random -972,I7N3G6G,972,1,no description,60.2,random -973,I7N3G6G,973,1,no description,60.2,random -974,I7N3G6G,974,1,no description,60.2,random -975,I7N3G6G,975,1,no description,60.2,random -976,I7N3G6G,976,1,no description,60.2,random -977,I7N3G6G,977,1,no description,60.2,random -978,I7N3G6G,978,1,no description,60.2,random -979,I7N3G6G,979,1,no description,60.2,random -980,I7N3G6G,980,1,no description,60.2,random -981,I7N3G6G,981,1,no description,60.2,random -982,I7N3G6G,982,1,no description,60.2,random -983,I7N3G6G,983,1,no description,60.2,random -984,I7N3G6G,984,1,no description,60.2,random -985,I7N3G6G,985,1,no description,60.2,random -986,I7N3G6G,986,1,no description,60.2,random -987,I7N3G6G,987,1,no description,60.2,random -988,I7N3G6G,988,1,no description,60.2,random -989,I7N3G6G,989,1,no description,60.2,random -990,I7N3G6G,990,1,no description,60.2,random -991,I7N3G6G,991,1,no description,60.2,random -992,I7N3G6G,992,1,no description,60.2,random -993,I7N3G6G,993,1,no description,60.2,random -994,I7N3G6G,994,1,no description,60.2,random -995,I7N3G6G,995,1,no description,60.2,random -996,I7N3G6G,996,1,no description,60.2,random -997,I7N3G6G,997,1,no description,60.2,random -998,I7N3G6G,998,1,no description,60.2,random -999,I7N3G6G,999,1,no description,60.2,random -1000,I7N3G6G,1000,1,no description,60.2,random -1001,I7N3G6G,1001,1,no description,60.2,random -1002,I7N3G6G,1002,1,no description,60.2,random -1003,I7N3G6G,1003,1,no description,60.2,random -1004,I7N3G6G,1004,1,no description,60.2,random -1005,I7N3G6G,1005,1,no description,60.2,random -1006,I7N3G6G,1006,1,no description,60.2,random -1007,I7N3G6G,1007,1,no description,60.2,random -1008,I7N3G6G,1008,1,no description,60.2,random -1009,I7N3G6G,1009,1,no description,60.2,random -1010,I7N3G6G,1010,1,no description,60.2,random -1011,I7N3G6G,1011,1,no description,60.2,random -1012,I7N3G6G,1012,1,no description,60.2,random -1013,I7N3G6G,1013,1,no description,60.2,random -1014,I7N3G6G,1014,1,no description,60.2,random -1015,I7N3G6G,1015,1,no description,60.2,random -1016,I7N3G6G,1016,1,no description,60.2,random -1017,I7N3G6G,1017,1,no description,60.2,random -1018,I7N3G6G,1018,1,no description,60.2,random -1019,I7N3G6G,1019,1,no description,60.2,random -1020,I7N3G6G,1020,1,no description,60.2,random -1021,I7N3G6G,1021,1,no description,60.2,random -1022,I7N3G6G,1022,1,no description,60.2,random -1023,I7N3G6G,1023,1,no description,60.2,random -1024,I7N3G6G,1024,1,no description,60.2,random -1025,I7N3G6G,1025,1,no description,60.2,random -1026,I7N3G6G,1026,1,no description,60.2,random -1027,I7N3G6G,1027,1,no description,60.2,random -1028,I7N3G6G,1028,1,no description,60.2,random -1029,I7N3G6G,1029,1,no description,60.2,random -1030,I7N3G6G,1030,1,no description,60.2,random -1031,I7N3G6G,1031,1,no description,60.2,random -1032,I7N3G6G,1032,1,no description,60.2,random -1033,I7N3G6G,1033,1,no description,60.2,random -1034,I7N3G6G,1034,1,no description,60.2,random -1035,I7N3G6G,1035,1,no description,60.2,random -1036,I7N3G6G,1036,1,no description,60.2,random -1037,I7N3G6G,1037,1,no description,60.2,random -1038,I7N3G6G,1038,1,no description,60.2,random -1039,I7N3G6G,1039,1,no description,60.2,random -1040,I7N3G6G,1040,1,no description,60.2,random -1041,I7N3G6G,1041,1,no description,60.2,random -1042,I7N3G6G,1042,1,no description,60.2,random -1043,I7N3G6G,1043,1,no description,60.2,random -1044,I7N3G6G,1044,1,no description,60.2,random -1045,I7N3G6G,1045,1,no description,60.2,random -1046,I7N3G6G,1046,1,no description,60.2,random -1047,I7N3G6G,1047,1,no description,60.2,random -1048,I7N3G6G,1048,1,no description,60.2,random -1049,I7N3G6G,1049,1,no description,60.2,random -1050,I7N3G6G,1050,1,no description,60.2,random -1051,I7N3G6G,1051,1,no description,60.2,random -1052,I7N3G6G,1052,1,no description,60.2,random -1053,I7N3G6G,1053,1,no description,60.2,random -1054,I7N3G6G,1054,1,no description,60.2,random -1055,I7N3G6G,1055,1,no description,60.2,random -1056,I7N3G6G,1056,1,no description,60.2,random -1057,I7N3G6G,1057,1,no description,60.2,random -1058,I7N3G6G,1058,1,no description,60.2,random -1059,I7N3G6G,1059,1,no description,60.2,random -1060,I7N3G6G,1060,1,no description,60.2,random -1061,I7N3G6G,1061,1,no description,60.2,random -1062,I7N3G6G,1062,1,no description,60.2,random -1063,I7N3G6G,1063,1,no description,60.2,random -1064,I7N3G6G,1064,1,no description,60.2,random -1065,I7N3G6G,1065,1,no description,60.2,random -1066,I7N3G6G,1066,1,no description,60.2,random -1067,I7N3G6G,1067,1,no description,60.2,random -1068,I7N3G6G,1068,1,no description,60.2,random -1069,I7N3G6G,1069,1,no description,60.2,random -1070,I7N3G6G,1070,1,no description,60.2,random -1071,I7N3G6G,1071,1,no description,60.2,random -1072,I7N3G6G,1072,1,no description,60.2,random -1073,I7N3G6G,1073,1,no description,60.2,random -1074,I7N3G6G,1074,1,no description,60.2,random -1075,I7N3G6G,1075,1,no description,60.2,random -1076,I7N3G6G,1076,1,no description,60.2,random -1077,I7N3G6G,1077,1,no description,60.2,random -1078,I7N3G6G,1078,1,no description,60.2,random -1079,I7N3G6G,1079,1,no description,60.2,random -1080,I7N3G6G,1080,1,no description,60.2,random -1081,I7N3G6G,1081,1,no description,60.2,random -1082,I7N3G6G,1082,1,no description,60.2,random -1083,I7N3G6G,1083,1,no description,60.2,random -1084,I7N3G6G,1084,1,no description,60.2,random -1085,I7N3G6G,1085,1,no description,60.2,random -1086,I7N3G6G,1086,1,no description,60.2,random -1087,I7N3G6G,1087,1,no description,60.2,random -1088,I7N3G6G,1088,1,no description,60.2,random -1089,I7N3G6G,1089,1,no description,60.2,random -1090,I7N3G6G,1090,1,no description,60.2,random -1091,I7N3G6G,1091,1,no description,60.2,random -1092,I7N3G6G,1092,1,no description,60.2,random -1093,I7N3G6G,1093,1,no description,60.2,random -1094,I7N3G6G,1094,1,no description,60.2,random -1095,I7N3G6G,1095,1,no description,60.2,random -1096,I7N3G6G,1096,1,no description,60.2,random -1097,I7N3G6G,1097,1,no description,60.2,random -1098,I7N3G6G,1098,1,no description,60.2,random -1099,I7N3G6G,1099,1,no description,60.2,random -1100,I7N3G6G,1100,1,no description,60.2,random -1101,I7N3G6G,1101,1,no description,60.2,random -1102,I7N3G6G,1102,1,no description,60.2,random -1103,I7N3G6G,1103,1,no description,60.2,random -1104,I7N3G6G,1104,1,no description,60.2,random -1105,I7N3G6G,1105,1,no description,60.2,random -1106,I7N3G6G,1106,1,no description,60.2,random -1107,I7N3G6G,1107,1,no description,60.2,random -1108,I7N3G6G,1108,1,no description,60.2,random -1109,I7N3G6G,1109,1,no description,60.2,random -1110,I7N3G6G,1110,1,no description,60.2,random -1111,I7N3G6G,1111,1,no description,60.2,random -1112,I7N3G6G,1112,1,no description,60.2,random -1113,I7N3G6G,1113,1,no description,60.2,random -1114,I7N3G6G,1114,1,no description,60.2,random -1115,I7N3G6G,1115,1,no description,60.2,random -1116,I7N3G6G,1116,1,no description,60.2,random -1117,I7N3G6G,1117,1,no description,60.2,random -1118,I7N3G6G,1118,1,no description,60.2,random -1119,I7N3G6G,1119,1,no description,60.2,random -1120,I7N3G6G,1120,1,no description,60.2,random -1121,I7N3G6G,1121,1,no description,60.2,random -1122,I7N3G6G,1122,1,no description,60.2,random -1123,I7N3G6G,1123,1,no description,60.2,random -1124,I7N3G6G,1124,1,no description,60.2,random -1125,I7N3G6G,1125,1,no description,60.2,random -1126,I7N3G6G,1126,1,no description,60.2,random -1127,I7N3G6G,1127,1,no description,60.2,random -1128,I7N3G6G,1128,1,no description,60.2,random -1129,I7N3G6G,1129,1,no description,60.2,random -1130,I7N3G6G,1130,1,no description,60.2,random -1131,I7N3G6G,1131,1,no description,60.2,random -1132,I7N3G6G,1132,1,no description,60.2,random -1133,I7N3G6G,1133,1,no description,60.2,random -1134,I7N3G6G,1134,1,no description,60.2,random -1135,I7N3G6G,1135,1,no description,60.2,random -1136,I7N3G6G,1136,1,no description,60.2,random -1137,I7N3G6G,1137,1,no description,60.2,random -1138,I7N3G6G,1138,1,no description,60.2,random -1139,I7N3G6G,1139,1,no description,60.2,random -1140,I7N3G6G,1140,1,no description,60.2,random -1141,I7N3G6G,1141,1,no description,60.2,random -1142,I7N3G6G,1142,1,no description,60.2,random -1143,I7N3G6G,1143,1,no description,60.2,random -1144,I7N3G6G,1144,1,no description,60.2,random -1145,I7N3G6G,1145,1,no description,60.2,random -1146,I7N3G6G,1146,1,no description,60.2,random -1147,I7N3G6G,1147,1,no description,60.2,random -1148,I7N3G6G,1148,1,no description,60.2,random -1149,I7N3G6G,1149,1,no description,60.2,random -1150,I7N3G6G,1150,1,no description,60.2,random -1151,I7N3G6G,1151,1,no description,60.2,random -1152,I7N3G6G,1152,1,no description,60.2,random -1153,I7N3G6G,1153,1,no description,60.2,random -1154,I7N3G6G,1154,1,no description,60.2,random -1155,I7N3G6G,1155,1,no description,60.2,random -1156,I7N3G6G,1156,1,no description,60.2,random -1157,I7N3G6G,1157,1,no description,60.2,random -1158,I7N3G6G,1158,1,no description,60.2,random -1159,I7N3G6G,1159,1,no description,60.2,random -1160,I7N3G6G,1160,1,no description,60.2,random -1161,I7N3G6G,1161,1,no description,60.2,random -1162,I7N3G6G,1162,1,no description,60.2,random -1163,I7N3G6G,1163,1,no description,60.2,random -1164,I7N3G6G,1164,1,no description,60.2,random -1165,I7N3G6G,1165,1,no description,60.2,random -1166,I7N3G6G,1166,1,no description,60.2,random -1167,I7N3G6G,1167,1,no description,60.2,random -1168,I7N3G6G,1168,1,no description,60.2,random -1169,I7N3G6G,1169,1,no description,60.2,random -1170,I7N3G6G,1170,1,no description,60.2,random -1171,I7N3G6G,1171,1,no description,60.2,random -1172,I7N3G6G,1172,1,no description,60.2,random -1173,I7N3G6G,1173,1,no description,60.2,random -1174,I7N3G6G,1174,1,no description,60.2,random -1175,I7N3G6G,1175,1,no description,60.2,random -1176,I7N3G6G,1176,1,no description,60.2,random -1177,I7N3G6G,1177,1,no description,60.2,random -1178,I7N3G6G,1178,1,no description,60.2,random -1179,I7N3G6G,1179,1,no description,60.2,random -1180,I7N3G6G,1180,1,no description,60.2,random -1181,I7N3G6G,1181,1,no description,60.2,random -1182,I7N3G6G,1182,1,no description,60.2,random -1183,I7N3G6G,1183,1,no description,60.2,random -1184,I7N3G6G,1184,1,no description,60.2,random -1185,I7N3G6G,1185,1,no description,60.2,random -1186,I7N3G6G,1186,1,no description,60.2,random -1187,I7N3G6G,1187,1,no description,60.2,random -1188,I7N3G6G,1188,1,no description,60.2,random -1189,I7N3G6G,1189,1,no description,60.2,random -1190,I7N3G6G,1190,1,no description,60.2,random -1191,I7N3G6G,1191,1,no description,60.2,random -1192,I7N3G6G,1192,1,no description,60.2,random -1193,I7N3G6G,1193,1,no description,60.2,random -1194,I7N3G6G,1194,1,no description,60.2,random -1195,I7N3G6G,1195,1,no description,60.2,random -1196,I7N3G6G,1196,1,no description,60.2,random -1197,I7N3G6G,1197,1,no description,60.2,random -1198,I7N3G6G,1198,1,no description,60.2,random -1199,I7N3G6G,1199,1,no description,60.2,random -1200,I7N3G6G,1200,1,no description,60.2,random -1201,I7N3G6G,1201,1,no description,60.2,random -1202,I7N3G6G,1202,1,no description,60.2,random -1203,I7N3G6G,1203,1,no description,60.2,random -1204,I7N3G6G,1204,1,no description,60.2,random -1205,I7N3G6G,1205,1,no description,60.2,random -1206,I7N3G6G,1206,1,no description,60.2,random -1207,I7N3G6G,1207,1,no description,60.2,random -1208,I7N3G6G,1208,1,no description,60.2,random -1209,I7N3G6G,1209,1,no description,60.2,random -1210,I7N3G6G,1210,1,no description,60.2,random -1211,I7N3G6G,1211,1,no description,60.2,random -1212,I7N3G6G,1212,1,no description,60.2,random -1213,I7N3G6G,1213,1,no description,60.2,random -1214,I7N3G6G,1214,1,no description,60.2,random -1215,I7N3G6G,1215,1,no description,60.2,random -1216,I7N3G6G,1216,1,no description,60.2,random -1217,I7N3G6G,1217,1,no description,60.2,random -1218,I7N3G6G,1218,1,no description,60.2,random -1219,I7N3G6G,1219,1,no description,60.2,random -1220,I7N3G6G,1220,1,no description,60.2,random -1221,I7N3G6G,1221,1,no description,60.2,random -1222,I7N3G6G,1222,1,no description,60.2,random -1223,I7N3G6G,1223,1,no description,60.2,random -1224,I7N3G6G,1224,1,no description,60.2,random -1225,I7N3G6G,1225,1,no description,60.2,random -1226,I7N3G6G,1226,1,no description,60.2,random -1227,I7N3G6G,1227,1,no description,60.2,random -1228,I7N3G6G,1228,1,no description,60.2,random -1229,I7N3G6G,1229,1,no description,60.2,random -1230,I7N3G6G,1230,1,no description,60.2,random -1231,I7N3G6G,1231,1,no description,60.2,random -1232,I7N3G6G,1232,1,no description,60.2,random -1233,I7N3G6G,1233,1,no description,60.2,random -1234,I7N3G6G,1234,1,no description,60.2,random -1235,I7N3G6G,1235,1,no description,60.2,random -1236,I7N3G6G,1236,1,no description,60.2,random -1237,I7N3G6G,1237,1,no description,60.2,random -1238,I7N3G6G,1238,1,no description,60.2,random -1239,I7N3G6G,1239,1,no description,60.2,random -1240,I7N3G6G,1240,1,no description,60.2,random -1241,I7N3G6G,1241,1,no description,60.2,random -1242,I7N3G6G,1242,1,no description,60.2,random -1243,I7N3G6G,1243,1,no description,60.2,random -1244,I7N3G6G,1244,1,no description,60.2,random -1245,I7N3G6G,1245,1,no description,60.2,random -1246,I7N3G6G,1246,1,no description,60.2,random -1247,I7N3G6G,1247,1,no description,60.2,random -1248,I7N3G6G,1248,1,no description,60.2,random -1249,I7N3G6G,1249,1,no description,60.2,random -1250,I7N3G6G,1250,1,no description,60.2,random -1251,I7N3G6G,1251,1,no description,60.2,random -1252,I7N3G6G,1252,1,no description,60.2,random -1253,I7N3G6G,1253,1,no description,60.2,random -1254,I7N3G6G,1254,1,no description,60.2,random -1255,I7N3G6G,1255,1,no description,60.2,random -1256,I7N3G6G,1256,1,no description,60.2,random -1257,I7N3G6G,1257,1,no description,60.2,random -1258,I7N3G6G,1258,1,no description,60.2,random -1259,I7N3G6G,1259,1,no description,60.2,random -1260,I7N3G6G,1260,1,no description,60.2,random -1261,I7N3G6G,1261,1,no description,60.2,random -1262,I7N3G6G,1262,1,no description,60.2,random -1263,I7N3G6G,1263,1,no description,60.2,random -1264,I7N3G6G,1264,1,no description,60.2,random -1265,I7N3G6G,1265,1,no description,60.2,random -1266,I7N3G6G,1266,1,no description,60.2,random -1267,I7N3G6G,1267,1,no description,60.2,random -1268,I7N3G6G,1268,1,no description,60.2,random -1269,I7N3G6G,1269,1,no description,60.2,random -1270,I7N3G6G,1270,1,no description,60.2,random -1271,I7N3G6G,1271,1,no description,60.2,random -1272,I7N3G6G,1272,1,no description,60.2,random -1273,I7N3G6G,1273,1,no description,60.2,random -1274,I7N3G6G,1274,1,no description,60.2,random -1275,I7N3G6G,1275,1,no description,60.2,random -1276,I7N3G6G,1276,1,no description,60.2,random -1277,I7N3G6G,1277,1,no description,60.2,random -1278,I7N3G6G,1278,1,no description,60.2,random -1279,I7N3G6G,1279,1,no description,60.2,random -1280,I7N3G6G,1280,1,no description,60.2,random -1281,I7N3G6G,1281,1,no description,60.2,random -1282,I7N3G6G,1282,1,no description,60.2,random -1283,I7N3G6G,1283,1,no description,60.2,random -1284,I7N3G6G,1284,1,no description,60.2,random -1285,I7N3G6G,1285,1,no description,60.2,random -1286,I7N3G6G,1286,1,no description,60.2,random -1287,I7N3G6G,1287,1,no description,60.2,random -1288,I7N3G6G,1288,1,no description,60.2,random -1289,I7N3G6G,1289,1,no description,60.2,random -1290,I7N3G6G,1290,1,no description,60.2,random -1291,I7N3G6G,1291,1,no description,60.2,random -1292,I7N3G6G,1292,1,no description,60.2,random -1293,I7N3G6G,1293,1,no description,60.2,random -1294,I7N3G6G,1294,1,no description,60.2,random -1295,I7N3G6G,1295,1,no description,60.2,random -1296,I7N3G6G,1296,1,no description,60.2,random -1297,I7N3G6G,1297,1,no description,60.2,random -1298,I7N3G6G,1298,1,no description,60.2,random -1299,I7N3G6G,1299,1,no description,60.2,random -1300,I7N3G6G,1300,1,no description,60.2,random -1301,I7N3G6G,1301,1,no description,60.2,random -1302,I7N3G6G,1302,1,no description,60.2,random -1303,I7N3G6G,1303,1,no description,60.2,random -1304,I7N3G6G,1304,1,no description,60.2,random -1305,I7N3G6G,1305,1,no description,60.2,random -1306,I7N3G6G,1306,1,no description,60.2,random -1307,I7N3G6G,1307,1,no description,60.2,random -1308,I7N3G6G,1308,1,no description,60.2,random -1309,I7N3G6G,1309,1,no description,60.2,random -1310,I7N3G6G,1310,1,no description,60.2,random -1311,I7N3G6G,1311,1,no description,60.2,random -1312,I7N3G6G,1312,1,no description,60.2,random -1313,I7N3G6G,1313,1,no description,60.2,random -1314,I7N3G6G,1314,1,no description,60.2,random -1315,I7N3G6G,1315,1,no description,60.2,random -1316,I7N3G6G,1316,1,no description,60.2,random -1317,I7N3G6G,1317,1,no description,60.2,random -1318,I7N3G6G,1318,1,no description,60.2,random -1319,I7N3G6G,1319,1,no description,60.2,random -1320,I7N3G6G,1320,1,no description,60.2,random -1321,I7N3G6G,1321,1,no description,60.2,random -1322,I7N3G6G,1322,1,no description,60.2,random -1323,I7N3G6G,1323,1,no description,60.2,random -1324,I7N3G6G,1324,1,no description,60.2,random -1325,I7N3G6G,1325,1,no description,60.2,random -1326,I7N3G6G,1326,1,no description,60.2,random -1327,I7N3G6G,1327,1,no description,60.2,random -1328,I7N3G6G,1328,1,no description,60.2,random -1329,I7N3G6G,1329,1,no description,60.2,random -1330,I7N3G6G,1330,1,no description,60.2,random -1331,I7N3G6G,1331,1,no description,60.2,random -1332,I7N3G6G,1332,1,no description,60.2,random -1333,I7N3G6G,1333,1,no description,60.2,random -1334,I7N3G6G,1334,1,no description,60.2,random -1335,I7N3G6G,1335,1,no description,60.2,random -1336,I7N3G6G,1336,1,no description,60.2,random -1337,I7N3G6G,1337,1,no description,60.2,random -1338,I7N3G6G,1338,1,no description,60.2,random -1339,I7N3G6G,1339,1,no description,60.2,random -1340,I7N3G6G,1340,1,no description,60.2,random -1341,I7N3G6G,1341,1,no description,60.2,random -1342,I7N3G6G,1342,1,no description,60.2,random -1343,I7N3G6G,1343,1,no description,60.2,random -1344,I7N3G6G,1344,1,no description,60.2,random -1345,I7N3G6G,1345,1,no description,60.2,random -1346,I7N3G6G,1346,1,no description,60.2,random -1347,I7N3G6G,1347,1,no description,60.2,random -1348,I7N3G6G,1348,1,no description,60.2,random -1349,I7N3G6G,1349,1,no description,60.2,random -1350,I7N3G6G,1350,1,no description,60.2,random -1351,I7N3G6G,1351,1,no description,60.2,random -1352,I7N3G6G,1352,1,no description,60.2,random -1353,I7N3G6G,1353,1,no description,60.2,random -1354,I7N3G6G,1354,1,no description,60.2,random -1355,I7N3G6G,1355,1,no description,60.2,random -1356,I7N3G6G,1356,1,no description,60.2,random -1357,I7N3G6G,1357,1,no description,60.2,random -1358,I7N3G6G,1358,1,no description,60.2,random -1359,I7N3G6G,1359,1,no description,60.2,random -1360,I7N3G6G,1360,1,no description,60.2,random -1361,I7N3G6G,1361,1,no description,60.2,random -1362,I7N3G6G,1362,1,no description,60.2,random -1363,I7N3G6G,1363,1,no description,60.2,random -1364,I7N3G6G,1364,1,no description,60.2,random -1365,I7N3G6G,1365,1,no description,60.2,random -1366,I7N3G6G,1366,1,no description,60.2,random -1367,I7N3G6G,1367,1,no description,60.2,random -1368,I7N3G6G,1368,1,no description,60.2,random -1369,I7N3G6G,1369,1,no description,60.2,random -1370,I7N3G6G,1370,1,no description,60.2,random -1371,I7N3G6G,1371,1,no description,60.2,random -1372,I7N3G6G,1372,1,no description,60.2,random -1373,I7N3G6G,1373,1,no description,60.2,random -1374,I7N3G6G,1374,1,no description,60.2,random -1375,I7N3G6G,1375,1,no description,60.2,random -1376,I7N3G6G,1376,1,no description,60.2,random -1377,I7N3G6G,1377,1,no description,60.2,random -1378,I7N3G6G,1378,1,no description,60.2,random -1379,I7N3G6G,1379,1,no description,60.2,random -1380,I7N3G6G,1380,1,no description,60.2,random -1381,I7N3G6G,1381,1,no description,60.2,random -1382,I7N3G6G,1382,1,no description,60.2,random -1383,I7N3G6G,1383,1,no description,60.2,random -1384,I7N3G6G,1384,1,no description,60.2,random -1385,I7N3G6G,1385,1,no description,60.2,random -1386,I7N3G6G,1386,1,no description,60.2,random -1387,I7N3G6G,1387,1,no description,60.2,random -1388,I7N3G6G,1388,1,no description,60.2,random -1389,I7N3G6G,1389,1,no description,60.2,random -1390,I7N3G6G,1390,1,no description,60.2,random -1391,I7N3G6G,1391,1,no description,60.2,random -1392,I7N3G6G,1392,1,no description,60.2,random -1393,I7N3G6G,1393,1,no description,60.2,random -1394,I7N3G6G,1394,1,no description,60.2,random -1395,I7N3G6G,1395,1,no description,60.2,random -1396,I7N3G6G,1396,1,no description,60.2,random -1397,I7N3G6G,1397,1,no description,60.2,random -1398,I7N3G6G,1398,1,no description,60.2,random -1399,I7N3G6G,1399,1,no description,60.2,random -1400,I7N3G6G,1400,1,no description,60.2,random -1401,I7N3G6G,1401,1,no description,60.2,random -1402,I7N3G6G,1402,1,no description,60.2,random -1403,I7N3G6G,1403,1,no description,60.2,random -1404,I7N3G6G,1404,1,no description,60.2,random -1405,I7N3G6G,1405,1,no description,60.2,random -1406,I7N3G6G,1406,1,no description,60.2,random -1407,I7N3G6G,1407,1,no description,60.2,random -1408,I7N3G6G,1408,1,no description,60.2,random -1409,I7N3G6G,1409,1,no description,60.2,random -1410,I7N3G6G,1410,1,no description,60.2,random -1411,I7N3G6G,1411,1,no description,60.2,random -1412,I7N3G6G,1412,1,no description,60.2,random -1413,I7N3G6G,1413,1,no description,60.2,random -1414,I7N3G6G,1414,1,no description,60.2,random -1415,I7N3G6G,1415,1,no description,60.2,random -1416,I7N3G6G,1416,1,no description,60.2,random -1417,I7N3G6G,1417,1,no description,60.2,random -1418,I7N3G6G,1418,1,no description,60.2,random -1419,I7N3G6G,1419,1,no description,60.2,random -1420,I7N3G6G,1420,1,no description,60.2,random -1421,I7N3G6G,1421,1,no description,60.2,random -1422,I7N3G6G,1422,1,no description,60.2,random -1423,I7N3G6G,1423,1,no description,60.2,random -1424,I7N3G6G,1424,1,no description,60.2,random -1425,I7N3G6G,1425,1,no description,60.2,random -1426,I7N3G6G,1426,1,no description,60.2,random -1427,I7N3G6G,1427,1,no description,60.2,random -1428,I7N3G6G,1428,1,no description,60.2,random -1429,I7N3G6G,1429,1,no description,60.2,random -1430,I7N3G6G,1430,1,no description,60.2,random -1431,I7N3G6G,1431,1,no description,60.2,random -1432,I7N3G6G,1432,1,no description,60.2,random -1433,I7N3G6G,1433,1,no description,60.2,random -1434,I7N3G6G,1434,1,no description,60.2,random -1435,I7N3G6G,1435,1,no description,60.2,random -1436,I7N3G6G,1436,1,no description,60.2,random -1437,I7N3G6G,1437,1,no description,60.2,random -1438,I7N3G6G,1438,1,no description,60.2,random -1439,I7N3G6G,1439,1,no description,60.2,random -1440,I7N3G6G,1440,1,no description,60.2,random -1441,I7N3G6G,1441,1,no description,60.2,random -1442,I7N3G6G,1442,1,no description,60.2,random -1443,I7N3G6G,1443,1,no description,60.2,random -1444,I7N3G6G,1444,1,no description,60.2,random -1445,I7N3G6G,1445,1,no description,60.2,random -1446,I7N3G6G,1446,1,no description,60.2,random -1447,I7N3G6G,1447,1,no description,60.2,random -1448,I7N3G6G,1448,1,no description,60.2,random -1449,I7N3G6G,1449,1,no description,60.2,random -1450,I7N3G6G,1450,1,no description,60.2,random -1451,I7N3G6G,1451,1,no description,60.2,random -1452,I7N3G6G,1452,1,no description,60.2,random -1453,I7N3G6G,1453,1,no description,60.2,random -1454,I7N3G6G,1454,1,no description,60.2,random -1455,I7N3G6G,1455,1,no description,60.2,random -1456,I7N3G6G,1456,1,no description,60.2,random -1457,I7N3G6G,1457,1,no description,60.2,random -1458,I7N3G6G,1458,1,no description,60.2,random -1459,I7N3G6G,1459,1,no description,60.2,random -1460,I7N3G6G,1460,1,no description,60.2,random -1461,I7N3G6G,1461,1,no description,60.2,random -1462,I7N3G6G,1462,1,no description,60.2,random -1463,I7N3G6G,1463,1,no description,60.2,random -1464,I7N3G6G,1464,1,no description,60.2,random -1465,I7N3G6G,1465,1,no description,60.2,random -1466,I7N3G6G,1466,1,no description,60.2,random -1467,I7N3G6G,1467,1,no description,60.2,random -1468,I7N3G6G,1468,1,no description,60.2,random -1469,I7N3G6G,1469,1,no description,60.2,random -1470,I7N3G6G,1470,1,no description,60.2,random -1471,I7N3G6G,1471,1,no description,60.2,random -1472,I7N3G6G,1472,1,no description,60.2,random -1473,I7N3G6G,1473,1,no description,60.2,random -1474,I7N3G6G,1474,1,no description,60.2,random -1475,I7N3G6G,1475,1,no description,60.2,random -1476,I7N3G6G,1476,1,no description,60.2,random -1477,I7N3G6G,1477,1,no description,60.2,random -1478,I7N3G6G,1478,1,no description,60.2,random -1479,I7N3G6G,1479,1,no description,60.2,random -1480,I7N3G6G,1480,1,no description,60.2,random -1481,I7N3G6G,1481,1,no description,60.2,random -1482,I7N3G6G,1482,1,no description,60.2,random -1483,I7N3G6G,1483,1,no description,60.2,random -1484,I7N3G6G,1484,1,no description,60.2,random -1485,I7N3G6G,1485,1,no description,60.2,random -1486,I7N3G6G,1486,1,no description,60.2,random -1487,I7N3G6G,1487,1,no description,60.2,random -1488,I7N3G6G,1488,1,no description,60.2,random -1489,I7N3G6G,1489,1,no description,60.2,random -1490,I7N3G6G,1490,1,no description,60.2,random -1491,I7N3G6G,1491,1,no description,60.2,random -1492,I7N3G6G,1492,1,no description,60.2,random -1493,I7N3G6G,1493,1,no description,60.2,random -1494,I7N3G6G,1494,1,no description,60.2,random -1495,I7N3G6G,1495,1,no description,60.2,random -1496,I7N3G6G,1496,1,no description,60.2,random -1497,I7N3G6G,1497,1,no description,60.2,random -1498,I7N3G6G,1498,1,no description,60.2,random -1499,I7N3G6G,1499,1,no description,60.2,random -1500,I7N3G6G,1500,1,no description,60.2,random -1501,I7N3G6G,1501,1,no description,60.2,random -1502,I7N3G6G,1502,1,no description,60.2,random -1503,I7N3G6G,1503,1,no description,60.2,random -1504,I7N3G6G,1504,1,no description,60.2,random -1505,I7N3G6G,1505,1,no description,60.2,random -1506,I7N3G6G,1506,1,no description,60.2,random -1507,I7N3G6G,1507,1,no description,60.2,random -1508,I7N3G6G,1508,1,no description,60.2,random -1509,I7N3G6G,1509,1,no description,60.2,random -1510,I7N3G6G,1510,1,no description,60.2,random -1511,I7N3G6G,1511,1,no description,60.2,random -1512,I7N3G6G,1512,1,no description,60.2,random -1513,I7N3G6G,1513,1,no description,60.2,random -1514,I7N3G6G,1514,1,no description,60.2,random -1515,I7N3G6G,1515,1,no description,60.2,random -1516,I7N3G6G,1516,1,no description,60.2,random -1517,I7N3G6G,1517,1,no description,60.2,random -1518,I7N3G6G,1518,1,no description,60.2,random -1519,I7N3G6G,1519,1,no description,60.2,random -1520,I7N3G6G,1520,1,no description,60.2,random -1521,I7N3G6G,1521,1,no description,60.2,random -1522,I7N3G6G,1522,1,no description,60.2,random -1523,I7N3G6G,1523,1,no description,60.2,random -1524,I7N3G6G,1524,1,no description,60.2,random -1525,I7N3G6G,1525,1,no description,60.2,random -1526,I7N3G6G,1526,1,no description,60.2,random -1527,I7N3G6G,1527,1,no description,60.2,random -1528,I7N3G6G,1528,1,no description,60.2,random -1529,I7N3G6G,1529,1,no description,60.2,random -1530,I7N3G6G,1530,1,no description,60.2,random -1531,I7N3G6G,1531,1,no description,60.2,random -1532,I7N3G6G,1532,1,no description,60.2,random -1533,I7N3G6G,1533,1,no description,60.2,random -1534,I7N3G6G,1534,1,no description,60.2,random -1535,I7N3G6G,1535,1,no description,60.2,random -1536,I7N3G6G,1536,1,no description,60.2,random -1537,I7N3G6G,1537,1,no description,60.2,random -1538,I7N3G6G,1538,1,no description,60.2,random -1539,I7N3G6G,1539,1,no description,60.2,random -1540,I7N3G6G,1540,1,no description,60.2,random -1541,I7N3G6G,1541,1,no description,60.2,random -1542,I7N3G6G,1542,1,no description,60.2,random -1543,I7N3G6G,1543,1,no description,60.2,random -1544,I7N3G6G,1544,1,no description,60.2,random -1545,I7N3G6G,1545,1,no description,60.2,random -1546,I7N3G6G,1546,1,no description,60.2,random -1547,I7N3G6G,1547,1,no description,60.2,random -1548,I7N3G6G,1548,1,no description,60.2,random -1549,I7N3G6G,1549,1,no description,60.2,random -1550,I7N3G6G,1550,1,no description,60.2,random -1551,I7N3G6G,1551,1,no description,60.2,random -1552,I7N3G6G,1552,1,no description,60.2,random -1553,I7N3G6G,1553,1,no description,60.2,random -1554,I7N3G6G,1554,1,no description,60.2,random -1555,I7N3G6G,1555,1,no description,60.2,random -1556,I7N3G6G,1556,1,no description,60.2,random -1557,I7N3G6G,1557,1,no description,60.2,random -1558,I7N3G6G,1558,1,no description,60.2,random -1559,I7N3G6G,1559,1,no description,60.2,random -1560,I7N3G6G,1560,1,no description,60.2,random -1561,I7N3G6G,1561,1,no description,60.2,random -1562,I7N3G6G,1562,1,no description,60.2,random -1563,I7N3G6G,1563,1,no description,60.2,random -1564,I7N3G6G,1564,1,no description,60.2,random -1565,I7N3G6G,1565,1,no description,60.2,random -1566,I7N3G6G,1566,1,no description,60.2,random -1567,I7N3G6G,1567,1,no description,60.2,random -1568,I7N3G6G,1568,1,no description,60.2,random -1569,I7N3G6G,1569,1,no description,60.2,random -1570,I7N3G6G,1570,1,no description,60.2,random -1571,I7N3G6G,1571,1,no description,60.2,random -1572,I7N3G6G,1572,1,no description,60.2,random -1573,I7N3G6G,1573,1,no description,60.2,random -1574,I7N3G6G,1574,1,no description,60.2,random -1575,I7N3G6G,1575,1,no description,60.2,random -1576,I7N3G6G,1576,1,no description,60.2,random -1577,I7N3G6G,1577,1,no description,60.2,random -1578,I7N3G6G,1578,1,no description,60.2,random -1579,I7N3G6G,1579,1,no description,60.2,random -1580,I7N3G6G,1580,1,no description,60.2,random -1581,I7N3G6G,1581,1,no description,60.2,random -1582,I7N3G6G,1582,1,no description,60.2,random -1583,I7N3G6G,1583,1,no description,60.2,random -1584,I7N3G6G,1584,1,no description,60.2,random -1585,I7N3G6G,1585,1,no description,60.2,random -1586,I7N3G6G,1586,1,no description,60.2,random -1587,I7N3G6G,1587,1,no description,60.2,random -1588,I7N3G6G,1588,1,no description,60.2,random -1589,I7N3G6G,1589,1,no description,60.2,random -1590,I7N3G6G,1590,1,no description,60.2,random -1591,I7N3G6G,1591,1,no description,60.2,random -1592,I7N3G6G,1592,1,no description,60.2,random -1593,I7N3G6G,1593,1,no description,60.2,random -1594,I7N3G6G,1594,1,no description,60.2,random -1595,I7N3G6G,1595,1,no description,60.2,random -1596,I7N3G6G,1596,1,no description,60.2,random -1597,I7N3G6G,1597,1,no description,60.2,random -1598,I7N3G6G,1598,1,no description,60.2,random -1599,I7N3G6G,1599,1,no description,60.2,random -1600,I7N3G6G,1600,1,no description,60.2,random -1601,I7N3G6G,1601,1,no description,60.2,random -1602,I7N3G6G,1602,1,no description,60.2,random -1603,I7N3G6G,1603,1,no description,60.2,random -1604,I7N3G6G,1604,1,no description,60.2,random -1605,I7N3G6G,1605,1,no description,60.2,random -1606,I7N3G6G,1606,1,no description,60.2,random -1607,I7N3G6G,1607,1,no description,60.2,random -1608,I7N3G6G,1608,1,no description,60.2,random -1609,I7N3G6G,1609,1,no description,60.2,random -1610,I7N3G6G,1610,1,no description,60.2,random -1611,I7N3G6G,1611,1,no description,60.2,random -1612,I7N3G6G,1612,1,no description,60.2,random -1613,I7N3G6G,1613,1,no description,60.2,random -1614,I7N3G6G,1614,1,no description,60.2,random -1615,I7N3G6G,1615,1,no description,60.2,random -1616,I7N3G6G,1616,1,no description,60.2,random -1617,I7N3G6G,1617,1,no description,60.2,random -1618,I7N3G6G,1618,1,no description,60.2,random -1619,I7N3G6G,1619,1,no description,60.2,random -1620,I7N3G6G,1620,1,no description,60.2,random -1621,I7N3G6G,1621,1,no description,60.2,random -1622,I7N3G6G,1622,1,no description,60.2,random -1623,I7N3G6G,1623,1,no description,60.2,random -1624,I7N3G6G,1624,1,no description,60.2,random -1625,I7N3G6G,1625,1,no description,60.2,random -1626,I7N3G6G,1626,1,no description,60.2,random -1627,I7N3G6G,1627,1,no description,60.2,random -1628,I7N3G6G,1628,1,no description,60.2,random -1629,I7N3G6G,1629,1,no description,60.2,random -1630,I7N3G6G,1630,1,no description,60.2,random -1631,I7N3G6G,1631,1,no description,60.2,random -1632,I7N3G6G,1632,1,no description,60.2,random -1633,I7N3G6G,1633,1,no description,60.2,random -1634,I7N3G6G,1634,1,no description,60.2,random -1635,I7N3G6G,1635,1,no description,60.2,random -1636,I7N3G6G,1636,1,no description,60.2,random -1637,I7N3G6G,1637,1,no description,60.2,random -1638,I7N3G6G,1638,1,no description,60.2,random -1639,I7N3G6G,1639,1,no description,60.2,random -1640,I7N3G6G,1640,1,no description,60.2,random -1641,I7N3G6G,1641,1,no description,60.2,random -1642,I7N3G6G,1642,1,no description,60.2,random -1643,I7N3G6G,1643,1,no description,60.2,random -1644,I7N3G6G,1644,1,no description,60.2,random -1645,I7N3G6G,1645,1,no description,60.2,random -1646,I7N3G6G,1646,1,no description,60.2,random -1647,I7N3G6G,1647,1,no description,60.2,random -1648,I7N3G6G,1648,1,no description,60.2,random -1649,I7N3G6G,1649,1,no description,60.2,random -1650,I7N3G6G,1650,1,no description,60.2,random -1651,I7N3G6G,1651,1,no description,60.2,random -1652,I7N3G6G,1652,1,no description,60.2,random -1653,I7N3G6G,1653,1,no description,60.2,random -1654,I7N3G6G,1654,1,no description,60.2,random -1655,I7N3G6G,1655,1,no description,60.2,random -1656,I7N3G6G,1656,1,no description,60.2,random -1657,I7N3G6G,1657,1,no description,60.2,random -1658,I7N3G6G,1658,1,no description,60.2,random -1659,I7N3G6G,1659,1,no description,60.2,random -1660,I7N3G6G,1660,1,no description,60.2,random -1661,I7N3G6G,1661,1,no description,60.2,random -1662,I7N3G6G,1662,1,no description,60.2,random -1663,I7N3G6G,1663,1,no description,60.2,random -1664,I7N3G6G,1664,1,no description,60.2,random -1665,I7N3G6G,1665,1,no description,60.2,random -1666,I7N3G6G,1666,1,no description,60.2,random -1667,I7N3G6G,1667,1,no description,60.2,random -1668,I7N3G6G,1668,1,no description,60.2,random -1669,I7N3G6G,1669,1,no description,60.2,random -1670,I7N3G6G,1670,1,no description,60.2,random -1671,I7N3G6G,1671,1,no description,60.2,random -1672,I7N3G6G,1672,1,no description,60.2,random -1673,I7N3G6G,1673,1,no description,60.2,random -1674,I7N3G6G,1674,1,no description,60.2,random -1675,I7N3G6G,1675,1,no description,60.2,random -1676,I7N3G6G,1676,1,no description,60.2,random -1677,I7N3G6G,1677,1,no description,60.2,random -1678,I7N3G6G,1678,1,no description,60.2,random -1679,I7N3G6G,1679,1,no description,60.2,random -1680,I7N3G6G,1680,1,no description,60.2,random -1681,I7N3G6G,1681,1,no description,60.2,random -1682,I7N3G6G,1682,1,no description,60.2,random -1683,I7N3G6G,1683,1,no description,60.2,random -1684,I7N3G6G,1684,1,no description,60.2,random -1685,I7N3G6G,1685,1,no description,60.2,random -1686,I7N3G6G,1686,1,no description,60.2,random -1687,I7N3G6G,1687,1,no description,60.2,random -1688,I7N3G6G,1688,1,no description,60.2,random -1689,I7N3G6G,1689,1,no description,60.2,random -1690,I7N3G6G,1690,1,no description,60.2,random -1691,I7N3G6G,1691,1,no description,60.2,random -1692,I7N3G6G,1692,1,no description,60.2,random -1693,I7N3G6G,1693,1,no description,60.2,random -1694,I7N3G6G,1694,1,no description,60.2,random -1695,I7N3G6G,1695,1,no description,60.2,random -1696,I7N3G6G,1696,1,no description,60.2,random -1697,I7N3G6G,1697,1,no description,60.2,random -1698,I7N3G6G,1698,1,no description,60.2,random -1699,I7N3G6G,1699,1,no description,60.2,random -1700,I7N3G6G,1700,1,no description,60.2,random -1701,I7N3G6G,1701,1,no description,60.2,random -1702,I7N3G6G,1702,1,no description,60.2,random -1703,I7N3G6G,1703,1,no description,60.2,random -1704,I7N3G6G,1704,1,no description,60.2,random -1705,I7N3G6G,1705,1,no description,60.2,random -1706,I7N3G6G,1706,1,no description,60.2,random -1707,I7N3G6G,1707,1,no description,60.2,random -1708,I7N3G6G,1708,1,no description,60.2,random -1709,I7N3G6G,1709,1,no description,60.2,random -1710,I7N3G6G,1710,1,no description,60.2,random -1711,I7N3G6G,1711,1,no description,60.2,random -1712,I7N3G6G,1712,1,no description,60.2,random -1713,I7N3G6G,1713,1,no description,60.2,random -1714,I7N3G6G,1714,1,no description,60.2,random -1715,I7N3G6G,1715,1,no description,60.2,random -1716,I7N3G6G,1716,1,no description,60.2,random -1717,I7N3G6G,1717,1,no description,60.2,random -1718,I7N3G6G,1718,1,no description,60.2,random -1719,I7N3G6G,1719,1,no description,60.2,random -1720,I7N3G6G,1720,1,no description,60.2,random -1721,I7N3G6G,1721,1,no description,60.2,random -1722,I7N3G6G,1722,1,no description,60.2,random -1723,I7N3G6G,1723,1,no description,60.2,random -1724,I7N3G6G,1724,1,no description,60.2,random -1725,I7N3G6G,1725,1,no description,60.2,random -1726,I7N3G6G,1726,1,no description,60.2,random -1727,I7N3G6G,1727,1,no description,60.2,random -1728,I7N3G6G,1728,1,no description,60.2,random -1729,I7N3G6G,1729,1,no description,60.2,random -1730,I7N3G6G,1730,1,no description,60.2,random -1731,I7N3G6G,1731,1,no description,60.2,random -1732,I7N3G6G,1732,1,no description,60.2,random -1733,I7N3G6G,1733,1,no description,60.2,random -1734,I7N3G6G,1734,1,no description,60.2,random -1735,I7N3G6G,1735,1,no description,60.2,random -1736,I7N3G6G,1736,1,no description,60.2,random -1737,I7N3G6G,1737,1,no description,60.2,random -1738,I7N3G6G,1738,1,no description,60.2,random -1739,I7N3G6G,1739,1,no description,60.2,random -1740,I7N3G6G,1740,1,no description,60.2,random -1741,I7N3G6G,1741,1,no description,60.2,random -1742,I7N3G6G,1742,1,no description,60.2,random -1743,I7N3G6G,1743,1,no description,60.2,random -1744,I7N3G6G,1744,1,no description,60.2,random -1745,I7N3G6G,1745,1,no description,60.2,random -1746,I7N3G6G,1746,1,no description,60.2,random -1747,I7N3G6G,1747,1,no description,60.2,random -1748,I7N3G6G,1748,1,no description,60.2,random -1749,I7N3G6G,1749,1,no description,60.2,random -1750,I7N3G6G,1750,1,no description,60.2,random -1751,I7N3G6G,1751,1,no description,60.2,random -1752,I7N3G6G,1752,1,no description,60.2,random -1753,I7N3G6G,1753,1,no description,60.2,random -1754,I7N3G6G,1754,1,no description,60.2,random -1755,I7N3G6G,1755,1,no description,60.2,random -1756,I7N3G6G,1756,1,no description,60.2,random -1757,I7N3G6G,1757,1,no description,60.2,random -1758,I7N3G6G,1758,1,no description,60.2,random -1759,I7N3G6G,1759,1,no description,60.2,random -1760,I7N3G6G,1760,1,no description,60.2,random -1761,I7N3G6G,1761,1,no description,60.2,random -1762,I7N3G6G,1762,1,no description,60.2,random -1763,I7N3G6G,1763,1,no description,60.2,random -1764,I7N3G6G,1764,1,no description,60.2,random -1765,I7N3G6G,1765,1,no description,60.2,random -1766,I7N3G6G,1766,1,no description,60.2,random -1767,I7N3G6G,1767,1,no description,60.2,random -1768,I7N3G6G,1768,1,no description,60.2,random -1769,I7N3G6G,1769,1,no description,60.2,random -1770,I7N3G6G,1770,1,no description,60.2,random -1771,I7N3G6G,1771,1,no description,60.2,random -1772,I7N3G6G,1772,1,no description,60.2,random -1773,I7N3G6G,1773,1,no description,60.2,random -1774,I7N3G6G,1774,1,no description,60.2,random -1775,I7N3G6G,1775,1,no description,60.2,random -1776,I7N3G6G,1776,1,no description,60.2,random -1777,I7N3G6G,1777,1,no description,60.2,random -1778,I7N3G6G,1778,1,no description,60.2,random -1779,I7N3G6G,1779,1,no description,60.2,random -1780,I7N3G6G,1780,1,no description,60.2,random -1781,I7N3G6G,1781,1,no description,60.2,random -1782,I7N3G6G,1782,1,no description,60.2,random -1783,I7N3G6G,1783,1,no description,60.2,random -1784,I7N3G6G,1784,1,no description,60.2,random -1785,I7N3G6G,1785,1,no description,60.2,random -1786,I7N3G6G,1786,1,no description,60.2,random -1787,I7N3G6G,1787,1,no description,60.2,random -1788,I7N3G6G,1788,1,no description,60.2,random -1789,I7N3G6G,1789,1,no description,60.2,random -1790,I7N3G6G,1790,1,no description,60.2,random -1791,I7N3G6G,1791,1,no description,60.2,random -1792,I7N3G6G,1792,1,no description,60.2,random -1793,I7N3G6G,1793,1,no description,60.2,random -1794,I7N3G6G,1794,1,no description,60.2,random -1795,I7N3G6G,1795,1,no description,60.2,random -1796,I7N3G6G,1796,1,no description,60.2,random -1797,I7N3G6G,1797,1,no description,60.2,random -1798,I7N3G6G,1798,1,no description,60.2,random -1799,I7N3G6G,1799,1,no description,60.2,random -1800,I7N3G6G,1800,1,no description,60.2,random -1801,I7N3G6G,1801,1,no description,60.2,random -1802,I7N3G6G,1802,1,no description,60.2,random -1803,I7N3G6G,1803,1,no description,60.2,random -1804,I7N3G6G,1804,1,no description,60.2,random -1805,I7N3G6G,1805,1,no description,60.2,random -1806,I7N3G6G,1806,1,no description,60.2,random -1807,I7N3G6G,1807,1,no description,60.2,random -1808,I7N3G6G,1808,1,no description,60.2,random -1809,I7N3G6G,1809,1,no description,60.2,random -1810,I7N3G6G,1810,1,no description,60.2,random -1811,I7N3G6G,1811,1,no description,60.2,random -1812,I7N3G6G,1812,1,no description,60.2,random -1813,I7N3G6G,1813,1,no description,60.2,random -1814,I7N3G6G,1814,1,no description,60.2,random -1815,I7N3G6G,1815,1,no description,60.2,random -1816,I7N3G6G,1816,1,no description,60.2,random -1817,I7N3G6G,1817,1,no description,60.2,random -1818,I7N3G6G,1818,1,no description,60.2,random -1819,I7N3G6G,1819,1,no description,60.2,random -1820,I7N3G6G,1820,1,no description,60.2,random -1821,I7N3G6G,1821,1,no description,60.2,random -1822,I7N3G6G,1822,1,no description,60.2,random -1823,I7N3G6G,1823,1,no description,60.2,random -1824,I7N3G6G,1824,1,no description,60.2,random -1825,I7N3G6G,1825,1,no description,60.2,random -1826,I7N3G6G,1826,1,no description,60.2,random -1827,I7N3G6G,1827,1,no description,60.2,random -1828,I7N3G6G,1828,1,no description,60.2,random -1829,I7N3G6G,1829,1,no description,60.2,random -1830,I7N3G6G,1830,1,no description,60.2,random -1831,I7N3G6G,1831,1,no description,60.2,random -1832,I7N3G6G,1832,1,no description,60.2,random -1833,I7N3G6G,1833,1,no description,60.2,random -1834,I7N3G6G,1834,1,no description,60.2,random -1835,I7N3G6G,1835,1,no description,60.2,random -1836,I7N3G6G,1836,1,no description,60.2,random -1837,I7N3G6G,1837,1,no description,60.2,random -1838,I7N3G6G,1838,1,no description,60.2,random -1839,I7N3G6G,1839,1,no description,60.2,random -1840,I7N3G6G,1840,1,no description,60.2,random -1841,I7N3G6G,1841,1,no description,60.2,random -1842,I7N3G6G,1842,1,no description,60.2,random -1843,I7N3G6G,1843,1,no description,60.2,random -1844,I7N3G6G,1844,1,no description,60.2,random -1845,I7N3G6G,1845,1,no description,60.2,random -1846,I7N3G6G,1846,1,no description,60.2,random -1847,I7N3G6G,1847,1,no description,60.2,random -1848,I7N3G6G,1848,1,no description,60.2,random -1849,I7N3G6G,1849,1,no description,60.2,random -1850,I7N3G6G,1850,1,no description,60.2,random -1851,I7N3G6G,1851,1,no description,60.2,random -1852,I7N3G6G,1852,1,no description,60.2,random -1853,I7N3G6G,1853,1,no description,60.2,random -1854,I7N3G6G,1854,1,no description,60.2,random -1855,I7N3G6G,1855,1,no description,60.2,random -1856,I7N3G6G,1856,1,no description,60.2,random -1857,I7N3G6G,1857,1,no description,60.2,random -1858,I7N3G6G,1858,1,no description,60.2,random -1859,I7N3G6G,1859,1,no description,60.2,random -1860,I7N3G6G,1860,1,no description,60.2,random -1861,I7N3G6G,1861,1,no description,60.2,random -1862,I7N3G6G,1862,1,no description,60.2,random -1863,I7N3G6G,1863,1,no description,60.2,random -1864,I7N3G6G,1864,1,no description,60.2,random -1865,I7N3G6G,1865,1,no description,60.2,random -1866,I7N3G6G,1866,1,no description,60.2,random -1867,I7N3G6G,1867,1,no description,60.2,random -1868,I7N3G6G,1868,1,no description,60.2,random -1869,I7N3G6G,1869,1,no description,60.2,random -1870,I7N3G6G,1870,1,no description,60.2,random -1871,I7N3G6G,1871,1,no description,60.2,random -1872,I7N3G6G,1872,1,no description,60.2,random -1873,I7N3G6G,1873,1,no description,60.2,random -1874,I7N3G6G,1874,1,no description,60.2,random -1875,I7N3G6G,1875,1,no description,60.2,random -1876,I7N3G6G,1876,1,no description,60.2,random -1877,I7N3G6G,1877,1,no description,60.2,random -1878,I7N3G6G,1878,1,no description,60.2,random -1879,I7N3G6G,1879,1,no description,60.2,random -1880,I7N3G6G,1880,1,no description,60.2,random -1881,I7N3G6G,1881,1,no description,60.2,random -1882,I7N3G6G,1882,1,no description,60.2,random -1883,I7N3G6G,1883,1,no description,60.2,random -1884,I7N3G6G,1884,1,no description,60.2,random -1885,I7N3G6G,1885,1,no description,60.2,random -1886,I7N3G6G,1886,1,no description,60.2,random -1887,I7N3G6G,1887,1,no description,60.2,random -1888,I7N3G6G,1888,1,no description,60.2,random -1889,I7N3G6G,1889,1,no description,60.2,random -1890,I7N3G6G,1890,1,no description,60.2,random -1891,I7N3G6G,1891,1,no description,60.2,random -1892,I7N3G6G,1892,1,no description,60.2,random -1893,I7N3G6G,1893,1,no description,60.2,random -1894,I7N3G6G,1894,1,no description,60.2,random -1895,I7N3G6G,1895,1,no description,60.2,random -1896,I7N3G6G,1896,1,no description,60.2,random -1897,I7N3G6G,1897,1,no description,60.2,random -1898,I7N3G6G,1898,1,no description,60.2,random -1899,I7N3G6G,1899,1,no description,60.2,random -1900,I7N3G6G,1900,1,no description,60.2,random -1901,I7N3G6G,1901,1,no description,60.2,random -1902,I7N3G6G,1902,1,no description,60.2,random -1903,I7N3G6G,1903,1,no description,60.2,random -1904,I7N3G6G,1904,1,no description,60.2,random -1905,I7N3G6G,1905,1,no description,60.2,random -1906,I7N3G6G,1906,1,no description,60.2,random -1907,I7N3G6G,1907,1,no description,60.2,random -1908,I7N3G6G,1908,1,no description,60.2,random -1909,I7N3G6G,1909,1,no description,60.2,random -1910,I7N3G6G,1910,1,no description,60.2,random -1911,I7N3G6G,1911,1,no description,60.2,random -1912,I7N3G6G,1912,1,no description,60.2,random -1913,I7N3G6G,1913,1,no description,60.2,random -1914,I7N3G6G,1914,1,no description,60.2,random -1915,I7N3G6G,1915,1,no description,60.2,random -1916,I7N3G6G,1916,1,no description,60.2,random -1917,I7N3G6G,1917,1,no description,60.2,random -1918,I7N3G6G,1918,1,no description,60.2,random -1919,I7N3G6G,1919,1,no description,60.2,random -1920,I7N3G6G,1920,1,no description,60.2,random -1921,I7N3G6G,1921,1,no description,60.2,random -1922,I7N3G6G,1922,1,no description,60.2,random -1923,I7N3G6G,1923,1,no description,60.2,random -1924,I7N3G6G,1924,1,no description,60.2,random -1925,I7N3G6G,1925,1,no description,60.2,random -1926,I7N3G6G,1926,1,no description,60.2,random -1927,I7N3G6G,1927,1,no description,60.2,random -1928,I7N3G6G,1928,1,no description,60.2,random -1929,I7N3G6G,1929,1,no description,60.2,random -1930,I7N3G6G,1930,1,no description,60.2,random -1931,I7N3G6G,1931,1,no description,60.2,random -1932,I7N3G6G,1932,1,no description,60.2,random -1933,I7N3G6G,1933,1,no description,60.2,random -1934,I7N3G6G,1934,1,no description,60.2,random -1935,I7N3G6G,1935,1,no description,60.2,random -1936,I7N3G6G,1936,1,no description,60.2,random -1937,I7N3G6G,1937,1,no description,60.2,random -1938,I7N3G6G,1938,1,no description,60.2,random -1939,I7N3G6G,1939,1,no description,60.2,random -1940,I7N3G6G,1940,1,no description,60.2,random -1941,I7N3G6G,1941,1,no description,60.2,random -1942,I7N3G6G,1942,1,no description,60.2,random -1943,I7N3G6G,1943,1,no description,60.2,random -1944,I7N3G6G,1944,1,no description,60.2,random -1945,I7N3G6G,1945,1,no description,60.2,random -1946,I7N3G6G,1946,1,no description,60.2,random -1947,I7N3G6G,1947,1,no description,60.2,random -1948,I7N3G6G,1948,1,no description,60.2,random -1949,I7N3G6G,1949,1,no description,60.2,random -1950,I7N3G6G,1950,1,no description,60.2,random -1951,I7N3G6G,1951,1,no description,60.2,random -1952,I7N3G6G,1952,1,no description,60.2,random -1953,I7N3G6G,1953,1,no description,60.2,random -1954,I7N3G6G,1954,1,no description,60.2,random -1955,I7N3G6G,1955,1,no description,60.2,random -1956,I7N3G6G,1956,1,no description,60.2,random -1957,I7N3G6G,1957,1,no description,60.2,random -1958,I7N3G6G,1958,1,no description,60.2,random -1959,I7N3G6G,1959,1,no description,60.2,random -1960,I7N3G6G,1960,1,no description,60.2,random -1961,I7N3G6G,1961,1,no description,60.2,random -1962,I7N3G6G,1962,1,no description,60.2,random -1963,I7N3G6G,1963,1,no description,60.2,random -1964,I7N3G6G,1964,1,no description,60.2,random -1965,I7N3G6G,1965,1,no description,60.2,random -1966,I7N3G6G,1966,1,no description,60.2,random -1967,I7N3G6G,1967,1,no description,60.2,random -1968,I7N3G6G,1968,1,no description,60.2,random -1969,I7N3G6G,1969,1,no description,60.2,random -1970,I7N3G6G,1970,1,no description,60.2,random -1971,I7N3G6G,1971,1,no description,60.2,random -1972,I7N3G6G,1972,1,no description,60.2,random -1973,I7N3G6G,1973,1,no description,60.2,random -1974,I7N3G6G,1974,1,no description,60.2,random -1975,I7N3G6G,1975,1,no description,60.2,random -1976,I7N3G6G,1976,1,no description,60.2,random -1977,I7N3G6G,1977,1,no description,60.2,random -1978,I7N3G6G,1978,1,no description,60.2,random -1979,I7N3G6G,1979,1,no description,60.2,random -1980,I7N3G6G,1980,1,no description,60.2,random -1981,I7N3G6G,1981,1,no description,60.2,random -1982,I7N3G6G,1982,1,no description,60.2,random -1983,I7N3G6G,1983,1,no description,60.2,random -1984,I7N3G6G,1984,1,no description,60.2,random -1985,I7N3G6G,1985,1,no description,60.2,random -1986,I7N3G6G,1986,1,no description,60.2,random -1987,I7N3G6G,1987,1,no description,60.2,random -1988,I7N3G6G,1988,1,no description,60.2,random -1989,I7N3G6G,1989,1,no description,60.2,random -1990,I7N3G6G,1990,1,no description,60.2,random -1991,I7N3G6G,1991,1,no description,60.2,random -1992,I7N3G6G,1992,1,no description,60.2,random -1993,I7N3G6G,1993,1,no description,60.2,random -1994,I7N3G6G,1994,1,no description,60.2,random -1995,I7N3G6G,1995,1,no description,60.2,random -1996,I7N3G6G,1996,1,no description,60.2,random -1997,I7N3G6G,1997,1,no description,60.2,random -1998,I7N3G6G,1998,1,no description,60.2,random -1999,I7N3G6G,1999,1,no description,60.2,random -2000,I7N3G6G,2000,1,no description,60.2,random -2001,I7N3G6G,2001,1,no description,60.2,random -2002,I7N3G6G,2002,1,no description,60.2,random -2003,I7N3G6G,2003,1,no description,60.2,random -2004,I7N3G6G,2004,1,no description,60.2,random -2005,I7N3G6G,2005,1,no description,60.2,random -2006,I7N3G6G,2006,1,no description,60.2,random -2007,I7N3G6G,2007,1,no description,60.2,random -2008,I7N3G6G,2008,1,no description,60.2,random -2009,I7N3G6G,2009,1,no description,60.2,random -2010,I7N3G6G,2010,1,no description,60.2,random -2011,I7N3G6G,2011,1,no description,60.2,random -2012,I7N3G6G,2012,1,no description,60.2,random -2013,I7N3G6G,2013,1,no description,60.2,random -2014,I7N3G6G,2014,1,no description,60.2,random -2015,I7N3G6G,2015,1,no description,60.2,random -2016,I7N3G6G,2016,1,no description,60.2,random -2017,I7N3G6G,2017,1,no description,60.2,random -2018,I7N3G6G,2018,1,no description,60.2,random -2019,I7N3G6G,2019,1,no description,60.2,random -2020,I7N3G6G,2020,1,no description,60.2,random -2021,I7N3G6G,2021,1,no description,60.2,random -2022,I7N3G6G,2022,1,no description,60.2,random -2023,I7N3G6G,2023,1,no description,60.2,random -2024,I7N3G6G,2024,1,no description,60.2,random -2025,I7N3G6G,2025,1,no description,60.2,random -2026,I7N3G6G,2026,1,no description,60.2,random -2027,I7N3G6G,2027,1,no description,60.2,random -2028,I7N3G6G,2028,1,no description,60.2,random -2029,I7N3G6G,2029,1,no description,60.2,random -2030,I7N3G6G,2030,1,no description,60.2,random -2031,I7N3G6G,2031,1,no description,60.2,random -2032,I7N3G6G,2032,1,no description,60.2,random -2033,I7N3G6G,2033,1,no description,60.2,random -2034,I7N3G6G,2034,1,no description,60.2,random -2035,I7N3G6G,2035,1,no description,60.2,random -2036,I7N3G6G,2036,1,no description,60.2,random -2037,I7N3G6G,2037,1,no description,60.2,random -2038,I7N3G6G,2038,1,no description,60.2,random -2039,I7N3G6G,2039,1,no description,60.2,random -2040,I7N3G6G,2040,1,no description,60.2,random -2041,I7N3G6G,2041,1,no description,60.2,random -2042,I7N3G6G,2042,1,no description,60.2,random -2043,I7N3G6G,2043,1,no description,60.2,random -2044,I7N3G6G,2044,1,no description,60.2,random -2045,I7N3G6G,2045,1,no description,60.2,random -2046,I7N3G6G,2046,1,no description,60.2,random -2047,I7N3G6G,2047,1,no description,60.2,random -2048,I7N3G6G,2048,1,no description,60.2,random -2049,I7N3G6G,2049,1,no description,60.2,random -2050,I7N3G6G,2050,1,no description,60.2,random -2051,I7N3G6G,2051,1,no description,60.2,random -2052,I7N3G6G,2052,1,no description,60.2,random -2053,I7N3G6G,2053,1,no description,60.2,random -2054,I7N3G6G,2054,1,no description,60.2,random -2055,I7N3G6G,2055,1,no description,60.2,random -2056,I7N3G6G,2056,1,no description,60.2,random -2057,I7N3G6G,2057,1,no description,60.2,random -2058,I7N3G6G,2058,1,no description,60.2,random -2059,I7N3G6G,2059,1,no description,60.2,random -2060,I7N3G6G,2060,1,no description,60.2,random -2061,I7N3G6G,2061,1,no description,60.2,random -2062,I7N3G6G,2062,1,no description,60.2,random -2063,I7N3G6G,2063,1,no description,60.2,random -2064,I7N3G6G,2064,1,no description,60.2,random -2065,I7N3G6G,2065,1,no description,60.2,random -2066,I7N3G6G,2066,1,no description,60.2,random -2067,I7N3G6G,2067,1,no description,60.2,random -2068,I7N3G6G,2068,1,no description,60.2,random -2069,I7N3G6G,2069,1,no description,60.2,random -2070,I7N3G6G,2070,1,no description,60.2,random -2071,I7N3G6G,2071,1,no description,60.2,random -2072,I7N3G6G,2072,1,no description,60.2,random -2073,I7N3G6G,2073,1,no description,60.2,random -2074,I7N3G6G,2074,1,no description,60.2,random -2075,I7N3G6G,2075,1,no description,60.2,random -2076,I7N3G6G,2076,1,no description,60.2,random -2077,I7N3G6G,2077,1,no description,60.2,random -2078,I7N3G6G,2078,1,no description,60.2,random -2079,I7N3G6G,2079,1,no description,60.2,random -2080,I7N3G6G,2080,1,no description,60.2,random -2081,I7N3G6G,2081,1,no description,60.2,random -2082,I7N3G6G,2082,1,no description,60.2,random -2083,I7N3G6G,2083,1,no description,60.2,random -2084,I7N3G6G,2084,1,no description,60.2,random -2085,I7N3G6G,2085,1,no description,60.2,random -2086,I7N3G6G,2086,1,no description,60.2,random -2087,I7N3G6G,2087,1,no description,60.2,random -2088,I7N3G6G,2088,1,no description,60.2,random -2089,I7N3G6G,2089,1,no description,60.2,random -2090,I7N3G6G,2090,1,no description,60.2,random -2091,I7N3G6G,2091,1,no description,60.2,random -2092,I7N3G6G,2092,1,no description,60.2,random -2093,I7N3G6G,2093,1,no description,60.2,random -2094,I7N3G6G,2094,1,no description,60.2,random -2095,I7N3G6G,2095,1,no description,60.2,random -2096,I7N3G6G,2096,1,no description,60.2,random -2097,I7N3G6G,2097,1,no description,60.2,random -2098,I7N3G6G,2098,1,no description,60.2,random -2099,I7N3G6G,2099,1,no description,60.2,random -2100,I7N3G6G,2100,1,no description,60.2,random -2101,I7N3G6G,2101,1,no description,60.2,random -2102,I7N3G6G,2102,1,no description,60.2,random -2103,I7N3G6G,2103,1,no description,60.2,random -2104,I7N3G6G,2104,1,no description,60.2,random -2105,I7N3G6G,2105,1,no description,60.2,random -2106,I7N3G6G,2106,1,no description,60.2,random -2107,I7N3G6G,2107,1,no description,60.2,random -2108,I7N3G6G,2108,1,no description,60.2,random -2109,I7N3G6G,2109,1,no description,60.2,random -2110,I7N3G6G,2110,1,no description,60.2,random -2111,I7N3G6G,2111,1,no description,60.2,random -2112,I7N3G6G,2112,1,no description,60.2,random -2113,I7N3G6G,2113,1,no description,60.2,random -2114,I7N3G6G,2114,1,no description,60.2,random -2115,I7N3G6G,2115,1,no description,60.2,random -2116,I7N3G6G,2116,1,no description,60.2,random -2117,I7N3G6G,2117,1,no description,60.2,random -2118,I7N3G6G,2118,1,no description,60.2,random -2119,I7N3G6G,2119,1,no description,60.2,random -2120,I7N3G6G,2120,1,no description,60.2,random -2121,I7N3G6G,2121,1,no description,60.2,random -2122,I7N3G6G,2122,1,no description,60.2,random -2123,I7N3G6G,2123,1,no description,60.2,random -2124,I7N3G6G,2124,1,no description,60.2,random -2125,I7N3G6G,2125,1,no description,60.2,random -2126,I7N3G6G,2126,1,no description,60.2,random -2127,I7N3G6G,2127,1,no description,60.2,random -2128,I7N3G6G,2128,1,no description,60.2,random -2129,I7N3G6G,2129,1,no description,60.2,random -2130,I7N3G6G,2130,1,no description,60.2,random -2131,I7N3G6G,2131,1,no description,60.2,random -2132,I7N3G6G,2132,1,no description,60.2,random -2133,I7N3G6G,2133,1,no description,60.2,random -2134,I7N3G6G,2134,1,no description,60.2,random -2135,I7N3G6G,2135,1,no description,60.2,random -2136,I7N3G6G,2136,1,no description,60.2,random -2137,I7N3G6G,2137,1,no description,60.2,random -2138,I7N3G6G,2138,1,no description,60.2,random -2139,I7N3G6G,2139,1,no description,60.2,random -2140,I7N3G6G,2140,1,no description,60.2,random -2141,I7N3G6G,2141,1,no description,60.2,random -2142,I7N3G6G,2142,1,no description,60.2,random -2143,I7N3G6G,2143,1,no description,60.2,random -2144,I7N3G6G,2144,1,no description,60.2,random -2145,I7N3G6G,2145,1,no description,60.2,random -2146,I7N3G6G,2146,1,no description,60.2,random -2147,I7N3G6G,2147,1,no description,60.2,random -2148,I7N3G6G,2148,1,no description,60.2,random -2149,I7N3G6G,2149,1,no description,60.2,random -2150,I7N3G6G,2150,1,no description,60.2,random -2151,I7N3G6G,2151,1,no description,60.2,random -2152,I7N3G6G,2152,1,no description,60.2,random -2153,I7N3G6G,2153,1,no description,60.2,random -2154,I7N3G6G,2154,1,no description,60.2,random -2155,I7N3G6G,2155,1,no description,60.2,random -2156,I7N3G6G,2156,1,no description,60.2,random -2157,I7N3G6G,2157,1,no description,60.2,random -2158,I7N3G6G,2158,1,no description,60.2,random -2159,I7N3G6G,2159,1,no description,60.2,random -2160,I7N3G6G,2160,1,no description,60.2,random -2161,I7N3G6G,2161,1,no description,60.2,random -2162,I7N3G6G,2162,1,no description,60.2,random -2163,I7N3G6G,2163,1,no description,60.2,random -2164,I7N3G6G,2164,1,no description,60.2,random -2165,I7N3G6G,2165,1,no description,60.2,random -2166,I7N3G6G,2166,1,no description,60.2,random -2167,I7N3G6G,2167,1,no description,60.2,random -2168,I7N3G6G,2168,1,no description,60.2,random -2169,I7N3G6G,2169,1,no description,60.2,random -2170,I7N3G6G,2170,1,no description,60.2,random -2171,I7N3G6G,2171,1,no description,60.2,random -2172,I7N3G6G,2172,1,no description,60.2,random -2173,I7N3G6G,2173,1,no description,60.2,random -2174,I7N3G6G,2174,1,no description,60.2,random -2175,I7N3G6G,2175,1,no description,60.2,random -2176,I7N3G6G,2176,1,no description,60.2,random -2177,I7N3G6G,2177,1,no description,60.2,random -2178,I7N3G6G,2178,1,no description,60.2,random -2179,I7N3G6G,2179,1,no description,60.2,random -2180,I7N3G6G,2180,1,no description,60.2,random -2181,I7N3G6G,2181,1,no description,60.2,random -2182,I7N3G6G,2182,1,no description,60.2,random -2183,I7N3G6G,2183,1,no description,60.2,random -2184,I7N3G6G,2184,1,no description,60.2,random -2185,I7N3G6G,2185,1,no description,60.2,random -2186,I7N3G6G,2186,1,no description,60.2,random -2187,I7N3G6G,2187,1,no description,60.2,random -2188,I7N3G6G,2188,1,no description,60.2,random -2189,I7N3G6G,2189,1,no description,60.2,random -2190,I7N3G6G,2190,1,no description,60.2,random -2191,I7N3G6G,2191,1,no description,60.2,random -2192,I7N3G6G,2192,1,no description,60.2,random -2193,I7N3G6G,2193,1,no description,60.2,random -2194,I7N3G6G,2194,1,no description,60.2,random -2195,I7N3G6G,2195,1,no description,60.2,random -2196,I7N3G6G,2196,1,no description,60.2,random -2197,I7N3G6G,2197,1,no description,60.2,random -2198,I7N3G6G,2198,1,no description,60.2,random -2199,I7N3G6G,2199,1,no description,60.2,random -2200,I7N3G6G,2200,1,no description,60.2,random -2201,I7N3G6G,2201,1,no description,60.2,random -2202,I7N3G6G,2202,1,no description,60.2,random -2203,I7N3G6G,2203,1,no description,60.2,random -2204,I7N3G6G,2204,1,no description,60.2,random -2205,I7N3G6G,2205,1,no description,60.2,random -2206,I7N3G6G,2206,1,no description,60.2,random -2207,I7N3G6G,2207,1,no description,60.2,random -2208,I7N3G6G,2208,1,no description,60.2,random -2209,I7N3G6G,2209,1,no description,60.2,random -2210,I7N3G6G,2210,1,no description,60.2,random -2211,I7N3G6G,2211,1,no description,60.2,random -2212,I7N3G6G,2212,1,no description,60.2,random -2213,I7N3G6G,2213,1,no description,60.2,random -2214,I7N3G6G,2214,1,no description,60.2,random -2215,I7N3G6G,2215,1,no description,60.2,random -2216,I7N3G6G,2216,1,no description,60.2,random -2217,I7N3G6G,2217,1,no description,60.2,random -2218,I7N3G6G,2218,1,no description,60.2,random -2219,I7N3G6G,2219,1,no description,60.2,random -2220,I7N3G6G,2220,1,no description,60.2,random -2221,I7N3G6G,2221,1,no description,60.2,random -2222,I7N3G6G,2222,1,no description,60.2,random -2223,I7N3G6G,2223,1,no description,60.2,random -2224,I7N3G6G,2224,1,no description,60.2,random -2225,I7N3G6G,2225,1,no description,60.2,random -2226,I7N3G6G,2226,1,no description,60.2,random diff --git a/packages/itmat-job-executor/test/testFiles/CSVCurator_error2.tsv b/packages/itmat-job-executor/test/testFiles/CSVCurator_error2.tsv deleted file mode 100644 index 27535ce6c..000000000 --- a/packages/itmat-job-executor/test/testFiles/CSVCurator_error2.tsv +++ /dev/null @@ -1,2227 +0,0 @@ -ID,SubjectID,VisitID,Sex,Description,Description -1,I7N3G6G,1,0,no description,60.2 -2,I7N3G6G,2,1,no description,60.2 -3,I7N3G6G,3,1,no description,60.2 -4,I7N3G6G,4,1,no description,60.2 -5,I7N3G6G,5,1,no description,60.2 -6,I7N3G6G,6,1,no description,60.2 -7,I7N3G6G,7,1,no description,60.2 -8,I7N3G6G,8,1,no description,60.2 -9,I7N3G6G,9,1,no description,60.2 -10,I7N3G6G,10,1,no description,60.2 -11,I7N3G6G,11,1,no description,60.2 -12,I7N3G6G,12,1,no description,60.2 -13,I7N3G6G,13,1,no description,60.2 -14,I7N3G6G,14,1,no description,60.2 -15,I7N3G6G,15,1,no description,60.2 -16,I7N3G6G,16,1,no description,60.2 -17,I7N3G6G,17,1,no description,60.2 -18,I7N3G6G,18,1,no description,60.2 -19,I7N3G6G,19,1,no description,60.2 -20,I7N3G6G,20,1,no description,60.2 -21,I7N3G6G,21,1,no description,60.2 -22,I7N3G6G,22,1,no description,60.2 -23,I7N3G6G,23,1,no description,60.2 -24,I7N3G6G,24,1,no description,60.2 -25,I7N3G6G,25,1,no description,60.2 -26,I7N3G6G,26,1,no description,60.2 -27,I7N3G6G,27,1,no description,60.2 -28,I7N3G6G,28,1,no description,60.2 -29,I7N3G6G,29,1,no description,60.2 -30,I7N3G6G,30,1,no description,60.2 -31,I7N3G6G,31,1,no description,60.2 -32,I7N3G6G,32,1,no description,60.2 -33,I7N3G6G,33,1,no description,60.2 -34,I7N3G6G,34,1,no description,60.2 -35,I7N3G6G,35,1,no description,60.2 -36,I7N3G6G,36,1,no description,60.2 -37,I7N3G6G,37,1,no description,60.2 -38,I7N3G6G,38,1,no description,60.2 -39,I7N3G6G,39,1,no description,60.2 -40,I7N3G6G,40,1,no description,60.2 -41,I7N3G6G,41,1,no description,60.2 -42,I7N3G6G,42,1,no description,60.2 -43,I7N3G6G,43,1,no description,60.2 -44,I7N3G6G,44,1,no description,60.2 -45,I7N3G6G,45,1,no description,60.2 -46,I7N3G6G,46,1,no description,60.2 -47,I7N3G6G,47,1,no description,60.2 -48,I7N3G6G,48,1,no description,60.2 -49,I7N3G6G,49,1,no description,60.2 -50,I7N3G6G,50,1,no description,60.2 -51,I7N3G6G,51,1,no description,60.2 -52,I7N3G6G,52,1,no description,60.2 -53,I7N3G6G,53,1,no description,60.2 -54,I7N3G6G,54,1,no description,60.2 -55,I7N3G6G,55,1,no description,60.2 -56,I7N3G6G,56,1,no description,60.2 -57,I7N3G6G,57,1,no description,60.2 -58,I7N3G6G,58,1,no description,60.2 -59,I7N3G6G,59,1,no description,60.2 -60,I7N3G6G,60,1,no description,60.2 -61,I7N3G6G,61,1,no description,60.2 -62,I7N3G6G,62,1,no description,60.2 -63,I7N3G6G,63,1,no description,60.2 -64,I7N3G6G,64,1,no description,60.2 -65,I7N3G6G,65,1,no description,60.2 -66,I7N3G6G,66,1,no description,60.2 -67,I7N3G6G,67,1,no description,60.2 -68,I7N3G6G,68,1,no description,60.2 -69,I7N3G6G,69,1,no description,60.2 -70,I7N3G6G,70,1,no description,60.2 -71,I7N3G6G,71,1,no description,60.2 -72,I7N3G6G,72,1,no description,60.2 -73,I7N3G6G,73,1,no description,60.2 -74,I7N3G6G,74,1,no description,60.2 -75,I7N3G6G,75,1,no description,60.2 -76,I7N3G6G,76,1,no description,60.2 -77,I7N3G6G,77,1,no description,60.2 -78,I7N3G6G,78,1,no description,60.2 -79,I7N3G6G,79,1,no description,60.2 -80,I7N3G6G,80,1,no description,60.2 -81,I7N3G6G,81,1,no description,60.2 -82,I7N3G6G,82,1,no description,60.2 -83,I7N3G6G,83,1,no description,60.2 -84,I7N3G6G,84,1,no description,60.2 -85,I7N3G6G,85,1,no description,60.2 -86,I7N3G6G,86,1,no description,60.2 -87,I7N3G6G,87,1,no description,60.2 -88,I7N3G6G,88,1,no description,60.2 -89,I7N3G6G,89,1,no description,60.2 -90,I7N3G6G,90,1,no description,60.2 -91,I7N3G6G,91,1,no description,60.2 -92,I7N3G6G,92,1,no description,60.2 -93,I7N3G6G,93,1,no description,60.2 -94,I7N3G6G,94,1,no description,60.2 -95,I7N3G6G,95,1,no description,60.2 -96,I7N3G6G,96,1,no description,60.2 -97,I7N3G6G,97,1,no description,60.2 -98,I7N3G6G,98,1,no description,60.2 -99,I7N3G6G,99,1,no description,60.2 -100,I7N3G6G,100,1,no description,60.2 -101,I7N3G6G,101,1,no description,60.2 -102,I7N3G6G,102,1,no description,60.2 -103,I7N3G6G,103,1,no description,60.2 -104,I7N3G6G,104,1,no description,60.2 -105,I7N3G6G,105,1,no description,60.2 -106,I7N3G6G,106,1,no description,60.2 -107,I7N3G6G,107,1,no description,60.2 -108,I7N3G6G,108,1,no description,60.2 -109,I7N3G6G,109,1,no description,60.2 -110,I7N3G6G,110,1,no description,60.2 -111,I7N3G6G,111,1,no description,60.2 -112,I7N3G6G,112,1,no description,60.2 -113,I7N3G6G,113,1,no description,60.2 -114,I7N3G6G,114,1,no description,60.2 -115,I7N3G6G,115,1,no description,60.2 -116,I7N3G6G,116,1,no description,60.2 -117,I7N3G6G,117,1,no description,60.2 -118,I7N3G6G,118,1,no description,60.2 -119,I7N3G6G,119,1,no description,60.2 -120,I7N3G6G,120,1,no description,60.2 -121,I7N3G6G,121,1,no description,60.2 -122,I7N3G6G,122,1,no description,60.2 -123,I7N3G6G,123,1,no description,60.2 -124,I7N3G6G,124,1,no description,60.2 -125,I7N3G6G,125,1,no description,60.2 -126,I7N3G6G,126,1,no description,60.2 -127,I7N3G6G,127,1,no description,60.2 -128,I7N3G6G,128,1,no description,60.2 -129,I7N3G6G,129,1,no description,60.2 -130,I7N3G6G,130,1,no description,60.2 -131,I7N3G6G,131,1,no description,60.2 -132,I7N3G6G,132,1,no description,60.2 -133,I7N3G6G,133,1,no description,60.2 -134,I7N3G6G,134,1,no description,60.2 -135,I7N3G6G,135,1,no description,60.2 -136,I7N3G6G,136,1,no description,60.2 -137,I7N3G6G,137,1,no description,60.2 -138,I7N3G6G,138,1,no description,60.2 -139,I7N3G6G,139,1,no description,60.2 -140,I7N3G6G,140,1,no description,60.2 -141,I7N3G6G,141,1,no description,60.2 -142,I7N3G6G,142,1,no description,60.2 -143,I7N3G6G,143,1,no description,60.2 -144,I7N3G6G,144,1,no description,60.2 -145,I7N3G6G,145,1,no description,60.2 -146,I7N3G6G,146,1,no description,60.2 -147,I7N3G6G,147,1,no description,60.2 -148,I7N3G6G,148,1,no description,60.2 -149,I7N3G6G,149,1,no description,60.2 -150,I7N3G6G,150,1,no description,60.2 -151,I7N3G6G,151,1,no description,60.2 -152,I7N3G6G,152,1,no description,60.2 -153,I7N3G6G,153,1,no description,60.2 -154,I7N3G6G,154,1,no description,60.2 -155,I7N3G6G,155,1,no description,60.2 -156,I7N3G6G,156,1,no description,60.2 -157,I7N3G6G,157,1,no description,60.2 -158,I7N3G6G,158,1,no description,60.2 -159,I7N3G6G,159,1,no description,60.2 -160,I7N3G6G,160,1,no description,60.2 -161,I7N3G6G,161,1,no description,60.2 -162,I7N3G6G,162,1,no description,60.2 -163,I7N3G6G,163,1,no description,60.2 -164,I7N3G6G,164,1,no description,60.2 -165,I7N3G6G,165,1,no description,60.2 -166,I7N3G6G,166,1,no description,60.2 -167,I7N3G6G,167,1,no description,60.2 -168,I7N3G6G,168,1,no description,60.2 -169,I7N3G6G,169,1,no description,60.2 -170,I7N3G6G,170,1,no description,60.2 -171,I7N3G6G,171,1,no description,60.2 -172,I7N3G6G,172,1,no description,60.2 -173,I7N3G6G,173,1,no description,60.2 -174,I7N3G6G,174,1,no description,60.2 -175,I7N3G6G,175,1,no description,60.2 -176,I7N3G6G,176,1,no description,60.2 -177,I7N3G6G,177,1,no description,60.2 -178,I7N3G6G,178,1,no description,60.2 -179,I7N3G6G,179,1,no description,60.2 -180,I7N3G6G,180,1,no description,60.2 -181,I7N3G6G,181,1,no description,60.2 -182,I7N3G6G,182,1,no description,60.2 -183,I7N3G6G,183,1,no description,60.2 -184,I7N3G6G,184,1,no description,60.2 -185,I7N3G6G,185,1,no description,60.2 -186,I7N3G6G,186,1,no description,60.2 -187,I7N3G6G,187,1,no description,60.2 -188,I7N3G6G,188,1,no description,60.2 -189,I7N3G6G,189,1,no description,60.2 -190,I7N3G6G,190,1,no description,60.2 -191,I7N3G6G,191,1,no description,60.2 -192,I7N3G6G,192,1,no description,60.2 -193,I7N3G6G,193,1,no description,60.2 -194,I7N3G6G,194,1,no description,60.2 -195,I7N3G6G,195,1,no description,60.2 -196,I7N3G6G,196,1,no description,60.2 -197,I7N3G6G,197,1,no description,60.2 -198,I7N3G6G,198,1,no description,60.2 -199,I7N3G6G,199,1,no description,60.2 -200,I7N3G6G,200,1,no description,60.2 -201,I7N3G6G,201,1,no description,60.2 -202,I7N3G6G,202,1,no description,60.2 -203,I7N3G6G,203,1,no description,60.2 -204,I7N3G6G,204,1,no description,60.2 -205,I7N3G6G,205,1,no description,60.2 -206,I7N3G6G,206,1,no description,60.2 -207,I7N3G6G,207,1,no description,60.2 -208,I7N3G6G,208,1,no description,60.2 -209,I7N3G6G,209,1,no description,60.2 -210,I7N3G6G,210,1,no description,60.2 -211,I7N3G6G,211,1,no description,60.2 -212,I7N3G6G,212,1,no description,60.2 -213,I7N3G6G,213,1,no description,60.2 -214,I7N3G6G,214,1,no description,60.2 -215,I7N3G6G,215,1,no description,60.2 -216,I7N3G6G,216,1,no description,60.2 -217,I7N3G6G,217,1,no description,60.2 -218,I7N3G6G,218,1,no description,60.2 -219,I7N3G6G,219,1,no description,60.2 -220,I7N3G6G,220,1,no description,60.2 -221,I7N3G6G,221,1,no description,60.2 -222,I7N3G6G,222,1,no description,60.2 -223,I7N3G6G,223,1,no description,60.2 -224,I7N3G6G,224,1,no description,60.2 -225,I7N3G6G,225,1,no description,60.2 -226,I7N3G6G,226,1,no description,60.2 -227,I7N3G6G,227,1,no description,60.2 -228,I7N3G6G,228,1,no description,60.2 -229,I7N3G6G,229,1,no description,60.2 -230,I7N3G6G,230,1,no description,60.2 -231,I7N3G6G,231,1,no description,60.2 -232,I7N3G6G,232,1,no description,60.2 -233,I7N3G6G,233,1,no description,60.2 -234,I7N3G6G,234,1,no description,60.2 -235,I7N3G6G,235,1,no description,60.2 -236,I7N3G6G,236,1,no description,60.2 -237,I7N3G6G,237,1,no description,60.2 -238,I7N3G6G,238,1,no description,60.2 -239,I7N3G6G,239,1,no description,60.2 -240,I7N3G6G,240,1,no description,60.2 -241,I7N3G6G,241,1,no description,60.2 -242,I7N3G6G,242,1,no description,60.2 -243,I7N3G6G,243,1,no description,60.2 -244,I7N3G6G,244,1,no description,60.2 -245,I7N3G6G,245,1,no description,60.2 -246,I7N3G6G,246,1,no description,60.2 -247,I7N3G6G,247,1,no description,60.2 -248,I7N3G6G,248,1,no description,60.2 -249,I7N3G6G,249,1,no description,60.2 -250,I7N3G6G,250,1,no description,60.2 -251,I7N3G6G,251,1,no description,60.2 -252,I7N3G6G,252,1,no description,60.2 -253,I7N3G6G,253,1,no description,60.2 -254,I7N3G6G,254,1,no description,60.2 -255,I7N3G6G,255,1,no description,60.2 -256,I7N3G6G,256,1,no description,60.2 -257,I7N3G6G,257,1,no description,60.2 -258,I7N3G6G,258,1,no description,60.2 -259,I7N3G6G,259,1,no description,60.2 -260,I7N3G6G,260,1,no description,60.2 -261,I7N3G6G,261,1,no description,60.2 -262,I7N3G6G,262,1,no description,60.2 -263,I7N3G6G,263,1,no description,60.2 -264,I7N3G6G,264,1,no description,60.2 -265,I7N3G6G,265,1,no description,60.2 -266,I7N3G6G,266,1,no description,60.2 -267,I7N3G6G,267,1,no description,60.2 -268,I7N3G6G,268,1,no description,60.2 -269,I7N3G6G,269,1,no description,60.2 -270,I7N3G6G,270,1,no description,60.2 -271,I7N3G6G,271,1,no description,60.2 -272,I7N3G6G,272,1,no description,60.2 -273,I7N3G6G,273,1,no description,60.2 -274,I7N3G6G,274,1,no description,60.2 -275,I7N3G6G,275,1,no description,60.2 -276,I7N3G6G,276,1,no description,60.2 -277,I7N3G6G,277,1,no description,60.2 -278,I7N3G6G,278,1,no description,60.2 -279,I7N3G6G,279,1,no description,60.2 -280,I7N3G6G,280,1,no description,60.2 -281,I7N3G6G,281,1,no description,60.2 -282,I7N3G6G,282,1,no description,60.2 -283,I7N3G6G,283,1,no description,60.2 -284,I7N3G6G,284,1,no description,60.2 -285,I7N3G6G,285,1,no description,60.2 -286,I7N3G6G,286,1,no description,60.2 -287,I7N3G6G,287,1,no description,60.2 -288,I7N3G6G,288,1,no description,60.2 -289,I7N3G6G,289,1,no description,60.2 -290,I7N3G6G,290,1,no description,60.2 -291,I7N3G6G,291,1,no description,60.2 -292,I7N3G6G,292,1,no description,60.2 -293,I7N3G6G,293,1,no description,60.2 -294,I7N3G6G,294,1,no description,60.2 -295,I7N3G6G,295,1,no description,60.2 -296,I7N3G6G,296,1,no description,60.2 -297,I7N3G6G,297,1,no description,60.2 -298,I7N3G6G,298,1,no description,60.2 -299,I7N3G6G,299,1,no description,60.2 -300,I7N3G6G,300,1,no description,60.2 -301,I7N3G6G,301,1,no description,60.2 -302,I7N3G6G,302,1,no description,60.2 -303,I7N3G6G,303,1,no description,60.2 -304,I7N3G6G,304,1,no description,60.2 -305,I7N3G6G,305,1,no description,60.2 -306,I7N3G6G,306,1,no description,60.2 -307,I7N3G6G,307,1,no description,60.2 -308,I7N3G6G,308,1,no description,60.2 -309,I7N3G6G,309,1,no description,60.2 -310,I7N3G6G,310,1,no description,60.2 -311,I7N3G6G,311,1,no description,60.2 -312,I7N3G6G,312,1,no description,60.2 -313,I7N3G6G,313,1,no description,60.2 -314,I7N3G6G,314,1,no description,60.2 -315,I7N3G6G,315,1,no description,60.2 -316,I7N3G6G,316,1,no description,60.2 -317,I7N3G6G,317,1,no description,60.2 -318,I7N3G6G,318,1,no description,60.2 -319,I7N3G6G,319,1,no description,60.2 -320,I7N3G6G,320,1,no description,60.2 -321,I7N3G6G,321,1,no description,60.2 -322,I7N3G6G,322,1,no description,60.2 -323,I7N3G6G,323,1,no description,60.2 -324,I7N3G6G,324,1,no description,60.2 -325,I7N3G6G,325,1,no description,60.2 -326,I7N3G6G,326,1,no description,60.2 -327,I7N3G6G,327,1,no description,60.2 -328,I7N3G6G,328,1,no description,60.2 -329,I7N3G6G,329,1,no description,60.2 -330,I7N3G6G,330,1,no description,60.2 -331,I7N3G6G,331,1,no description,60.2 -332,I7N3G6G,332,1,no description,60.2 -333,I7N3G6G,333,1,no description,60.2 -334,I7N3G6G,334,1,no description,60.2 -335,I7N3G6G,335,1,no description,60.2 -336,I7N3G6G,336,1,no description,60.2 -337,I7N3G6G,337,1,no description,60.2 -338,I7N3G6G,338,1,no description,60.2 -339,I7N3G6G,339,1,no description,60.2 -340,I7N3G6G,340,1,no description,60.2 -341,I7N3G6G,341,1,no description,60.2 -342,I7N3G6G,342,1,no description,60.2 -343,I7N3G6G,343,1,no description,60.2 -344,I7N3G6G,344,1,no description,60.2 -345,I7N3G6G,345,1,no description,60.2 -346,I7N3G6G,346,1,no description,60.2 -347,I7N3G6G,347,1,no description,60.2 -348,I7N3G6G,348,1,no description,60.2 -349,I7N3G6G,349,1,no description,60.2 -350,I7N3G6G,350,1,no description,60.2 -351,I7N3G6G,351,1,no description,60.2 -352,I7N3G6G,352,1,no description,60.2 -353,I7N3G6G,353,1,no description,60.2 -354,I7N3G6G,354,1,no description,60.2 -355,I7N3G6G,355,1,no description,60.2 -356,I7N3G6G,356,1,no description,60.2 -357,I7N3G6G,357,1,no description,60.2 -358,I7N3G6G,358,1,no description,60.2 -359,I7N3G6G,359,1,no description,60.2 -360,I7N3G6G,360,1,no description,60.2 -361,I7N3G6G,361,1,no description,60.2 -362,I7N3G6G,362,1,no description,60.2 -363,I7N3G6G,363,1,no description,60.2 -364,I7N3G6G,364,1,no description,60.2 -365,I7N3G6G,365,1,no description,60.2 -366,I7N3G6G,366,1,no description,60.2 -367,I7N3G6G,367,1,no description,60.2 -368,I7N3G6G,368,1,no description,60.2 -369,I7N3G6G,369,1,no description,60.2 -370,I7N3G6G,370,1,no description,60.2 -371,I7N3G6G,371,1,no description,60.2 -372,I7N3G6G,372,1,no description,60.2 -373,I7N3G6G,373,1,no description,60.2 -374,I7N3G6G,374,1,no description,60.2 -375,I7N3G6G,375,1,no description,60.2 -376,I7N3G6G,376,1,no description,60.2 -377,I7N3G6G,377,1,no description,60.2 -378,I7N3G6G,378,1,no description,60.2 -379,I7N3G6G,379,1,no description,60.2 -380,I7N3G6G,380,1,no description,60.2 -381,I7N3G6G,381,1,no description,60.2 -382,I7N3G6G,382,1,no description,60.2 -383,I7N3G6G,383,1,no description,60.2 -384,I7N3G6G,384,1,no description,60.2 -385,I7N3G6G,385,1,no description,60.2 -386,I7N3G6G,386,1,no description,60.2 -387,I7N3G6G,387,1,no description,60.2 -388,I7N3G6G,388,1,no description,60.2 -389,I7N3G6G,389,1,no description,60.2 -390,I7N3G6G,390,1,no description,60.2 -391,I7N3G6G,391,1,no description,60.2 -392,I7N3G6G,392,1,no description,60.2 -393,I7N3G6G,393,1,no description,60.2 -394,I7N3G6G,394,1,no description,60.2 -395,I7N3G6G,395,1,no description,60.2 -396,I7N3G6G,396,1,no description,60.2 -397,I7N3G6G,397,1,no description,60.2 -398,I7N3G6G,398,1,no description,60.2 -399,I7N3G6G,399,1,no description,60.2 -400,I7N3G6G,400,1,no description,60.2 -401,I7N3G6G,401,1,no description,60.2 -402,I7N3G6G,402,1,no description,60.2 -403,I7N3G6G,403,1,no description,60.2 -404,I7N3G6G,404,1,no description,60.2 -405,I7N3G6G,405,1,no description,60.2 -406,I7N3G6G,406,1,no description,60.2 -407,I7N3G6G,407,1,no description,60.2 -408,I7N3G6G,408,1,no description,60.2 -409,I7N3G6G,409,1,no description,60.2 -410,I7N3G6G,410,1,no description,60.2 -411,I7N3G6G,411,1,no description,60.2 -412,I7N3G6G,412,1,no description,60.2 -413,I7N3G6G,413,1,no description,60.2 -414,I7N3G6G,414,1,no description,60.2 -415,I7N3G6G,415,1,no description,60.2 -416,I7N3G6G,416,1,no description,60.2 -417,I7N3G6G,417,1,no description,60.2 -418,I7N3G6G,418,1,no description,60.2 -419,I7N3G6G,419,1,no description,60.2 -420,I7N3G6G,420,1,no description,60.2 -421,I7N3G6G,421,1,no description,60.2 -422,I7N3G6G,422,1,no description,60.2 -423,I7N3G6G,423,1,no description,60.2 -424,I7N3G6G,424,1,no description,60.2 -425,I7N3G6G,425,1,no description,60.2 -426,I7N3G6G,426,1,no description,60.2 -427,I7N3G6G,427,1,no description,60.2 -428,I7N3G6G,428,1,no description,60.2 -429,I7N3G6G,429,1,no description,60.2 -430,I7N3G6G,430,1,no description,60.2 -431,I7N3G6G,431,1,no description,60.2 -432,I7N3G6G,432,1,no description,60.2 -433,I7N3G6G,433,1,no description,60.2 -434,I7N3G6G,434,1,no description,60.2 -435,I7N3G6G,435,1,no description,60.2 -436,I7N3G6G,436,1,no description,60.2 -437,I7N3G6G,437,1,no description,60.2 -438,I7N3G6G,438,1,no description,60.2 -439,I7N3G6G,439,1,no description,60.2 -440,I7N3G6G,440,1,no description,60.2 -441,I7N3G6G,441,1,no description,60.2 -442,I7N3G6G,442,1,no description,60.2 -443,I7N3G6G,443,1,no description,60.2 -444,I7N3G6G,444,1,no description,60.2 -445,I7N3G6G,445,1,no description,60.2 -446,I7N3G6G,446,1,no description,60.2 -447,I7N3G6G,447,1,no description,60.2 -448,I7N3G6G,448,1,no description,60.2 -449,I7N3G6G,449,1,no description,60.2 -450,I7N3G6G,450,1,no description,60.2 -451,I7N3G6G,451,1,no description,60.2 -452,I7N3G6G,452,1,no description,60.2 -453,I7N3G6G,453,1,no description,60.2 -454,I7N3G6G,454,1,no description,60.2 -455,I7N3G6G,455,1,no description,60.2 -456,I7N3G6G,456,1,no description,60.2 -457,I7N3G6G,457,1,no description,60.2 -458,I7N3G6G,458,1,no description,60.2 -459,I7N3G6G,459,1,no description,60.2 -460,I7N3G6G,460,1,no description,60.2 -461,I7N3G6G,461,1,no description,60.2 -462,I7N3G6G,462,1,no description,60.2 -463,I7N3G6G,463,1,no description,60.2 -464,I7N3G6G,464,1,no description,60.2 -465,I7N3G6G,465,1,no description,60.2 -466,I7N3G6G,466,1,no description,60.2 -467,I7N3G6G,467,1,no description,60.2 -468,I7N3G6G,468,1,no description,60.2 -469,I7N3G6G,469,1,no description,60.2 -470,I7N3G6G,470,1,no description,60.2 -471,I7N3G6G,471,1,no description,60.2 -472,I7N3G6G,472,1,no description,60.2 -473,I7N3G6G,473,1,no description,60.2 -474,I7N3G6G,474,1,no description,60.2 -475,I7N3G6G,475,1,no description,60.2 -476,I7N3G6G,476,1,no description,60.2 -477,I7N3G6G,477,1,no description,60.2 -478,I7N3G6G,478,1,no description,60.2 -479,I7N3G6G,479,1,no description,60.2 -480,I7N3G6G,480,1,no description,60.2 -481,I7N3G6G,481,1,no description,60.2 -482,I7N3G6G,482,1,no description,60.2 -483,I7N3G6G,483,1,no description,60.2 -484,I7N3G6G,484,1,no description,60.2 -485,I7N3G6G,485,1,no description,60.2 -486,I7N3G6G,486,1,no description,60.2 -487,I7N3G6G,487,1,no description,60.2 -488,I7N3G6G,488,1,no description,60.2 -489,I7N3G6G,489,1,no description,60.2 -490,I7N3G6G,490,1,no description,60.2 -491,I7N3G6G,491,1,no description,60.2 -492,I7N3G6G,492,1,no description,60.2 -493,I7N3G6G,493,1,no description,60.2 -494,I7N3G6G,494,1,no description,60.2 -495,I7N3G6G,495,1,no description,60.2 -496,I7N3G6G,496,1,no description,60.2 -497,I7N3G6G,497,1,no description,60.2 -498,I7N3G6G,498,1,no description,60.2 -499,I7N3G6G,499,1,no description,60.2 -500,I7N3G6G,500,1,no description,60.2 -501,I7N3G6G,501,1,no description,60.2 -502,I7N3G6G,502,1,no description,60.2 -503,I7N3G6G,503,1,no description,60.2 -504,I7N3G6G,504,1,no description,60.2 -505,I7N3G6G,505,1,no description,60.2 -506,I7N3G6G,506,1,no description,60.2 -507,I7N3G6G,507,1,no description,60.2 -508,I7N3G6G,508,1,no description,60.2 -509,I7N3G6G,509,1,no description,60.2 -510,I7N3G6G,510,1,no description,60.2 -511,I7N3G6G,511,1,no description,60.2 -512,I7N3G6G,512,1,no description,60.2 -513,I7N3G6G,513,1,no description,60.2 -514,I7N3G6G,514,1,no description,60.2 -515,I7N3G6G,515,1,no description,60.2 -516,I7N3G6G,516,1,no description,60.2 -517,I7N3G6G,517,1,no description,60.2 -518,I7N3G6G,518,1,no description,60.2 -519,I7N3G6G,519,1,no description,60.2 -520,I7N3G6G,520,1,no description,60.2 -521,I7N3G6G,521,1,no description,60.2 -522,I7N3G6G,522,1,no description,60.2 -523,I7N3G6G,523,1,no description,60.2 -524,I7N3G6G,524,1,no description,60.2 -525,I7N3G6G,525,1,no description,60.2 -526,I7N3G6G,526,1,no description,60.2 -527,I7N3G6G,527,1,no description,60.2 -528,I7N3G6G,528,1,no description,60.2 -529,I7N3G6G,529,1,no description,60.2 -530,I7N3G6G,530,1,no description,60.2 -531,I7N3G6G,531,1,no description,60.2 -532,I7N3G6G,532,1,no description,60.2 -533,I7N3G6G,533,1,no description,60.2 -534,I7N3G6G,534,1,no description,60.2 -535,I7N3G6G,535,1,no description,60.2 -536,I7N3G6G,536,1,no description,60.2 -537,I7N3G6G,537,1,no description,60.2 -538,I7N3G6G,538,1,no description,60.2 -539,I7N3G6G,539,1,no description,60.2 -540,I7N3G6G,540,1,no description,60.2 -541,I7N3G6G,541,1,no description,60.2 -542,I7N3G6G,542,1,no description,60.2 -543,I7N3G6G,543,1,no description,60.2 -544,I7N3G6G,544,1,no description,60.2 -545,I7N3G6G,545,1,no description,60.2 -546,I7N3G6G,546,1,no description,60.2 -547,I7N3G6G,547,1,no description,60.2 -548,I7N3G6G,548,1,no description,60.2 -549,I7N3G6G,549,1,no description,60.2 -550,I7N3G6G,550,1,no description,60.2 -551,I7N3G6G,551,1,no description,60.2 -552,I7N3G6G,552,1,no description,60.2 -553,I7N3G6G,553,1,no description,60.2 -554,I7N3G6G,554,1,no description,60.2 -555,I7N3G6G,555,1,no description,60.2 -556,I7N3G6G,556,1,no description,60.2 -557,I7N3G6G,557,1,no description,60.2 -558,I7N3G6G,558,1,no description,60.2 -559,I7N3G6G,559,1,no description,60.2 -560,I7N3G6G,560,1,no description,60.2 -561,I7N3G6G,561,1,no description,60.2 -562,I7N3G6G,562,1,no description,60.2 -563,I7N3G6G,563,1,no description,60.2 -564,I7N3G6G,564,1,no description,60.2 -565,I7N3G6G,565,1,no description,60.2 -566,I7N3G6G,566,1,no description,60.2 -567,I7N3G6G,567,1,no description,60.2 -568,I7N3G6G,568,1,no description,60.2 -569,I7N3G6G,569,1,no description,60.2 -570,I7N3G6G,570,1,no description,60.2 -571,I7N3G6G,571,1,no description,60.2 -572,I7N3G6G,572,1,no description,60.2 -573,I7N3G6G,573,1,no description,60.2 -574,I7N3G6G,574,1,no description,60.2 -575,I7N3G6G,575,1,no description,60.2 -576,I7N3G6G,576,1,no description,60.2 -577,I7N3G6G,577,1,no description,60.2 -578,I7N3G6G,578,1,no description,60.2 -579,I7N3G6G,579,1,no description,60.2 -580,I7N3G6G,580,1,no description,60.2 -581,I7N3G6G,581,1,no description,60.2 -582,I7N3G6G,582,1,no description,60.2 -583,I7N3G6G,583,1,no description,60.2 -584,I7N3G6G,584,1,no description,60.2 -585,I7N3G6G,585,1,no description,60.2 -586,I7N3G6G,586,1,no description,60.2 -587,I7N3G6G,587,1,no description,60.2 -588,I7N3G6G,588,1,no description,60.2 -589,I7N3G6G,589,1,no description,60.2 -590,I7N3G6G,590,1,no description,60.2 -591,I7N3G6G,591,1,no description,60.2 -592,I7N3G6G,592,1,no description,60.2 -593,I7N3G6G,593,1,no description,60.2 -594,I7N3G6G,594,1,no description,60.2 -595,I7N3G6G,595,1,no description,60.2 -596,I7N3G6G,596,1,no description,60.2 -597,I7N3G6G,597,1,no description,60.2 -598,I7N3G6G,598,1,no description,60.2 -599,I7N3G6G,599,1,no description,60.2 -600,I7N3G6G,600,1,no description,60.2 -601,I7N3G6G,601,1,no description,60.2 -602,I7N3G6G,602,1,no description,60.2 -603,I7N3G6G,603,1,no description,60.2 -604,I7N3G6G,604,1,no description,60.2 -605,I7N3G6G,605,1,no description,60.2 -606,I7N3G6G,606,1,no description,60.2 -607,I7N3G6G,607,1,no description,60.2 -608,I7N3G6G,608,1,no description,60.2 -609,I7N3G6G,609,1,no description,60.2 -610,I7N3G6G,610,1,no description,60.2 -611,I7N3G6G,611,1,no description,60.2 -612,I7N3G6G,612,1,no description,60.2 -613,I7N3G6G,613,1,no description,60.2 -614,I7N3G6G,614,1,no description,60.2 -615,I7N3G6G,615,1,no description,60.2 -616,I7N3G6G,616,1,no description,60.2 -617,I7N3G6G,617,1,no description,60.2 -618,I7N3G6G,618,1,no description,60.2 -619,I7N3G6G,619,1,no description,60.2 -620,I7N3G6G,620,1,no description,60.2 -621,I7N3G6G,621,1,no description,60.2 -622,I7N3G6G,622,1,no description,60.2 -623,I7N3G6G,623,1,no description,60.2 -624,I7N3G6G,624,1,no description,60.2 -625,I7N3G6G,625,1,no description,60.2 -626,I7N3G6G,626,1,no description,60.2 -627,I7N3G6G,627,1,no description,60.2 -628,I7N3G6G,628,1,no description,60.2 -629,I7N3G6G,629,1,no description,60.2 -630,I7N3G6G,630,1,no description,60.2 -631,I7N3G6G,631,1,no description,60.2 -632,I7N3G6G,632,1,no description,60.2 -633,I7N3G6G,633,1,no description,60.2 -634,I7N3G6G,634,1,no description,60.2 -635,I7N3G6G,635,1,no description,60.2 -636,I7N3G6G,636,1,no description,60.2 -637,I7N3G6G,637,1,no description,60.2 -638,I7N3G6G,638,1,no description,60.2 -639,I7N3G6G,639,1,no description,60.2 -640,I7N3G6G,640,1,no description,60.2 -641,I7N3G6G,641,1,no description,60.2 -642,I7N3G6G,642,1,no description,60.2 -643,I7N3G6G,643,1,no description,60.2 -644,I7N3G6G,644,1,no description,60.2 -645,I7N3G6G,645,1,no description,60.2 -646,I7N3G6G,646,1,no description,60.2 -647,I7N3G6G,647,1,no description,60.2 -648,I7N3G6G,648,1,no description,60.2 -649,I7N3G6G,649,1,no description,60.2 -650,I7N3G6G,650,1,no description,60.2 -651,I7N3G6G,651,1,no description,60.2 -652,I7N3G6G,652,1,no description,60.2 -653,I7N3G6G,653,1,no description,60.2 -654,I7N3G6G,654,1,no description,60.2 -655,I7N3G6G,655,1,no description,60.2 -656,I7N3G6G,656,1,no description,60.2 -657,I7N3G6G,657,1,no description,60.2 -658,I7N3G6G,658,1,no description,60.2 -659,I7N3G6G,659,1,no description,60.2 -660,I7N3G6G,660,1,no description,60.2 -661,I7N3G6G,661,1,no description,60.2 -662,I7N3G6G,662,1,no description,60.2 -663,I7N3G6G,663,1,no description,60.2 -664,I7N3G6G,664,1,no description,60.2 -665,I7N3G6G,665,1,no description,60.2 -666,I7N3G6G,666,1,no description,60.2 -667,I7N3G6G,667,1,no description,60.2 -668,I7N3G6G,668,1,no description,60.2 -669,I7N3G6G,669,1,no description,60.2 -670,I7N3G6G,670,1,no description,60.2 -671,I7N3G6G,671,1,no description,60.2 -672,I7N3G6G,672,1,no description,60.2 -673,I7N3G6G,673,1,no description,60.2 -674,I7N3G6G,674,1,no description,60.2 -675,I7N3G6G,675,1,no description,60.2 -676,I7N3G6G,676,1,no description,60.2 -677,I7N3G6G,677,1,no description,60.2 -678,I7N3G6G,678,1,no description,60.2 -679,I7N3G6G,679,1,no description,60.2 -680,I7N3G6G,680,1,no description,60.2 -681,I7N3G6G,681,1,no description,60.2 -682,I7N3G6G,682,1,no description,60.2 -683,I7N3G6G,683,1,no description,60.2 -684,I7N3G6G,684,1,no description,60.2 -685,I7N3G6G,685,1,no description,60.2 -686,I7N3G6G,686,1,no description,60.2 -687,I7N3G6G,687,1,no description,60.2 -688,I7N3G6G,688,1,no description,60.2 -689,I7N3G6G,689,1,no description,60.2 -690,I7N3G6G,690,1,no description,60.2 -691,I7N3G6G,691,1,no description,60.2 -692,I7N3G6G,692,1,no description,60.2 -693,I7N3G6G,693,1,no description,60.2 -694,I7N3G6G,694,1,no description,60.2 -695,I7N3G6G,695,1,no description,60.2 -696,I7N3G6G,696,1,no description,60.2 -697,I7N3G6G,697,1,no description,60.2 -698,I7N3G6G,698,1,no description,60.2 -699,I7N3G6G,699,1,no description,60.2 -700,I7N3G6G,700,1,no description,60.2 -701,I7N3G6G,701,1,no description,60.2 -702,I7N3G6G,702,1,no description,60.2 -703,I7N3G6G,703,1,no description,60.2 -704,I7N3G6G,704,1,no description,60.2 -705,I7N3G6G,705,1,no description,60.2 -706,I7N3G6G,706,1,no description,60.2 -707,I7N3G6G,707,1,no description,60.2 -708,I7N3G6G,708,1,no description,60.2 -709,I7N3G6G,709,1,no description,60.2 -710,I7N3G6G,710,1,no description,60.2 -711,I7N3G6G,711,1,no description,60.2 -712,I7N3G6G,712,1,no description,60.2 -713,I7N3G6G,713,1,no description,60.2 -714,I7N3G6G,714,1,no description,60.2 -715,I7N3G6G,715,1,no description,60.2 -716,I7N3G6G,716,1,no description,60.2 -717,I7N3G6G,717,1,no description,60.2 -718,I7N3G6G,718,1,no description,60.2 -719,I7N3G6G,719,1,no description,60.2 -720,I7N3G6G,720,1,no description,60.2 -721,I7N3G6G,721,1,no description,60.2 -722,I7N3G6G,722,1,no description,60.2 -723,I7N3G6G,723,1,no description,60.2 -724,I7N3G6G,724,1,no description,60.2 -725,I7N3G6G,725,1,no description,60.2 -726,I7N3G6G,726,1,no description,60.2 -727,I7N3G6G,727,1,no description,60.2 -728,I7N3G6G,728,1,no description,60.2 -729,I7N3G6G,729,1,no description,60.2 -730,I7N3G6G,730,1,no description,60.2 -731,I7N3G6G,731,1,no description,60.2 -732,I7N3G6G,732,1,no description,60.2 -733,I7N3G6G,733,1,no description,60.2 -734,I7N3G6G,734,1,no description,60.2 -735,I7N3G6G,735,1,no description,60.2 -736,I7N3G6G,736,1,no description,60.2 -737,I7N3G6G,737,1,no description,60.2 -738,I7N3G6G,738,1,no description,60.2 -739,I7N3G6G,739,1,no description,60.2 -740,I7N3G6G,740,1,no description,60.2 -741,I7N3G6G,741,1,no description,60.2 -742,I7N3G6G,742,1,no description,60.2 -743,I7N3G6G,743,1,no description,60.2 -744,I7N3G6G,744,1,no description,60.2 -745,I7N3G6G,745,1,no description,60.2 -746,I7N3G6G,746,1,no description,60.2 -747,I7N3G6G,747,1,no description,60.2 -748,I7N3G6G,748,1,no description,60.2 -749,I7N3G6G,749,1,no description,60.2 -750,I7N3G6G,750,1,no description,60.2 -751,I7N3G6G,751,1,no description,60.2 -752,I7N3G6G,752,1,no description,60.2 -753,I7N3G6G,753,1,no description,60.2 -754,I7N3G6G,754,1,no description,60.2 -755,I7N3G6G,755,1,no description,60.2 -756,I7N3G6G,756,1,no description,60.2 -757,I7N3G6G,757,1,no description,60.2 -758,I7N3G6G,758,1,no description,60.2 -759,I7N3G6G,759,1,no description,60.2 -760,I7N3G6G,760,1,no description,60.2 -761,I7N3G6G,761,1,no description,60.2 -762,I7N3G6G,762,1,no description,60.2 -763,I7N3G6G,763,1,no description,60.2 -764,I7N3G6G,764,1,no description,60.2 -765,I7N3G6G,765,1,no description,60.2 -766,I7N3G6G,766,1,no description,60.2 -767,I7N3G6G,767,1,no description,60.2 -768,I7N3G6G,768,1,no description,60.2 -769,I7N3G6G,769,1,no description,60.2 -770,I7N3G6G,770,1,no description,60.2 -771,I7N3G6G,771,1,no description,60.2 -772,I7N3G6G,772,1,no description,60.2 -773,I7N3G6G,773,1,no description,60.2 -774,I7N3G6G,774,1,no description,60.2 -775,I7N3G6G,775,1,no description,60.2 -776,I7N3G6G,776,1,no description,60.2 -777,I7N3G6G,777,1,no description,60.2 -778,I7N3G6G,778,1,no description,60.2 -779,I7N3G6G,779,1,no description,60.2 -780,I7N3G6G,780,1,no description,60.2 -781,I7N3G6G,781,1,no description,60.2 -782,I7N3G6G,782,1,no description,60.2 -783,I7N3G6G,783,1,no description,60.2 -784,I7N3G6G,784,1,no description,60.2 -785,I7N3G6G,785,1,no description,60.2 -786,I7N3G6G,786,1,no description,60.2 -787,I7N3G6G,787,1,no description,60.2 -788,I7N3G6G,788,1,no description,60.2 -789,I7N3G6G,789,1,no description,60.2 -790,I7N3G6G,790,1,no description,60.2 -791,I7N3G6G,791,1,no description,60.2 -792,I7N3G6G,792,1,no description,60.2 -793,I7N3G6G,793,1,no description,60.2 -794,I7N3G6G,794,1,no description,60.2 -795,I7N3G6G,795,1,no description,60.2 -796,I7N3G6G,796,1,no description,60.2 -797,I7N3G6G,797,1,no description,60.2 -798,I7N3G6G,798,1,no description,60.2 -799,I7N3G6G,799,1,no description,60.2 -800,I7N3G6G,800,1,no description,60.2 -801,I7N3G6G,801,1,no description,60.2 -802,I7N3G6G,802,1,no description,60.2 -803,I7N3G6G,803,1,no description,60.2 -804,I7N3G6G,804,1,no description,60.2 -805,I7N3G6G,805,1,no description,60.2 -806,I7N3G6G,806,1,no description,60.2 -807,I7N3G6G,807,1,no description,60.2 -808,I7N3G6G,808,1,no description,60.2 -809,I7N3G6G,809,1,no description,60.2 -810,I7N3G6G,810,1,no description,60.2 -811,I7N3G6G,811,1,no description,60.2 -812,I7N3G6G,812,1,no description,60.2 -813,I7N3G6G,813,1,no description,60.2 -814,I7N3G6G,814,1,no description,60.2 -815,I7N3G6G,815,1,no description,60.2 -816,I7N3G6G,816,1,no description,60.2 -817,I7N3G6G,817,1,no description,60.2 -818,I7N3G6G,818,1,no description,60.2 -819,I7N3G6G,819,1,no description,60.2 -820,I7N3G6G,820,1,no description,60.2 -821,I7N3G6G,821,1,no description,60.2 -822,I7N3G6G,822,1,no description,60.2 -823,I7N3G6G,823,1,no description,60.2 -824,I7N3G6G,824,1,no description,60.2 -825,I7N3G6G,825,1,no description,60.2 -826,I7N3G6G,826,1,no description,60.2 -827,I7N3G6G,827,1,no description,60.2 -828,I7N3G6G,828,1,no description,60.2 -829,I7N3G6G,829,1,no description,60.2 -830,I7N3G6G,830,1,no description,60.2 -831,I7N3G6G,831,1,no description,60.2 -832,I7N3G6G,832,1,no description,60.2 -833,I7N3G6G,833,1,no description,60.2 -834,I7N3G6G,834,1,no description,60.2 -835,I7N3G6G,835,1,no description,60.2 -836,I7N3G6G,836,1,no description,60.2 -837,I7N3G6G,837,1,no description,60.2 -838,I7N3G6G,838,1,no description,60.2 -839,I7N3G6G,839,1,no description,60.2 -840,I7N3G6G,840,1,no description,60.2 -841,I7N3G6G,841,1,no description,60.2 -842,I7N3G6G,842,1,no description,60.2 -843,I7N3G6G,843,1,no description,60.2 -844,I7N3G6G,844,1,no description,60.2 -845,I7N3G6G,845,1,no description,60.2 -846,I7N3G6G,846,1,no description,60.2 -847,I7N3G6G,847,1,no description,60.2 -848,I7N3G6G,848,1,no description,60.2 -849,I7N3G6G,849,1,no description,60.2 -850,I7N3G6G,850,1,no description,60.2 -851,I7N3G6G,851,1,no description,60.2 -852,I7N3G6G,852,1,no description,60.2 -853,I7N3G6G,853,1,no description,60.2 -854,I7N3G6G,854,1,no description,60.2 -855,I7N3G6G,855,1,no description,60.2 -856,I7N3G6G,856,1,no description,60.2 -857,I7N3G6G,857,1,no description,60.2 -858,I7N3G6G,858,1,no description,60.2 -859,I7N3G6G,859,1,no description,60.2 -860,I7N3G6G,860,1,no description,60.2 -861,I7N3G6G,861,1,no description,60.2 -862,I7N3G6G,862,1,no description,60.2 -863,I7N3G6G,863,1,no description,60.2 -864,I7N3G6G,864,1,no description,60.2 -865,I7N3G6G,865,1,no description,60.2 -866,I7N3G6G,866,1,no description,60.2 -867,I7N3G6G,867,1,no description,60.2 -868,I7N3G6G,868,1,no description,60.2 -869,I7N3G6G,869,1,no description,60.2 -870,I7N3G6G,870,1,no description,60.2 -871,I7N3G6G,871,1,no description,60.2 -872,I7N3G6G,872,1,no description,60.2 -873,I7N3G6G,873,1,no description,60.2 -874,I7N3G6G,874,1,no description,60.2 -875,I7N3G6G,875,1,no description,60.2 -876,I7N3G6G,876,1,no description,60.2 -877,I7N3G6G,877,1,no description,60.2 -878,I7N3G6G,878,1,no description,60.2 -879,I7N3G6G,879,1,no description,60.2 -880,I7N3G6G,880,1,no description,60.2 -881,I7N3G6G,881,1,no description,60.2 -882,I7N3G6G,882,1,no description,60.2 -883,I7N3G6G,883,1,no description,60.2 -884,I7N3G6G,884,1,no description,60.2 -885,I7N3G6G,885,1,no description,60.2 -886,I7N3G6G,886,1,no description,60.2 -887,I7N3G6G,887,1,no description,60.2 -888,I7N3G6G,888,1,no description,60.2 -889,I7N3G6G,889,1,no description,60.2 -890,I7N3G6G,890,1,no description,60.2 -891,I7N3G6G,891,1,no description,60.2 -892,I7N3G6G,892,1,no description,60.2 -893,I7N3G6G,893,1,no description,60.2 -894,I7N3G6G,894,1,no description,60.2 -895,I7N3G6G,895,1,no description,60.2 -896,I7N3G6G,896,1,no description,60.2 -897,I7N3G6G,897,1,no description,60.2 -898,I7N3G6G,898,1,no description,60.2 -899,I7N3G6G,899,1,no description,60.2 -900,I7N3G6G,900,1,no description,60.2 -901,I7N3G6G,901,1,no description,60.2 -902,I7N3G6G,902,1,no description,60.2 -903,I7N3G6G,903,1,no description,60.2 -904,I7N3G6G,904,1,no description,60.2 -905,I7N3G6G,905,1,no description,60.2 -906,I7N3G6G,906,1,no description,60.2 -907,I7N3G6G,907,1,no description,60.2 -908,I7N3G6G,908,1,no description,60.2 -909,I7N3G6G,909,1,no description,60.2 -910,I7N3G6G,910,1,no description,60.2 -911,I7N3G6G,911,1,no description,60.2 -912,I7N3G6G,912,1,no description,60.2 -913,I7N3G6G,913,1,no description,60.2 -914,I7N3G6G,914,1,no description,60.2 -915,I7N3G6G,915,1,no description,60.2 -916,I7N3G6G,916,1,no description,60.2 -917,I7N3G6G,917,1,no description,60.2 -918,I7N3G6G,918,1,no description,60.2 -919,I7N3G6G,919,1,no description,60.2 -920,I7N3G6G,920,1,no description,60.2 -921,I7N3G6G,921,1,no description,60.2 -922,I7N3G6G,922,1,no description,60.2 -923,I7N3G6G,923,1,no description,60.2 -924,I7N3G6G,924,1,no description,60.2 -925,I7N3G6G,925,1,no description,60.2 -926,I7N3G6G,926,1,no description,60.2 -927,I7N3G6G,927,1,no description,60.2 -928,I7N3G6G,928,1,no description,60.2 -929,I7N3G6G,929,1,no description,60.2 -930,I7N3G6G,930,1,no description,60.2 -931,I7N3G6G,931,1,no description,60.2 -932,I7N3G6G,932,1,no description,60.2 -933,I7N3G6G,933,1,no description,60.2 -934,I7N3G6G,934,1,no description,60.2 -935,I7N3G6G,935,1,no description,60.2 -936,I7N3G6G,936,1,no description,60.2 -937,I7N3G6G,937,1,no description,60.2 -938,I7N3G6G,938,1,no description,60.2 -939,I7N3G6G,939,1,no description,60.2 -940,I7N3G6G,940,1,no description,60.2 -941,I7N3G6G,941,1,no description,60.2 -942,I7N3G6G,942,1,no description,60.2 -943,I7N3G6G,943,1,no description,60.2 -944,I7N3G6G,944,1,no description,60.2 -945,I7N3G6G,945,1,no description,60.2 -946,I7N3G6G,946,1,no description,60.2 -947,I7N3G6G,947,1,no description,60.2 -948,I7N3G6G,948,1,no description,60.2 -949,I7N3G6G,949,1,no description,60.2 -950,I7N3G6G,950,1,no description,60.2 -951,I7N3G6G,951,1,no description,60.2 -952,I7N3G6G,952,1,no description,60.2 -953,I7N3G6G,953,1,no description,60.2 -954,I7N3G6G,954,1,no description,60.2 -955,I7N3G6G,955,1,no description,60.2 -956,I7N3G6G,956,1,no description,60.2 -957,I7N3G6G,957,1,no description,60.2 -958,I7N3G6G,958,1,no description,60.2 -959,I7N3G6G,959,1,no description,60.2 -960,I7N3G6G,960,1,no description,60.2 -961,I7N3G6G,961,1,no description,60.2 -962,I7N3G6G,962,1,no description,60.2 -963,I7N3G6G,963,1,no description,60.2 -964,I7N3G6G,964,1,no description,60.2 -965,I7N3G6G,965,1,no description,60.2 -966,I7N3G6G,966,1,no description,60.2 -967,I7N3G6G,967,1,no description,60.2 -968,I7N3G6G,968,1,no description,60.2 -969,I7N3G6G,969,1,no description,60.2 -970,I7N3G6G,970,1,no description,60.2 -971,I7N3G6G,971,1,no description,60.2 -972,I7N3G6G,972,1,no description,60.2 -973,I7N3G6G,973,1,no description,60.2 -974,I7N3G6G,974,1,no description,60.2 -975,I7N3G6G,975,1,no description,60.2 -976,I7N3G6G,976,1,no description,60.2 -977,I7N3G6G,977,1,no description,60.2 -978,I7N3G6G,978,1,no description,60.2 -979,I7N3G6G,979,1,no description,60.2 -980,I7N3G6G,980,1,no description,60.2 -981,I7N3G6G,981,1,no description,60.2 -982,I7N3G6G,982,1,no description,60.2 -983,I7N3G6G,983,1,no description,60.2 -984,I7N3G6G,984,1,no description,60.2 -985,I7N3G6G,985,1,no description,60.2 -986,I7N3G6G,986,1,no description,60.2 -987,I7N3G6G,987,1,no description,60.2 -988,I7N3G6G,988,1,no description,60.2 -989,I7N3G6G,989,1,no description,60.2 -990,I7N3G6G,990,1,no description,60.2 -991,I7N3G6G,991,1,no description,60.2 -992,I7N3G6G,992,1,no description,60.2 -993,I7N3G6G,993,1,no description,60.2 -994,I7N3G6G,994,1,no description,60.2 -995,I7N3G6G,995,1,no description,60.2 -996,I7N3G6G,996,1,no description,60.2 -997,I7N3G6G,997,1,no description,60.2 -998,I7N3G6G,998,1,no description,60.2 -999,I7N3G6G,999,1,no description,60.2 -1000,I7N3G6G,1000,1,no description,60.2 -1001,I7N3G6G,1001,1,no description,60.2 -1002,I7N3G6G,1002,1,no description,60.2 -1003,I7N3G6G,1003,1,no description,60.2 -1004,I7N3G6G,1004,1,no description,60.2 -1005,I7N3G6G,1005,1,no description,60.2 -1006,I7N3G6G,1006,1,no description,60.2 -1007,I7N3G6G,1007,1,no description,60.2 -1008,I7N3G6G,1008,1,no description,60.2 -1009,I7N3G6G,1009,1,no description,60.2 -1010,I7N3G6G,1010,1,no description,60.2 -1011,I7N3G6G,1011,1,no description,60.2 -1012,I7N3G6G,1012,1,no description,60.2 -1013,I7N3G6G,1013,1,no description,60.2 -1014,I7N3G6G,1014,1,no description,60.2 -1015,I7N3G6G,1015,1,no description,60.2 -1016,I7N3G6G,1016,1,no description,60.2 -1017,I7N3G6G,1017,1,no description,60.2 -1018,I7N3G6G,1018,1,no description,60.2 -1019,I7N3G6G,1019,1,no description,60.2 -1020,I7N3G6G,1020,1,no description,60.2 -1021,I7N3G6G,1021,1,no description,60.2 -1022,I7N3G6G,1022,1,no description,60.2 -1023,I7N3G6G,1023,1,no description,60.2 -1024,I7N3G6G,1024,1,no description,60.2 -1025,I7N3G6G,1025,1,no description,60.2 -1026,I7N3G6G,1026,1,no description,60.2 -1027,I7N3G6G,1027,1,no description,60.2 -1028,I7N3G6G,1028,1,no description,60.2 -1029,I7N3G6G,1029,1,no description,60.2 -1030,I7N3G6G,1030,1,no description,60.2 -1031,I7N3G6G,1031,1,no description,60.2 -1032,I7N3G6G,1032,1,no description,60.2 -1033,I7N3G6G,1033,1,no description,60.2 -1034,I7N3G6G,1034,1,no description,60.2 -1035,I7N3G6G,1035,1,no description,60.2 -1036,I7N3G6G,1036,1,no description,60.2 -1037,I7N3G6G,1037,1,no description,60.2 -1038,I7N3G6G,1038,1,no description,60.2 -1039,I7N3G6G,1039,1,no description,60.2 -1040,I7N3G6G,1040,1,no description,60.2 -1041,I7N3G6G,1041,1,no description,60.2 -1042,I7N3G6G,1042,1,no description,60.2 -1043,I7N3G6G,1043,1,no description,60.2 -1044,I7N3G6G,1044,1,no description,60.2 -1045,I7N3G6G,1045,1,no description,60.2 -1046,I7N3G6G,1046,1,no description,60.2 -1047,I7N3G6G,1047,1,no description,60.2 -1048,I7N3G6G,1048,1,no description,60.2 -1049,I7N3G6G,1049,1,no description,60.2 -1050,I7N3G6G,1050,1,no description,60.2 -1051,I7N3G6G,1051,1,no description,60.2 -1052,I7N3G6G,1052,1,no description,60.2 -1053,I7N3G6G,1053,1,no description,60.2 -1054,I7N3G6G,1054,1,no description,60.2 -1055,I7N3G6G,1055,1,no description,60.2 -1056,I7N3G6G,1056,1,no description,60.2 -1057,I7N3G6G,1057,1,no description,60.2 -1058,I7N3G6G,1058,1,no description,60.2 -1059,I7N3G6G,1059,1,no description,60.2 -1060,I7N3G6G,1060,1,no description,60.2 -1061,I7N3G6G,1061,1,no description,60.2 -1062,I7N3G6G,1062,1,no description,60.2 -1063,I7N3G6G,1063,1,no description,60.2 -1064,I7N3G6G,1064,1,no description,60.2 -1065,I7N3G6G,1065,1,no description,60.2 -1066,I7N3G6G,1066,1,no description,60.2 -1067,I7N3G6G,1067,1,no description,60.2 -1068,I7N3G6G,1068,1,no description,60.2 -1069,I7N3G6G,1069,1,no description,60.2 -1070,I7N3G6G,1070,1,no description,60.2 -1071,I7N3G6G,1071,1,no description,60.2 -1072,I7N3G6G,1072,1,no description,60.2 -1073,I7N3G6G,1073,1,no description,60.2 -1074,I7N3G6G,1074,1,no description,60.2 -1075,I7N3G6G,1075,1,no description,60.2 -1076,I7N3G6G,1076,1,no description,60.2 -1077,I7N3G6G,1077,1,no description,60.2 -1078,I7N3G6G,1078,1,no description,60.2 -1079,I7N3G6G,1079,1,no description,60.2 -1080,I7N3G6G,1080,1,no description,60.2 -1081,I7N3G6G,1081,1,no description,60.2 -1082,I7N3G6G,1082,1,no description,60.2 -1083,I7N3G6G,1083,1,no description,60.2 -1084,I7N3G6G,1084,1,no description,60.2 -1085,I7N3G6G,1085,1,no description,60.2 -1086,I7N3G6G,1086,1,no description,60.2 -1087,I7N3G6G,1087,1,no description,60.2 -1088,I7N3G6G,1088,1,no description,60.2 -1089,I7N3G6G,1089,1,no description,60.2 -1090,I7N3G6G,1090,1,no description,60.2 -1091,I7N3G6G,1091,1,no description,60.2 -1092,I7N3G6G,1092,1,no description,60.2 -1093,I7N3G6G,1093,1,no description,60.2 -1094,I7N3G6G,1094,1,no description,60.2 -1095,I7N3G6G,1095,1,no description,60.2 -1096,I7N3G6G,1096,1,no description,60.2 -1097,I7N3G6G,1097,1,no description,60.2 -1098,I7N3G6G,1098,1,no description,60.2 -1099,I7N3G6G,1099,1,no description,60.2 -1100,I7N3G6G,1100,1,no description,60.2 -1101,I7N3G6G,1101,1,no description,60.2 -1102,I7N3G6G,1102,1,no description,60.2 -1103,I7N3G6G,1103,1,no description,60.2 -1104,I7N3G6G,1104,1,no description,60.2 -1105,I7N3G6G,1105,1,no description,60.2 -1106,I7N3G6G,1106,1,no description,60.2 -1107,I7N3G6G,1107,1,no description,60.2 -1108,I7N3G6G,1108,1,no description,60.2 -1109,I7N3G6G,1109,1,no description,60.2 -1110,I7N3G6G,1110,1,no description,60.2 -1111,I7N3G6G,1111,1,no description,60.2 -1112,I7N3G6G,1112,1,no description,60.2 -1113,I7N3G6G,1113,1,no description,60.2 -1114,I7N3G6G,1114,1,no description,60.2 -1115,I7N3G6G,1115,1,no description,60.2 -1116,I7N3G6G,1116,1,no description,60.2 -1117,I7N3G6G,1117,1,no description,60.2 -1118,I7N3G6G,1118,1,no description,60.2 -1119,I7N3G6G,1119,1,no description,60.2 -1120,I7N3G6G,1120,1,no description,60.2 -1121,I7N3G6G,1121,1,no description,60.2 -1122,I7N3G6G,1122,1,no description,60.2 -1123,I7N3G6G,1123,1,no description,60.2 -1124,I7N3G6G,1124,1,no description,60.2 -1125,I7N3G6G,1125,1,no description,60.2 -1126,I7N3G6G,1126,1,no description,60.2 -1127,I7N3G6G,1127,1,no description,60.2 -1128,I7N3G6G,1128,1,no description,60.2 -1129,I7N3G6G,1129,1,no description,60.2 -1130,I7N3G6G,1130,1,no description,60.2 -1131,I7N3G6G,1131,1,no description,60.2 -1132,I7N3G6G,1132,1,no description,60.2 -1133,I7N3G6G,1133,1,no description,60.2 -1134,I7N3G6G,1134,1,no description,60.2 -1135,I7N3G6G,1135,1,no description,60.2 -1136,I7N3G6G,1136,1,no description,60.2 -1137,I7N3G6G,1137,1,no description,60.2 -1138,I7N3G6G,1138,1,no description,60.2 -1139,I7N3G6G,1139,1,no description,60.2 -1140,I7N3G6G,1140,1,no description,60.2 -1141,I7N3G6G,1141,1,no description,60.2 -1142,I7N3G6G,1142,1,no description,60.2 -1143,I7N3G6G,1143,1,no description,60.2 -1144,I7N3G6G,1144,1,no description,60.2 -1145,I7N3G6G,1145,1,no description,60.2 -1146,I7N3G6G,1146,1,no description,60.2 -1147,I7N3G6G,1147,1,no description,60.2 -1148,I7N3G6G,1148,1,no description,60.2 -1149,I7N3G6G,1149,1,no description,60.2 -1150,I7N3G6G,1150,1,no description,60.2 -1151,I7N3G6G,1151,1,no description,60.2 -1152,I7N3G6G,1152,1,no description,60.2 -1153,I7N3G6G,1153,1,no description,60.2 -1154,I7N3G6G,1154,1,no description,60.2 -1155,I7N3G6G,1155,1,no description,60.2 -1156,I7N3G6G,1156,1,no description,60.2 -1157,I7N3G6G,1157,1,no description,60.2 -1158,I7N3G6G,1158,1,no description,60.2 -1159,I7N3G6G,1159,1,no description,60.2 -1160,I7N3G6G,1160,1,no description,60.2 -1161,I7N3G6G,1161,1,no description,60.2 -1162,I7N3G6G,1162,1,no description,60.2 -1163,I7N3G6G,1163,1,no description,60.2 -1164,I7N3G6G,1164,1,no description,60.2 -1165,I7N3G6G,1165,1,no description,60.2 -1166,I7N3G6G,1166,1,no description,60.2 -1167,I7N3G6G,1167,1,no description,60.2 -1168,I7N3G6G,1168,1,no description,60.2 -1169,I7N3G6G,1169,1,no description,60.2 -1170,I7N3G6G,1170,1,no description,60.2 -1171,I7N3G6G,1171,1,no description,60.2 -1172,I7N3G6G,1172,1,no description,60.2 -1173,I7N3G6G,1173,1,no description,60.2 -1174,I7N3G6G,1174,1,no description,60.2 -1175,I7N3G6G,1175,1,no description,60.2 -1176,I7N3G6G,1176,1,no description,60.2 -1177,I7N3G6G,1177,1,no description,60.2 -1178,I7N3G6G,1178,1,no description,60.2 -1179,I7N3G6G,1179,1,no description,60.2 -1180,I7N3G6G,1180,1,no description,60.2 -1181,I7N3G6G,1181,1,no description,60.2 -1182,I7N3G6G,1182,1,no description,60.2 -1183,I7N3G6G,1183,1,no description,60.2 -1184,I7N3G6G,1184,1,no description,60.2 -1185,I7N3G6G,1185,1,no description,60.2 -1186,I7N3G6G,1186,1,no description,60.2 -1187,I7N3G6G,1187,1,no description,60.2 -1188,I7N3G6G,1188,1,no description,60.2 -1189,I7N3G6G,1189,1,no description,60.2 -1190,I7N3G6G,1190,1,no description,60.2 -1191,I7N3G6G,1191,1,no description,60.2 -1192,I7N3G6G,1192,1,no description,60.2 -1193,I7N3G6G,1193,1,no description,60.2 -1194,I7N3G6G,1194,1,no description,60.2 -1195,I7N3G6G,1195,1,no description,60.2 -1196,I7N3G6G,1196,1,no description,60.2 -1197,I7N3G6G,1197,1,no description,60.2 -1198,I7N3G6G,1198,1,no description,60.2 -1199,I7N3G6G,1199,1,no description,60.2 -1200,I7N3G6G,1200,1,no description,60.2 -1201,I7N3G6G,1201,1,no description,60.2 -1202,I7N3G6G,1202,1,no description,60.2 -1203,I7N3G6G,1203,1,no description,60.2 -1204,I7N3G6G,1204,1,no description,60.2 -1205,I7N3G6G,1205,1,no description,60.2 -1206,I7N3G6G,1206,1,no description,60.2 -1207,I7N3G6G,1207,1,no description,60.2 -1208,I7N3G6G,1208,1,no description,60.2 -1209,I7N3G6G,1209,1,no description,60.2 -1210,I7N3G6G,1210,1,no description,60.2 -1211,I7N3G6G,1211,1,no description,60.2 -1212,I7N3G6G,1212,1,no description,60.2 -1213,I7N3G6G,1213,1,no description,60.2 -1214,I7N3G6G,1214,1,no description,60.2 -1215,I7N3G6G,1215,1,no description,60.2 -1216,I7N3G6G,1216,1,no description,60.2 -1217,I7N3G6G,1217,1,no description,60.2 -1218,I7N3G6G,1218,1,no description,60.2 -1219,I7N3G6G,1219,1,no description,60.2 -1220,I7N3G6G,1220,1,no description,60.2 -1221,I7N3G6G,1221,1,no description,60.2 -1222,I7N3G6G,1222,1,no description,60.2 -1223,I7N3G6G,1223,1,no description,60.2 -1224,I7N3G6G,1224,1,no description,60.2 -1225,I7N3G6G,1225,1,no description,60.2 -1226,I7N3G6G,1226,1,no description,60.2 -1227,I7N3G6G,1227,1,no description,60.2 -1228,I7N3G6G,1228,1,no description,60.2 -1229,I7N3G6G,1229,1,no description,60.2 -1230,I7N3G6G,1230,1,no description,60.2 -1231,I7N3G6G,1231,1,no description,60.2 -1232,I7N3G6G,1232,1,no description,60.2 -1233,I7N3G6G,1233,1,no description,60.2 -1234,I7N3G6G,1234,1,no description,60.2 -1235,I7N3G6G,1235,1,no description,60.2 -1236,I7N3G6G,1236,1,no description,60.2 -1237,I7N3G6G,1237,1,no description,60.2 -1238,I7N3G6G,1238,1,no description,60.2 -1239,I7N3G6G,1239,1,no description,60.2 -1240,I7N3G6G,1240,1,no description,60.2 -1241,I7N3G6G,1241,1,no description,60.2 -1242,I7N3G6G,1242,1,no description,60.2 -1243,I7N3G6G,1243,1,no description,60.2 -1244,I7N3G6G,1244,1,no description,60.2 -1245,I7N3G6G,1245,1,no description,60.2 -1246,I7N3G6G,1246,1,no description,60.2 -1247,I7N3G6G,1247,1,no description,60.2 -1248,I7N3G6G,1248,1,no description,60.2 -1249,I7N3G6G,1249,1,no description,60.2 -1250,I7N3G6G,1250,1,no description,60.2 -1251,I7N3G6G,1251,1,no description,60.2 -1252,I7N3G6G,1252,1,no description,60.2 -1253,I7N3G6G,1253,1,no description,60.2 -1254,I7N3G6G,1254,1,no description,60.2 -1255,I7N3G6G,1255,1,no description,60.2 -1256,I7N3G6G,1256,1,no description,60.2 -1257,I7N3G6G,1257,1,no description,60.2 -1258,I7N3G6G,1258,1,no description,60.2 -1259,I7N3G6G,1259,1,no description,60.2 -1260,I7N3G6G,1260,1,no description,60.2 -1261,I7N3G6G,1261,1,no description,60.2 -1262,I7N3G6G,1262,1,no description,60.2 -1263,I7N3G6G,1263,1,no description,60.2 -1264,I7N3G6G,1264,1,no description,60.2 -1265,I7N3G6G,1265,1,no description,60.2 -1266,I7N3G6G,1266,1,no description,60.2 -1267,I7N3G6G,1267,1,no description,60.2 -1268,I7N3G6G,1268,1,no description,60.2 -1269,I7N3G6G,1269,1,no description,60.2 -1270,I7N3G6G,1270,1,no description,60.2 -1271,I7N3G6G,1271,1,no description,60.2 -1272,I7N3G6G,1272,1,no description,60.2 -1273,I7N3G6G,1273,1,no description,60.2 -1274,I7N3G6G,1274,1,no description,60.2 -1275,I7N3G6G,1275,1,no description,60.2 -1276,I7N3G6G,1276,1,no description,60.2 -1277,I7N3G6G,1277,1,no description,60.2 -1278,I7N3G6G,1278,1,no description,60.2 -1279,I7N3G6G,1279,1,no description,60.2 -1280,I7N3G6G,1280,1,no description,60.2 -1281,I7N3G6G,1281,1,no description,60.2 -1282,I7N3G6G,1282,1,no description,60.2 -1283,I7N3G6G,1283,1,no description,60.2 -1284,I7N3G6G,1284,1,no description,60.2 -1285,I7N3G6G,1285,1,no description,60.2 -1286,I7N3G6G,1286,1,no description,60.2 -1287,I7N3G6G,1287,1,no description,60.2 -1288,I7N3G6G,1288,1,no description,60.2 -1289,I7N3G6G,1289,1,no description,60.2 -1290,I7N3G6G,1290,1,no description,60.2 -1291,I7N3G6G,1291,1,no description,60.2 -1292,I7N3G6G,1292,1,no description,60.2 -1293,I7N3G6G,1293,1,no description,60.2 -1294,I7N3G6G,1294,1,no description,60.2 -1295,I7N3G6G,1295,1,no description,60.2 -1296,I7N3G6G,1296,1,no description,60.2 -1297,I7N3G6G,1297,1,no description,60.2 -1298,I7N3G6G,1298,1,no description,60.2 -1299,I7N3G6G,1299,1,no description,60.2 -1300,I7N3G6G,1300,1,no description,60.2 -1301,I7N3G6G,1301,1,no description,60.2 -1302,I7N3G6G,1302,1,no description,60.2 -1303,I7N3G6G,1303,1,no description,60.2 -1304,I7N3G6G,1304,1,no description,60.2 -1305,I7N3G6G,1305,1,no description,60.2 -1306,I7N3G6G,1306,1,no description,60.2 -1307,I7N3G6G,1307,1,no description,60.2 -1308,I7N3G6G,1308,1,no description,60.2 -1309,I7N3G6G,1309,1,no description,60.2 -1310,I7N3G6G,1310,1,no description,60.2 -1311,I7N3G6G,1311,1,no description,60.2 -1312,I7N3G6G,1312,1,no description,60.2 -1313,I7N3G6G,1313,1,no description,60.2 -1314,I7N3G6G,1314,1,no description,60.2 -1315,I7N3G6G,1315,1,no description,60.2 -1316,I7N3G6G,1316,1,no description,60.2 -1317,I7N3G6G,1317,1,no description,60.2 -1318,I7N3G6G,1318,1,no description,60.2 -1319,I7N3G6G,1319,1,no description,60.2 -1320,I7N3G6G,1320,1,no description,60.2 -1321,I7N3G6G,1321,1,no description,60.2 -1322,I7N3G6G,1322,1,no description,60.2 -1323,I7N3G6G,1323,1,no description,60.2 -1324,I7N3G6G,1324,1,no description,60.2 -1325,I7N3G6G,1325,1,no description,60.2 -1326,I7N3G6G,1326,1,no description,60.2 -1327,I7N3G6G,1327,1,no description,60.2 -1328,I7N3G6G,1328,1,no description,60.2 -1329,I7N3G6G,1329,1,no description,60.2 -1330,I7N3G6G,1330,1,no description,60.2 -1331,I7N3G6G,1331,1,no description,60.2 -1332,I7N3G6G,1332,1,no description,60.2 -1333,I7N3G6G,1333,1,no description,60.2 -1334,I7N3G6G,1334,1,no description,60.2 -1335,I7N3G6G,1335,1,no description,60.2 -1336,I7N3G6G,1336,1,no description,60.2 -1337,I7N3G6G,1337,1,no description,60.2 -1338,I7N3G6G,1338,1,no description,60.2 -1339,I7N3G6G,1339,1,no description,60.2 -1340,I7N3G6G,1340,1,no description,60.2 -1341,I7N3G6G,1341,1,no description,60.2 -1342,I7N3G6G,1342,1,no description,60.2 -1343,I7N3G6G,1343,1,no description,60.2 -1344,I7N3G6G,1344,1,no description,60.2 -1345,I7N3G6G,1345,1,no description,60.2 -1346,I7N3G6G,1346,1,no description,60.2 -1347,I7N3G6G,1347,1,no description,60.2 -1348,I7N3G6G,1348,1,no description,60.2 -1349,I7N3G6G,1349,1,no description,60.2 -1350,I7N3G6G,1350,1,no description,60.2 -1351,I7N3G6G,1351,1,no description,60.2 -1352,I7N3G6G,1352,1,no description,60.2 -1353,I7N3G6G,1353,1,no description,60.2 -1354,I7N3G6G,1354,1,no description,60.2 -1355,I7N3G6G,1355,1,no description,60.2 -1356,I7N3G6G,1356,1,no description,60.2 -1357,I7N3G6G,1357,1,no description,60.2 -1358,I7N3G6G,1358,1,no description,60.2 -1359,I7N3G6G,1359,1,no description,60.2 -1360,I7N3G6G,1360,1,no description,60.2 -1361,I7N3G6G,1361,1,no description,60.2 -1362,I7N3G6G,1362,1,no description,60.2 -1363,I7N3G6G,1363,1,no description,60.2 -1364,I7N3G6G,1364,1,no description,60.2 -1365,I7N3G6G,1365,1,no description,60.2 -1366,I7N3G6G,1366,1,no description,60.2 -1367,I7N3G6G,1367,1,no description,60.2 -1368,I7N3G6G,1368,1,no description,60.2 -1369,I7N3G6G,1369,1,no description,60.2 -1370,I7N3G6G,1370,1,no description,60.2 -1371,I7N3G6G,1371,1,no description,60.2 -1372,I7N3G6G,1372,1,no description,60.2 -1373,I7N3G6G,1373,1,no description,60.2 -1374,I7N3G6G,1374,1,no description,60.2 -1375,I7N3G6G,1375,1,no description,60.2 -1376,I7N3G6G,1376,1,no description,60.2 -1377,I7N3G6G,1377,1,no description,60.2 -1378,I7N3G6G,1378,1,no description,60.2 -1379,I7N3G6G,1379,1,no description,60.2 -1380,I7N3G6G,1380,1,no description,60.2 -1381,I7N3G6G,1381,1,no description,60.2 -1382,I7N3G6G,1382,1,no description,60.2 -1383,I7N3G6G,1383,1,no description,60.2 -1384,I7N3G6G,1384,1,no description,60.2 -1385,I7N3G6G,1385,1,no description,60.2 -1386,I7N3G6G,1386,1,no description,60.2 -1387,I7N3G6G,1387,1,no description,60.2 -1388,I7N3G6G,1388,1,no description,60.2 -1389,I7N3G6G,1389,1,no description,60.2 -1390,I7N3G6G,1390,1,no description,60.2 -1391,I7N3G6G,1391,1,no description,60.2 -1392,I7N3G6G,1392,1,no description,60.2 -1393,I7N3G6G,1393,1,no description,60.2 -1394,I7N3G6G,1394,1,no description,60.2 -1395,I7N3G6G,1395,1,no description,60.2 -1396,I7N3G6G,1396,1,no description,60.2 -1397,I7N3G6G,1397,1,no description,60.2 -1398,I7N3G6G,1398,1,no description,60.2 -1399,I7N3G6G,1399,1,no description,60.2 -1400,I7N3G6G,1400,1,no description,60.2 -1401,I7N3G6G,1401,1,no description,60.2 -1402,I7N3G6G,1402,1,no description,60.2 -1403,I7N3G6G,1403,1,no description,60.2 -1404,I7N3G6G,1404,1,no description,60.2 -1405,I7N3G6G,1405,1,no description,60.2 -1406,I7N3G6G,1406,1,no description,60.2 -1407,I7N3G6G,1407,1,no description,60.2 -1408,I7N3G6G,1408,1,no description,60.2 -1409,I7N3G6G,1409,1,no description,60.2 -1410,I7N3G6G,1410,1,no description,60.2 -1411,I7N3G6G,1411,1,no description,60.2 -1412,I7N3G6G,1412,1,no description,60.2 -1413,I7N3G6G,1413,1,no description,60.2 -1414,I7N3G6G,1414,1,no description,60.2 -1415,I7N3G6G,1415,1,no description,60.2 -1416,I7N3G6G,1416,1,no description,60.2 -1417,I7N3G6G,1417,1,no description,60.2 -1418,I7N3G6G,1418,1,no description,60.2 -1419,I7N3G6G,1419,1,no description,60.2 -1420,I7N3G6G,1420,1,no description,60.2 -1421,I7N3G6G,1421,1,no description,60.2 -1422,I7N3G6G,1422,1,no description,60.2 -1423,I7N3G6G,1423,1,no description,60.2 -1424,I7N3G6G,1424,1,no description,60.2 -1425,I7N3G6G,1425,1,no description,60.2 -1426,I7N3G6G,1426,1,no description,60.2 -1427,I7N3G6G,1427,1,no description,60.2 -1428,I7N3G6G,1428,1,no description,60.2 -1429,I7N3G6G,1429,1,no description,60.2 -1430,I7N3G6G,1430,1,no description,60.2 -1431,I7N3G6G,1431,1,no description,60.2 -1432,I7N3G6G,1432,1,no description,60.2 -1433,I7N3G6G,1433,1,no description,60.2 -1434,I7N3G6G,1434,1,no description,60.2 -1435,I7N3G6G,1435,1,no description,60.2 -1436,I7N3G6G,1436,1,no description,60.2 -1437,I7N3G6G,1437,1,no description,60.2 -1438,I7N3G6G,1438,1,no description,60.2 -1439,I7N3G6G,1439,1,no description,60.2 -1440,I7N3G6G,1440,1,no description,60.2 -1441,I7N3G6G,1441,1,no description,60.2 -1442,I7N3G6G,1442,1,no description,60.2 -1443,I7N3G6G,1443,1,no description,60.2 -1444,I7N3G6G,1444,1,no description,60.2 -1445,I7N3G6G,1445,1,no description,60.2 -1446,I7N3G6G,1446,1,no description,60.2 -1447,I7N3G6G,1447,1,no description,60.2 -1448,I7N3G6G,1448,1,no description,60.2 -1449,I7N3G6G,1449,1,no description,60.2 -1450,I7N3G6G,1450,1,no description,60.2 -1451,I7N3G6G,1451,1,no description,60.2 -1452,I7N3G6G,1452,1,no description,60.2 -1453,I7N3G6G,1453,1,no description,60.2 -1454,I7N3G6G,1454,1,no description,60.2 -1455,I7N3G6G,1455,1,no description,60.2 -1456,I7N3G6G,1456,1,no description,60.2 -1457,I7N3G6G,1457,1,no description,60.2 -1458,I7N3G6G,1458,1,no description,60.2 -1459,I7N3G6G,1459,1,no description,60.2 -1460,I7N3G6G,1460,1,no description,60.2 -1461,I7N3G6G,1461,1,no description,60.2 -1462,I7N3G6G,1462,1,no description,60.2 -1463,I7N3G6G,1463,1,no description,60.2 -1464,I7N3G6G,1464,1,no description,60.2 -1465,I7N3G6G,1465,1,no description,60.2 -1466,I7N3G6G,1466,1,no description,60.2 -1467,I7N3G6G,1467,1,no description,60.2 -1468,I7N3G6G,1468,1,no description,60.2 -1469,I7N3G6G,1469,1,no description,60.2 -1470,I7N3G6G,1470,1,no description,60.2 -1471,I7N3G6G,1471,1,no description,60.2 -1472,I7N3G6G,1472,1,no description,60.2 -1473,I7N3G6G,1473,1,no description,60.2 -1474,I7N3G6G,1474,1,no description,60.2 -1475,I7N3G6G,1475,1,no description,60.2 -1476,I7N3G6G,1476,1,no description,60.2 -1477,I7N3G6G,1477,1,no description,60.2 -1478,I7N3G6G,1478,1,no description,60.2 -1479,I7N3G6G,1479,1,no description,60.2 -1480,I7N3G6G,1480,1,no description,60.2 -1481,I7N3G6G,1481,1,no description,60.2 -1482,I7N3G6G,1482,1,no description,60.2 -1483,I7N3G6G,1483,1,no description,60.2 -1484,I7N3G6G,1484,1,no description,60.2 -1485,I7N3G6G,1485,1,no description,60.2 -1486,I7N3G6G,1486,1,no description,60.2 -1487,I7N3G6G,1487,1,no description,60.2 -1488,I7N3G6G,1488,1,no description,60.2 -1489,I7N3G6G,1489,1,no description,60.2 -1490,I7N3G6G,1490,1,no description,60.2 -1491,I7N3G6G,1491,1,no description,60.2 -1492,I7N3G6G,1492,1,no description,60.2 -1493,I7N3G6G,1493,1,no description,60.2 -1494,I7N3G6G,1494,1,no description,60.2 -1495,I7N3G6G,1495,1,no description,60.2 -1496,I7N3G6G,1496,1,no description,60.2 -1497,I7N3G6G,1497,1,no description,60.2 -1498,I7N3G6G,1498,1,no description,60.2 -1499,I7N3G6G,1499,1,no description,60.2 -1500,I7N3G6G,1500,1,no description,60.2 -1501,I7N3G6G,1501,1,no description,60.2 -1502,I7N3G6G,1502,1,no description,60.2 -1503,I7N3G6G,1503,1,no description,60.2 -1504,I7N3G6G,1504,1,no description,60.2 -1505,I7N3G6G,1505,1,no description,60.2 -1506,I7N3G6G,1506,1,no description,60.2 -1507,I7N3G6G,1507,1,no description,60.2 -1508,I7N3G6G,1508,1,no description,60.2 -1509,I7N3G6G,1509,1,no description,60.2 -1510,I7N3G6G,1510,1,no description,60.2 -1511,I7N3G6G,1511,1,no description,60.2 -1512,I7N3G6G,1512,1,no description,60.2 -1513,I7N3G6G,1513,1,no description,60.2 -1514,I7N3G6G,1514,1,no description,60.2 -1515,I7N3G6G,1515,1,no description,60.2 -1516,I7N3G6G,1516,1,no description,60.2 -1517,I7N3G6G,1517,1,no description,60.2 -1518,I7N3G6G,1518,1,no description,60.2 -1519,I7N3G6G,1519,1,no description,60.2 -1520,I7N3G6G,1520,1,no description,60.2 -1521,I7N3G6G,1521,1,no description,60.2 -1522,I7N3G6G,1522,1,no description,60.2 -1523,I7N3G6G,1523,1,no description,60.2 -1524,I7N3G6G,1524,1,no description,60.2 -1525,I7N3G6G,1525,1,no description,60.2 -1526,I7N3G6G,1526,1,no description,60.2 -1527,I7N3G6G,1527,1,no description,60.2 -1528,I7N3G6G,1528,1,no description,60.2 -1529,I7N3G6G,1529,1,no description,60.2 -1530,I7N3G6G,1530,1,no description,60.2 -1531,I7N3G6G,1531,1,no description,60.2 -1532,I7N3G6G,1532,1,no description,60.2 -1533,I7N3G6G,1533,1,no description,60.2 -1534,I7N3G6G,1534,1,no description,60.2 -1535,I7N3G6G,1535,1,no description,60.2 -1536,I7N3G6G,1536,1,no description,60.2 -1537,I7N3G6G,1537,1,no description,60.2 -1538,I7N3G6G,1538,1,no description,60.2 -1539,I7N3G6G,1539,1,no description,60.2 -1540,I7N3G6G,1540,1,no description,60.2 -1541,I7N3G6G,1541,1,no description,60.2 -1542,I7N3G6G,1542,1,no description,60.2 -1543,I7N3G6G,1543,1,no description,60.2 -1544,I7N3G6G,1544,1,no description,60.2 -1545,I7N3G6G,1545,1,no description,60.2 -1546,I7N3G6G,1546,1,no description,60.2 -1547,I7N3G6G,1547,1,no description,60.2 -1548,I7N3G6G,1548,1,no description,60.2 -1549,I7N3G6G,1549,1,no description,60.2 -1550,I7N3G6G,1550,1,no description,60.2 -1551,I7N3G6G,1551,1,no description,60.2 -1552,I7N3G6G,1552,1,no description,60.2 -1553,I7N3G6G,1553,1,no description,60.2 -1554,I7N3G6G,1554,1,no description,60.2 -1555,I7N3G6G,1555,1,no description,60.2 -1556,I7N3G6G,1556,1,no description,60.2 -1557,I7N3G6G,1557,1,no description,60.2 -1558,I7N3G6G,1558,1,no description,60.2 -1559,I7N3G6G,1559,1,no description,60.2 -1560,I7N3G6G,1560,1,no description,60.2 -1561,I7N3G6G,1561,1,no description,60.2 -1562,I7N3G6G,1562,1,no description,60.2 -1563,I7N3G6G,1563,1,no description,60.2 -1564,I7N3G6G,1564,1,no description,60.2 -1565,I7N3G6G,1565,1,no description,60.2 -1566,I7N3G6G,1566,1,no description,60.2 -1567,I7N3G6G,1567,1,no description,60.2 -1568,I7N3G6G,1568,1,no description,60.2 -1569,I7N3G6G,1569,1,no description,60.2 -1570,I7N3G6G,1570,1,no description,60.2 -1571,I7N3G6G,1571,1,no description,60.2 -1572,I7N3G6G,1572,1,no description,60.2 -1573,I7N3G6G,1573,1,no description,60.2 -1574,I7N3G6G,1574,1,no description,60.2 -1575,I7N3G6G,1575,1,no description,60.2 -1576,I7N3G6G,1576,1,no description,60.2 -1577,I7N3G6G,1577,1,no description,60.2 -1578,I7N3G6G,1578,1,no description,60.2 -1579,I7N3G6G,1579,1,no description,60.2 -1580,I7N3G6G,1580,1,no description,60.2 -1581,I7N3G6G,1581,1,no description,60.2 -1582,I7N3G6G,1582,1,no description,60.2 -1583,I7N3G6G,1583,1,no description,60.2 -1584,I7N3G6G,1584,1,no description,60.2 -1585,I7N3G6G,1585,1,no description,60.2 -1586,I7N3G6G,1586,1,no description,60.2 -1587,I7N3G6G,1587,1,no description,60.2 -1588,I7N3G6G,1588,1,no description,60.2 -1589,I7N3G6G,1589,1,no description,60.2 -1590,I7N3G6G,1590,1,no description,60.2 -1591,I7N3G6G,1591,1,no description,60.2 -1592,I7N3G6G,1592,1,no description,60.2 -1593,I7N3G6G,1593,1,no description,60.2 -1594,I7N3G6G,1594,1,no description,60.2 -1595,I7N3G6G,1595,1,no description,60.2 -1596,I7N3G6G,1596,1,no description,60.2 -1597,I7N3G6G,1597,1,no description,60.2 -1598,I7N3G6G,1598,1,no description,60.2 -1599,I7N3G6G,1599,1,no description,60.2 -1600,I7N3G6G,1600,1,no description,60.2 -1601,I7N3G6G,1601,1,no description,60.2 -1602,I7N3G6G,1602,1,no description,60.2 -1603,I7N3G6G,1603,1,no description,60.2 -1604,I7N3G6G,1604,1,no description,60.2 -1605,I7N3G6G,1605,1,no description,60.2 -1606,I7N3G6G,1606,1,no description,60.2 -1607,I7N3G6G,1607,1,no description,60.2 -1608,I7N3G6G,1608,1,no description,60.2 -1609,I7N3G6G,1609,1,no description,60.2 -1610,I7N3G6G,1610,1,no description,60.2 -1611,I7N3G6G,1611,1,no description,60.2 -1612,I7N3G6G,1612,1,no description,60.2 -1613,I7N3G6G,1613,1,no description,60.2 -1614,I7N3G6G,1614,1,no description,60.2 -1615,I7N3G6G,1615,1,no description,60.2 -1616,I7N3G6G,1616,1,no description,60.2 -1617,I7N3G6G,1617,1,no description,60.2 -1618,I7N3G6G,1618,1,no description,60.2 -1619,I7N3G6G,1619,1,no description,60.2 -1620,I7N3G6G,1620,1,no description,60.2 -1621,I7N3G6G,1621,1,no description,60.2 -1622,I7N3G6G,1622,1,no description,60.2 -1623,I7N3G6G,1623,1,no description,60.2 -1624,I7N3G6G,1624,1,no description,60.2 -1625,I7N3G6G,1625,1,no description,60.2 -1626,I7N3G6G,1626,1,no description,60.2 -1627,I7N3G6G,1627,1,no description,60.2 -1628,I7N3G6G,1628,1,no description,60.2 -1629,I7N3G6G,1629,1,no description,60.2 -1630,I7N3G6G,1630,1,no description,60.2 -1631,I7N3G6G,1631,1,no description,60.2 -1632,I7N3G6G,1632,1,no description,60.2 -1633,I7N3G6G,1633,1,no description,60.2 -1634,I7N3G6G,1634,1,no description,60.2 -1635,I7N3G6G,1635,1,no description,60.2 -1636,I7N3G6G,1636,1,no description,60.2 -1637,I7N3G6G,1637,1,no description,60.2 -1638,I7N3G6G,1638,1,no description,60.2 -1639,I7N3G6G,1639,1,no description,60.2 -1640,I7N3G6G,1640,1,no description,60.2 -1641,I7N3G6G,1641,1,no description,60.2 -1642,I7N3G6G,1642,1,no description,60.2 -1643,I7N3G6G,1643,1,no description,60.2 -1644,I7N3G6G,1644,1,no description,60.2 -1645,I7N3G6G,1645,1,no description,60.2 -1646,I7N3G6G,1646,1,no description,60.2 -1647,I7N3G6G,1647,1,no description,60.2 -1648,I7N3G6G,1648,1,no description,60.2 -1649,I7N3G6G,1649,1,no description,60.2 -1650,I7N3G6G,1650,1,no description,60.2 -1651,I7N3G6G,1651,1,no description,60.2 -1652,I7N3G6G,1652,1,no description,60.2 -1653,I7N3G6G,1653,1,no description,60.2 -1654,I7N3G6G,1654,1,no description,60.2 -1655,I7N3G6G,1655,1,no description,60.2 -1656,I7N3G6G,1656,1,no description,60.2 -1657,I7N3G6G,1657,1,no description,60.2 -1658,I7N3G6G,1658,1,no description,60.2 -1659,I7N3G6G,1659,1,no description,60.2 -1660,I7N3G6G,1660,1,no description,60.2 -1661,I7N3G6G,1661,1,no description,60.2 -1662,I7N3G6G,1662,1,no description,60.2 -1663,I7N3G6G,1663,1,no description,60.2 -1664,I7N3G6G,1664,1,no description,60.2 -1665,I7N3G6G,1665,1,no description,60.2 -1666,I7N3G6G,1666,1,no description,60.2 -1667,I7N3G6G,1667,1,no description,60.2 -1668,I7N3G6G,1668,1,no description,60.2 -1669,I7N3G6G,1669,1,no description,60.2 -1670,I7N3G6G,1670,1,no description,60.2 -1671,I7N3G6G,1671,1,no description,60.2 -1672,I7N3G6G,1672,1,no description,60.2 -1673,I7N3G6G,1673,1,no description,60.2 -1674,I7N3G6G,1674,1,no description,60.2 -1675,I7N3G6G,1675,1,no description,60.2 -1676,I7N3G6G,1676,1,no description,60.2 -1677,I7N3G6G,1677,1,no description,60.2 -1678,I7N3G6G,1678,1,no description,60.2 -1679,I7N3G6G,1679,1,no description,60.2 -1680,I7N3G6G,1680,1,no description,60.2 -1681,I7N3G6G,1681,1,no description,60.2 -1682,I7N3G6G,1682,1,no description,60.2 -1683,I7N3G6G,1683,1,no description,60.2 -1684,I7N3G6G,1684,1,no description,60.2 -1685,I7N3G6G,1685,1,no description,60.2 -1686,I7N3G6G,1686,1,no description,60.2 -1687,I7N3G6G,1687,1,no description,60.2 -1688,I7N3G6G,1688,1,no description,60.2 -1689,I7N3G6G,1689,1,no description,60.2 -1690,I7N3G6G,1690,1,no description,60.2 -1691,I7N3G6G,1691,1,no description,60.2 -1692,I7N3G6G,1692,1,no description,60.2 -1693,I7N3G6G,1693,1,no description,60.2 -1694,I7N3G6G,1694,1,no description,60.2 -1695,I7N3G6G,1695,1,no description,60.2 -1696,I7N3G6G,1696,1,no description,60.2 -1697,I7N3G6G,1697,1,no description,60.2 -1698,I7N3G6G,1698,1,no description,60.2 -1699,I7N3G6G,1699,1,no description,60.2 -1700,I7N3G6G,1700,1,no description,60.2 -1701,I7N3G6G,1701,1,no description,60.2 -1702,I7N3G6G,1702,1,no description,60.2 -1703,I7N3G6G,1703,1,no description,60.2 -1704,I7N3G6G,1704,1,no description,60.2 -1705,I7N3G6G,1705,1,no description,60.2 -1706,I7N3G6G,1706,1,no description,60.2 -1707,I7N3G6G,1707,1,no description,60.2 -1708,I7N3G6G,1708,1,no description,60.2 -1709,I7N3G6G,1709,1,no description,60.2 -1710,I7N3G6G,1710,1,no description,60.2 -1711,I7N3G6G,1711,1,no description,60.2 -1712,I7N3G6G,1712,1,no description,60.2 -1713,I7N3G6G,1713,1,no description,60.2 -1714,I7N3G6G,1714,1,no description,60.2 -1715,I7N3G6G,1715,1,no description,60.2 -1716,I7N3G6G,1716,1,no description,60.2 -1717,I7N3G6G,1717,1,no description,60.2 -1718,I7N3G6G,1718,1,no description,60.2 -1719,I7N3G6G,1719,1,no description,60.2 -1720,I7N3G6G,1720,1,no description,60.2 -1721,I7N3G6G,1721,1,no description,60.2 -1722,I7N3G6G,1722,1,no description,60.2 -1723,I7N3G6G,1723,1,no description,60.2 -1724,I7N3G6G,1724,1,no description,60.2 -1725,I7N3G6G,1725,1,no description,60.2 -1726,I7N3G6G,1726,1,no description,60.2 -1727,I7N3G6G,1727,1,no description,60.2 -1728,I7N3G6G,1728,1,no description,60.2 -1729,I7N3G6G,1729,1,no description,60.2 -1730,I7N3G6G,1730,1,no description,60.2 -1731,I7N3G6G,1731,1,no description,60.2 -1732,I7N3G6G,1732,1,no description,60.2 -1733,I7N3G6G,1733,1,no description,60.2 -1734,I7N3G6G,1734,1,no description,60.2 -1735,I7N3G6G,1735,1,no description,60.2 -1736,I7N3G6G,1736,1,no description,60.2 -1737,I7N3G6G,1737,1,no description,60.2 -1738,I7N3G6G,1738,1,no description,60.2 -1739,I7N3G6G,1739,1,no description,60.2 -1740,I7N3G6G,1740,1,no description,60.2 -1741,I7N3G6G,1741,1,no description,60.2 -1742,I7N3G6G,1742,1,no description,60.2 -1743,I7N3G6G,1743,1,no description,60.2 -1744,I7N3G6G,1744,1,no description,60.2 -1745,I7N3G6G,1745,1,no description,60.2 -1746,I7N3G6G,1746,1,no description,60.2 -1747,I7N3G6G,1747,1,no description,60.2 -1748,I7N3G6G,1748,1,no description,60.2 -1749,I7N3G6G,1749,1,no description,60.2 -1750,I7N3G6G,1750,1,no description,60.2 -1751,I7N3G6G,1751,1,no description,60.2 -1752,I7N3G6G,1752,1,no description,60.2 -1753,I7N3G6G,1753,1,no description,60.2 -1754,I7N3G6G,1754,1,no description,60.2 -1755,I7N3G6G,1755,1,no description,60.2 -1756,I7N3G6G,1756,1,no description,60.2 -1757,I7N3G6G,1757,1,no description,60.2 -1758,I7N3G6G,1758,1,no description,60.2 -1759,I7N3G6G,1759,1,no description,60.2 -1760,I7N3G6G,1760,1,no description,60.2 -1761,I7N3G6G,1761,1,no description,60.2 -1762,I7N3G6G,1762,1,no description,60.2 -1763,I7N3G6G,1763,1,no description,60.2 -1764,I7N3G6G,1764,1,no description,60.2 -1765,I7N3G6G,1765,1,no description,60.2 -1766,I7N3G6G,1766,1,no description,60.2 -1767,I7N3G6G,1767,1,no description,60.2 -1768,I7N3G6G,1768,1,no description,60.2 -1769,I7N3G6G,1769,1,no description,60.2 -1770,I7N3G6G,1770,1,no description,60.2 -1771,I7N3G6G,1771,1,no description,60.2 -1772,I7N3G6G,1772,1,no description,60.2 -1773,I7N3G6G,1773,1,no description,60.2 -1774,I7N3G6G,1774,1,no description,60.2 -1775,I7N3G6G,1775,1,no description,60.2 -1776,I7N3G6G,1776,1,no description,60.2 -1777,I7N3G6G,1777,1,no description,60.2 -1778,I7N3G6G,1778,1,no description,60.2 -1779,I7N3G6G,1779,1,no description,60.2 -1780,I7N3G6G,1780,1,no description,60.2 -1781,I7N3G6G,1781,1,no description,60.2 -1782,I7N3G6G,1782,1,no description,60.2 -1783,I7N3G6G,1783,1,no description,60.2 -1784,I7N3G6G,1784,1,no description,60.2 -1785,I7N3G6G,1785,1,no description,60.2 -1786,I7N3G6G,1786,1,no description,60.2 -1787,I7N3G6G,1787,1,no description,60.2 -1788,I7N3G6G,1788,1,no description,60.2 -1789,I7N3G6G,1789,1,no description,60.2 -1790,I7N3G6G,1790,1,no description,60.2 -1791,I7N3G6G,1791,1,no description,60.2 -1792,I7N3G6G,1792,1,no description,60.2 -1793,I7N3G6G,1793,1,no description,60.2 -1794,I7N3G6G,1794,1,no description,60.2 -1795,I7N3G6G,1795,1,no description,60.2 -1796,I7N3G6G,1796,1,no description,60.2 -1797,I7N3G6G,1797,1,no description,60.2 -1798,I7N3G6G,1798,1,no description,60.2 -1799,I7N3G6G,1799,1,no description,60.2 -1800,I7N3G6G,1800,1,no description,60.2 -1801,I7N3G6G,1801,1,no description,60.2 -1802,I7N3G6G,1802,1,no description,60.2 -1803,I7N3G6G,1803,1,no description,60.2 -1804,I7N3G6G,1804,1,no description,60.2 -1805,I7N3G6G,1805,1,no description,60.2 -1806,I7N3G6G,1806,1,no description,60.2 -1807,I7N3G6G,1807,1,no description,60.2 -1808,I7N3G6G,1808,1,no description,60.2 -1809,I7N3G6G,1809,1,no description,60.2 -1810,I7N3G6G,1810,1,no description,60.2 -1811,I7N3G6G,1811,1,no description,60.2 -1812,I7N3G6G,1812,1,no description,60.2 -1813,I7N3G6G,1813,1,no description,60.2 -1814,I7N3G6G,1814,1,no description,60.2 -1815,I7N3G6G,1815,1,no description,60.2 -1816,I7N3G6G,1816,1,no description,60.2 -1817,I7N3G6G,1817,1,no description,60.2 -1818,I7N3G6G,1818,1,no description,60.2 -1819,I7N3G6G,1819,1,no description,60.2 -1820,I7N3G6G,1820,1,no description,60.2 -1821,I7N3G6G,1821,1,no description,60.2 -1822,I7N3G6G,1822,1,no description,60.2 -1823,I7N3G6G,1823,1,no description,60.2 -1824,I7N3G6G,1824,1,no description,60.2 -1825,I7N3G6G,1825,1,no description,60.2 -1826,I7N3G6G,1826,1,no description,60.2 -1827,I7N3G6G,1827,1,no description,60.2 -1828,I7N3G6G,1828,1,no description,60.2 -1829,I7N3G6G,1829,1,no description,60.2 -1830,I7N3G6G,1830,1,no description,60.2 -1831,I7N3G6G,1831,1,no description,60.2 -1832,I7N3G6G,1832,1,no description,60.2 -1833,I7N3G6G,1833,1,no description,60.2 -1834,I7N3G6G,1834,1,no description,60.2 -1835,I7N3G6G,1835,1,no description,60.2 -1836,I7N3G6G,1836,1,no description,60.2 -1837,I7N3G6G,1837,1,no description,60.2 -1838,I7N3G6G,1838,1,no description,60.2 -1839,I7N3G6G,1839,1,no description,60.2 -1840,I7N3G6G,1840,1,no description,60.2 -1841,I7N3G6G,1841,1,no description,60.2 -1842,I7N3G6G,1842,1,no description,60.2 -1843,I7N3G6G,1843,1,no description,60.2 -1844,I7N3G6G,1844,1,no description,60.2 -1845,I7N3G6G,1845,1,no description,60.2 -1846,I7N3G6G,1846,1,no description,60.2 -1847,I7N3G6G,1847,1,no description,60.2 -1848,I7N3G6G,1848,1,no description,60.2 -1849,I7N3G6G,1849,1,no description,60.2 -1850,I7N3G6G,1850,1,no description,60.2 -1851,I7N3G6G,1851,1,no description,60.2 -1852,I7N3G6G,1852,1,no description,60.2 -1853,I7N3G6G,1853,1,no description,60.2 -1854,I7N3G6G,1854,1,no description,60.2 -1855,I7N3G6G,1855,1,no description,60.2 -1856,I7N3G6G,1856,1,no description,60.2 -1857,I7N3G6G,1857,1,no description,60.2 -1858,I7N3G6G,1858,1,no description,60.2 -1859,I7N3G6G,1859,1,no description,60.2 -1860,I7N3G6G,1860,1,no description,60.2 -1861,I7N3G6G,1861,1,no description,60.2 -1862,I7N3G6G,1862,1,no description,60.2 -1863,I7N3G6G,1863,1,no description,60.2 -1864,I7N3G6G,1864,1,no description,60.2 -1865,I7N3G6G,1865,1,no description,60.2 -1866,I7N3G6G,1866,1,no description,60.2 -1867,I7N3G6G,1867,1,no description,60.2 -1868,I7N3G6G,1868,1,no description,60.2 -1869,I7N3G6G,1869,1,no description,60.2 -1870,I7N3G6G,1870,1,no description,60.2 -1871,I7N3G6G,1871,1,no description,60.2 -1872,I7N3G6G,1872,1,no description,60.2 -1873,I7N3G6G,1873,1,no description,60.2 -1874,I7N3G6G,1874,1,no description,60.2 -1875,I7N3G6G,1875,1,no description,60.2 -1876,I7N3G6G,1876,1,no description,60.2 -1877,I7N3G6G,1877,1,no description,60.2 -1878,I7N3G6G,1878,1,no description,60.2 -1879,I7N3G6G,1879,1,no description,60.2 -1880,I7N3G6G,1880,1,no description,60.2 -1881,I7N3G6G,1881,1,no description,60.2 -1882,I7N3G6G,1882,1,no description,60.2 -1883,I7N3G6G,1883,1,no description,60.2 -1884,I7N3G6G,1884,1,no description,60.2 -1885,I7N3G6G,1885,1,no description,60.2 -1886,I7N3G6G,1886,1,no description,60.2 -1887,I7N3G6G,1887,1,no description,60.2 -1888,I7N3G6G,1888,1,no description,60.2 -1889,I7N3G6G,1889,1,no description,60.2 -1890,I7N3G6G,1890,1,no description,60.2 -1891,I7N3G6G,1891,1,no description,60.2 -1892,I7N3G6G,1892,1,no description,60.2 -1893,I7N3G6G,1893,1,no description,60.2 -1894,I7N3G6G,1894,1,no description,60.2 -1895,I7N3G6G,1895,1,no description,60.2 -1896,I7N3G6G,1896,1,no description,60.2 -1897,I7N3G6G,1897,1,no description,60.2 -1898,I7N3G6G,1898,1,no description,60.2 -1899,I7N3G6G,1899,1,no description,60.2 -1900,I7N3G6G,1900,1,no description,60.2 -1901,I7N3G6G,1901,1,no description,60.2 -1902,I7N3G6G,1902,1,no description,60.2 -1903,I7N3G6G,1903,1,no description,60.2 -1904,I7N3G6G,1904,1,no description,60.2 -1905,I7N3G6G,1905,1,no description,60.2 -1906,I7N3G6G,1906,1,no description,60.2 -1907,I7N3G6G,1907,1,no description,60.2 -1908,I7N3G6G,1908,1,no description,60.2 -1909,I7N3G6G,1909,1,no description,60.2 -1910,I7N3G6G,1910,1,no description,60.2 -1911,I7N3G6G,1911,1,no description,60.2 -1912,I7N3G6G,1912,1,no description,60.2 -1913,I7N3G6G,1913,1,no description,60.2 -1914,I7N3G6G,1914,1,no description,60.2 -1915,I7N3G6G,1915,1,no description,60.2 -1916,I7N3G6G,1916,1,no description,60.2 -1917,I7N3G6G,1917,1,no description,60.2 -1918,I7N3G6G,1918,1,no description,60.2 -1919,I7N3G6G,1919,1,no description,60.2 -1920,I7N3G6G,1920,1,no description,60.2 -1921,I7N3G6G,1921,1,no description,60.2 -1922,I7N3G6G,1922,1,no description,60.2 -1923,I7N3G6G,1923,1,no description,60.2 -1924,I7N3G6G,1924,1,no description,60.2 -1925,I7N3G6G,1925,1,no description,60.2 -1926,I7N3G6G,1926,1,no description,60.2 -1927,I7N3G6G,1927,1,no description,60.2 -1928,I7N3G6G,1928,1,no description,60.2 -1929,I7N3G6G,1929,1,no description,60.2 -1930,I7N3G6G,1930,1,no description,60.2 -1931,I7N3G6G,1931,1,no description,60.2 -1932,I7N3G6G,1932,1,no description,60.2 -1933,I7N3G6G,1933,1,no description,60.2 -1934,I7N3G6G,1934,1,no description,60.2 -1935,I7N3G6G,1935,1,no description,60.2 -1936,I7N3G6G,1936,1,no description,60.2 -1937,I7N3G6G,1937,1,no description,60.2 -1938,I7N3G6G,1938,1,no description,60.2 -1939,I7N3G6G,1939,1,no description,60.2 -1940,I7N3G6G,1940,1,no description,60.2 -1941,I7N3G6G,1941,1,no description,60.2 -1942,I7N3G6G,1942,1,no description,60.2 -1943,I7N3G6G,1943,1,no description,60.2 -1944,I7N3G6G,1944,1,no description,60.2 -1945,I7N3G6G,1945,1,no description,60.2 -1946,I7N3G6G,1946,1,no description,60.2 -1947,I7N3G6G,1947,1,no description,60.2 -1948,I7N3G6G,1948,1,no description,60.2 -1949,I7N3G6G,1949,1,no description,60.2 -1950,I7N3G6G,1950,1,no description,60.2 -1951,I7N3G6G,1951,1,no description,60.2 -1952,I7N3G6G,1952,1,no description,60.2 -1953,I7N3G6G,1953,1,no description,60.2 -1954,I7N3G6G,1954,1,no description,60.2 -1955,I7N3G6G,1955,1,no description,60.2 -1956,I7N3G6G,1956,1,no description,60.2 -1957,I7N3G6G,1957,1,no description,60.2 -1958,I7N3G6G,1958,1,no description,60.2 -1959,I7N3G6G,1959,1,no description,60.2 -1960,I7N3G6G,1960,1,no description,60.2 -1961,I7N3G6G,1961,1,no description,60.2 -1962,I7N3G6G,1962,1,no description,60.2 -1963,I7N3G6G,1963,1,no description,60.2 -1964,I7N3G6G,1964,1,no description,60.2 -1965,I7N3G6G,1965,1,no description,60.2 -1966,I7N3G6G,1966,1,no description,60.2 -1967,I7N3G6G,1967,1,no description,60.2 -1968,I7N3G6G,1968,1,no description,60.2 -1969,I7N3G6G,1969,1,no description,60.2 -1970,I7N3G6G,1970,1,no description,60.2 -1971,I7N3G6G,1971,1,no description,60.2 -1972,I7N3G6G,1972,1,no description,60.2 -1973,I7N3G6G,1973,1,no description,60.2 -1974,I7N3G6G,1974,1,no description,60.2 -1975,I7N3G6G,1975,1,no description,60.2 -1976,I7N3G6G,1976,1,no description,60.2 -1977,I7N3G6G,1977,1,no description,60.2 -1978,I7N3G6G,1978,1,no description,60.2 -1979,I7N3G6G,1979,1,no description,60.2 -1980,I7N3G6G,1980,1,no description,60.2 -1981,I7N3G6G,1981,1,no description,60.2 -1982,I7N3G6G,1982,1,no description,60.2 -1983,I7N3G6G,1983,1,no description,60.2 -1984,I7N3G6G,1984,1,no description,60.2 -1985,I7N3G6G,1985,1,no description,60.2 -1986,I7N3G6G,1986,1,no description,60.2 -1987,I7N3G6G,1987,1,no description,60.2 -1988,I7N3G6G,1988,1,no description,60.2 -1989,I7N3G6G,1989,1,no description,60.2 -1990,I7N3G6G,1990,1,no description,60.2 -1991,I7N3G6G,1991,1,no description,60.2 -1992,I7N3G6G,1992,1,no description,60.2 -1993,I7N3G6G,1993,1,no description,60.2 -1994,I7N3G6G,1994,1,no description,60.2 -1995,I7N3G6G,1995,1,no description,60.2 -1996,I7N3G6G,1996,1,no description,60.2 -1997,I7N3G6G,1997,1,no description,60.2 -1998,I7N3G6G,1998,1,no description,60.2 -1999,I7N3G6G,1999,1,no description,60.2 -2000,I7N3G6G,2000,1,no description,60.2 -2001,I7N3G6G,2001,1,no description,60.2 -2002,I7N3G6G,2002,1,no description,60.2 -2003,I7N3G6G,2003,1,no description,60.2 -2004,I7N3G6G,2004,1,no description,60.2 -2005,I7N3G6G,2005,1,no description,60.2 -2006,I7N3G6G,2006,1,no description,60.2 -2007,I7N3G6G,2007,1,no description,60.2 -2008,I7N3G6G,2008,1,no description,60.2 -2009,I7N3G6G,2009,1,no description,60.2 -2010,I7N3G6G,2010,1,no description,60.2 -2011,I7N3G6G,2011,1,no description,60.2 -2012,I7N3G6G,2012,1,no description,60.2 -2013,I7N3G6G,2013,1,no description,60.2 -2014,I7N3G6G,2014,1,no description,60.2 -2015,I7N3G6G,2015,1,no description,60.2 -2016,I7N3G6G,2016,1,no description,60.2 -2017,I7N3G6G,2017,1,no description,60.2 -2018,I7N3G6G,2018,1,no description,60.2 -2019,I7N3G6G,2019,1,no description,60.2 -2020,I7N3G6G,2020,1,no description,60.2 -2021,I7N3G6G,2021,1,no description,60.2 -2022,I7N3G6G,2022,1,no description,60.2 -2023,I7N3G6G,2023,1,no description,60.2 -2024,I7N3G6G,2024,1,no description,60.2 -2025,I7N3G6G,2025,1,no description,60.2 -2026,I7N3G6G,2026,1,no description,60.2 -2027,I7N3G6G,2027,1,no description,60.2 -2028,I7N3G6G,2028,1,no description,60.2 -2029,I7N3G6G,2029,1,no description,60.2 -2030,I7N3G6G,2030,1,no description,60.2 -2031,I7N3G6G,2031,1,no description,60.2 -2032,I7N3G6G,2032,1,no description,60.2 -2033,I7N3G6G,2033,1,no description,60.2 -2034,I7N3G6G,2034,1,no description,60.2 -2035,I7N3G6G,2035,1,no description,60.2 -2036,I7N3G6G,2036,1,no description,60.2 -2037,I7N3G6G,2037,1,no description,60.2 -2038,I7N3G6G,2038,1,no description,60.2 -2039,I7N3G6G,2039,1,no description,60.2 -2040,I7N3G6G,2040,1,no description,60.2 -2041,I7N3G6G,2041,1,no description,60.2 -2042,I7N3G6G,2042,1,no description,60.2 -2043,I7N3G6G,2043,1,no description,60.2 -2044,I7N3G6G,2044,1,no description,60.2 -2045,I7N3G6G,2045,1,no description,60.2 -2046,I7N3G6G,2046,1,no description,60.2 -2047,I7N3G6G,2047,1,no description,60.2 -2048,I7N3G6G,2048,1,no description,60.2 -2049,I7N3G6G,2049,1,no description,60.2 -2050,I7N3G6G,2050,1,no description,60.2 -2051,I7N3G6G,2051,1,no description,60.2 -2052,I7N3G6G,2052,1,no description,60.2 -2053,I7N3G6G,2053,1,no description,60.2 -2054,I7N3G6G,2054,1,no description,60.2 -2055,I7N3G6G,2055,1,no description,60.2 -2056,I7N3G6G,2056,1,no description,60.2 -2057,I7N3G6G,2057,1,no description,60.2 -2058,I7N3G6G,2058,1,no description,60.2 -2059,I7N3G6G,2059,1,no description,60.2 -2060,I7N3G6G,2060,1,no description,60.2 -2061,I7N3G6G,2061,1,no description,60.2 -2062,I7N3G6G,2062,1,no description,60.2 -2063,I7N3G6G,2063,1,no description,60.2 -2064,I7N3G6G,2064,1,no description,60.2 -2065,I7N3G6G,2065,1,no description,60.2 -2066,I7N3G6G,2066,1,no description,60.2 -2067,I7N3G6G,2067,1,no description,60.2 -2068,I7N3G6G,2068,1,no description,60.2 -2069,I7N3G6G,2069,1,no description,60.2 -2070,I7N3G6G,2070,1,no description,60.2 -2071,I7N3G6G,2071,1,no description,60.2 -2072,I7N3G6G,2072,1,no description,60.2 -2073,I7N3G6G,2073,1,no description,60.2 -2074,I7N3G6G,2074,1,no description,60.2 -2075,I7N3G6G,2075,1,no description,60.2 -2076,I7N3G6G,2076,1,no description,60.2 -2077,I7N3G6G,2077,1,no description,60.2 -2078,I7N3G6G,2078,1,no description,60.2 -2079,I7N3G6G,2079,1,no description,60.2 -2080,I7N3G6G,2080,1,no description,60.2 -2081,I7N3G6G,2081,1,no description,60.2 -2082,I7N3G6G,2082,1,no description,60.2 -2083,I7N3G6G,2083,1,no description,60.2 -2084,I7N3G6G,2084,1,no description,60.2 -2085,I7N3G6G,2085,1,no description,60.2 -2086,I7N3G6G,2086,1,no description,60.2 -2087,I7N3G6G,2087,1,no description,60.2 -2088,I7N3G6G,2088,1,no description,60.2 -2089,I7N3G6G,2089,1,no description,60.2 -2090,I7N3G6G,2090,1,no description,60.2 -2091,I7N3G6G,2091,1,no description,60.2 -2092,I7N3G6G,2092,1,no description,60.2 -2093,I7N3G6G,2093,1,no description,60.2 -2094,I7N3G6G,2094,1,no description,60.2 -2095,I7N3G6G,2095,1,no description,60.2 -2096,I7N3G6G,2096,1,no description,60.2 -2097,I7N3G6G,2097,1,no description,60.2 -2098,I7N3G6G,2098,1,no description,60.2 -2099,I7N3G6G,2099,1,no description,60.2 -2100,I7N3G6G,2100,1,no description,60.2 -2101,I7N3G6G,2101,1,no description,60.2 -2102,I7N3G6G,2102,1,no description,60.2 -2103,I7N3G6G,2103,1,no description,60.2 -2104,I7N3G6G,2104,1,no description,60.2 -2105,I7N3G6G,2105,1,no description,60.2 -2106,I7N3G6G,2106,1,no description,60.2 -2107,I7N3G6G,2107,1,no description,60.2 -2108,I7N3G6G,2108,1,no description,60.2 -2109,I7N3G6G,2109,1,no description,60.2 -2110,I7N3G6G,2110,1,no description,60.2 -2111,I7N3G6G,2111,1,no description,60.2 -2112,I7N3G6G,2112,1,no description,60.2 -2113,I7N3G6G,2113,1,no description,60.2 -2114,I7N3G6G,2114,1,no description,60.2 -2115,I7N3G6G,2115,1,no description,60.2 -2116,I7N3G6G,2116,1,no description,60.2 -2117,I7N3G6G,2117,1,no description,60.2 -2118,I7N3G6G,2118,1,no description,60.2 -2119,I7N3G6G,2119,1,no description,60.2 -2120,I7N3G6G,2120,1,no description,60.2 -2121,I7N3G6G,2121,1,no description,60.2 -2122,I7N3G6G,2122,1,no description,60.2 -2123,I7N3G6G,2123,1,no description,60.2 -2124,I7N3G6G,2124,1,no description,60.2 -2125,I7N3G6G,2125,1,no description,60.2 -2126,I7N3G6G,2126,1,no description,60.2 -2127,I7N3G6G,2127,1,no description,60.2 -2128,I7N3G6G,2128,1,no description,60.2 -2129,I7N3G6G,2129,1,no description,60.2 -2130,I7N3G6G,2130,1,no description,60.2 -2131,I7N3G6G,2131,1,no description,60.2 -2132,I7N3G6G,2132,1,no description,60.2 -2133,I7N3G6G,2133,1,no description,60.2 -2134,I7N3G6G,2134,1,no description,60.2 -2135,I7N3G6G,2135,1,no description,60.2 -2136,I7N3G6G,2136,1,no description,60.2 -2137,I7N3G6G,2137,1,no description,60.2 -2138,I7N3G6G,2138,1,no description,60.2 -2139,I7N3G6G,2139,1,no description,60.2 -2140,I7N3G6G,2140,1,no description,60.2 -2141,I7N3G6G,2141,1,no description,60.2 -2142,I7N3G6G,2142,1,no description,60.2 -2143,I7N3G6G,2143,1,no description,60.2 -2144,I7N3G6G,2144,1,no description,60.2 -2145,I7N3G6G,2145,1,no description,60.2 -2146,I7N3G6G,2146,1,no description,60.2 -2147,I7N3G6G,2147,1,no description,60.2 -2148,I7N3G6G,2148,1,no description,60.2 -2149,I7N3G6G,2149,1,no description,60.2 -2150,I7N3G6G,2150,1,no description,60.2 -2151,I7N3G6G,2151,1,no description,60.2 -2152,I7N3G6G,2152,1,no description,60.2 -2153,I7N3G6G,2153,1,no description,60.2 -2154,I7N3G6G,2154,1,no description,60.2 -2155,I7N3G6G,2155,1,no description,60.2 -2156,I7N3G6G,2156,1,no description,60.2 -2157,I7N3G6G,2157,1,no description,60.2 -2158,I7N3G6G,2158,1,no description,60.2 -2159,I7N3G6G,2159,1,no description,60.2 -2160,I7N3G6G,2160,1,no description,60.2 -2161,I7N3G6G,2161,1,no description,60.2 -2162,I7N3G6G,2162,1,no description,60.2 -2163,I7N3G6G,2163,1,no description,60.2 -2164,I7N3G6G,2164,1,no description,60.2 -2165,I7N3G6G,2165,1,no description,60.2 -2166,I7N3G6G,2166,1,no description,60.2 -2167,I7N3G6G,2167,1,no description,60.2 -2168,I7N3G6G,2168,1,no description,60.2 -2169,I7N3G6G,2169,1,no description,60.2 -2170,I7N3G6G,2170,1,no description,60.2 -2171,I7N3G6G,2171,1,no description,60.2 -2172,I7N3G6G,2172,1,no description,60.2 -2173,I7N3G6G,2173,1,no description,60.2 -2174,I7N3G6G,2174,1,no description,60.2 -2175,I7N3G6G,2175,1,no description,60.2 -2176,I7N3G6G,2176,1,no description,60.2 -2177,I7N3G6G,2177,1,no description,60.2 -2178,I7N3G6G,2178,1,no description,60.2 -2179,I7N3G6G,2179,1,no description,60.2 -2180,I7N3G6G,2180,1,no description,60.2 -2181,I7N3G6G,2181,1,no description,60.2 -2182,I7N3G6G,2182,1,no description,60.2 -2183,I7N3G6G,2183,1,no description,60.2 -2184,I7N3G6G,2184,1,no description,60.2 -2185,I7N3G6G,2185,1,no description,60.2 -2186,I7N3G6G,2186,1,no description,60.2 -2187,I7N3G6G,2187,1,no description,60.2 -2188,I7N3G6G,2188,1,no description,60.2 -2189,I7N3G6G,2189,1,no description,60.2 -2190,I7N3G6G,2190,1,no description,60.2 -2191,I7N3G6G,2191,1,no description,60.2 -2192,I7N3G6G,2192,1,no description,60.2 -2193,I7N3G6G,2193,1,no description,60.2 -2194,I7N3G6G,2194,1,no description,60.2 -2195,I7N3G6G,2195,1,no description,60.2 -2196,I7N3G6G,2196,1,no description,60.2 -2197,I7N3G6G,2197,1,no description,60.2 -2198,I7N3G6G,2198,1,no description,60.2 -2199,I7N3G6G,2199,1,no description,60.2 -2200,I7N3G6G,2200,1,no description,60.2 -2201,I7N3G6G,2201,1,no description,60.2 -2202,I7N3G6G,2202,1,no description,60.2 -2203,I7N3G6G,2203,1,no description,60.2 -2204,I7N3G6G,2204,1,no description,60.2 -2205,I7N3G6G,2205,1,no description,60.2 -2206,I7N3G6G,2206,1,no description,60.2 -2207,I7N3G6G,2207,1,no description,60.2 -2208,I7N3G6G,2208,1,no description,60.2 -2209,I7N3G6G,2209,1,no description,60.2 -2210,I7N3G6G,2210,1,no description,60.2 -2211,I7N3G6G,2211,1,no description,60.2 -2212,I7N3G6G,2212,1,no description,60.2 -2213,I7N3G6G,2213,1,no description,60.2 -2214,I7N3G6G,2214,1,no description,60.2 -2215,I7N3G6G,2215,1,no description,60.2 -2216,I7N3G6G,2216,1,no description,60.2 -2217,I7N3G6G,2217,1,no description,60.2 -2218,I7N3G6G,2218,1,no description,60.2 -2219,I7N3G6G,2219,1,no description,60.2 -2220,I7N3G6G,2220,1,no description,60.2 -2221,I7N3G6G,2221,1,no description,60.2 -2222,I7N3G6G,2222,1,no description,60.2 -2223,I7N3G6G,2223,1,no description,60.2 -2224,I7N3G6G,2224,1,no description,60.2 -2225,I7N3G6G,2225,1,no description,60.2 -2226,I7N3G6G,2226,1,no description,60.2 diff --git a/packages/itmat-job-executor/test/testFiles/CSVCurator_error3.tsv b/packages/itmat-job-executor/test/testFiles/CSVCurator_error3.tsv deleted file mode 100644 index e8d39f125..000000000 --- a/packages/itmat-job-executor/test/testFiles/CSVCurator_error3.tsv +++ /dev/null @@ -1,2227 +0,0 @@ -ID,SubjectID,VisitID,Sex,Description,Weight -1,I7N3G6G,1,0,no description,60.2 -2,I7N3G6G,2,1,no description,60.2 -3,I7N3G6G,3,1,no description,60.2 -4,I7N3G6G,4,1,no description,60.2 -5,I7N3G6G,5,1,no description,60.2 -6,I7N3G6G,6,1,no description,60.2 -7,I7N3G6G,7,1,no description,60.2 -8,I7N3G6G,8,1,no description,60.2 -9,I7N3G6G,9,1,no description,60.2 -10,I7N3G6G,10,1,no description,60.2 -11,I7N3G6G,11,1,no description,60.2 -12,I7N3G6G,12,1,no description,60.2 -13,I7N3G6G,13,1,no description,60.2 -14,I7N3G6G,14,1,no description,60.2 -15,I7N3G6G,15,1,no description,60.2 -16,I7N3G6G,16,1,no description,60.2 -17,I7N3G6G,17,1,no description -18,I7N3G6G,18,1,no description,60.2 -19,I7N3G6G,19,1,no description,60.2 -20,I7N3G6G,20,1,no description,60.2 -21,I7N3G6G,21,1,no description,60.2 -22,I7N3G6G,22,1,no description,60.2 -23,I7N3G6G,23,1,no description,60.2 -24,I7N3G6G,24,1,no description,60.2 -25,I7N3G6G,25,1,no description,60.2 -26,I7N3G6G,26,1,no description,60.2 -27,I7N3G6G,27,1,60.2 -28,I7N3G6G,28,1,no description,60.2 -29,I7N3G6G,29,1,no description,60.2 -30,I7N3G6G,30,1,no description,60.2 -31,I7N3G6G,31,1,no description,60.2 -32,I7N3G6G,32,1,no description,60.2 -33,I7N3G6G,33,1,no description,60.2 -34,I7N3G6G,34,1,no description,60.2 -35,I7N3G6G,35,1,no description,60.2 -36,I7N3G6G,36,1,no description,60.2 -37,I7N3G6G,37,1,no description,60.2 -38,I7N3G6G,38,1,no description,60.2 -39,I7N3G6G,39,1,no description,60.2 -40,I7N3G6G,40,1,no description,60.2 -41,I7N3G6G,41,1,no description,60.2 -42,I7N3G6G,42,1,no description,60.2 -43,I7N3G6G,43,1,no description,60.2 -44,I7N3G6G,44,1,no description,60.2 -45,I7N3G6G,45,1,no description,60.2 -46,I7N3G6G,46,1,no description,60.2 -47,I7N3G6G,47,1,no description,60.2 -48,I7N3G6G,48,1,no description,60.2 -49,I7N3G6G,49,1,no description,60.2 -50,I7N3G6G,50,1,no description,60.2 -51,I7N3G6G,51,1,no description,60.2 -52,I7N3G6G,52,1,no description,60.2 -53,I7N3G6G,53,1,no description,60.2 -54,I7N3G6G,54,1,no description,60.2 -55,I7N3G6G,55,1,no description,60.2 -56,I7N3G6G,56,1,no description,60.2 -57,I7N3G6G,57,1,no description,60.2 -58,I7N3G6G,58,1,no description,60.2 -59,I7N3G6G,59,1,no description,60.2 -60,I7N3G6G,60,1,no description,60.2 -61,I7N3G6G,61,1,no description,60.2 -62,I7N3G6G,62,1,no description,60.2 -63,I7N3G6G,63,1,no description,60.2 -64,I7N3G6G,64,1,no description,60.2 -65,I7N3G6G,65,1,no description,60.2 -66,I7N3G6G,66,1,no description,60.2 -67,I7N3G6G,67,1,no description,60.2 -68,I7N3G6G,68,1,no description,60.2 -69,I7N3G6G,69,1,no description,60.2 -70,I7N3G6G,70,1,no description,60.2 -71,I7N3G6G,71,1,no description,60.2 -72,I7N3G6G,72,1,no description,60.2 -73,I7N3G6G,73,1,no description,60.2 -74,I7N3G6G,74,1,no description,60.2 -75,I7N3G6G,75,1,no description,60.2 -76,I7N3G6G,76,1,no description,60.2 -77,I7N3G6G,77,1,no description,60.2 -78,I7N3G6G,78,1,no description,60.2 -79,I7N3G6G,79,1,no description,60.2 -80,I7N3G6G,80,1,no description,60.2 -81,I7N3G6G,81,1,no description,60.2 -82,I7N3G6G,82,1,no description,60.2 -83,I7N3G6G,83,1,no description,60.2 -84,I7N3G6G,84,1,no description,60.2 -85,I7N3G6G,85,1,no description,60.2 -86,I7N3G6G,86,1,no description,60.2 -87,I7N3G6G,87,1,no description,60.2 -88,I7N3G6G,88,1,no description,60.2 -89,I7N3G6G,89,1,no description,60.2 -90,I7N3G6G,90,1,no description,60.2 -91,I7N3G6G,91,1,no description,60.2 -92,I7N3G6G,92,1,no description,60.2 -93,I7N3G6G,93,1,no description,60.2 -94,I7N3G6G,94,1,no description,60.2 -95,I7N3G6G,95,1,no description,60.2 -96,I7N3G6G,96,1,no description,60.2 -97,I7N3G6G,97,1,no description,60.2 -98,I7N3G6G,98,1,no description,60.2 -99,I7N3G6G,99,1,no description,60.2 -100,I7N3G6G,100,1,no description,60.2 -101,I7N3G6G,101,1,no description,60.2 -102,I7N3G6G,102,1,no description,60.2 -103,I7N3G6G,103,1,no description,60.2 -104,I7N3G6G,104,1,no description,60.2 -105,I7N3G6G,105,1,no description,60.2 -106,I7N3G6G,106,1,no description,60.2 -107,I7N3G6G,107,1,no description,60.2 -108,I7N3G6G,108,1,no description,60.2 -109,I7N3G6G,109,1,no description,60.2 -110,I7N3G6G,110,1,no description,60.2 -111,I7N3G6G,111,1,no description,60.2 -112,I7N3G6G,112,1,no description,60.2 -113,I7N3G6G,113,1,no description,60.2 -114,I7N3G6G,114,1,no description,60.2 -115,I7N3G6G,115,1,no description,60.2 -116,I7N3G6G,116,1,no description,60.2 -117,I7N3G6G,117,1,no description,60.2 -118,I7N3G6G,118,1,no description,60.2 -119,I7N3G6G,119,1,no description,60.2 -120,I7N3G6G,120,1,no description,60.2 -121,I7N3G6G,121,1,no description,60.2 -122,I7N3G6G,122,1,no description,60.2 -123,I7N3G6G,123,1,no description,60.2 -124,I7N3G6G,124,1,no description,60.2 -125,I7N3G6G,125,1,no description,60.2 -126,I7N3G6G,126,1,no description,60.2 -127,I7N3G6G,127,1,no description,60.2 -128,I7N3G6G,128,1,no description,60.2 -129,I7N3G6G,129,1,no description,60.2 -130,I7N3G6G,130,1,no description,60.2 -131,I7N3G6G,131,1,no description,60.2 -132,I7N3G6G,132,1,no description,60.2 -133,I7N3G6G,133,1,no description,60.2 -134,I7N3G6G,134,1,no description,60.2 -135,I7N3G6G,135,1,no description,60.2 -136,I7N3G6G,136,1,no description,60.2 -137,I7N3G6G,137,1,no description,60.2 -138,I7N3G6G,138,1,no description,60.2 -139,I7N3G6G,139,1,no description,60.2 -140,I7N3G6G,140,1,no description,60.2 -141,I7N3G6G,141,1,no description,60.2 -142,I7N3G6G,142,1,no description,60.2 -143,I7N3G6G,143,1,no description,60.2 -144,I7N3G6G,144,1,no description,60.2 -145,I7N3G6G,145,1,no description,60.2 -146,I7N3G6G,146,1,no description,60.2 -147,I7N3G6G,147,1,no description,60.2 -148,I7N3G6G,148,1,no description,60.2 -149,I7N3G6G,149,1,no description,60.2 -150,I7N3G6G,150,1,no description,60.2 -151,I7N3G6G,151,1,no description,60.2 -152,I7N3G6G,152,1,no description,60.2 -153,I7N3G6G,153,1,no description,60.2 -154,I7N3G6G,154,1,no description,60.2 -155,I7N3G6G,155,1,no description,60.2 -156,I7N3G6G,156,1,no description,60.2 -157,I7N3G6G,157,1,no description,60.2 -158,I7N3G6G,158,1,no description,60.2 -159,I7N3G6G,159,1,no description,60.2 -160,I7N3G6G,160,1,no description,60.2 -161,I7N3G6G,161,1,no description,60.2 -162,I7N3G6G,162,1,no description,60.2 -163,I7N3G6G,163,1,no description,60.2 -164,I7N3G6G,164,1,no description,60.2 -165,I7N3G6G,165,1,no description,60.2 -166,I7N3G6G,166,1,no description,60.2 -167,I7N3G6G,167,1,no description,60.2 -168,I7N3G6G,168,1,no description,60.2 -169,I7N3G6G,169,1,no description,60.2 -170,I7N3G6G,170,1,no description,60.2 -171,I7N3G6G,171,1,no description,60.2 -172,I7N3G6G,172,1,no description,60.2 -173,I7N3G6G,173,1,no description,60.2 -174,I7N3G6G,174,1,no description,60.2 -175,I7N3G6G,175,1,no description,60.2 -176,I7N3G6G,176,1,no description,60.2 -177,I7N3G6G,177,1,no description,60.2 -178,I7N3G6G,178,1,no description,60.2 -179,I7N3G6G,179,1,no description,60.2 -180,I7N3G6G,180,1,no description,60.2 -181,I7N3G6G,181,1,no description,60.2 -182,I7N3G6G,182,1,no description,60.2 -183,I7N3G6G,183,1,no description,60.2 -184,I7N3G6G,184,1,no description,60.2 -185,I7N3G6G,185,1,no description,60.2 -186,I7N3G6G,186,1,no description,60.2 -187,I7N3G6G,187,1,no description,60.2 -188,I7N3G6G,188,1,no description,60.2 -189,I7N3G6G,189,1,no description,60.2 -190,I7N3G6G,190,1,no description,60.2 -191,I7N3G6G,191,1,no description,60.2 -192,I7N3G6G,192,1,no description,60.2 -193,I7N3G6G,193,1,no description,60.2 -194,I7N3G6G,194,1,no description,60.2 -195,I7N3G6G,195,1,no description,60.2 -196,I7N3G6G,196,1,no description,60.2 -197,I7N3G6G,197,1,no description,60.2 -198,I7N3G6G,198,1,no description,60.2 -199,I7N3G6G,199,1,no description,60.2 -200,I7N3G6G,200,1,no description,60.2 -201,I7N3G6G,201,1,no description,60.2 -202,I7N3G6G,202,1,no description,60.2 -203,I7N3G6G,203,1,no description,60.2 -204,I7N3G6G,204,1,no description,60.2 -205,I7N3G6G,205,1,no description,60.2 -206,I7N3G6G,206,1,no description,60.2 -207,I7N3G6G,207,1,no description,60.2 -208,I7N3G6G,208,1,no description,60.2 -209,I7N3G6G,209,1,no description,60.2 -210,I7N3G6G,210,1,no description,60.2 -211,I7N3G6G,211,1,no description,60.2 -212,I7N3G6G,212,1,no description,60.2 -213,I7N3G6G,213,1,no description,60.2 -214,I7N3G6G,214,1,no description,60.2 -215,I7N3G6G,215,1,no description,60.2 -216,I7N3G6G,216,1,no description,60.2 -217,I7N3G6G,217,1,no description,60.2 -218,I7N3G6G,218,1,no description,60.2 -219,I7N3G6G,219,1,no description,60.2 -220,I7N3G6G,220,1,no description,60.2 -221,I7N3G6G,221,1,no description,60.2 -222,I7N3G6G,222,1,no description,60.2 -223,I7N3G6G,223,1,no description,60.2 -224,I7N3G6G,224,1,no description,60.2 -225,I7N3G6G,225,1,no description,60.2 -226,I7N3G6G,226,1,no description,60.2 -227,I7N3G6G,227,1,no description,60.2 -228,I7N3G6G,228,1,no description,60.2 -229,I7N3G6G,229,1,no description,60.2 -230,I7N3G6G,230,1,no description,60.2 -231,I7N3G6G,231,1,no description,60.2 -232,I7N3G6G,232,1,no description,60.2 -233,I7N3G6G,233,1,no description,60.2 -234,I7N3G6G,234,1,no description,60.2 -235,I7N3G6G,235,1,no description,60.2 -236,I7N3G6G,236,1,no description,60.2 -237,I7N3G6G,237,1,no description,60.2 -238,I7N3G6G,238,1,no description,60.2 -239,I7N3G6G,239,1,no description,60.2 -240,I7N3G6G,240,1,no description,60.2 -241,I7N3G6G,241,1,no description,60.2 -242,I7N3G6G,242,1,no description,60.2 -243,I7N3G6G,243,1,no description,60.2 -244,I7N3G6G,244,1,no description,60.2 -245,I7N3G6G,245,1,no description,60.2 -246,I7N3G6G,246,1,no description,60.2 -247,I7N3G6G,247,1,no description,60.2 -248,I7N3G6G,248,1,no description,60.2 -249,I7N3G6G,249,1,no description,60.2 -250,I7N3G6G,250,1,no description,60.2 -251,I7N3G6G,251,1,no description,60.2 -252,I7N3G6G,252,1,no description,60.2 -253,I7N3G6G,253,1,no description,60.2 -254,I7N3G6G,254,1,no description,60.2 -255,I7N3G6G,255,1,no description,60.2 -256,I7N3G6G,256,1,no description,60.2 -257,I7N3G6G,257,1,no description,60.2 -258,I7N3G6G,258,1,no description,60.2 -259,I7N3G6G,259,1,no description,60.2 -260,I7N3G6G,260,1,no description,60.2 -261,I7N3G6G,261,1,no description,60.2 -262,I7N3G6G,262,1,no description,60.2 -263,I7N3G6G,263,1,no description,60.2 -264,I7N3G6G,264,1,no description,60.2 -265,I7N3G6G,265,1,no description,60.2 -266,I7N3G6G,266,1,no description,60.2 -267,I7N3G6G,267,1,no description,60.2 -268,I7N3G6G,268,1,no description,60.2 -269,I7N3G6G,269,1,no description,60.2 -270,I7N3G6G,270,1,no description,60.2 -271,I7N3G6G,271,1,no description,60.2 -272,I7N3G6G,272,1,no description,60.2 -273,I7N3G6G,273,1,no description,60.2 -274,I7N3G6G,274,1,no description,60.2 -275,I7N3G6G,275,1,no description,60.2 -276,I7N3G6G,276,1,no description,60.2 -277,I7N3G6G,277,1,no description,60.2 -278,I7N3G6G,278,1,no description,60.2 -279,I7N3G6G,279,1,no description,60.2 -280,I7N3G6G,280,1,no description,60.2 -281,I7N3G6G,281,1,no description,60.2 -282,I7N3G6G,282,1,no description,60.2 -283,I7N3G6G,283,1,no description,60.2 -284,I7N3G6G,284,1,no description,60.2 -285,I7N3G6G,285,1,no description,60.2 -286,I7N3G6G,286,1,no description,60.2 -287,I7N3G6G,287,1,no description,60.2 -288,I7N3G6G,288,1,no description,60.2 -289,I7N3G6G,289,1,no description,60.2 -290,I7N3G6G,290,1,no description,60.2 -291,I7N3G6G,291,1,no description,60.2 -292,I7N3G6G,292,1,no description,60.2 -293,I7N3G6G,293,1,no description,60.2 -294,I7N3G6G,294,1,no description,60.2 -295,I7N3G6G,295,1,no description,60.2 -296,I7N3G6G,296,1,no description,60.2 -297,I7N3G6G,297,1,no description,60.2 -298,I7N3G6G,298,1,no description,60.2 -299,I7N3G6G,299,1,no description,60.2 -300,I7N3G6G,300,1,no description,60.2 -301,I7N3G6G,301,1,no description,60.2 -302,I7N3G6G,302,1,no description,60.2 -303,I7N3G6G,303,1,no description,60.2 -304,I7N3G6G,304,1,no description,60.2 -305,I7N3G6G,305,1,no description,60.2 -306,I7N3G6G,306,1,no description,60.2 -307,I7N3G6G,307,1,no description,60.2 -308,I7N3G6G,308,1,no description,60.2 -309,I7N3G6G,309,1,no description,60.2 -310,I7N3G6G,310,1,no description,60.2 -311,I7N3G6G,311,1,no description,60.2 -312,I7N3G6G,312,1,no description,60.2 -313,I7N3G6G,313,1,no description,60.2 -314,I7N3G6G,314,1,no description,60.2 -315,I7N3G6G,315,1,no description,60.2 -316,I7N3G6G,316,1,no description,60.2 -317,I7N3G6G,317,1,no description,60.2 -318,I7N3G6G,318,1,no description,60.2 -319,I7N3G6G,319,1,no description,60.2 -320,I7N3G6G,320,1,no description,60.2 -321,I7N3G6G,321,1,no description,60.2 -322,I7N3G6G,322,1,no description,60.2 -323,I7N3G6G,323,1,no description,60.2 -324,I7N3G6G,324,1,no description,60.2 -325,I7N3G6G,325,1,no description,60.2 -326,I7N3G6G,326,1,no description,60.2 -327,I7N3G6G,327,1,no description,60.2 -328,I7N3G6G,328,1,no description,60.2 -329,I7N3G6G,329,1,no description,60.2 -330,I7N3G6G,330,1,no description,60.2 -331,I7N3G6G,331,1,no description,60.2 -332,I7N3G6G,332,1,no description,60.2 -333,I7N3G6G,333,1,no description,60.2 -334,I7N3G6G,334,1,no description,60.2 -335,I7N3G6G,335,1,no description,60.2 -336,I7N3G6G,336,1,no description,60.2 -337,I7N3G6G,337,1,no description,60.2 -338,I7N3G6G,338,1,no description,60.2 -339,I7N3G6G,339,1,no description,60.2 -340,I7N3G6G,340,1,no description,60.2 -341,I7N3G6G,341,1,no description,60.2 -342,I7N3G6G,342,1,no description,60.2 -343,I7N3G6G,343,1,no description,60.2 -344,I7N3G6G,344,1,no description,60.2 -345,I7N3G6G,345,1,no description,60.2 -346,I7N3G6G,346,1,no description,60.2 -347,I7N3G6G,347,1,no description,60.2 -348,I7N3G6G,348,1,no description,60.2 -349,I7N3G6G,349,1,no description,60.2 -350,I7N3G6G,350,1,no description,60.2 -351,I7N3G6G,351,1,no description,60.2 -352,I7N3G6G,352,1,no description,60.2 -353,I7N3G6G,353,1,no description,60.2 -354,I7N3G6G,354,1,no description,60.2 -355,I7N3G6G,355,1,no description,60.2 -356,I7N3G6G,356,1,no description,60.2 -357,I7N3G6G,357,1,no description,60.2 -358,I7N3G6G,358,1,no description,60.2 -359,I7N3G6G,359,1,no description,60.2 -360,I7N3G6G,360,1,no description,60.2 -361,I7N3G6G,361,1,no description,60.2 -362,I7N3G6G,362,1,no description,60.2 -363,I7N3G6G,363,1,no description,60.2 -364,I7N3G6G,364,1,no description,60.2 -365,I7N3G6G,365,1,no description,60.2 -366,I7N3G6G,366,1,no description,60.2 -367,I7N3G6G,367,1,no description,60.2 -368,I7N3G6G,368,1,no description,60.2 -369,I7N3G6G,369,1,no description,60.2 -370,I7N3G6G,370,1,no description,60.2 -371,I7N3G6G,371,1,no description,60.2 -372,I7N3G6G,372,1,no description,60.2 -373,I7N3G6G,373,1,no description,60.2 -374,I7N3G6G,374,1,no description,60.2 -375,I7N3G6G,375,1,no description,60.2 -376,I7N3G6G,376,1,no description,60.2 -377,I7N3G6G,377,1,no description,60.2 -378,I7N3G6G,378,1,no description,60.2 -379,I7N3G6G,379,1,no description,60.2 -380,I7N3G6G,380,1,no description,60.2 -381,I7N3G6G,381,1,no description,60.2 -382,I7N3G6G,382,1,no description,60.2 -383,I7N3G6G,383,1,no description,60.2 -384,I7N3G6G,384,1,no description,60.2 -385,I7N3G6G,385,1,no description,60.2 -386,I7N3G6G,386,1,no description,60.2 -387,I7N3G6G,387,1,no description,60.2 -388,I7N3G6G,388,1,no description,60.2 -389,I7N3G6G,389,1,no description,60.2 -390,I7N3G6G,390,1,no description,60.2 -391,I7N3G6G,391,1,no description,60.2 -392,I7N3G6G,392,1,no description,60.2 -393,I7N3G6G,393,1,no description,60.2 -394,I7N3G6G,394,1,no description,60.2 -395,I7N3G6G,395,1,no description,60.2 -396,I7N3G6G,396,1,no description,60.2 -397,I7N3G6G,397,1,no description,60.2 -398,I7N3G6G,398,1,no description,60.2 -399,I7N3G6G,399,1,no description,60.2 -400,I7N3G6G,400,1,no description,60.2 -401,I7N3G6G,401,1,no description,60.2 -402,I7N3G6G,402,1,no description,60.2 -403,I7N3G6G,403,1,no description,60.2 -404,I7N3G6G,404,1,no description,60.2 -405,I7N3G6G,405,1,no description,60.2 -406,I7N3G6G,406,1,no description,60.2 -407,I7N3G6G,407,1,no description,60.2 -408,I7N3G6G,408,1,no description,60.2 -409,I7N3G6G,409,1,no description,60.2 -410,I7N3G6G,410,1,no description,60.2 -411,I7N3G6G,411,1,no description,60.2 -412,I7N3G6G,412,1,no description,60.2 -413,I7N3G6G,413,1,no description,60.2 -414,I7N3G6G,414,1,no description,60.2 -415,I7N3G6G,415,1,no description,60.2 -416,I7N3G6G,416,1,no description,60.2 -417,I7N3G6G,417,1,no description,60.2 -418,I7N3G6G,418,1,no description,60.2 -419,I7N3G6G,419,1,no description,60.2 -420,I7N3G6G,420,1,no description,60.2 -421,I7N3G6G,421,1,no description,60.2 -422,I7N3G6G,422,1,no description,60.2 -423,I7N3G6G,423,1,no description,60.2 -424,I7N3G6G,424,1,no description,60.2 -425,I7N3G6G,425,1,no description,60.2 -426,I7N3G6G,426,1,no description,60.2 -427,I7N3G6G,427,1,no description,60.2 -428,I7N3G6G,428,1,no description,60.2 -429,I7N3G6G,429,1,no description,60.2 -430,I7N3G6G,430,1,no description,60.2 -431,I7N3G6G,431,1,no description,60.2 -432,I7N3G6G,432,1,no description,60.2 -433,I7N3G6G,433,1,no description,60.2 -434,I7N3G6G,434,1,no description,60.2 -435,I7N3G6G,435,1,no description,60.2 -436,I7N3G6G,436,1,no description,60.2 -437,I7N3G6G,437,1,no description,60.2 -438,I7N3G6G,438,1,no description,60.2 -439,I7N3G6G,439,1,no description,60.2 -440,I7N3G6G,440,1,no description,60.2 -441,I7N3G6G,441,1,no description,60.2 -442,I7N3G6G,442,1,no description,60.2 -443,I7N3G6G,443,1,no description,60.2 -444,I7N3G6G,444,1,no description,60.2 -445,I7N3G6G,445,1,no description,60.2 -446,I7N3G6G,446,1,no description,60.2 -447,I7N3G6G,447,1,no description,60.2 -448,I7N3G6G,448,1,no description,60.2 -449,I7N3G6G,449,1,no description,60.2 -450,I7N3G6G,450,1,no description,60.2 -451,I7N3G6G,451,1,no description,60.2 -452,I7N3G6G,452,1,no description,60.2 -453,I7N3G6G,453,1,no description,60.2 -454,I7N3G6G,454,1,no description,60.2 -455,I7N3G6G,455,1,no description,60.2 -456,I7N3G6G,456,1,no description,60.2 -457,I7N3G6G,457,1,no description,60.2 -458,I7N3G6G,458,1,no description,60.2 -459,I7N3G6G,459,1,no description,60.2 -460,I7N3G6G,460,1,no description,60.2 -461,I7N3G6G,461,1,no description,60.2 -462,I7N3G6G,462,1,no description,60.2 -463,I7N3G6G,463,1,no description,60.2 -464,I7N3G6G,464,1,no description,60.2 -465,I7N3G6G,465,1,no description,60.2 -466,I7N3G6G,466,1,no description,60.2 -467,I7N3G6G,467,1,no description,60.2 -468,I7N3G6G,468,1,no description,60.2 -469,I7N3G6G,469,1,no description,60.2 -470,I7N3G6G,470,1,no description,60.2 -471,I7N3G6G,471,1,no description,60.2 -472,I7N3G6G,472,1,no description,60.2 -473,I7N3G6G,473,1,no description,60.2 -474,I7N3G6G,474,1,no description,60.2 -475,I7N3G6G,475,1,no description,60.2 -476,I7N3G6G,476,1,no description,60.2 -477,I7N3G6G,477,1,no description,60.2 -478,I7N3G6G,478,1,no description,60.2 -479,I7N3G6G,479,1,no description,60.2 -480,I7N3G6G,480,1,no description,60.2 -481,I7N3G6G,481,1,no description,60.2 -482,I7N3G6G,482,1,no description,60.2 -483,I7N3G6G,483,1,no description,60.2 -484,I7N3G6G,484,1,no description,60.2 -485,I7N3G6G,485,1,no description,60.2 -486,I7N3G6G,486,1,no description,60.2 -487,I7N3G6G,487,1,no description,60.2 -488,I7N3G6G,488,1,no description,60.2 -489,I7N3G6G,489,1,no description,60.2 -490,I7N3G6G,490,1,no description,60.2 -491,I7N3G6G,491,1,no description,60.2 -492,I7N3G6G,492,1,no description,60.2 -493,I7N3G6G,493,1,no description,60.2 -494,I7N3G6G,494,1,no description,60.2 -495,I7N3G6G,495,1,no description,60.2 -496,I7N3G6G,496,1,no description,60.2 -497,I7N3G6G,497,1,no description,60.2 -498,I7N3G6G,498,1,no description,60.2 -499,I7N3G6G,499,1,no description,60.2 -500,I7N3G6G,500,1,no description,60.2 -501,I7N3G6G,501,1,no description,60.2 -502,I7N3G6G,502,1,no description,60.2 -503,I7N3G6G,503,1,no description,60.2 -504,I7N3G6G,504,1,no description,60.2 -505,I7N3G6G,505,1,no description,60.2 -506,I7N3G6G,506,1,no description,60.2 -507,I7N3G6G,507,1,no description,60.2 -508,I7N3G6G,508,1,no description,60.2 -509,I7N3G6G,509,1,no description,60.2 -510,I7N3G6G,510,1,no description,60.2 -511,I7N3G6G,511,1,no description,60.2 -512,I7N3G6G,512,1,no description,60.2 -513,I7N3G6G,513,1,no description,60.2 -514,I7N3G6G,514,1,no description,60.2 -515,I7N3G6G,515,1,no description,60.2 -516,I7N3G6G,516,1,no description,60.2 -517,I7N3G6G,517,1,no description,60.2 -518,I7N3G6G,518,1,no description,60.2 -519,I7N3G6G,519,1,no description,60.2 -520,I7N3G6G,520,1,no description,60.2 -521,I7N3G6G,521,1,no description,60.2 -522,I7N3G6G,522,1,no description,60.2 -523,I7N3G6G,523,1,no description,60.2 -524,I7N3G6G,524,1,no description,60.2 -525,I7N3G6G,525,1,no description,60.2 -526,I7N3G6G,526,1,no description,60.2 -527,I7N3G6G,527,1,no description,60.2 -528,I7N3G6G,528,1,no description,60.2 -529,I7N3G6G,529,1,no description,60.2 -530,I7N3G6G,530,1,no description,60.2 -531,I7N3G6G,531,1,no description,60.2 -532,I7N3G6G,532,1,no description,60.2 -533,I7N3G6G,533,1,no description,60.2 -534,I7N3G6G,534,1,no description,60.2 -535,I7N3G6G,535,1,no description,60.2 -536,I7N3G6G,536,1,no description,60.2 -537,I7N3G6G,537,1,no description,60.2 -538,I7N3G6G,538,1,no description,60.2 -539,I7N3G6G,539,1,no description,60.2 -540,I7N3G6G,540,1,no description,60.2 -541,I7N3G6G,541,1,no description,60.2 -542,I7N3G6G,542,1,no description,60.2 -543,I7N3G6G,543,1,no description,60.2 -544,I7N3G6G,544,1,no description,60.2 -545,I7N3G6G,545,1,no description,60.2 -546,I7N3G6G,546,1,no description,60.2 -547,I7N3G6G,547,1,no description,60.2 -548,I7N3G6G,548,1,no description,60.2 -549,I7N3G6G,549,1,no description,60.2 -550,I7N3G6G,550,1,no description,60.2 -551,I7N3G6G,551,1,no description,60.2 -552,I7N3G6G,552,1,no description,60.2 -553,I7N3G6G,553,1,no description,60.2 -554,I7N3G6G,554,1,no description,60.2 -555,I7N3G6G,555,1,no description,60.2 -556,I7N3G6G,556,1,no description,60.2 -557,I7N3G6G,557,1,no description,60.2 -558,I7N3G6G,558,1,no description,60.2 -559,I7N3G6G,559,1,no description,60.2 -560,I7N3G6G,560,1,no description,60.2 -561,I7N3G6G,561,1,no description,60.2 -562,I7N3G6G,562,1,no description,60.2 -563,I7N3G6G,563,1,no description,60.2 -564,I7N3G6G,564,1,no description,60.2 -565,I7N3G6G,565,1,no description,60.2 -566,I7N3G6G,566,1,no description,60.2 -567,I7N3G6G,567,1,no description,60.2 -568,I7N3G6G,568,1,no description,60.2 -569,I7N3G6G,569,1,no description,60.2 -570,I7N3G6G,570,1,no description,60.2 -571,I7N3G6G,571,1,no description,60.2 -572,I7N3G6G,572,1,no description,60.2 -573,I7N3G6G,573,1,no description,60.2 -574,I7N3G6G,574,1,no description,60.2 -575,I7N3G6G,575,1,no description,60.2 -576,I7N3G6G,576,1,no description,60.2 -577,I7N3G6G,577,1,no description,60.2 -578,I7N3G6G,578,1,no description,60.2 -579,I7N3G6G,579,1,no description,60.2 -580,I7N3G6G,580,1,no description,60.2 -581,I7N3G6G,581,1,no description,60.2 -582,I7N3G6G,582,1,no description,60.2 -583,I7N3G6G,583,1,no description,60.2 -584,I7N3G6G,584,1,no description,60.2 -585,I7N3G6G,585,1,no description,60.2 -586,I7N3G6G,586,1,no description,60.2 -587,I7N3G6G,587,1,no description,60.2 -588,I7N3G6G,588,1,no description,60.2 -589,I7N3G6G,589,1,no description,60.2 -590,I7N3G6G,590,1,no description,60.2 -591,I7N3G6G,591,1,no description,60.2 -592,I7N3G6G,592,1,no description,60.2 -593,I7N3G6G,593,1,no description,60.2 -594,I7N3G6G,594,1,no description,60.2 -595,I7N3G6G,595,1,no description,60.2 -596,I7N3G6G,596,1,no description,60.2 -597,I7N3G6G,597,1,no description,60.2 -598,I7N3G6G,598,1,no description,60.2 -599,I7N3G6G,599,1,no description,60.2 -600,I7N3G6G,600,1,no description,60.2 -601,I7N3G6G,601,1,no description,60.2 -602,I7N3G6G,602,1,no description,60.2 -603,I7N3G6G,603,1,no description,60.2 -604,I7N3G6G,604,1,no description,60.2 -605,I7N3G6G,605,1,no description,60.2 -606,I7N3G6G,606,1,no description,60.2 -607,I7N3G6G,607,1,no description,60.2 -608,I7N3G6G,608,1,no description,60.2 -609,I7N3G6G,609,1,no description,60.2 -610,I7N3G6G,610,1,no description,60.2 -611,I7N3G6G,611,1,no description,60.2 -612,I7N3G6G,612,1,no description,60.2 -613,I7N3G6G,613,1,no description,60.2 -614,I7N3G6G,614,1,no description,60.2 -615,I7N3G6G,615,1,no description,60.2 -616,I7N3G6G,616,1,no description,60.2 -617,I7N3G6G,617,1,no description,60.2 -618,I7N3G6G,618,1,no description,60.2 -619,I7N3G6G,619,1,no description,60.2 -620,I7N3G6G,620,1,no description,60.2 -621,I7N3G6G,621,1,no description,60.2 -622,I7N3G6G,622,1,no description,60.2 -623,I7N3G6G,623,1,no description,60.2 -624,I7N3G6G,624,1,no description,60.2 -625,I7N3G6G,625,1,no description,60.2 -626,I7N3G6G,626,1,no description,60.2 -627,I7N3G6G,627,1,no description,60.2 -628,I7N3G6G,628,1,no description,60.2 -629,I7N3G6G,629,1,no description,60.2 -630,I7N3G6G,630,1,no description,60.2 -631,I7N3G6G,631,1,no description,60.2 -632,I7N3G6G,632,1,no description,60.2 -633,I7N3G6G,633,1,no description,60.2 -634,I7N3G6G,634,1,no description,60.2 -635,I7N3G6G,635,1,no description,60.2 -636,I7N3G6G,636,1,no description,60.2 -637,I7N3G6G,637,1,no description,60.2 -638,I7N3G6G,638,1,no description,60.2 -639,I7N3G6G,639,1,no description,60.2 -640,I7N3G6G,640,1,no description,60.2 -641,I7N3G6G,641,1,no description,60.2 -642,I7N3G6G,642,1,no description,60.2 -643,I7N3G6G,643,1,no description,60.2 -644,I7N3G6G,644,1,no description,60.2 -645,I7N3G6G,645,1,no description,60.2 -646,I7N3G6G,646,1,no description,60.2 -647,I7N3G6G,647,1,no description,60.2 -648,I7N3G6G,648,1,no description,60.2 -649,I7N3G6G,649,1,no description,60.2 -650,I7N3G6G,650,1,no description,60.2 -651,I7N3G6G,651,1,no description,60.2 -652,I7N3G6G,652,1,no description,60.2 -653,I7N3G6G,653,1,no description,60.2 -654,I7N3G6G,654,1,no description,60.2 -655,I7N3G6G,655,1,no description,60.2 -656,I7N3G6G,656,1,no description,60.2 -657,I7N3G6G,657,1,no description,60.2 -658,I7N3G6G,658,1,no description,60.2 -659,I7N3G6G,659,1,no description,60.2 -660,I7N3G6G,660,1,no description,60.2 -661,I7N3G6G,661,1,no description,60.2 -662,I7N3G6G,662,1,no description,60.2 -663,I7N3G6G,663,1,no description,60.2 -664,I7N3G6G,664,1,no description,60.2 -665,I7N3G6G,665,1,no description,60.2 -666,I7N3G6G,666,1,no description,60.2 -667,I7N3G6G,667,1,no description,60.2 -668,I7N3G6G,668,1,no description,60.2 -669,I7N3G6G,669,1,no description,60.2 -670,I7N3G6G,670,1,no description,60.2 -671,I7N3G6G,671,1,no description,60.2 -672,I7N3G6G,672,1,no description,60.2 -673,I7N3G6G,673,1,no description,60.2 -674,I7N3G6G,674,1,no description,60.2 -675,I7N3G6G,675,1,no description,60.2 -676,I7N3G6G,676,1,no description,60.2 -677,I7N3G6G,677,1,no description,60.2 -678,I7N3G6G,678,1,no description,60.2 -679,I7N3G6G,679,1,no description,60.2 -680,I7N3G6G,680,1,no description,60.2 -681,I7N3G6G,681,1,no description,60.2 -682,I7N3G6G,682,1,no description,60.2 -683,I7N3G6G,683,1,no description,60.2 -684,I7N3G6G,684,1,no description,60.2 -685,I7N3G6G,685,1,no description,60.2 -686,I7N3G6G,686,1,no description,60.2 -687,I7N3G6G,687,1,no description,60.2 -688,I7N3G6G,688,1,no description,60.2 -689,I7N3G6G,689,1,no description,60.2 -690,I7N3G6G,690,1,no description,60.2 -691,I7N3G6G,691,1,no description,60.2 -692,I7N3G6G,692,1,no description,60.2 -693,I7N3G6G,693,1,no description,60.2 -694,I7N3G6G,694,1,no description,60.2 -695,I7N3G6G,695,1,no description,60.2 -696,I7N3G6G,696,1,no description,60.2 -697,I7N3G6G,697,1,no description,60.2 -698,I7N3G6G,698,1,no description,60.2 -699,I7N3G6G,699,1,no description,60.2 -700,I7N3G6G,700,1,no description,60.2 -701,I7N3G6G,701,1,no description,60.2 -702,I7N3G6G,702,1,no description,60.2 -703,I7N3G6G,703,1,no description,60.2 -704,I7N3G6G,704,1,no description,60.2 -705,I7N3G6G,705,1,no description,60.2 -706,I7N3G6G,706,1,no description,60.2 -707,I7N3G6G,707,1,no description,60.2 -708,I7N3G6G,708,1,no description,60.2 -709,I7N3G6G,709,1,no description,60.2 -710,I7N3G6G,710,1,no description,60.2 -711,I7N3G6G,711,1,no description,60.2 -712,I7N3G6G,712,1,no description,60.2 -713,I7N3G6G,713,1,no description,60.2 -714,I7N3G6G,714,1,no description,60.2 -715,I7N3G6G,715,1,no description,60.2 -716,I7N3G6G,716,1,no description,60.2 -717,I7N3G6G,717,1,no description,60.2 -718,I7N3G6G,718,1,no description,60.2 -719,I7N3G6G,719,1,no description,60.2 -720,I7N3G6G,720,1,no description,60.2 -721,I7N3G6G,721,1,no description,60.2 -722,I7N3G6G,722,1,no description,60.2 -723,I7N3G6G,723,1,no description,60.2 -724,I7N3G6G,724,1,no description,60.2 -725,I7N3G6G,725,1,no description,60.2 -726,I7N3G6G,726,1,no description,60.2 -727,I7N3G6G,727,1,no description,60.2 -728,I7N3G6G,728,1,no description,60.2 -729,I7N3G6G,729,1,no description,60.2 -730,I7N3G6G,730,1,no description,60.2 -731,I7N3G6G,731,1,no description,60.2 -732,I7N3G6G,732,1,no description,60.2 -733,I7N3G6G,733,1,no description,60.2 -734,I7N3G6G,734,1,no description,60.2 -735,I7N3G6G,735,1,no description,60.2 -736,I7N3G6G,736,1,no description,60.2 -737,I7N3G6G,737,1,no description,60.2 -738,I7N3G6G,738,1,no description,60.2 -739,I7N3G6G,739,1,no description,60.2 -740,I7N3G6G,740,1,no description,60.2 -741,I7N3G6G,741,1,no description,60.2 -742,I7N3G6G,742,1,no description,60.2 -743,I7N3G6G,743,1,no description,60.2 -744,I7N3G6G,744,1,no description,60.2 -745,I7N3G6G,745,1,no description,60.2 -746,I7N3G6G,746,1,no description,60.2 -747,I7N3G6G,747,1,no description,60.2 -748,I7N3G6G,748,1,no description,60.2 -749,I7N3G6G,749,1,no description,60.2 -750,I7N3G6G,750,1,no description,60.2 -751,I7N3G6G,751,1,no description,60.2 -752,I7N3G6G,752,1,no description,60.2 -753,I7N3G6G,753,1,no description,60.2 -754,I7N3G6G,754,1,no description,60.2 -755,I7N3G6G,755,1,no description,60.2 -756,I7N3G6G,756,1,no description,60.2 -757,I7N3G6G,757,1,no description,60.2 -758,I7N3G6G,758,1,no description,60.2 -759,I7N3G6G,759,1,no description,60.2 -760,I7N3G6G,760,1,no description,60.2 -761,I7N3G6G,761,1,no description,60.2 -762,I7N3G6G,762,1,no description,60.2 -763,I7N3G6G,763,1,no description,60.2 -764,I7N3G6G,764,1,no description,60.2 -765,I7N3G6G,765,1,no description,60.2 -766,I7N3G6G,766,1,no description,60.2 -767,I7N3G6G,767,1,no description,60.2 -768,I7N3G6G,768,1,no description,60.2 -769,I7N3G6G,769,1,no description,60.2 -770,I7N3G6G,770,1,no description,60.2 -771,I7N3G6G,771,1,no description,60.2 -772,I7N3G6G,772,1,no description,60.2 -773,I7N3G6G,773,1,no description,60.2 -774,I7N3G6G,774,1,no description,60.2 -775,I7N3G6G,775,1,no description,60.2 -776,I7N3G6G,776,1,no description,60.2 -777,I7N3G6G,777,1,no description,60.2 -778,I7N3G6G,778,1,no description,60.2 -779,I7N3G6G,779,1,no description,60.2 -780,I7N3G6G,780,1,no description,60.2 -781,I7N3G6G,781,1,no description,60.2 -782,I7N3G6G,782,1,no description,60.2 -783,I7N3G6G,783,1,no description,60.2 -784,I7N3G6G,784,1,no description,60.2 -785,I7N3G6G,785,1,no description,60.2 -786,I7N3G6G,786,1,no description,60.2 -787,I7N3G6G,787,1,no description,60.2 -788,I7N3G6G,788,1,no description,60.2 -789,I7N3G6G,789,1,no description,60.2 -790,I7N3G6G,790,1,no description,60.2 -791,I7N3G6G,791,1,no description,60.2 -792,I7N3G6G,792,1,no description,60.2 -793,I7N3G6G,793,1,no description,60.2 -794,I7N3G6G,794,1,no description,60.2 -795,I7N3G6G,795,1,no description,60.2 -796,I7N3G6G,796,1,no description,60.2 -797,I7N3G6G,797,1,no description,60.2 -798,I7N3G6G,798,1,no description,60.2 -799,I7N3G6G,799,1,no description,60.2 -800,I7N3G6G,800,1,no description,60.2 -801,I7N3G6G,801,1,no description,60.2 -802,I7N3G6G,802,1,no description,60.2 -803,I7N3G6G,803,1,no description,60.2 -804,I7N3G6G,804,1,no description,60.2 -805,I7N3G6G,805,1,no description,60.2 -806,I7N3G6G,806,1,no description,60.2 -807,I7N3G6G,807,1,no description,60.2 -808,I7N3G6G,808,1,no description,60.2 -809,I7N3G6G,809,1,no description,60.2 -810,I7N3G6G,810,1,no description,60.2 -811,I7N3G6G,811,1,no description,60.2 -812,I7N3G6G,812,1,no description,60.2 -813,I7N3G6G,813,1,no description,60.2 -814,I7N3G6G,814,1,no description,60.2 -815,I7N3G6G,815,1,no description,60.2 -816,I7N3G6G,816,1,no description,60.2 -817,I7N3G6G,817,1,no description,60.2 -818,I7N3G6G,818,1,no description,60.2 -819,I7N3G6G,819,1,no description,60.2 -820,I7N3G6G,820,1,no description,60.2 -821,I7N3G6G,821,1,no description,60.2 -822,I7N3G6G,822,1,no description,60.2 -823,I7N3G6G,823,1,no description,60.2 -824,I7N3G6G,824,1,no description,60.2 -825,I7N3G6G,825,1,no description,60.2 -826,I7N3G6G,826,1,no description,60.2 -827,I7N3G6G,827,1,no description,60.2 -828,I7N3G6G,828,1,no description,60.2 -829,I7N3G6G,829,1,no description,60.2 -830,I7N3G6G,830,1,no description,60.2 -831,I7N3G6G,831,1,no description,60.2 -832,I7N3G6G,832,1,no description,60.2 -833,I7N3G6G,833,1,no description,60.2 -834,I7N3G6G,834,1,no description,60.2 -835,I7N3G6G,835,1,no description,60.2 -836,I7N3G6G,836,1,no description,60.2 -837,I7N3G6G,837,1,no description,60.2 -838,I7N3G6G,838,1,no description,60.2 -839,I7N3G6G,839,1,no description,60.2 -840,I7N3G6G,840,1,no description,60.2 -841,I7N3G6G,841,1,no description,60.2 -842,I7N3G6G,842,1,no description,60.2 -843,I7N3G6G,843,1,no description,60.2 -844,I7N3G6G,844,1,no description,60.2 -845,I7N3G6G,845,1,no description,60.2 -846,I7N3G6G,846,1,no description,60.2 -847,I7N3G6G,847,1,no description,60.2 -848,I7N3G6G,848,1,no description,60.2 -849,I7N3G6G,849,1,no description,60.2 -850,I7N3G6G,850,1,no description,60.2 -851,I7N3G6G,851,1,no description,60.2 -852,I7N3G6G,852,1,no description,60.2 -853,I7N3G6G,853,1,no description,60.2 -854,I7N3G6G,854,1,no description,60.2 -855,I7N3G6G,855,1,no description,60.2 -856,I7N3G6G,856,1,no description,60.2 -857,I7N3G6G,857,1,no description,60.2 -858,I7N3G6G,858,1,no description,60.2 -859,I7N3G6G,859,1,no description,60.2 -860,I7N3G6G,860,1,no description,60.2 -861,I7N3G6G,861,1,no description,60.2 -862,I7N3G6G,862,1,no description,60.2 -863,I7N3G6G,863,1,no description,60.2 -864,I7N3G6G,864,1,no description,60.2 -865,I7N3G6G,865,1,no description,60.2 -866,I7N3G6G,866,1,no description,60.2 -867,I7N3G6G,867,1,no description,60.2 -868,I7N3G6G,868,1,no description,60.2 -869,I7N3G6G,869,1,no description,60.2 -870,I7N3G6G,870,1,no description,60.2 -871,I7N3G6G,871,1,no description,60.2 -872,I7N3G6G,872,1,no description,60.2 -873,I7N3G6G,873,1,no description,60.2 -874,I7N3G6G,874,1,no description,60.2 -875,I7N3G6G,875,1,no description,60.2 -876,I7N3G6G,876,1,no description,60.2 -877,I7N3G6G,877,1,no description,60.2 -878,I7N3G6G,878,1,no description,60.2 -879,I7N3G6G,879,1,no description,60.2 -880,I7N3G6G,880,1,no description,60.2 -881,I7N3G6G,881,1,no description,60.2 -882,I7N3G6G,882,1,no description,60.2 -883,I7N3G6G,883,1,no description,60.2 -884,I7N3G6G,884,1,no description,60.2 -885,I7N3G6G,885,1,no description,60.2 -886,I7N3G6G,886,1,no description,60.2 -887,I7N3G6G,887,1,no description,60.2 -888,I7N3G6G,888,1,no description,60.2 -889,I7N3G6G,889,1,no description,60.2 -890,I7N3G6G,890,1,no description,60.2 -891,I7N3G6G,891,1,no description,60.2 -892,I7N3G6G,892,1,no description,60.2 -893,I7N3G6G,893,1,no description,60.2 -894,I7N3G6G,894,1,no description,60.2 -895,I7N3G6G,895,1,no description,60.2 -896,I7N3G6G,896,1,no description,60.2 -897,I7N3G6G,897,1,no description,60.2 -898,I7N3G6G,898,1,no description,60.2 -899,I7N3G6G,899,1,no description,60.2 -900,I7N3G6G,900,1,no description,60.2 -901,I7N3G6G,901,1,no description,60.2 -902,I7N3G6G,902,1,no description,60.2 -903,I7N3G6G,903,1,no description,60.2 -904,I7N3G6G,904,1,no description,60.2 -905,I7N3G6G,905,1,no description,60.2 -906,I7N3G6G,906,1,no description,60.2 -907,I7N3G6G,907,1,no description,60.2 -908,I7N3G6G,908,1,no description,60.2 -909,I7N3G6G,909,1,no description,60.2 -910,I7N3G6G,910,1,no description,60.2 -911,I7N3G6G,911,1,no description,60.2 -912,I7N3G6G,912,1,no description,60.2 -913,I7N3G6G,913,1,no description,60.2 -914,I7N3G6G,914,1,no description,60.2 -915,I7N3G6G,915,1,no description,60.2 -916,I7N3G6G,916,1,no description,60.2 -917,I7N3G6G,917,1,no description,60.2 -918,I7N3G6G,918,1,no description,60.2 -919,I7N3G6G,919,1,no description,60.2 -920,I7N3G6G,920,1,no description,60.2 -921,I7N3G6G,921,1,no description,60.2 -922,I7N3G6G,922,1,no description,60.2 -923,I7N3G6G,923,1,no description,60.2 -924,I7N3G6G,924,1,no description,60.2 -925,I7N3G6G,925,1,no description,60.2 -926,I7N3G6G,926,1,no description,60.2 -927,I7N3G6G,927,1,no description,60.2 -928,I7N3G6G,928,1,no description,60.2 -929,I7N3G6G,929,1,no description,60.2 -930,I7N3G6G,930,1,no description,60.2 -931,I7N3G6G,931,1,no description,60.2 -932,I7N3G6G,932,1,no description,60.2 -933,I7N3G6G,933,1,no description,60.2 -934,I7N3G6G,934,1,no description,60.2 -935,I7N3G6G,935,1,no description,60.2 -936,I7N3G6G,936,1,no description,60.2 -937,I7N3G6G,937,1,no description,60.2 -938,I7N3G6G,938,1,no description,60.2 -939,I7N3G6G,939,1,no description,60.2 -940,I7N3G6G,940,1,no description,60.2 -941,I7N3G6G,941,1,no description,60.2 -942,I7N3G6G,942,1,no description,60.2 -943,I7N3G6G,943,1,no description,60.2 -944,I7N3G6G,944,1,no description,60.2 -945,I7N3G6G,945,1,no description,60.2 -946,I7N3G6G,946,1,no description,60.2 -947,I7N3G6G,947,1,no description,60.2 -948,I7N3G6G,948,1,no description,60.2 -949,I7N3G6G,949,1,no description,60.2 -950,I7N3G6G,950,1,no description,60.2 -951,I7N3G6G,951,1,no description,60.2 -952,I7N3G6G,952,1,no description,60.2 -953,I7N3G6G,953,1,no description,60.2 -954,I7N3G6G,954,1,no description,60.2 -955,I7N3G6G,955,1,no description,60.2 -956,I7N3G6G,956,1,no description,60.2 -957,I7N3G6G,957,1,no description,60.2 -958,I7N3G6G,958,1,no description,60.2 -959,I7N3G6G,959,1,no description,60.2 -960,I7N3G6G,960,1,no description,60.2 -961,I7N3G6G,961,1,no description,60.2 -962,I7N3G6G,962,1,no description,60.2 -963,I7N3G6G,963,1,no description,60.2 -964,I7N3G6G,964,1,no description,60.2 -965,I7N3G6G,965,1,no description,60.2 -966,I7N3G6G,966,1,no description,60.2 -967,I7N3G6G,967,1,no description,60.2 -968,I7N3G6G,968,1,no description,60.2 -969,I7N3G6G,969,1,no description,60.2 -970,I7N3G6G,970,1,no description,60.2 -971,I7N3G6G,971,1,no description,60.2 -972,I7N3G6G,972,1,no description,60.2 -973,I7N3G6G,973,1,no description,60.2 -974,I7N3G6G,974,1,no description,60.2 -975,I7N3G6G,975,1,no description,60.2 -976,I7N3G6G,976,1,no description,60.2 -977,I7N3G6G,977,1,no description,60.2 -978,I7N3G6G,978,1,no description,60.2 -979,I7N3G6G,979,1,no description,60.2 -980,I7N3G6G,980,1,no description,60.2 -981,I7N3G6G,981,1,no description,60.2 -982,I7N3G6G,982,1,no description,60.2 -983,I7N3G6G,983,1,no description,60.2 -984,I7N3G6G,984,1,no description,60.2 -985,I7N3G6G,985,1,no description,60.2 -986,I7N3G6G,986,1,no description,60.2 -987,I7N3G6G,987,1,no description,60.2 -988,I7N3G6G,988,1,no description,60.2 -989,I7N3G6G,989,1,no description,60.2 -990,I7N3G6G,990,1,no description,60.2 -991,I7N3G6G,991,1,no description,60.2 -992,I7N3G6G,992,1,no description,60.2 -993,I7N3G6G,993,1,no description,60.2 -994,I7N3G6G,994,1,no description,60.2 -995,I7N3G6G,995,1,no description,60.2 -996,I7N3G6G,996,1,no description,60.2 -997,I7N3G6G,997,1,no description,60.2 -998,I7N3G6G,998,1,no description,60.2 -999,I7N3G6G,999,1,no description,60.2 -1000,I7N3G6G,1000,1,no description,60.2 -1001,I7N3G6G,1001,1,no description,60.2 -1002,I7N3G6G,1002,1,no description,60.2 -1003,I7N3G6G,1003,1,no description,60.2 -1004,I7N3G6G,1004,1,no description,60.2 -1005,I7N3G6G,1005,1,no description,60.2 -1006,I7N3G6G,1006,1,no description,60.2 -1007,I7N3G6G,1007,1,no description,60.2 -1008,I7N3G6G,1008,1,no description,60.2 -1009,I7N3G6G,1009,1,no description,60.2 -1010,I7N3G6G,1010,1,no description,60.2 -1011,I7N3G6G,1011,1,no description,60.2 -1012,I7N3G6G,1012,1,no description,60.2 -1013,I7N3G6G,1013,1,no description,60.2 -1014,I7N3G6G,1014,1,no description,60.2 -1015,I7N3G6G,1015,1,no description,60.2 -1016,I7N3G6G,1016,1,no description,60.2 -1017,I7N3G6G,1017,1,no description,60.2 -1018,I7N3G6G,1018,1,no description,60.2 -1019,I7N3G6G,1019,1,no description,60.2 -1020,I7N3G6G,1020,1,no description,60.2 -1021,I7N3G6G,1021,1,no description,60.2 -1022,I7N3G6G,1022,1,no description,60.2 -1023,I7N3G6G,1023,1,no description,60.2 -1024,I7N3G6G,1024,1,no description,60.2 -1025,I7N3G6G,1025,1,no description,60.2 -1026,I7N3G6G,1026,1,no description,60.2 -1027,I7N3G6G,1027,1,no description,60.2 -1028,I7N3G6G,1028,1,no description,60.2 -1029,I7N3G6G,1029,1,no description,60.2 -1030,I7N3G6G,1030,1,no description,60.2 -1031,I7N3G6G,1031,1,no description,60.2 -1032,I7N3G6G,1032,1,no description,60.2 -1033,I7N3G6G,1033,1,no description,60.2 -1034,I7N3G6G,1034,1,no description,60.2 -1035,I7N3G6G,1035,1,no description,60.2 -1036,I7N3G6G,1036,1,no description,60.2 -1037,I7N3G6G,1037,1,no description,60.2 -1038,I7N3G6G,1038,1,no description,60.2 -1039,I7N3G6G,1039,1,no description,60.2 -1040,I7N3G6G,1040,1,no description,60.2 -1041,I7N3G6G,1041,1,no description,60.2 -1042,I7N3G6G,1042,1,no description,60.2 -1043,I7N3G6G,1043,1,no description,60.2 -1044,I7N3G6G,1044,1,no description,60.2 -1045,I7N3G6G,1045,1,no description,60.2 -1046,I7N3G6G,1046,1,no description,60.2 -1047,I7N3G6G,1047,1,no description,60.2 -1048,I7N3G6G,1048,1,no description,60.2 -1049,I7N3G6G,1049,1,no description,60.2 -1050,I7N3G6G,1050,1,no description,60.2 -1051,I7N3G6G,1051,1,no description,60.2 -1052,I7N3G6G,1052,1,no description,60.2 -1053,I7N3G6G,1053,1,no description,60.2 -1054,I7N3G6G,1054,1,no description,60.2 -1055,I7N3G6G,1055,1,no description,60.2 -1056,I7N3G6G,1056,1,no description,60.2 -1057,I7N3G6G,1057,1,no description,60.2 -1058,I7N3G6G,1058,1,no description,60.2 -1059,I7N3G6G,1059,1,no description,60.2 -1060,I7N3G6G,1060,1,no description,60.2 -1061,I7N3G6G,1061,1,no description,60.2 -1062,I7N3G6G,1062,1,no description,60.2 -1063,I7N3G6G,1063,1,no description,60.2 -1064,I7N3G6G,1064,1,no description,60.2 -1065,I7N3G6G,1065,1,no description,60.2 -1066,I7N3G6G,1066,1,no description,60.2 -1067,I7N3G6G,1067,1,no description,60.2 -1068,I7N3G6G,1068,1,no description,60.2 -1069,I7N3G6G,1069,1,no description,60.2 -1070,I7N3G6G,1070,1,no description,60.2 -1071,I7N3G6G,1071,1,no description,60.2 -1072,I7N3G6G,1072,1,no description,60.2 -1073,I7N3G6G,1073,1,no description,60.2 -1074,I7N3G6G,1074,1,no description,60.2 -1075,I7N3G6G,1075,1,no description,60.2 -1076,I7N3G6G,1076,1,no description,60.2 -1077,I7N3G6G,1077,1,no description,60.2 -1078,I7N3G6G,1078,1,no description,60.2 -1079,I7N3G6G,1079,1,no description,60.2 -1080,I7N3G6G,1080,1,no description,60.2 -1081,I7N3G6G,1081,1,no description,60.2 -1082,I7N3G6G,1082,1,no description,60.2 -1083,I7N3G6G,1083,1,no description,60.2 -1084,I7N3G6G,1084,1,no description,60.2 -1085,I7N3G6G,1085,1,no description,60.2 -1086,I7N3G6G,1086,1,no description,60.2 -1087,I7N3G6G,1087,1,no description,60.2 -1088,I7N3G6G,1088,1,no description,60.2 -1089,I7N3G6G,1089,1,no description,60.2 -1090,I7N3G6G,1090,1,no description,60.2 -1091,I7N3G6G,1091,1,no description,60.2 -1092,I7N3G6G,1092,1,no description,60.2 -1093,I7N3G6G,1093,1,no description,60.2 -1094,I7N3G6G,1094,1,no description,60.2 -1095,I7N3G6G,1095,1,no description,60.2 -1096,I7N3G6G,1096,1,no description,60.2 -1097,I7N3G6G,1097,1,no description,60.2 -1098,I7N3G6G,1098,1,no description,60.2 -1099,I7N3G6G,1099,1,no description,60.2 -1100,I7N3G6G,1100,1,no description,60.2 -1101,I7N3G6G,1101,1,no description,60.2 -1102,I7N3G6G,1102,1,no description,60.2 -1103,I7N3G6G,1103,1,no description,60.2 -1104,I7N3G6G,1104,1,no description,60.2 -1105,I7N3G6G,1105,1,no description,60.2 -1106,I7N3G6G,1106,1,no description,60.2 -1107,I7N3G6G,1107,1,no description,60.2 -1108,I7N3G6G,1108,1,no description,60.2 -1109,I7N3G6G,1109,1,no description,60.2 -1110,I7N3G6G,1110,1,no description,60.2 -1111,I7N3G6G,1111,1,no description,60.2 -1112,I7N3G6G,1112,1,no description,60.2 -1113,I7N3G6G,1113,1,no description,60.2 -1114,I7N3G6G,1114,1,no description,60.2 -1115,I7N3G6G,1115,1,no description,60.2 -1116,I7N3G6G,1116,1,no description,60.2 -1117,I7N3G6G,1117,1,no description,60.2 -1118,I7N3G6G,1118,1,no description,60.2 -1119,I7N3G6G,1119,1,no description,60.2 -1120,I7N3G6G,1120,1,no description,60.2 -1121,I7N3G6G,1121,1,no description,60.2 -1122,I7N3G6G,1122,1,no description,60.2 -1123,I7N3G6G,1123,1,no description,60.2 -1124,I7N3G6G,1124,1,no description,60.2 -1125,I7N3G6G,1125,1,no description,60.2 -1126,I7N3G6G,1126,1,no description,60.2 -1127,I7N3G6G,1127,1,no description,60.2 -1128,I7N3G6G,1128,1,no description,60.2 -1129,I7N3G6G,1129,1,no description,60.2 -1130,I7N3G6G,1130,1,no description,60.2 -1131,I7N3G6G,1131,1,no description,60.2 -1132,I7N3G6G,1132,1,no description,60.2 -1133,I7N3G6G,1133,1,no description,60.2 -1134,I7N3G6G,1134,1,no description,60.2 -1135,I7N3G6G,1135,1,no description,60.2 -1136,I7N3G6G,1136,1,no description,60.2 -1137,I7N3G6G,1137,1,no description,60.2 -1138,I7N3G6G,1138,1,no description,60.2 -1139,I7N3G6G,1139,1,no description,60.2 -1140,I7N3G6G,1140,1,no description,60.2 -1141,I7N3G6G,1141,1,no description,60.2 -1142,I7N3G6G,1142,1,no description,60.2 -1143,I7N3G6G,1143,1,no description,60.2 -1144,I7N3G6G,1144,1,no description,60.2 -1145,I7N3G6G,1145,1,no description,60.2 -1146,I7N3G6G,1146,1,no description,60.2 -1147,I7N3G6G,1147,1,no description,60.2 -1148,I7N3G6G,1148,1,no description,60.2 -1149,I7N3G6G,1149,1,no description,60.2 -1150,I7N3G6G,1150,1,no description,60.2 -1151,I7N3G6G,1151,1,no description,60.2 -1152,I7N3G6G,1152,1,no description,60.2 -1153,I7N3G6G,1153,1,no description,60.2 -1154,I7N3G6G,1154,1,no description,60.2 -1155,I7N3G6G,1155,1,no description,60.2 -1156,I7N3G6G,1156,1,no description,60.2 -1157,I7N3G6G,1157,1,no description,60.2 -1158,I7N3G6G,1158,1,no description,60.2 -1159,I7N3G6G,1159,1,no description,60.2 -1160,I7N3G6G,1160,1,no description,60.2 -1161,I7N3G6G,1161,1,no description,60.2 -1162,I7N3G6G,1162,1,no description,60.2 -1163,I7N3G6G,1163,1,no description,60.2 -1164,I7N3G6G,1164,1,no description,60.2 -1165,I7N3G6G,1165,1,no description,60.2 -1166,I7N3G6G,1166,1,no description,60.2 -1167,I7N3G6G,1167,1,no description,60.2 -1168,I7N3G6G,1168,1,no description,60.2 -1169,I7N3G6G,1169,1,no description,60.2 -1170,I7N3G6G,1170,1,no description,60.2 -1171,I7N3G6G,1171,1,no description,60.2 -1172,I7N3G6G,1172,1,no description,60.2 -1173,I7N3G6G,1173,1,no description,60.2 -1174,I7N3G6G,1174,1,no description,60.2 -1175,I7N3G6G,1175,1,no description,60.2 -1176,I7N3G6G,1176,1,no description,60.2 -1177,I7N3G6G,1177,1,no description,60.2 -1178,I7N3G6G,1178,1,no description,60.2 -1179,I7N3G6G,1179,1,no description,60.2 -1180,I7N3G6G,1180,1,no description,60.2 -1181,I7N3G6G,1181,1,no description,60.2 -1182,I7N3G6G,1182,1,no description,60.2 -1183,I7N3G6G,1183,1,no description,60.2 -1184,I7N3G6G,1184,1,no description,60.2 -1185,I7N3G6G,1185,1,no description,60.2 -1186,I7N3G6G,1186,1,no description,60.2 -1187,I7N3G6G,1187,1,no description,60.2 -1188,I7N3G6G,1188,1,no description,60.2 -1189,I7N3G6G,1189,1,no description,60.2 -1190,I7N3G6G,1190,1,no description,60.2 -1191,I7N3G6G,1191,1,no description,60.2 -1192,I7N3G6G,1192,1,no description,60.2 -1193,I7N3G6G,1193,1,no description,60.2 -1194,I7N3G6G,1194,1,no description,60.2 -1195,I7N3G6G,1195,1,no description,60.2 -1196,I7N3G6G,1196,1,no description,60.2 -1197,I7N3G6G,1197,1,no description,60.2 -1198,I7N3G6G,1198,1,no description,60.2 -1199,I7N3G6G,1199,1,no description,60.2 -1200,I7N3G6G,1200,1,no description,60.2 -1201,I7N3G6G,1201,1,no description,60.2 -1202,I7N3G6G,1202,1,no description,60.2 -1203,I7N3G6G,1203,1,no description,60.2 -1204,I7N3G6G,1204,1,no description,60.2 -1205,I7N3G6G,1205,1,no description,60.2 -1206,I7N3G6G,1206,1,no description,60.2 -1207,I7N3G6G,1207,1,no description,60.2 -1208,I7N3G6G,1208,1,no description,60.2 -1209,I7N3G6G,1209,1,no description,60.2 -1210,I7N3G6G,1210,1,no description,60.2 -1211,I7N3G6G,1211,1,no description,60.2 -1212,I7N3G6G,1212,1,no description,60.2 -1213,I7N3G6G,1213,1,no description,60.2 -1214,I7N3G6G,1214,1,no description,60.2 -1215,I7N3G6G,1215,1,no description,60.2 -1216,I7N3G6G,1216,1,no description,60.2 -1217,I7N3G6G,1217,1,no description,60.2 -1218,I7N3G6G,1218,1,no description,60.2 -1219,I7N3G6G,1219,1,no description,60.2 -1220,I7N3G6G,1220,1,no description,60.2 -1221,I7N3G6G,1221,1,no description,60.2 -1222,I7N3G6G,1222,1,no description,60.2 -1223,I7N3G6G,1223,1,no description,60.2 -1224,I7N3G6G,1224,1,no description,60.2 -1225,I7N3G6G,1225,1,no description,60.2 -1226,I7N3G6G,1226,1,no description,60.2 -1227,I7N3G6G,1227,1,no description,60.2 -1228,I7N3G6G,1228,1,no description,60.2 -1229,I7N3G6G,1229,1,no description,60.2 -1230,I7N3G6G,1230,1,no description,60.2 -1231,I7N3G6G,1231,1,no description,60.2 -1232,I7N3G6G,1232,1,no description,60.2 -1233,I7N3G6G,1233,1,no description,60.2 -1234,I7N3G6G,1234,1,no description,60.2 -1235,I7N3G6G,1235,1,no description,60.2 -1236,I7N3G6G,1236,1,no description,60.2 -1237,I7N3G6G,1237,1,no description,60.2 -1238,I7N3G6G,1238,1,no description,60.2 -1239,I7N3G6G,1239,1,no description,60.2 -1240,I7N3G6G,1240,1,no description,60.2 -1241,I7N3G6G,1241,1,no description,60.2 -1242,I7N3G6G,1242,1,no description,60.2 -1243,I7N3G6G,1243,1,no description,60.2 -1244,I7N3G6G,1244,1,no description,60.2 -1245,I7N3G6G,1245,1,no description,60.2 -1246,I7N3G6G,1246,1,no description,60.2 -1247,I7N3G6G,1247,1,no description,60.2 -1248,I7N3G6G,1248,1,no description,60.2 -1249,I7N3G6G,1249,1,no description,60.2 -1250,I7N3G6G,1250,1,no description,60.2 -1251,I7N3G6G,1251,1,no description,60.2 -1252,I7N3G6G,1252,1,no description,60.2 -1253,I7N3G6G,1253,1,no description,60.2 -1254,I7N3G6G,1254,1,no description,60.2 -1255,I7N3G6G,1255,1,no description,60.2 -1256,I7N3G6G,1256,1,no description,60.2 -1257,I7N3G6G,1257,1,no description,60.2 -1258,I7N3G6G,1258,1,no description,60.2 -1259,I7N3G6G,1259,1,no description,60.2 -1260,I7N3G6G,1260,1,no description,60.2 -1261,I7N3G6G,1261,1,no description,60.2 -1262,I7N3G6G,1262,1,no description,60.2 -1263,I7N3G6G,1263,1,no description,60.2 -1264,I7N3G6G,1264,1,no description,60.2 -1265,I7N3G6G,1265,1,no description,60.2 -1266,I7N3G6G,1266,1,no description,60.2 -1267,I7N3G6G,1267,1,no description,60.2 -1268,I7N3G6G,1268,1,no description,60.2 -1269,I7N3G6G,1269,1,no description,60.2 -1270,I7N3G6G,1270,1,no description,60.2 -1271,I7N3G6G,1271,1,no description,60.2 -1272,I7N3G6G,1272,1,no description,60.2 -1273,I7N3G6G,1273,1,no description,60.2 -1274,I7N3G6G,1274,1,no description,60.2 -1275,I7N3G6G,1275,1,no description,60.2 -1276,I7N3G6G,1276,1,no description,60.2 -1277,I7N3G6G,1277,1,no description,60.2 -1278,I7N3G6G,1278,1,no description,60.2 -1279,I7N3G6G,1279,1,no description,60.2 -1280,I7N3G6G,1280,1,no description,60.2 -1281,I7N3G6G,1281,1,no description,60.2 -1282,I7N3G6G,1282,1,no description,60.2 -1283,I7N3G6G,1283,1,no description,60.2 -1284,I7N3G6G,1284,1,no description,60.2 -1285,I7N3G6G,1285,1,no description,60.2 -1286,I7N3G6G,1286,1,no description,60.2 -1287,I7N3G6G,1287,1,no description,60.2 -1288,I7N3G6G,1288,1,no description,60.2 -1289,I7N3G6G,1289,1,no description,60.2 -1290,I7N3G6G,1290,1,no description,60.2 -1291,I7N3G6G,1291,1,no description,60.2 -1292,I7N3G6G,1292,1,no description,60.2 -1293,I7N3G6G,1293,1,no description,60.2 -1294,I7N3G6G,1294,1,no description,60.2 -1295,I7N3G6G,1295,1,no description,60.2 -1296,I7N3G6G,1296,1,no description,60.2 -1297,I7N3G6G,1297,1,no description,60.2 -1298,I7N3G6G,1298,1,no description,60.2 -1299,I7N3G6G,1299,1,no description,60.2 -1300,I7N3G6G,1300,1,no description,60.2 -1301,I7N3G6G,1301,1,no description,60.2 -1302,I7N3G6G,1302,1,no description,60.2 -1303,I7N3G6G,1303,1,no description,60.2 -1304,I7N3G6G,1304,1,no description,60.2 -1305,I7N3G6G,1305,1,no description,60.2 -1306,I7N3G6G,1306,1,no description,60.2 -1307,I7N3G6G,1307,1,no description,60.2 -1308,I7N3G6G,1308,1,no description,60.2 -1309,I7N3G6G,1309,1,no description,60.2 -1310,I7N3G6G,1310,1,no description,60.2 -1311,I7N3G6G,1311,1,no description,60.2 -1312,I7N3G6G,1312,1,no description,60.2 -1313,I7N3G6G,1313,1,no description,60.2 -1314,I7N3G6G,1314,1,no description,60.2 -1315,I7N3G6G,1315,1,no description,60.2 -1316,I7N3G6G,1316,1,no description,60.2 -1317,I7N3G6G,1317,1,no description,60.2 -1318,I7N3G6G,1318,1,no description,60.2 -1319,I7N3G6G,1319,1,no description,60.2 -1320,I7N3G6G,1320,1,no description,60.2 -1321,I7N3G6G,1321,1,no description,60.2 -1322,I7N3G6G,1322,1,no description,60.2 -1323,I7N3G6G,1323,1,no description,60.2 -1324,I7N3G6G,1324,1,no description,60.2 -1325,I7N3G6G,1325,1,no description,60.2 -1326,I7N3G6G,1326,1,no description,60.2 -1327,I7N3G6G,1327,1,no description,60.2 -1328,I7N3G6G,1328,1,no description,60.2 -1329,I7N3G6G,1329,1,no description,60.2 -1330,I7N3G6G,1330,1,no description,60.2 -1331,I7N3G6G,1331,1,no description,60.2 -1332,I7N3G6G,1332,1,no description,60.2 -1333,I7N3G6G,1333,1,no description,60.2 -1334,I7N3G6G,1334,1,no description,60.2 -1335,I7N3G6G,1335,1,no description,60.2 -1336,I7N3G6G,1336,1,no description,60.2 -1337,I7N3G6G,1337,1,no description,60.2 -1338,I7N3G6G,1338,1,no description,60.2 -1339,I7N3G6G,1339,1,no description,60.2 -1340,I7N3G6G,1340,1,no description,60.2 -1341,I7N3G6G,1341,1,no description,60.2 -1342,I7N3G6G,1342,1,no description,60.2 -1343,I7N3G6G,1343,1,no description,60.2 -1344,I7N3G6G,1344,1,no description,60.2 -1345,I7N3G6G,1345,1,no description,60.2 -1346,I7N3G6G,1346,1,no description,60.2 -1347,I7N3G6G,1347,1,no description,60.2 -1348,I7N3G6G,1348,1,no description,60.2 -1349,I7N3G6G,1349,1,no description,60.2 -1350,I7N3G6G,1350,1,no description,60.2 -1351,I7N3G6G,1351,1,no description,60.2 -1352,I7N3G6G,1352,1,no description,60.2 -1353,I7N3G6G,1353,1,no description,60.2 -1354,I7N3G6G,1354,1,no description,60.2 -1355,I7N3G6G,1355,1,no description,60.2 -1356,I7N3G6G,1356,1,no description,60.2 -1357,I7N3G6G,1357,1,no description,60.2 -1358,I7N3G6G,1358,1,no description,60.2 -1359,I7N3G6G,1359,1,no description,60.2 -1360,I7N3G6G,1360,1,no description,60.2 -1361,I7N3G6G,1361,1,no description,60.2 -1362,I7N3G6G,1362,1,no description,60.2 -1363,I7N3G6G,1363,1,no description,60.2 -1364,I7N3G6G,1364,1,no description,60.2 -1365,I7N3G6G,1365,1,no description,60.2 -1366,I7N3G6G,1366,1,no description,60.2 -1367,I7N3G6G,1367,1,no description,60.2 -1368,I7N3G6G,1368,1,no description,60.2 -1369,I7N3G6G,1369,1,no description,60.2 -1370,I7N3G6G,1370,1,no description,60.2 -1371,I7N3G6G,1371,1,no description,60.2 -1372,I7N3G6G,1372,1,no description,60.2 -1373,I7N3G6G,1373,1,no description,60.2 -1374,I7N3G6G,1374,1,no description,60.2 -1375,I7N3G6G,1375,1,no description,60.2 -1376,I7N3G6G,1376,1,no description,60.2 -1377,I7N3G6G,1377,1,no description,60.2 -1378,I7N3G6G,1378,1,no description,60.2 -1379,I7N3G6G,1379,1,no description,60.2 -1380,I7N3G6G,1380,1,no description,60.2 -1381,I7N3G6G,1381,1,no description,60.2 -1382,I7N3G6G,1382,1,no description,60.2 -1383,I7N3G6G,1383,1,no description,60.2 -1384,I7N3G6G,1384,1,no description,60.2 -1385,I7N3G6G,1385,1,no description,60.2 -1386,I7N3G6G,1386,1,no description,60.2 -1387,I7N3G6G,1387,1,no description,60.2 -1388,I7N3G6G,1388,1,no description,60.2 -1389,I7N3G6G,1389,1,no description,60.2 -1390,I7N3G6G,1390,1,no description,60.2 -1391,I7N3G6G,1391,1,no description,60.2 -1392,I7N3G6G,1392,1,no description,60.2 -1393,I7N3G6G,1393,1,no description,60.2 -1394,I7N3G6G,1394,1,no description,60.2 -1395,I7N3G6G,1395,1,no description,60.2 -1396,I7N3G6G,1396,1,no description,60.2 -1397,I7N3G6G,1397,1,no description,60.2 -1398,I7N3G6G,1398,1,no description,60.2 -1399,I7N3G6G,1399,1,no description,60.2 -1400,I7N3G6G,1400,1,no description,60.2 -1401,I7N3G6G,1401,1,no description,60.2 -1402,I7N3G6G,1402,1,no description,60.2 -1403,I7N3G6G,1403,1,no description,60.2 -1404,I7N3G6G,1404,1,no description,60.2 -1405,I7N3G6G,1405,1,no description,60.2 -1406,I7N3G6G,1406,1,no description,60.2 -1407,I7N3G6G,1407,1,no description,60.2 -1408,I7N3G6G,1408,1,no description,60.2 -1409,I7N3G6G,1409,1,no description,60.2 -1410,I7N3G6G,1410,1,no description,60.2 -1411,I7N3G6G,1411,1,no description,60.2 -1412,I7N3G6G,1412,1,no description,60.2 -1413,I7N3G6G,1413,1,no description,60.2 -1414,I7N3G6G,1414,1,no description,60.2 -1415,I7N3G6G,1415,1,no description,60.2 -1416,I7N3G6G,1416,1,no description,60.2 -1417,I7N3G6G,1417,1,no description,60.2 -1418,I7N3G6G,1418,1,no description,60.2 -1419,I7N3G6G,1419,1,no description,60.2 -1420,I7N3G6G,1420,1,no description,60.2 -1421,I7N3G6G,1421,1,no description,60.2 -1422,I7N3G6G,1422,1,no description,60.2 -1423,I7N3G6G,1423,1,no description,60.2 -1424,I7N3G6G,1424,1,no description,60.2 -1425,I7N3G6G,1425,1,no description,60.2 -1426,I7N3G6G,1426,1,no description,60.2 -1427,I7N3G6G,1427,1,no description,60.2 -1428,I7N3G6G,1428,1,no description,60.2 -1429,I7N3G6G,1429,1,no description,60.2 -1430,I7N3G6G,1430,1,no description,60.2 -1431,I7N3G6G,1431,1,no description,60.2 -1432,I7N3G6G,1432,1,no description,60.2 -1433,I7N3G6G,1433,1,no description,60.2 -1434,I7N3G6G,1434,1,no description,60.2 -1435,I7N3G6G,1435,1,no description,60.2 -1436,I7N3G6G,1436,1,no description,60.2 -1437,I7N3G6G,1437,1,no description,60.2 -1438,I7N3G6G,1438,1,no description,60.2 -1439,I7N3G6G,1439,1,no description,60.2 -1440,I7N3G6G,1440,1,no description,60.2 -1441,I7N3G6G,1441,1,no description,60.2 -1442,I7N3G6G,1442,1,no description,60.2 -1443,I7N3G6G,1443,1,no description,60.2 -1444,I7N3G6G,1444,1,no description,60.2 -1445,I7N3G6G,1445,1,no description,60.2 -1446,I7N3G6G,1446,1,no description,60.2 -1447,I7N3G6G,1447,1,no description,60.2 -1448,I7N3G6G,1448,1,no description,60.2 -1449,I7N3G6G,1449,1,no description,60.2 -1450,I7N3G6G,1450,1,no description,60.2 -1451,I7N3G6G,1451,1,no description,60.2 -1452,I7N3G6G,1452,1,no description,60.2 -1453,I7N3G6G,1453,1,no description,60.2 -1454,I7N3G6G,1454,1,no description,60.2 -1455,I7N3G6G,1455,1,no description,60.2 -1456,I7N3G6G,1456,1,no description,60.2 -1457,I7N3G6G,1457,1,no description,60.2 -1458,I7N3G6G,1458,1,no description,60.2 -1459,I7N3G6G,1459,1,no description,60.2 -1460,I7N3G6G,1460,1,no description,60.2 -1461,I7N3G6G,1461,1,no description,60.2 -1462,I7N3G6G,1462,1,no description,60.2 -1463,I7N3G6G,1463,1,no description,60.2 -1464,I7N3G6G,1464,1,no description,60.2 -1465,I7N3G6G,1465,1,no description,60.2 -1466,I7N3G6G,1466,1,no description,60.2 -1467,I7N3G6G,1467,1,no description,60.2 -1468,I7N3G6G,1468,1,no description,60.2 -1469,I7N3G6G,1469,1,no description,60.2 -1470,I7N3G6G,1470,1,no description,60.2 -1471,I7N3G6G,1471,1,no description,60.2 -1472,I7N3G6G,1472,1,no description,60.2 -1473,I7N3G6G,1473,1,no description,60.2 -1474,I7N3G6G,1474,1,no description,60.2 -1475,I7N3G6G,1475,1,no description,60.2 -1476,I7N3G6G,1476,1,no description,60.2 -1477,I7N3G6G,1477,1,no description,60.2 -1478,I7N3G6G,1478,1,no description,60.2 -1479,I7N3G6G,1479,1,no description,60.2 -1480,I7N3G6G,1480,1,no description,60.2 -1481,I7N3G6G,1481,1,no description,60.2 -1482,I7N3G6G,1482,1,no description,60.2 -1483,I7N3G6G,1483,1,no description,60.2 -1484,I7N3G6G,1484,1,no description,60.2 -1485,I7N3G6G,1485,1,no description,60.2 -1486,I7N3G6G,1486,1,no description,60.2 -1487,I7N3G6G,1487,1,no description,60.2 -1488,I7N3G6G,1488,1,no description,60.2 -1489,I7N3G6G,1489,1,no description,60.2 -1490,I7N3G6G,1490,1,no description,60.2 -1491,I7N3G6G,1491,1,no description,60.2 -1492,I7N3G6G,1492,1,no description,60.2 -1493,I7N3G6G,1493,1,no description,60.2 -1494,I7N3G6G,1494,1,no description,60.2 -1495,I7N3G6G,1495,1,no description,60.2 -1496,I7N3G6G,1496,1,no description,60.2 -1497,I7N3G6G,1497,1,no description,60.2 -1498,I7N3G6G,1498,1,no description,60.2 -1499,I7N3G6G,1499,1,no description,60.2 -1500,I7N3G6G,1500,1,no description,60.2 -1501,I7N3G6G,1501,1,no description,60.2 -1502,I7N3G6G,1502,1,no description,60.2 -1503,I7N3G6G,1503,1,no description,60.2 -1504,I7N3G6G,1504,1,no description,60.2 -1505,I7N3G6G,1505,1,no description,60.2 -1506,I7N3G6G,1506,1,no description,60.2 -1507,I7N3G6G,1507,1,no description,60.2 -1508,I7N3G6G,1508,1,no description,60.2 -1509,I7N3G6G,1509,1,no description,60.2 -1510,I7N3G6G,1510,1,no description,60.2 -1511,I7N3G6G,1511,1,no description,60.2 -1512,I7N3G6G,1512,1,no description,60.2 -1513,I7N3G6G,1513,1,no description,60.2 -1514,I7N3G6G,1514,1,no description,60.2 -1515,I7N3G6G,1515,1,no description,60.2 -1516,I7N3G6G,1516,1,no description,60.2 -1517,I7N3G6G,1517,1,no description,60.2 -1518,I7N3G6G,1518,1,no description,60.2 -1519,I7N3G6G,1519,1,no description,60.2 -1520,I7N3G6G,1520,1,no description,60.2 -1521,I7N3G6G,1521,1,no description,60.2 -1522,I7N3G6G,1522,1,no description,60.2 -1523,I7N3G6G,1523,1,no description,60.2 -1524,I7N3G6G,1524,1,no description,60.2 -1525,I7N3G6G,1525,1,no description,60.2 -1526,I7N3G6G,1526,1,no description,60.2 -1527,I7N3G6G,1527,1,no description,60.2 -1528,I7N3G6G,1528,1,no description,60.2 -1529,I7N3G6G,1529,1,no description,60.2 -1530,I7N3G6G,1530,1,no description,60.2 -1531,I7N3G6G,1531,1,no description,60.2 -1532,I7N3G6G,1532,1,no description,60.2 -1533,I7N3G6G,1533,1,no description,60.2 -1534,I7N3G6G,1534,1,no description,60.2 -1535,I7N3G6G,1535,1,no description,60.2 -1536,I7N3G6G,1536,1,no description,60.2 -1537,I7N3G6G,1537,1,no description,60.2 -1538,I7N3G6G,1538,1,no description,60.2 -1539,I7N3G6G,1539,1,no description,60.2 -1540,I7N3G6G,1540,1,no description,60.2 -1541,I7N3G6G,1541,1,no description,60.2 -1542,I7N3G6G,1542,1,no description,60.2 -1543,I7N3G6G,1543,1,no description,60.2 -1544,I7N3G6G,1544,1,no description,60.2 -1545,I7N3G6G,1545,1,no description,60.2 -1546,I7N3G6G,1546,1,no description,60.2 -1547,I7N3G6G,1547,1,no description,60.2 -1548,I7N3G6G,1548,1,no description,60.2 -1549,I7N3G6G,1549,1,no description,60.2 -1550,I7N3G6G,1550,1,no description,60.2 -1551,I7N3G6G,1551,1,no description,60.2 -1552,I7N3G6G,1552,1,no description,60.2 -1553,I7N3G6G,1553,1,no description,60.2 -1554,I7N3G6G,1554,1,no description,60.2 -1555,I7N3G6G,1555,1,no description,60.2 -1556,I7N3G6G,1556,1,no description,60.2 -1557,I7N3G6G,1557,1,no description,60.2 -1558,I7N3G6G,1558,1,no description,60.2 -1559,I7N3G6G,1559,1,no description,60.2 -1560,I7N3G6G,1560,1,no description,60.2 -1561,I7N3G6G,1561,1,no description,60.2 -1562,I7N3G6G,1562,1,no description,60.2 -1563,I7N3G6G,1563,1,no description,60.2 -1564,I7N3G6G,1564,1,no description,60.2 -1565,I7N3G6G,1565,1,no description,60.2 -1566,I7N3G6G,1566,1,no description,60.2 -1567,I7N3G6G,1567,1,no description,60.2 -1568,I7N3G6G,1568,1,no description,60.2 -1569,I7N3G6G,1569,1,no description,60.2 -1570,I7N3G6G,1570,1,no description,60.2 -1571,I7N3G6G,1571,1,no description,60.2 -1572,I7N3G6G,1572,1,no description,60.2 -1573,I7N3G6G,1573,1,no description,60.2 -1574,I7N3G6G,1574,1,no description,60.2 -1575,I7N3G6G,1575,1,no description,60.2 -1576,I7N3G6G,1576,1,no description,60.2 -1577,I7N3G6G,1577,1,no description,60.2 -1578,I7N3G6G,1578,1,no description,60.2 -1579,I7N3G6G,1579,1,no description,60.2 -1580,I7N3G6G,1580,1,no description,60.2 -1581,I7N3G6G,1581,1,no description,60.2 -1582,I7N3G6G,1582,1,no description,60.2 -1583,I7N3G6G,1583,1,no description,60.2 -1584,I7N3G6G,1584,1,no description,60.2 -1585,I7N3G6G,1585,1,no description,60.2 -1586,I7N3G6G,1586,1,no description,60.2 -1587,I7N3G6G,1587,1,no description,60.2 -1588,I7N3G6G,1588,1,no description,60.2 -1589,I7N3G6G,1589,1,no description,60.2 -1590,I7N3G6G,1590,1,no description,60.2 -1591,I7N3G6G,1591,1,no description,60.2 -1592,I7N3G6G,1592,1,no description,60.2 -1593,I7N3G6G,1593,1,no description,60.2 -1594,I7N3G6G,1594,1,no description,60.2 -1595,I7N3G6G,1595,1,no description,60.2 -1596,I7N3G6G,1596,1,no description,60.2 -1597,I7N3G6G,1597,1,no description,60.2 -1598,I7N3G6G,1598,1,no description,60.2 -1599,I7N3G6G,1599,1,no description,60.2 -1600,I7N3G6G,1600,1,no description,60.2 -1601,I7N3G6G,1601,1,no description,60.2 -1602,I7N3G6G,1602,1,no description,60.2 -1603,I7N3G6G,1603,1,no description,60.2 -1604,I7N3G6G,1604,1,no description,60.2 -1605,I7N3G6G,1605,1,no description,60.2 -1606,I7N3G6G,1606,1,no description,60.2 -1607,I7N3G6G,1607,1,no description,60.2 -1608,I7N3G6G,1608,1,no description,60.2 -1609,I7N3G6G,1609,1,no description,60.2 -1610,I7N3G6G,1610,1,no description,60.2 -1611,I7N3G6G,1611,1,no description,60.2 -1612,I7N3G6G,1612,1,no description,60.2 -1613,I7N3G6G,1613,1,no description,60.2 -1614,I7N3G6G,1614,1,no description,60.2 -1615,I7N3G6G,1615,1,no description,60.2 -1616,I7N3G6G,1616,1,no description,60.2 -1617,I7N3G6G,1617,1,no description,60.2 -1618,I7N3G6G,1618,1,no description,60.2 -1619,I7N3G6G,1619,1,no description,60.2 -1620,I7N3G6G,1620,1,no description,60.2 -1621,I7N3G6G,1621,1,no description,60.2 -1622,I7N3G6G,1622,1,no description,60.2 -1623,I7N3G6G,1623,1,no description,60.2 -1624,I7N3G6G,1624,1,no description,60.2 -1625,I7N3G6G,1625,1,no description,60.2 -1626,I7N3G6G,1626,1,no description,60.2 -1627,I7N3G6G,1627,1,no description,60.2 -1628,I7N3G6G,1628,1,no description,60.2 -1629,I7N3G6G,1629,1,no description,60.2 -1630,I7N3G6G,1630,1,no description,60.2 -1631,I7N3G6G,1631,1,no description,60.2 -1632,I7N3G6G,1632,1,no description,60.2 -1633,I7N3G6G,1633,1,no description,60.2 -1634,I7N3G6G,1634,1,no description,60.2 -1635,I7N3G6G,1635,1,no description,60.2 -1636,I7N3G6G,1636,1,no description,60.2 -1637,I7N3G6G,1637,1,no description,60.2 -1638,I7N3G6G,1638,1,no description,60.2 -1639,I7N3G6G,1639,1,no description,60.2 -1640,I7N3G6G,1640,1,no description,60.2 -1641,I7N3G6G,1641,1,no description,60.2 -1642,I7N3G6G,1642,1,no description,60.2 -1643,I7N3G6G,1643,1,no description,60.2 -1644,I7N3G6G,1644,1,no description,60.2 -1645,I7N3G6G,1645,1,no description,60.2 -1646,I7N3G6G,1646,1,no description,60.2 -1647,I7N3G6G,1647,1,no description,60.2 -1648,I7N3G6G,1648,1,no description,60.2 -1649,I7N3G6G,1649,1,no description,60.2 -1650,I7N3G6G,1650,1,no description,60.2 -1651,I7N3G6G,1651,1,no description,60.2 -1652,I7N3G6G,1652,1,no description,60.2 -1653,I7N3G6G,1653,1,no description,60.2 -1654,I7N3G6G,1654,1,no description,60.2 -1655,I7N3G6G,1655,1,no description,60.2 -1656,I7N3G6G,1656,1,no description,60.2 -1657,I7N3G6G,1657,1,no description,60.2 -1658,I7N3G6G,1658,1,no description,60.2 -1659,I7N3G6G,1659,1,no description,60.2 -1660,I7N3G6G,1660,1,no description,60.2 -1661,I7N3G6G,1661,1,no description,60.2 -1662,I7N3G6G,1662,1,no description,60.2 -1663,I7N3G6G,1663,1,no description,60.2 -1664,I7N3G6G,1664,1,no description,60.2 -1665,I7N3G6G,1665,1,no description,60.2 -1666,I7N3G6G,1666,1,no description,60.2 -1667,I7N3G6G,1667,1,no description,60.2 -1668,I7N3G6G,1668,1,no description,60.2 -1669,I7N3G6G,1669,1,no description,60.2 -1670,I7N3G6G,1670,1,no description,60.2 -1671,I7N3G6G,1671,1,no description,60.2 -1672,I7N3G6G,1672,1,no description,60.2 -1673,I7N3G6G,1673,1,no description,60.2 -1674,I7N3G6G,1674,1,no description,60.2 -1675,I7N3G6G,1675,1,no description,60.2 -1676,I7N3G6G,1676,1,no description,60.2 -1677,I7N3G6G,1677,1,no description,60.2 -1678,I7N3G6G,1678,1,no description,60.2 -1679,I7N3G6G,1679,1,no description,60.2 -1680,I7N3G6G,1680,1,no description,60.2 -1681,I7N3G6G,1681,1,no description,60.2 -1682,I7N3G6G,1682,1,no description,60.2 -1683,I7N3G6G,1683,1,no description,60.2 -1684,I7N3G6G,1684,1,no description,60.2 -1685,I7N3G6G,1685,1,no description,60.2 -1686,I7N3G6G,1686,1,no description,60.2 -1687,I7N3G6G,1687,1,no description,60.2 -1688,I7N3G6G,1688,1,no description,60.2 -1689,I7N3G6G,1689,1,no description,60.2 -1690,I7N3G6G,1690,1,no description,60.2 -1691,I7N3G6G,1691,1,no description,60.2 -1692,I7N3G6G,1692,1,no description,60.2 -1693,I7N3G6G,1693,1,no description,60.2 -1694,I7N3G6G,1694,1,no description,60.2 -1695,I7N3G6G,1695,1,no description,60.2 -1696,I7N3G6G,1696,1,no description,60.2 -1697,I7N3G6G,1697,1,no description,60.2 -1698,I7N3G6G,1698,1,no description,60.2 -1699,I7N3G6G,1699,1,no description,60.2 -1700,I7N3G6G,1700,1,no description,60.2 -1701,I7N3G6G,1701,1,no description,60.2 -1702,I7N3G6G,1702,1,no description,60.2 -1703,I7N3G6G,1703,1,no description,60.2 -1704,I7N3G6G,1704,1,no description,60.2 -1705,I7N3G6G,1705,1,no description,60.2 -1706,I7N3G6G,1706,1,no description,60.2 -1707,I7N3G6G,1707,1,no description,60.2 -1708,I7N3G6G,1708,1,no description,60.2 -1709,I7N3G6G,1709,1,no description,60.2 -1710,I7N3G6G,1710,1,no description,60.2 -1711,I7N3G6G,1711,1,no description,60.2 -1712,I7N3G6G,1712,1,no description,60.2 -1713,I7N3G6G,1713,1,no description,60.2 -1714,I7N3G6G,1714,1,no description,60.2 -1715,I7N3G6G,1715,1,no description,60.2 -1716,I7N3G6G,1716,1,no description,60.2 -1717,I7N3G6G,1717,1,no description,60.2 -1718,I7N3G6G,1718,1,no description,60.2 -1719,I7N3G6G,1719,1,no description,60.2 -1720,I7N3G6G,1720,1,no description,60.2 -1721,I7N3G6G,1721,1,no description,60.2 -1722,I7N3G6G,1722,1,no description,60.2 -1723,I7N3G6G,1723,1,no description,60.2 -1724,I7N3G6G,1724,1,no description,60.2 -1725,I7N3G6G,1725,1,no description,60.2 -1726,I7N3G6G,1726,1,no description,60.2 -1727,I7N3G6G,1727,1,no description,60.2 -1728,I7N3G6G,1728,1,no description,60.2 -1729,I7N3G6G,1729,1,no description,60.2 -1730,I7N3G6G,1730,1,no description,60.2 -1731,I7N3G6G,1731,1,no description,60.2 -1732,I7N3G6G,1732,1,no description,60.2 -1733,I7N3G6G,1733,1,no description,60.2 -1734,I7N3G6G,1734,1,no description,60.2 -1735,I7N3G6G,1735,1,no description,60.2 -1736,I7N3G6G,1736,1,no description,60.2 -1737,I7N3G6G,1737,1,no description,60.2 -1738,I7N3G6G,1738,1,no description,60.2 -1739,I7N3G6G,1739,1,no description,60.2 -1740,I7N3G6G,1740,1,no description,60.2 -1741,I7N3G6G,1741,1,no description,60.2 -1742,I7N3G6G,1742,1,no description,60.2 -1743,I7N3G6G,1743,1,no description,60.2 -1744,I7N3G6G,1744,1,no description,60.2 -1745,I7N3G6G,1745,1,no description,60.2 -1746,I7N3G6G,1746,1,no description,60.2 -1747,I7N3G6G,1747,1,no description,60.2 -1748,I7N3G6G,1748,1,no description,60.2 -1749,I7N3G6G,1749,1,no description,60.2 -1750,I7N3G6G,1750,1,no description,60.2 -1751,I7N3G6G,1751,1,no description,60.2 -1752,I7N3G6G,1752,1,no description,60.2 -1753,I7N3G6G,1753,1,no description,60.2 -1754,I7N3G6G,1754,1,no description,60.2 -1755,I7N3G6G,1755,1,no description,60.2 -1756,I7N3G6G,1756,1,no description,60.2 -1757,I7N3G6G,1757,1,no description,60.2 -1758,I7N3G6G,1758,1,no description,60.2 -1759,I7N3G6G,1759,1,no description,60.2 -1760,I7N3G6G,1760,1,no description,60.2 -1761,I7N3G6G,1761,1,no description,60.2 -1762,I7N3G6G,1762,1,no description,60.2 -1763,I7N3G6G,1763,1,no description,60.2 -1764,I7N3G6G,1764,1,no description,60.2 -1765,I7N3G6G,1765,1,no description,60.2 -1766,I7N3G6G,1766,1,no description,60.2 -1767,I7N3G6G,1767,1,no description,60.2 -1768,I7N3G6G,1768,1,no description,60.2 -1769,I7N3G6G,1769,1,no description,60.2 -1770,I7N3G6G,1770,1,no description,60.2 -1771,I7N3G6G,1771,1,no description,60.2 -1772,I7N3G6G,1772,1,no description,60.2 -1773,I7N3G6G,1773,1,no description,60.2 -1774,I7N3G6G,1774,1,no description,60.2 -1775,I7N3G6G,1775,1,no description,60.2 -1776,I7N3G6G,1776,1,no description,60.2 -1777,I7N3G6G,1777,1,no description,60.2 -1778,I7N3G6G,1778,1,no description,60.2 -1779,I7N3G6G,1779,1,no description,60.2 -1780,I7N3G6G,1780,1,no description,60.2 -1781,I7N3G6G,1781,1,no description,60.2 -1782,I7N3G6G,1782,1,no description,60.2 -1783,I7N3G6G,1783,1,no description,60.2 -1784,I7N3G6G,1784,1,no description,60.2 -1785,I7N3G6G,1785,1,no description,60.2 -1786,I7N3G6G,1786,1,no description,60.2 -1787,I7N3G6G,1787,1,no description,60.2 -1788,I7N3G6G,1788,1,no description,60.2 -1789,I7N3G6G,1789,1,no description,60.2 -1790,I7N3G6G,1790,1,no description,60.2 -1791,I7N3G6G,1791,1,no description,60.2 -1792,I7N3G6G,1792,1,no description,60.2 -1793,I7N3G6G,1793,1,no description,60.2 -1794,I7N3G6G,1794,1,no description,60.2 -1795,I7N3G6G,1795,1,no description,60.2 -1796,I7N3G6G,1796,1,no description,60.2 -1797,I7N3G6G,1797,1,no description,60.2 -1798,I7N3G6G,1798,1,no description,60.2 -1799,I7N3G6G,1799,1,no description,60.2 -1800,I7N3G6G,1800,1,no description,60.2 -1801,I7N3G6G,1801,1,no description,60.2 -1802,I7N3G6G,1802,1,no description,60.2 -1803,I7N3G6G,1803,1,no description,60.2 -1804,I7N3G6G,1804,1,no description,60.2 -1805,I7N3G6G,1805,1,no description,60.2 -1806,I7N3G6G,1806,1,no description,60.2 -1807,I7N3G6G,1807,1,no description,60.2 -1808,I7N3G6G,1808,1,no description,60.2 -1809,I7N3G6G,1809,1,no description,60.2 -1810,I7N3G6G,1810,1,no description,60.2 -1811,I7N3G6G,1811,1,no description,60.2 -1812,I7N3G6G,1812,1,no description,60.2 -1813,I7N3G6G,1813,1,no description,60.2 -1814,I7N3G6G,1814,1,no description,60.2 -1815,I7N3G6G,1815,1,no description,60.2 -1816,I7N3G6G,1816,1,no description,60.2 -1817,I7N3G6G,1817,1,no description,60.2 -1818,I7N3G6G,1818,1,no description,60.2 -1819,I7N3G6G,1819,1,no description,60.2 -1820,I7N3G6G,1820,1,no description,60.2 -1821,I7N3G6G,1821,1,no description,60.2 -1822,I7N3G6G,1822,1,no description,60.2 -1823,I7N3G6G,1823,1,no description,60.2 -1824,I7N3G6G,1824,1,no description,60.2 -1825,I7N3G6G,1825,1,no description,60.2 -1826,I7N3G6G,1826,1,no description,60.2 -1827,I7N3G6G,1827,1,no description,60.2 -1828,I7N3G6G,1828,1,no description,60.2 -1829,I7N3G6G,1829,1,no description,60.2 -1830,I7N3G6G,1830,1,no description,60.2 -1831,I7N3G6G,1831,1,no description,60.2 -1832,I7N3G6G,1832,1,no description,60.2 -1833,I7N3G6G,1833,1,no description,60.2 -1834,I7N3G6G,1834,1,no description,60.2 -1835,I7N3G6G,1835,1,no description,60.2 -1836,I7N3G6G,1836,1,no description,60.2 -1837,I7N3G6G,1837,1,no description,60.2 -1838,I7N3G6G,1838,1,no description,60.2 -1839,I7N3G6G,1839,1,no description,60.2 -1840,I7N3G6G,1840,1,no description,60.2 -1841,I7N3G6G,1841,1,no description,60.2 -1842,I7N3G6G,1842,1,no description,60.2 -1843,I7N3G6G,1843,1,no description,60.2 -1844,I7N3G6G,1844,1,no description,60.2 -1845,I7N3G6G,1845,1,no description,60.2 -1846,I7N3G6G,1846,1,no description,60.2 -1847,I7N3G6G,1847,1,no description,60.2 -1848,I7N3G6G,1848,1,no description,60.2 -1849,I7N3G6G,1849,1,no description,60.2 -1850,I7N3G6G,1850,1,no description,60.2 -1851,I7N3G6G,1851,1,no description,60.2 -1852,I7N3G6G,1852,1,no description,60.2 -1853,I7N3G6G,1853,1,no description,60.2 -1854,I7N3G6G,1854,1,no description,60.2 -1855,I7N3G6G,1855,1,no description,60.2 -1856,I7N3G6G,1856,1,no description,60.2 -1857,I7N3G6G,1857,1,no description,60.2 -1858,I7N3G6G,1858,1,no description,60.2 -1859,I7N3G6G,1859,1,no description,60.2 -1860,I7N3G6G,1860,1,no description,60.2 -1861,I7N3G6G,1861,1,no description,60.2 -1862,I7N3G6G,1862,1,no description,60.2 -1863,I7N3G6G,1863,1,no description,60.2 -1864,I7N3G6G,1864,1,no description,60.2 -1865,I7N3G6G,1865,1,no description,60.2 -1866,I7N3G6G,1866,1,no description,60.2 -1867,I7N3G6G,1867,1,no description,60.2 -1868,I7N3G6G,1868,1,no description,60.2 -1869,I7N3G6G,1869,1,no description,60.2 -1870,I7N3G6G,1870,1,no description,60.2 -1871,I7N3G6G,1871,1,no description,60.2 -1872,I7N3G6G,1872,1,no description,60.2 -1873,I7N3G6G,1873,1,no description,60.2 -1874,I7N3G6G,1874,1,no description,60.2 -1875,I7N3G6G,1875,1,no description,60.2 -1876,I7N3G6G,1876,1,no description,60.2 -1877,I7N3G6G,1877,1,no description,60.2 -1878,I7N3G6G,1878,1,no description,60.2 -1879,I7N3G6G,1879,1,no description,60.2 -1880,I7N3G6G,1880,1,no description,60.2 -1881,I7N3G6G,1881,1,no description,60.2 -1882,I7N3G6G,1882,1,no description,60.2 -1883,I7N3G6G,1883,1,no description,60.2 -1884,I7N3G6G,1884,1,no description,60.2 -1885,I7N3G6G,1885,1,no description,60.2 -1886,I7N3G6G,1886,1,no description,60.2 -1887,I7N3G6G,1887,1,no description,60.2 -1888,I7N3G6G,1888,1,no description,60.2 -1889,I7N3G6G,1889,1,no description,60.2 -1890,I7N3G6G,1890,1,no description,60.2 -1891,I7N3G6G,1891,1,no description,60.2 -1892,I7N3G6G,1892,1,no description,60.2 -1893,I7N3G6G,1893,1,no description,60.2 -1894,I7N3G6G,1894,1,no description,60.2 -1895,I7N3G6G,1895,1,no description,60.2 -1896,I7N3G6G,1896,1,no description,60.2 -1897,I7N3G6G,1897,1,no description,60.2 -1898,I7N3G6G,1898,1,no description,60.2 -1899,I7N3G6G,1899,1,no description,60.2 -1900,I7N3G6G,1900,1,no description,60.2 -1901,I7N3G6G,1901,1,no description,60.2 -1902,I7N3G6G,1902,1,no description,60.2 -1903,I7N3G6G,1903,1,no description,60.2 -1904,I7N3G6G,1904,1,no description,60.2 -1905,I7N3G6G,1905,1,no description,60.2 -1906,I7N3G6G,1906,1,no description,60.2 -1907,I7N3G6G,1907,1,no description,60.2 -1908,I7N3G6G,1908,1,no description,60.2 -1909,I7N3G6G,1909,1,no description,60.2 -1910,I7N3G6G,1910,1,no description,60.2 -1911,I7N3G6G,1911,1,no description,60.2 -1912,I7N3G6G,1912,1,no description,60.2 -1913,I7N3G6G,1913,1,no description,60.2 -1914,I7N3G6G,1914,1,no description,60.2 -1915,I7N3G6G,1915,1,no description,60.2 -1916,I7N3G6G,1916,1,no description,60.2 -1917,I7N3G6G,1917,1,no description,60.2 -1918,I7N3G6G,1918,1,no description,60.2 -1919,I7N3G6G,1919,1,no description,60.2 -1920,I7N3G6G,1920,1,no description,60.2 -1921,I7N3G6G,1921,1,no description,60.2 -1922,I7N3G6G,1922,1,no description,60.2 -1923,I7N3G6G,1923,1,no description,60.2 -1924,I7N3G6G,1924,1,no description,60.2 -1925,I7N3G6G,1925,1,no description,60.2 -1926,I7N3G6G,1926,1,no description,60.2 -1927,I7N3G6G,1927,1,no description,60.2 -1928,I7N3G6G,1928,1,no description,60.2 -1929,I7N3G6G,1929,1,no description,60.2 -1930,I7N3G6G,1930,1,no description,60.2 -1931,I7N3G6G,1931,1,no description,60.2 -1932,I7N3G6G,1932,1,no description,60.2 -1933,I7N3G6G,1933,1,no description,60.2 -1934,I7N3G6G,1934,1,no description,60.2 -1935,I7N3G6G,1935,1,no description,60.2 -1936,I7N3G6G,1936,1,no description,60.2 -1937,I7N3G6G,1937,1,no description,60.2 -1938,I7N3G6G,1938,1,no description,60.2 -1939,I7N3G6G,1939,1,no description,60.2 -1940,I7N3G6G,1940,1,no description,60.2 -1941,I7N3G6G,1941,1,no description,60.2 -1942,I7N3G6G,1942,1,no description,60.2 -1943,I7N3G6G,1943,1,no description,60.2 -1944,I7N3G6G,1944,1,no description,60.2 -1945,I7N3G6G,1945,1,no description,60.2 -1946,I7N3G6G,1946,1,no description,60.2 -1947,I7N3G6G,1947,1,no description,60.2 -1948,I7N3G6G,1948,1,no description,60.2 -1949,I7N3G6G,1949,1,no description,60.2 -1950,I7N3G6G,1950,1,no description,60.2 -1951,I7N3G6G,1951,1,no description,60.2 -1952,I7N3G6G,1952,1,no description,60.2 -1953,I7N3G6G,1953,1,no description,60.2 -1954,I7N3G6G,1954,1,no description,60.2 -1955,I7N3G6G,1955,1,no description,60.2 -1956,I7N3G6G,1956,1,no description,60.2 -1957,I7N3G6G,1957,1,no description,60.2 -1958,I7N3G6G,1958,1,no description,60.2 -1959,I7N3G6G,1959,1,no description,60.2 -1960,I7N3G6G,1960,1,no description,60.2 -1961,I7N3G6G,1961,1,no description,60.2 -1962,I7N3G6G,1962,1,no description,60.2 -1963,I7N3G6G,1963,1,no description,60.2 -1964,I7N3G6G,1964,1,no description,60.2 -1965,I7N3G6G,1965,1,no description,60.2 -1966,I7N3G6G,1966,1,no description,60.2 -1967,I7N3G6G,1967,1,no description,60.2 -1968,I7N3G6G,1968,1,no description,60.2 -1969,I7N3G6G,1969,1,no description,60.2 -1970,I7N3G6G,1970,1,no description,60.2 -1971,I7N3G6G,1971,1,no description,60.2 -1972,I7N3G6G,1972,1,no description,60.2 -1973,I7N3G6G,1973,1,no description,60.2 -1974,I7N3G6G,1974,1,no description,60.2 -1975,I7N3G6G,1975,1,no description,60.2 -1976,I7N3G6G,1976,1,no description,60.2 -1977,I7N3G6G,1977,1,no description,60.2 -1978,I7N3G6G,1978,1,no description,60.2 -1979,I7N3G6G,1979,1,no description,60.2 -1980,I7N3G6G,1980,1,no description,60.2 -1981,I7N3G6G,1981,1,no description,60.2 -1982,I7N3G6G,1982,1,no description,60.2 -1983,I7N3G6G,1983,1,no description,60.2 -1984,I7N3G6G,1984,1,no description,60.2 -1985,I7N3G6G,1985,1,no description,60.2 -1986,I7N3G6G,1986,1,no description,60.2 -1987,I7N3G6G,1987,1,no description,60.2 -1988,I7N3G6G,1988,1,no description,60.2 -1989,I7N3G6G,1989,1,no description,60.2 -1990,I7N3G6G,1990,1,no description,60.2 -1991,I7N3G6G,1991,1,no description,60.2 -1992,I7N3G6G,1992,1,no description,60.2 -1993,I7N3G6G,1993,1,no description,60.2 -1994,I7N3G6G,1994,1,no description,60.2 -1995,I7N3G6G,1995,1,no description,60.2 -1996,I7N3G6G,1996,1,no description,60.2 -1997,I7N3G6G,1997,1,no description,60.2 -1998,I7N3G6G,1998,1,no description,60.2 -1999,I7N3G6G,1999,1,no description,60.2 -2000,I7N3G6G,2000,1,no description,60.2 -2001,I7N3G6G,2001,1,no description,60.2 -2002,I7N3G6G,2002,1,no description,60.2 -2003,I7N3G6G,2003,1,no description,60.2 -2004,I7N3G6G,2004,1,no description,60.2 -2005,I7N3G6G,2005,1,no description,60.2 -2006,I7N3G6G,2006,1,no description,60.2 -2007,I7N3G6G,2007,1,no description,60.2 -2008,I7N3G6G,2008,1,no description,60.2 -2009,I7N3G6G,2009,1,no description,60.2 -2010,I7N3G6G,2010,1,no description,60.2 -2011,I7N3G6G,2011,1,no description,60.2 -2012,I7N3G6G,2012,1,no description,60.2 -2013,I7N3G6G,2013,1,no description,60.2 -2014,I7N3G6G,2014,1,no description,60.2 -2015,I7N3G6G,2015,1,no description,60.2 -2016,I7N3G6G,2016,1,no description,60.2 -2017,I7N3G6G,2017,1,no description,60.2 -2018,I7N3G6G,2018,1,no description,60.2 -2019,I7N3G6G,2019,1,no description,60.2 -2020,I7N3G6G,2020,1,no description,60.2 -2021,I7N3G6G,2021,1,no description,60.2 -2022,I7N3G6G,2022,1,no description,60.2 -2023,I7N3G6G,2023,1,no description,60.2 -2024,I7N3G6G,2024,1,no description,60.2 -2025,I7N3G6G,2025,1,no description,60.2 -2026,I7N3G6G,2026,1,no description,60.2 -2027,I7N3G6G,2027,1,no description,60.2 -2028,I7N3G6G,2028,1,no description,60.2 -2029,I7N3G6G,2029,1,no description,60.2 -2030,I7N3G6G,2030,1,no description,60.2 -2031,I7N3G6G,2031,1,no description,60.2 -2032,I7N3G6G,2032,1,no description,60.2 -2033,I7N3G6G,2033,1,no description,60.2 -2034,I7N3G6G,2034,1,no description,60.2 -2035,I7N3G6G,2035,1,no description,60.2 -2036,I7N3G6G,2036,1,no description,60.2 -2037,I7N3G6G,2037,1,no description,60.2 -2038,I7N3G6G,2038,1,no description,60.2 -2039,I7N3G6G,2039,1,no description,60.2 -2040,I7N3G6G,2040,1,no description,60.2 -2041,I7N3G6G,2041,1,no description,60.2 -2042,I7N3G6G,2042,1,no description,60.2 -2043,I7N3G6G,2043,1,no description,60.2 -2044,I7N3G6G,2044,1,no description,60.2 -2045,I7N3G6G,2045,1,no description,60.2 -2046,I7N3G6G,2046,1,no description,60.2 -2047,I7N3G6G,2047,1,no description,60.2 -2048,I7N3G6G,2048,1,no description,60.2 -2049,I7N3G6G,2049,1,no description,60.2 -2050,I7N3G6G,2050,1,no description,60.2 -2051,I7N3G6G,2051,1,no description,60.2 -2052,I7N3G6G,2052,1,no description,60.2 -2053,I7N3G6G,2053,1,no description,60.2 -2054,I7N3G6G,2054,1,no description,60.2 -2055,I7N3G6G,2055,1,no description,60.2 -2056,I7N3G6G,2056,1,no description,60.2 -2057,I7N3G6G,2057,1,no description,60.2 -2058,I7N3G6G,2058,1,no description,60.2 -2059,I7N3G6G,2059,1,no description,60.2 -2060,I7N3G6G,2060,1,no description,60.2 -2061,I7N3G6G,2061,1,no description,60.2 -2062,I7N3G6G,2062,1,no description,60.2 -2063,I7N3G6G,2063,1,no description,60.2 -2064,I7N3G6G,2064,1,no description,60.2 -2065,I7N3G6G,2065,1,no description,60.2 -2066,I7N3G6G,2066,1,no description,60.2 -2067,I7N3G6G,2067,1,no description,60.2 -2068,I7N3G6G,2068,1,no description,60.2 -2069,I7N3G6G,2069,1,no description,60.2 -2070,I7N3G6G,2070,1,no description,60.2 -2071,I7N3G6G,2071,1,no description,60.2 -2072,I7N3G6G,2072,1,no description,60.2 -2073,I7N3G6G,2073,1,no description,60.2 -2074,I7N3G6G,2074,1,no description,60.2 -2075,I7N3G6G,2075,1,no description,60.2 -2076,I7N3G6G,2076,1,no description,60.2 -2077,I7N3G6G,2077,1,no description,60.2 -2078,I7N3G6G,2078,1,no description,60.2 -2079,I7N3G6G,2079,1,no description,60.2 -2080,I7N3G6G,2080,1,no description,60.2 -2081,I7N3G6G,2081,1,no description,60.2 -2082,I7N3G6G,2082,1,no description,60.2 -2083,I7N3G6G,2083,1,no description,60.2 -2084,I7N3G6G,2084,1,no description,60.2 -2085,I7N3G6G,2085,1,no description,60.2 -2086,I7N3G6G,2086,1,no description,60.2 -2087,I7N3G6G,2087,1,no description,60.2 -2088,I7N3G6G,2088,1,no description,60.2 -2089,I7N3G6G,2089,1,no description,60.2 -2090,I7N3G6G,2090,1,no description,60.2 -2091,I7N3G6G,2091,1,no description,60.2 -2092,I7N3G6G,2092,1,no description,60.2 -2093,I7N3G6G,2093,1,no description,60.2 -2094,I7N3G6G,2094,1,no description,60.2 -2095,I7N3G6G,2095,1,no description,60.2 -2096,I7N3G6G,2096,1,no description,60.2 -2097,I7N3G6G,2097,1,no description,60.2 -2098,I7N3G6G,2098,1,no description,60.2 -2099,I7N3G6G,2099,1,no description,60.2 -2100,I7N3G6G,2100,1,no description,60.2 -2101,I7N3G6G,2101,1,no description,60.2 -2102,I7N3G6G,2102,1,no description,60.2 -2103,I7N3G6G,2103,1,no description,60.2 -2104,I7N3G6G,2104,1,no description,60.2 -2105,I7N3G6G,2105,1,no description,60.2 -2106,I7N3G6G,2106,1,no description,60.2 -2107,I7N3G6G,2107,1,no description,60.2 -2108,I7N3G6G,2108,1,no description,60.2 -2109,I7N3G6G,2109,1,no description,60.2 -2110,I7N3G6G,2110,1,no description,60.2 -2111,I7N3G6G,2111,1,no description,60.2 -2112,I7N3G6G,2112,1,no description,60.2 -2113,I7N3G6G,2113,1,no description,60.2 -2114,I7N3G6G,2114,1,no description,60.2 -2115,I7N3G6G,2115,1,no description,60.2 -2116,I7N3G6G,2116,1,no description,60.2 -2117,I7N3G6G,2117,1,no description,60.2 -2118,I7N3G6G,2118,1,no description,60.2 -2119,I7N3G6G,2119,1,no description,60.2 -2120,I7N3G6G,2120,1,no description,60.2 -2121,I7N3G6G,2121,1,no description,60.2 -2122,I7N3G6G,2122,1,no description,60.2 -2123,I7N3G6G,2123,1,no description,60.2 -2124,I7N3G6G,2124,1,no description,60.2 -2125,I7N3G6G,2125,1,no description,60.2 -2126,I7N3G6G,2126,1,no description,60.2 -2127,I7N3G6G,2127,1,no description,60.2 -2128,I7N3G6G,2128,1,no description,60.2 -2129,I7N3G6G,2129,1,no description,60.2 -2130,I7N3G6G,2130,1,no description,60.2 -2131,I7N3G6G,2131,1,no description,60.2 -2132,I7N3G6G,2132,1,no description,60.2 -2133,I7N3G6G,2133,1,no description,60.2 -2134,I7N3G6G,2134,1,no description,60.2 -2135,I7N3G6G,2135,1,no description,60.2 -2136,I7N3G6G,2136,1,no description,60.2 -2137,I7N3G6G,2137,1,no description,60.2 -2138,I7N3G6G,2138,1,no description,60.2 -2139,I7N3G6G,2139,1,no description,60.2 -2140,I7N3G6G,2140,1,no description,60.2 -2141,I7N3G6G,2141,1,no description,60.2 -2142,I7N3G6G,2142,1,no description,60.2 -2143,I7N3G6G,2143,1,no description,60.2 -2144,I7N3G6G,2144,1,no description,60.2 -2145,I7N3G6G,2145,1,no description,60.2 -2146,I7N3G6G,2146,1,no description,60.2 -2147,I7N3G6G,2147,1,no description,60.2 -2148,I7N3G6G,2148,1,no description,60.2 -2149,I7N3G6G,2149,1,no description,60.2 -2150,I7N3G6G,2150,1,no description,60.2 -2151,I7N3G6G,2151,1,no description,60.2 -2152,I7N3G6G,2152,1,no description,60.2 -2153,I7N3G6G,2153,1,no description,60.2 -2154,I7N3G6G,2154,1,no description,60.2 -2155,I7N3G6G,2155,1,no description,60.2 -2156,I7N3G6G,2156,1,no description,60.2 -2157,I7N3G6G,2157,1,no description,60.2 -2158,I7N3G6G,2158,1,no description,60.2 -2159,I7N3G6G,2159,1,no description,60.2 -2160,I7N3G6G,2160,1,no description,60.2 -2161,I7N3G6G,2161,1,no description,60.2 -2162,I7N3G6G,2162,1,no description,60.2 -2163,I7N3G6G,2163,1,no description,60.2 -2164,I7N3G6G,2164,1,no description,60.2 -2165,I7N3G6G,2165,1,no description,60.2 -2166,I7N3G6G,2166,1,no description,60.2 -2167,I7N3G6G,2167,1,no description,60.2 -2168,I7N3G6G,2168,1,no description,60.2 -2169,I7N3G6G,2169,1,no description,60.2 -2170,I7N3G6G,2170,1,no description,60.2 -2171,I7N3G6G,2171,1,no description,60.2 -2172,I7N3G6G,2172,1,no description,60.2 -2173,I7N3G6G,2173,1,no description,60.2 -2174,I7N3G6G,2174,1,no description,60.2 -2175,I7N3G6G,2175,1,no description,60.2 -2176,I7N3G6G,2176,1,no description,60.2 -2177,I7N3G6G,2177,1,no description,60.2 -2178,I7N3G6G,2178,1,no description,60.2 -2179,I7N3G6G,2179,1,no description,60.2 -2180,I7N3G6G,2180,1,no description,60.2 -2181,I7N3G6G,2181,1,no description,60.2 -2182,I7N3G6G,2182,1,no description,60.2 -2183,I7N3G6G,2183,1,no description,60.2 -2184,I7N3G6G,2184,1,no description,60.2 -2185,I7N3G6G,2185,1,no description,60.2 -2186,I7N3G6G,2186,1,no description,60.2 -2187,I7N3G6G,2187,1,no description,60.2 -2188,I7N3G6G,2188,1,no description,60.2 -2189,I7N3G6G,2189,1,no description,60.2 -2190,I7N3G6G,2190,1,no description,60.2 -2191,I7N3G6G,2191,1,no description,60.2 -2192,I7N3G6G,2192,1,no description,60.2 -2193,I7N3G6G,2193,1,no description,60.2 -2194,I7N3G6G,2194,1,no description,60.2 -2195,I7N3G6G,2195,1,no description,60.2 -2196,I7N3G6G,2196,1,no description,60.2 -2197,I7N3G6G,2197,1,no description,60.2 -2198,I7N3G6G,2198,1,no description,60.2 -2199,I7N3G6G,2199,1,no description,60.2 -2200,I7N3G6G,2200,1,no description,60.2 -2201,I7N3G6G,2201,1,no description,60.2 -2202,I7N3G6G,2202,1,no description,60.2 -2203,I7N3G6G,2203,1,no description,60.2 -2204,I7N3G6G,2204,1,no description,60.2 -2205,I7N3G6G,2205,1,no description,60.2 -2206,I7N3G6G,2206,1,no description,60.2 -2207,I7N3G6G,2207,1,no description,60.2 -2208,I7N3G6G,2208,1,no description,60.2 -2209,I7N3G6G,2209,1,no description,60.2 -2210,I7N3G6G,2210,1,no description,60.2 -2211,I7N3G6G,2211,1,no description,60.2 -2212,I7N3G6G,2212,1,no description,60.2 -2213,I7N3G6G,2213,1,no description,60.2 -2214,I7N3G6G,2214,1,no description,60.2 -2215,I7N3G6G,2215,1,no description,60.2 -2216,I7N3G6G,2216,1,no description,60.2 -2217,I7N3G6G,2217,1,no description,60.2 -2218,I7N3G6G,2218,1,no description,60.2 -2219,I7N3G6G,2219,1,no description,60.2 -2220,I7N3G6G,2220,1,no description,60.2 -2221,I7N3G6G,2221,1,no description,60.2 -2222,I7N3G6G,2222,1,no description,60.2 -2223,I7N3G6G,2223,1,no description,60.2 -2224,I7N3G6G,2224,1,no description,60.2 -2225,I7N3G6G,2225,1,no description,60.2 -2226,I7N3G6G,2226,1,no description,60.2 diff --git a/packages/itmat-job-executor/test/testFiles/CSVCurator_error4.tsv b/packages/itmat-job-executor/test/testFiles/CSVCurator_error4.tsv deleted file mode 100644 index 0a2a61fbc..000000000 --- a/packages/itmat-job-executor/test/testFiles/CSVCurator_error4.tsv +++ /dev/null @@ -1,2227 +0,0 @@ -ID,SubjectID,VisitID,Sex,Description,Weight -1,I7N3G6G,1,0,no description,60.2 -2,I7N3G6G,2,1,no description,60.2 -3,I7N3G6G,3,1,no description,60.2 -4,I7N3G6G,4,1,no description,60.2 -5,I7N3G6G,5,1,no description,60.2 -6,I7N3G6G,6,1,no description,60.2 -7,I7N3G6G,7,1,no description,60.2 -8,I7N3G6G,8,1,no description,60.2 -9,I7N3G6G,9,1,no description,60.2 -10,I7N3G6G,10,1,no description,60.2 -11,I7N3G6G,11,1,no description,60.2 -12,I7N3G6G,12,1,no description,60.2 -13,I7N3G6G,13,1,no description,60.2 -14,I7N3G6G,14,1,no description,60.2 -15,I7N3G6G,15,1,no description,60.2 -16,I7N3G6G,16,1,no description,60.2 -17,I7N3G6G,17,1,no description,60.2 -18,I7N3G6G,18,1,no description,60.2 -19,I7N3G6G,19,1,no description,60.2 -20,I7N3G6G,20,1,no description,60.2 -21,I7N3G6G,21,1,no description,60.2 -22,I7N3G6G,22,1,no description,60.2 -23,I7N3G6G,23,1,no description,60.2 -24,I7N3G6G,24,1,no description,60.2 -25,I7N3G6G,25,1,no description,60.2 -26,I7N3G6G,26,1,no description,60.2 -27,I7N3G6G,27,1,no description,60.2 -28,I7N3G6G,28,1,no description,60.2 -29,I7N3G6G,29,1,no description,60.2 -30,I7N3G6G,30,1,no description,60.2 -31,I7N3G6G,31,1,no description,60.2 -32,I7N3G6G,32,1,no description,60.2 -33,I7N3G6G,33,1,no description,60.2 -34,I7N3G6G,34,1,no description,60.2 -35,I7N3G6G,35,1,no description,60.2 -36,I7N3G6G,36,1,no description,60.2 -37,I7N3G6G,37,1,no description,60.2 -38,I7N3G6G,38,1,no description,60.2 -39,I7N3G6G,39,1,no description,60.2 -40,I7N3G6G,40,1,no description,60.2 -41,I7N3G6G,41,1,no description,60.2 -42,I7N3G6G,42,1,no description,60.2 -43,I7N3G6G,43,1,no description,60.2 -44,I7N3G6G,44,1,no description,60.2 -45,I7N3G6G,45,1,no description,60.2 -46,I7N3G6G,46,1,no description,60.2 -47,I7N3G6G,47,1,no description,60.2 -48,I7N3G6G,48,1,no description,60.2 -49,I7N3G6G,49,1,no description,60.2 -50,I7N3G6G,50,1,no description,60.2 -51,I7N3G6G,51,1,no description,60.2 -52,I7N3G6G,52,1,no description,60.2 -53,I7N3G6G,53,1,no description,60.2 -54,I7N3G6G,54,1,no description,60.2 -55,I7N3G6G,55,1,no description,60.2 -56,I7N3G6G,56,1,no description,60.2 -57,I7N3G6G,57,1,no description,60.2 -58,I7N3G6G,58,1,no description,60.2 -59,I7N3G6G,59,1,no description,60.2 -60,I7N3G6G,60,1,no description,60.2 -61,I7N3G6G,61,1,no description,60.2 -62,I7N3G6G,62,1,no description,60.2 -63,I7N3G6G,63,1,no description,60.2 -64,I7N3G6G,64,1,no description,60.2 -65,I7N3G6G,65,1,no description,60.2 -66,I7N3G6G,66,1,no description,60.2 -67,I7N3G6G,67,1,no description,60.2 -68,I7N3G6G,68,1,no description,60.2 -69,I7N3G6G,69,1,no description,60.2 -70,I7N3G6G,70,1,no description,60.2 -71,I7N3G6G,71,1,no description,60.2 -72,I7N3G6G,72,1,no description,60.2 -73,I7N3G6G,73,1,no description,60.2 -74,I7N3G6G,74,1,no description,60.2 -75,I7N3G6G,75,1,no description,60.2 -76,I7N3G6G,76,1,no description,60.2 -77,I7N3G6G,77,1,no description,60.2 -78,I7N3G6G,78,1,no description,60.2 -79,I7N3G6G,79,1,no description,60.2 -80,I7N3G6G,80,1,no description,60.2 -81,I7N3G6G,81,1,no description,60.2 -82,I7N3G6G,82,1,no description,60.2 -83,I7N3G6G,83,1,no description,60.2 -84,I7N3G6G,84,1,no description,60.2 -85,I7N3G6G,85,1,no description,60.2 -86,I7N3G6G,86,1,no description,60.2 -87,I7N3G6G,87,1,no description,60.2 -88,I7N3G6G,88,1,no description,60.2 -89,I7N3G6G,89,1,no description,60.2 -90,I7N3G6G,90,1,no description,60.2 -91,I7N3G6G,91,1,no description,60.2 -92,I7N3G6G,92,1,no description,60.2 -93,I7N3G6G,93,1,no description,60.2 -94,I7N3G6G,94,1,no description,60.2 -95,I7N3G6G,95,1,no description,60.2 -96,I7N3G6G,96,1,no description,60.2 -97,I7N3G6G,97,1,no description,60.2 -98,I7N3G6G,98,1,no description,60.2 -99,I7N3G6G,99,1,no description,60.2 -100,I7N3G6G,100,1,no description,60.2 -101,I7N3G6G,101,1,no description,60.2 -102,I7N3G6G,102,1,no description,60.2 -103,I7N3G6G,103,1,no description,60.2 -104,I7N3G6G,104,1,no description,60.2 -105,I7N3G6G,105,1,no description,60.2 -106,I7N3G6G,106,1,no description,60.2 -107,I7N3G6G,107,1,no description,60.2 -108,I7N3G6G,108,1,no description,60.2 -109,I7N3G6G,109,1,no description,60.2 -110,I7N3G6G,110,1,no description,60.2 -111,I7N3G6G,111,1,no description,60.2 -112,I7N3G6G,112,1,no description,60.2 -113,I7N3G6G,113,1,no description,60.2 -114,I7N3G6G,114,1,no description,60.2 -115,I7N3G6G,115,1,no description,60.2 -116,I7N3G6G,116,1,no description,60.2 -117,I7N3G6G,117,1,no description,60.2 -118,I7N3G6G,118,1,no description,60.2 -119,I7N3G6G,119,1,no description,60.2 -120,I7N3G6G,120,1,no description,60.2 -121,I7N3G6G,121,1,no description,60.2 -122,I7N3G6G,122,1,no description,60.2 -123,I7N3G6G,123,1,no description,60.2 -124,I7N3G6G,124,1,no description,60.2 -125,I7N3G6G,125,1,no description,60.2 -126,I7N3G6G,126,1,no description,60.2 -127,I7N3G6G,127,1,no description,60.2 -128,I7N3G6G,128,1,no description,60.2 -129,I7N3G6G,129,1,no description,60.2 -130,I7N3G6G,130,1,no description,60.2 -131,I7N3G6G,131,1,no description,60.2 -132,I7N3G6G,132,1,no description,60.2 -133,I7N3G6G,133,1,no description,60.2 -134,I7N3G6G,134,1,no description,60.2 -135,I7N3G6G,135,1,no description,60.2 -136,I7N3G6G,136,1,no description,60.2 -137,I7N3G6G,137,1,no description,60.2 -138,I7N3G6G,138,1,no description,60.2 -139,I7N3G6G,139,1,no description,60.2 -140,I7N3G6G,140,1,no description,60.2 -141,I7N3G6G,141,1,no description,60.2 -142,I7N3G6G,142,1,no description,60.2 -143,I7N3G6G,143,1,no description,60.2 -144,I7N3G6G,144,1,no description,60.2 -145,I7N3G6G,145,1,no description,60.2 -146,I7N3G6G,146,1,no description,60.2 -147,I7N3G6G,147,1,no description,60.2 -148,I7N3G6G,148,1,no description,60.2 -149,I7N3G6G,149,1,no description,60.2 -150,I7N3G6G,150,1,no description,60.2 -151,I7N3G6G,151,1,no description,60.2 -152,I7N3G6G,152,1,no description,60.2 -153,I7N3G6G,153,1,no description,60.2 -154,I7N3G6G,154,1,no description,60.2 -155,I7N3G6G,155,1,no description,60.2 -156,I7N3G6G,156,1,no description,60.2 -157,I7N3G6G,157,1,no description,60.2 -158,I7N3G6G,158,1,no description,60.2 -159,I7N3G6G,159,1,no description,60.2 -160,I7N3G6G,160,1,no description,60.2 -161,I7N3G6G,161,1,no description,60.2 -162,I7N3G6G,162,1,no description,60.2 -163,I7N3G6G,163,1,no description,60.2 -164,I7N3G6G,164,1,no description,60.2 -165,I7N3G6G,165,1,no description,60.2 -166,I7N3G6G,166,1,no description,60.2 -167,I7N3G6G,167,1,no description,60.2 -168,I7N3G6G,168,1,no description,60.2 -169,I7N3G6G,169,1,no description,60.2 -170,I7N3G6G,170,1,no description,60.2 -171,I7N3G6G,171,1,no description,60.2 -172,I7N3G6G,172,1,no description,60.2 -173,I7N3G6G,173,1,no description,60.2 -174,I7N3G6G,174,1,no description,60.2 -175,I7N3G6G,175,1,no description,60.2 -176,I7N3G6G,176,1,no description,60.2 -177,I7N3G6G,177,1,no description,60.2 -178,I7N3G6G,178,1,no description,60.2 -179,I7N3G6G,179,1,no description,60.2 -180,I7N3G6G,180,1,no description,60.2 -181,I7N3G6G,181,1,no description,60.2 -182,I7N3G6G,182,1,no description,60.2 -183,I7N3G6G,183,1,no description,60.2 -184,I7N3G6G,184,1,no description,60.2 -185,I7N3G6G,185,1,no description,60.2 -186,I7N3G6G,186,1,no description,60.2 -187,I7N3G6G,187,1,no description,60.2 -188,I7N3G6G,188,1,no description,60.2 -189,I7N3G6G,189,1,no description,60.2 -190,I7N3G6G,190,1,no description,60.2 -191,I7N3G6G,191,1,no description,60.2 -192,I7N3G6G,192,1,no description,60.2 -193,I7N3G6G,193,1,no description,60.2 -194,I7N3G6G,194,1,no description,60.2 -195,I7N3G6G,195,1,no description,60.2 -196,I7N3G6G,196,1,no description,60.2 -197,I7N3G6G,197,1,no description,60.2 -198,I7N3G6G,198,1,no description,60.2 -199,I7N3G6G,199,1,no description,60.2 -200,I7N3G6G,200,1,no description,60.2 -201,I7N3G6G,201,1,no description,60.2 -202,I7N3G6G,202,1,no description,60.2 -203,I7N3G6G,203,1,no description,60.2 -204,I7N3G6G,204,1,no description,60.2 -205,I7N3G6G,205,1,no description,60.2 -206,I7N3G6G,206,1,no description,60.2 -207,I7N3G6G,207,1,no description,60.2 -208,I7N3G6G,208,1,no description,60.2 -209,I7N3G6G,209,1,no description,60.2 -210,I7N3G6G,210,1,no description,60.2 -211,I7N3G6G,211,1,no description,60.2 -212,I7N3G6G,212,1,no description,60.2 -213,I7N3G6G,213,1,no description,60.2 -214,I7N3G6G,214,1,no description,60.2 -215,I7N3G6G,215,1,no description,60.2 -216,I7N3G6G,216,1,no description,60.2 -217,I7N3G6G,217,1,no description,60.2 -218,I7N3G6G,218,1,no description,60.2 -219,I7N3G6G,219,1,no description,60.2 -220,I7N3G6G,220,1,no description,60.2 -221,I7N3G6G,221,1,no description,60.2 -222,I7N3G6G,222,1,no description,60.2 -223,I7N3G6G,223,1,no description,60.2 -224,I7N3G6G,224,1,no description,60.2 -225,I7N3G6G,225,1,no description,60.2 -226,I7N3G6G,226,1,no description,60.2 -227,I7N3G6G,227,1,no description,60.2 -228,I7N3G6G,228,1,no description,60.2 -229,I7N3G6G,229,1,no description,60.2 -230,I7N3G6G,230,1,no description,60.2 -231,I7N3G6G,231,1,no description,60.2 -232,I7N3G6G,232,1,no description,60.2 -233,I7N3G6G,233,1,no description,60.2 -234,I7N3G6G,234,1,no description,60.2 -235,I7N3G6G,235,1,no description,60.2 -236,I7N3G6G,236,1,no description,60.2 -237,I7N3G6G,237,1,no description,60.2 -238,I7N3G6G,238,1,no description,60.2 -239,I7N3G6G,239,1,no description,60.2 -240,I7N3G6G,240,1,no description,60.2 -241,I7N3G6G,241,1,no description,60.2 -242,I7N3G6G,242,1,no description,60.2 -243,I7N3G6G,243,1,no description,60.2 -244,I7N3G6G,244,1,no description,60.2 -245,I7N3G6G,245,1,no description,60.2 -246,I7N3G6G,246,1,no description,60.2 -247,I7N3G6G,247,1,no description,60.2 -248,I7N3G6G,248,1,no description,60.2 -249,I7N3G6G,249,1,no description,60.2 -250,I7N3G6G,250,1,no description,60.2 -251,I7N3G6G,251,1,no description,60.2 -252,I7N3G6G,252,1,no description,60.2 -253,I7N3G6G,253,1,no description,60.2 -254,I7N3G6G,254,1,no description,60.2 -255,I7N3G6G,255,1,no description,60.2 -256,I7N3G6G,256,1,no description,60.2 -257,I7N3G6G,257,1,no description,60.2 -258,I7N3G6G,258,1,no description,60.2 -259,I7N3G6G,259,1,no description,60.2 -260,I7N3G6G,260,1,no description,60.2 -261,I7N3G6G,261,1,no description,60.2 -262,I7N3G6G,262,1,no description,60.2 -263,I7N3G6G,263,1,no description,60.2 -264,I7N3G6G,264,1,no description,60.2 -265,I7N3G6G,265,1,no description,60.2 -266,I7N3G6G,266,1,no description,60.2 -267,I7N3G6G,267,1,no description,60.2 -268,I7N3G6G,268,1,no description,60.2 -269,I7N3G6G,269,1,no description,60.2 -270,I7N3G6G,270,1,no description,60.2 -271,I7N3G6G,271,1,no description,60.2 -272,I7N3G6G,272,1,no description,60.2 -273,I7N3G6G,273,1,no description,60.2 -274,I7N3G6G,274,1,no description,60.2 -275,I7N3G6G,275,1,no description,60.2 -276,I7N3G6G,276,1,no description,60.2 -277,I7N3G6G,277,1,no description,60.2 -278,I7N3G6G,278,1,no description,60.2 -279,I7N3G6G,279,1,no description,60.2 -280,I7N3G6G,280,1,no description,60.2 -281,I7N3G6G,281,1,no description,60.2 -282,I7N3G6G,282,1,no description,60.2 -283,I7N3G6G,283,1,no description,60.2 -284,I7N3G6G,284,1,no description,60.2 -285,I7N3G6G,285,1,no description,60.2 -286,I7N3G6G,286,1,no description,60.2 -287,I7N3G6G,287,1,no description,60.2 -288,I7N3G6G,288,1,no description,60.2 -289,I7N3G6G,289,1,no description,60.2 -290,I7N3G6G,290,1,no description,60.2 -291,I7N3G6G,291,1,no description,60.2 -292,I7N3G6G,292,1,no description,60.2 -293,I7N3G6G,293,1,no description,60.2 -294,I7N3G6G,294,1,no description,60.2 -295,I7N3G6G,295,1,no description,60.2 -296,I7N3G6G,296,1,no description,60.2 -297,I7N3G6G,297,1,no description,60.2 -298,I7N3G6G,298,1,no description,60.2 -299,I7N3G6G,299,1,no description,60.2 -300,I7N3G6G,300,1,no description,60.2 -301,I7N3G6G,301,1,no description,60.2 -302,I7N3G6G,302,1,no description,60.2 -303,I7N3G6G,303,1,no description,60.2 -304,I7N3G6G,304,1,no description,60.2 -305,I7N3G6G,305,1,no description,60.2 -306,I7N3G6G,306,1,no description,60.2 -307,I7N3G6G,307,1,no description,60.2 -308,I7N3G6G,308,1,no description,60.2 -309,I7N3G6G,309,1,no description,60.2 -310,I7N3G6G,310,1,no description,60.2 -311,I7N3G6G,311,1,no description,60.2 -312,I7N3G6G,312,1,no description,60.2 -313,I7N3G6G,313,1,no description,60.2 -314,I7N3G6G,314,1,no description,60.2 -315,I7N3G6G,315,1,no description,60.2 -316,I7N3G6G,316,1,no description,60.2 -317,I7N3G6G,317,1,no description,60.2 -318,I7N3G6G,318,1,no description,60.2 -319,I7N3G6G,319,1,no description,60.2 -320,I7N3G6G,320,1,no description,60.2 -321,I7N3G6G,321,1,no description,60.2 -322,I7N3G6G,322,1,no description,60.2 -323,I7N3G6G,323,1,no description,60.2 -324,I7N3G6G,324,1,no description,60.2 -325,I7N3G6G,325,1,no description,60.2 -326,I7N3G6G,326,1,no description,60.2 -327,I7N3G6G,327,1,no description,60.2 -328,I7N3G6G,328,1,no description,60.2 -329,I7N3G6G,329,1,no description,60.2 -330,I7N3G6G,330,1,no description,60.2 -331,I7N3G6G,331,1,no description,60.2 -332,I7N3G6G,332,1,no description,60.2 -333,I7N3G6G,333,1,no description,60.2 -334,I7N3G6G,334,1,no description,60.2 -335,I7N3G6G,335,1,no description,60.2 -336,I7N3G6G,336,1,no description,60.2 -337,I7N3G6G,337,1,no description,60.2 -338,I7N3G6G,338,1,no description,60.2 -339,I7N3G6G,339,1,no description,60.2 -340,I7N3G6G,340,1,no description,60.2 -341,I7N3G6G,341,1,no description,60.2 -342,I7N3G6G,342,1,no description,60.2 -343,I7N3G6G,343,1,no description,60.2 -344,I7N3G6G,344,1,no description,60.2 -345,I7N3G6G,345,1,no description,60.2 -346,I7N3G6G,346,1,no description,60.2 -347,I7N3G6G,347,1,no description,60.2 -348,I7N3G6G,348,1,no description,60.2 -349,I7N3G6G,349,1,no description,60.2 -350,I7N3G6G,350,1,no description,60.2 -351,I7N3G6G,351,1,no description,60.2 -352,I7N3G6G,352,1,no description,60.2 -353,I7N3G6G,353,1,no description,60.2 -354,I7N3G6G,354,1,no description,60.2 -355,I7N3G6G,355,1,no description,60.2 -356,I7N3G6G,356,1,no description,60.2 -357,I7N3G6G,357,1,no description,60.2 -358,I7N3G6G,358,1,no description,60.2 -359,I7N3G6G,359,1,no description,60.2 -360,I7N3G6G,360,1,no description,60.2 -361,I7N3G6G,361,1,no description,60.2 -362,I7N3G6G,362,1,no description,60.2 -363,I7N3G6G,363,1,no description,60.2 -364,I7N3G6G,364,1,no description,60.2 -365,I7N3G6G,365,1,no description,60.2 -366,I7N3G6G,366,1,no description,60.2 -367,I7N3G6G,367,1,no description,60.2 -368,I7N3G6G,368,1,no description,60.2 -369,I7N3G6G,369,1,no description,60.2 -370,I7N3G6G,370,1,no description,60.2 -371,I7N3G6G,371,1,no description,60.2 -372,I7N3G6G,372,1,no description,60.2 -373,I7N3G6G,373,1,no description,60.2 -374,I7N3G6G,374,1,no description,60.2 -375,I7N3G6G,375,1,no description,60.2 -376,I7N3G6G,376,1,no description,60.2 -377,I7N3G6G,377,1,no description,60.2 -378,I7N3G6G,378,1,no description,60.2 -379,I7N3G6G,379,1,no description,60.2 -380,I7N3G6G,380,1,no description,60.2 -381,I7N3G6G,381,1,no description,60.2 -382,I7N3G6G,382,1,no description,60.2 -383,I7N3G6G,383,1,no description,60.2 -384,I7N3G6G,384,1,no description,60.2 -385,I7N3G6G,385,1,no description,60.2 -386,I7N3G6G,386,1,no description,60.2 -387,I7N3G6G,387,1,no description,60.2 -388,I7N3G6G,388,1,no description,60.2 -389,I7N3G6G,389,1,no description,60.2 -390,I7N3G6G,390,1,no description,60.2 -391,I7N3G6G,391,1,no description,60.2 -392,I7N3G6G,392,1,no description,60.2 -393,I7N3G6G,393,1,no description,60.2 -394,I7N3G6G,394,1,no description,60.2 -395,I7N3G6G,395,1,no description,60.2 -396,I7N3G6G,396,1,no description,60.2 -397,I7N3G6G,397,1,no description,60.2 -398,I7N3G6G,398,1,no description,60.2 -399,I7N3G6G,399,1,no description,60.2 -400,I7N3G6G,400,1,no description,60.2 -401,I7N3G6G,401,1,no description,60.2 -402,I7N3G6G,402,1,no description,60.2 -403,I7N3G6G,403,1,no description,60.2 -404,I7N3G6G,404,1,no description,60.2 -405,I7N3G6G,405,1,no description,60.2 -406,I7N3G6G,406,1,no description,60.2 -407,I7N3G6G,407,1,no description,60.2 -408,I7N3G6G,408,1,no description,60.2 -409,I7N3G6G,409,1,no description,60.2 -410,I7N3G6G,410,1,no description,60.2 -411,I7N3G6G,411,1,no description,60.2 -412,I7N3G6G,412,1,no description,60.2 -413,I7N3G6G,413,1,no description,60.2 -414,I7N3G6G,414,1,no description,60.2 -415,I7N3G6G,415,1,no description,60.2 -416,I7N3G6G,416,1,no description,60.2 -417,I7N3G6G,417,1,no description,60.2 -418,I7N3G6G,418,1,no description,60.2 -419,I7N3G6G,419,1,no description,60.2 -420,I7N3G6G,420,1,no description,60.2 -421,I7N3G6G,421,1,no description,60.2 -422,I7N3G6G,422,1,no description,60.2 -423,I7N3G6G,423,1,no description,60.2 -424,I7N3G6G,424,1,no description,60.2 -425,I7N3G6G,425,1,no description,60.2 -426,I7N3G6G,426,1,no description,60.2 -427,I7N3G6G,427,1,no description,60.2 -428,I7N3G6G,428,1,no description,60.2 -429,I7N3G6G,429,1,no description,60.2 -430,I7N3G6G,430,1,no description,60.2 -431,I7N3G6G,431,1,no description,60.2 -432,I7N3G6G,432,1,no description,60.2 -433,I7N3G6G,433,1,no description,60.2 -434,I7N3G6G,434,1,no description,60.2 -435,I7N3G6G,435,1,no description,60.2 -436,I7N3G6G,436,1,no description,60.2 -437,I7N3G6G,437,1,no description,60.2 -438,I7N3G6G,438,1,no description,60.2 -439,I7N3G6G,439,1,no description,60.2 -440,I7N3G6G,440,1,no description,60.2 -441,I7N3G6G,441,1,no description,60.2 -442,I7N3G6G,442,1,no description,60.2 -443,I7N3G6G,443,1,no description,60.2 -444,I7N3G6G,444,1,no description,60.2 -445,I7N3G6G,445,1,no description,60.2 -446,I7N3G6G,446,1,no description,60.2 -447,I7N3G6G,447,1,no description,60.2 -448,I7N3G6G,448,1,no description,60.2 -449,I7N3G6G,449,1,no description,60.2 -450,I7N3G6G,450,1,no description,60.2 -451,I7N3G6G,451,1,no description,60.2 -452,I7N3G6G,452,1,no description,60.2 -453,I7N3G6G,453,1,no description,60.2 -454,I7N3G6G,454,1,no description,60.2 -455,I7N3G6G,455,1,no description,60.2 -456,I7N3G6G,456,1,no description,60.2 -457,I7N3G6G,457,1,no description,60.2 -458,I7N3G6G,458,1,no description,60.2 -459,I7N3G6G,459,1,no description,60.2 -460,I7N3G6G,460,1,no description,60.2 -461,I7N3G6G,461,1,no description,60.2 -462,I7N3G6G,462,1,no description,60.2 -463,I7N3G6G,463,1,no description,60.2 -464,I7N3G6G,464,1,no description,60.2 -465,I7N3G6G,465,1,no description,60.2 -466,I7N3G6G,466,1,no description,60.2 -467,I7N3G6G,467,1,no description,60.2 -468,I7N3G6G,468,1,no description,60.2 -469,I7N3G6G,469,1,no description,60.2 -470,I7N3G6G,470,1,no description,60.2 -471,I7N3G6G,471,1,no description,60.2 -472,I7N3G6G,472,1,no description,60.2 -473,I7N3G6G,473,1,no description,60.2 -474,I7N3G6G,474,1,no description,60.2 -475,I7N3G6G,475,1,no description,60.2 -476,I7N3G6G,476,1,no description,60.2 -477,I7N3G6G,477,1,no description,60.2 -478,I7N3G6G,478,1,no description,60.2 -479,I7N3G6G,479,1,no description,60.2 -480,I7N3G6G,480,1,no description,60.2 -481,I7N3G6G,481,1,no description,60.2 -482,I7N3G6G,482,1,no description,60.2 -483,I7N3G6G,483,1,no description,60.2 -484,I7N3G6G,484,1,no description,60.2 -485,I7N3G6G,485,1,no description,60.2 -486,I7N3G6G,486,1,no description,60.2 -487,I7N3G6G,487,1,no description,60.2 -488,I7N3G6G,488,1,no description,60.2 -489,I7N3G6G,489,1,no description,60.2 -490,I7N3G6G,490,1,no description,60.2 -491,I7N3G6G,491,1,no description,60.2 -492,I7N3G6G,492,1,no description,60.2 -493,I7N3G6G,493,1,no description,60.2 -494,I7N3G6G,494,1,no description,60.2 -495,I7N3G6G,495,1,no description,60.2 -496,I7N3G6G,496,1,no description,60.2 -497,I7N3G6G,497,1,no description,60.2 -498,I7N3G6G,498,1,no description,60.2 -499,I7N3G6G,499,1,no description,60.2 -500,I7N3G6G,500,1,no description,60.2 -501,I7N3G6G,501,1,no description,60.2 -502,I7N3G6G,502,1,no description,60.2 -503,I7N3G6G,503,1,no description,60.2 -504,I7N3G6G,504,1,no description,60.2 -505,I7N3G6G,505,1,no description,60.2 -506,I7N3G6G,506,1,no description,60.2 -507,I7N3G6G,507,1,no description,60.2 -508,I7N3G6G,508,1,no description,60.2 -509,I7N3G6G,509,1,no description,60.2 -510,I7N3G6G,510,1,no description,60.2 -511,I7N3G6G,511,1,no description,60.2 -512,I7N3G6G,512,1,no description,60.2 -513,I7N3G6G,513,1,no description,60.2 -514,I7N3G6G,514,1,no description,60.2 -515,I7N3G6G,515,1,no description,60.2 -516,I7N3G6G,516,1,no description,60.2 -517,I7N3G6G,517,1,no description,60.2 -518,I7N3G6G,518,1,no description,60.2 -519,I7N3G6G,519,1,no description,60.2 -520,I7N3G6G,520,1,no description,60.2 -521,I7N3G6G,521,1,no description,60.2 -522,I7N3G6G,522,1,no description,60.2 -523,I7N3G6G,523,1,no description,60.2 -524,I7N3G6G,524,1,no description,60.2 -525,I7N3G6G,525,1,no description,60.2 -526,I7N3G6G,526,1,no description,60.2 -527,I7N3G6G,527,1,no description,60.2 -528,I7N3G6G,528,1,no description,60.2 -529,I7N3G6G,529,1,no description,60.2 -530,I7N3G6G,530,1,no description,60.2 -531,I7N3G6G,531,1,no description,60.2 -532,I7N3G6G,532,1,no description,60.2 -533,I7N3G6G,533,1,no description,60.2 -534,I7N3G6G,534,1,no description,60.2 -535,I7N3G6G,535,1,no description,60.2 -536,I7N3G6G,536,1,no description,60.2 -537,I7N3G6G,537,1,no description,60.2 -538,I7N3G6G,538,1,no description,60.2 -539,I7N3G6G,539,1,no description,60.2 -540,I7N3G6G,540,1,no description,60.2 -541,I7N3G6G,541,1,no description,60.2 -542,I7N3G6G,542,1,no description,60.2 -543,I7N3G6G,543,1,no description,60.2 -544,I7N3G6G,544,1,no description,60.2 -545,I7N3G6G,545,1,no description,60.2 -546,I7N3G6G,546,1,no description,60.2 -547,I7N3G6G,547,1,no description,60.2 -548,I7N3G6G,548,1,no description,60.2 -549,I7N3G6G,549,1,no description,60.2 -550,I7N3G6G,550,1,no description,60.2 -551,I7N3G6G,551,1,no description,60.2 -552,I7N3G6G,552,1,no description,60.2 -553,I7N3G6G,553,1,no description,60.2 -554,I7N3G6G,554,1,no description,60.2 -555,I7N3G6G,555,1,no description,60.2 -556,I7N3G6G,556,1,no description,60.2 -557,I7N3G6G,557,1,no description,60.2 -558,I7N3G6G,558,1,no description,60.2 -559,I7N3G6G,559,1,no description,60.2 -560,I7N3G6G,560,1,no description,60.2 -561,I7N3G6G,561,1,no description,60.2 -562,I7N3G6G,562,1,no description,60.2 -563,I7N3G6G,563,1,no description,60.2 -564,I7N3G6G,564,1,no description,60.2 -565,I7N3G6G,565,1,no description,60.2 -566,I7N3G6G,566,1,no description,60.2 -567,I7N3G6G,567,1,no description,60.2 -568,I7N3G6G,568,1,no description,60.2 -569,I7N3G6G,569,1,no description,60.2 -570,I7N3G6G,570,1,no description,60.2 -571,I7N3G6G,571,1,no description,60.2 -572,I7N3G6G,572,1,no description,60.2 -573,I7N3G6G,573,1,no description,60.2 -574,I7N3G6G,574,1,no description,60.2 -575,I7N3G6G,575,1,no description,60.2 -576,I7N3G6G,576,1,no description,60.2 -577,I7N3G6G,577,1,no description,60.2 -578,I7N3G6G,578,1,no description,60.2 -579,I7N3G6G,579,1,no description,60.2 -580,I7N3G6G,580,1,no description,60.2 -581,I7N3G6G,581,1,no description,60.2 -582,I7N3G6G,582,1,no description,60.2 -583,I7N3G6G,583,1,no description,60.2 -584,I7N3G6G,584,1,no description,60.2 -585,I7N3G6G,585,1,no description,60.2 -586,I7N3G6G,586,1,no description,60.2 -587,I7N3G6G,587,1,no description,60.2 -588,I7N3G6G,588,1,no description,60.2 -589,I7N3G6G,589,1,no description,60.2 -590,I7N3G6G,590,1,no description,60.2 -591,I7N3G6G,591,1,no description,60.2 -592,I7N3G6G,592,1,no description,60.2 -593,I7N3G6G,593,1,no description,60.2 -594,I7N3G6G,594,1,no description,60.2 -595,I7N3G6G,595,1,no description,60.2 -596,I7N3G6G,596,1,no description,60.2 -597,I7N3G6G,597,1,no description,60.2 -598,I7N3G6G,598,1,no description,60.2 -599,I7N3G6G,599,1,no description,60.2 -600,I7N3G6G,600,1,no description,60.2 -601,I7N3G6G,601,1,no description,60.2 -602,I7N3G6G,602,1,no description,60.2 -603,I7N3G6G,603,1,no description,60.2 -604,I7N3G6G,604,1,no description,60.2 -605,I7N3G6G,605,1,no description,60.2 -606,I7N3G6G,606,1,no description,60.2 -607,I7N3G6G,607,1,no description,60.2 -608,I7N3G6G,608,1,no description,60.2 -609,I7N3G6G,609,1,no description,60.2 -610,I7N3G6G,610,1,no description,60.2 -611,I7N3G6G,611,1,no description,60.2 -612,I7N3G6G,612,1,no description,60.2 -613,I7N3G6G,613,1,no description,60.2 -614,I7N3G6G,614,1,no description,60.2 -615,I7N3G6G,615,1,no description,60.2 -616,I7N3G6G,616,1,no description,60.2 -617,I7N3G6G,617,1,no description,60.2 -618,I7N3G6G,618,1,no description,60.2 -619,I7N3G6G,619,1,no description,60.2 -620,I7N3G6G,620,1,no description,60.2 -621,I7N3G6G,621,1,no description,60.2 -622,I7N3G6G,622,1,no description,60.2 -623,I7N3G6G,623,1,no description,60.2 -624,I7N3G6G,624,1,no description,60.2 -625,I7N3G6G,625,1,no description,60.2 -626,I7N3G6G,626,1,no description,60.2 -627,I7N3G6G,627,1,no description,60.2 -628,I7N3G6G,628,1,no description,60.2 -629,I7N3G6G,629,1,no description,60.2 -630,I7N3G6G,630,1,no description,60.2 -631,I7N3G6G,631,1,no description,60.2 -632,I7N3G6G,632,1,no description,60.2 -633,I7N3G6G,633,1,no description,60.2 -634,I7N3G6G,634,1,no description,60.2 -635,I7N3G6G,635,1,no description,60.2 -636,I7N3G6G,636,1,no description,60.2 -637,I7N3G6G,637,1,no description,60.2 -638,I7N3G6G,638,1,no description,60.2 -639,I7N3G6G,639,1,no description,60.2 -640,I7N3G6G,640,1,no description,60.2 -641,I7N3G6G,641,1,no description,60.2 -642,I7N3G6G,642,1,no description,60.2 -643,I7N3G6G,643,1,no description,60.2 -644,I7N3G6G,644,1,no description,60.2 -645,I7N3G6G,645,1,no description,60.2 -646,I7N3G6G,646,1,no description,60.2 -647,I7N3G6G,647,1,no description,60.2 -648,I7N3G6G,648,1,no description,60.2 -649,I7N3G6G,649,1,no description,60.2 -650,I7N3G6G,650,1,no description,60.2 -651,I7N3G6G,651,1,no description,60.2 -652,I7N3G6G,652,1,no description,60.2 -653,I7N3G6G,653,1,no description,60.2 -654,I7N3G6G,654,1,no description,60.2 -655,I7N3G6G,655,1,no description,60.2 -656,I7N3G6G,656,1,no description,60.2 -657,I7N3G6G,657,1,no description,60.2 -658,I7N3G6G,658,1,no description,60.2 -659,I7N3G6G,659,1,no description,60.2 -660,I7N3G6G,660,1,no description,60.2 -661,I7N3G6G,661,1,no description,60.2 -662,I7N3G6G,662,1,no description,60.2 -663,I7N3G6G,663,1,no description,60.2 -664,I7N3G6G,664,1,no description,60.2 -665,I7N3G6G,665,1,no description,60.2 -666,I7N3G6G,666,1,no description,60.2 -667,I7N3G6G,667,1,no description,60.2 -668,I7N3G6G,668,1,no description,60.2 -669,I7N3G6G,669,1,no description,60.2 -670,I7N3G6G,670,1,no description,60.2 -671,I7N3G6G,671,1,no description,60.2 -672,I7N3G6G,672,1,no description,60.2 -673,I7N3G6G,673,1,no description,60.2 -674,I7N3G6G,674,1,no description,60.2 -675,I7N3G6G,675,1,no description,60.2 -676,I7N3G6G,676,1,no description,60.2 -677,I7N3G6G,677,1,no description,60.2 -678,I7N3G6G,678,1,no description,60.2 -679,I7N3G6G,679,1,no description,60.2 -680,I7N3G6G,680,1,no description,60.2 -681,I7N3G6G,681,1,no description,60.2 -682,I7N3G6G,682,1,no description,60.2 -683,I7N3G6G,683,1,no description,60.2 -684,I7N3G6G,684,1,no description,60.2 -685,I7N3G6G,685,1,no description,60.2 -686,I7N3G6G,686,1,no description,60.2 -687,I7N3G6G,687,1,no description,60.2 -688,I7N3G6G,688,1,no description,60.2 -689,I7N3G6G,689,1,no description,60.2 -690,I7N3G6G,690,1,no description,60.2 -691,I7N3G6G,691,1,no description,60.2 -692,I7N3G6G,692,1,no description,60.2 -693,I7N3G6G,693,1,no description,60.2 -694,I7N3G6G,694,1,no description,60.2 -695,I7N3G6G,695,1,no description,60.2 -696,I7N3G6G,696,1,no description,60.2 -697,I7N3G6G,697,1,no description,60.2 -698,I7N3G6G,698,1,no description,60.2 -699,I7N3G6G,699,1,no description,60.2 -700,I7N3G6G,700,1,no description,60.2 -701,I7N3G6G,701,1,no description,60.2 -702,I7N3G6G,702,1,no description,60.2 -703,I7N3G6G,703,1,no description,60.2 -704,I7N3G6G,704,1,no description,60.2 -705,I7N3G6G,705,1,no description,60.2 -706,I7N3G6G,706,1,no description,60.2 -707,I7N3G6G,707,1,no description,60.2 -708,I7N3G6G,708,1,no description,60.2 -709,I7N3G6G,709,1,no description,60.2 -710,I7N3G6G,710,1,no description,60.2 -711,I7N3G6G,711,1,no description,60.2 -712,I7N3G6G,712,1,no description,60.2 -713,I7N3G6G,713,1,no description,60.2 -714,I7N3G6G,714,1,no description,60.2 -715,I7N3G6G,715,1,no description,60.2 -716,I7N3G6G,716,1,no description,60.2 -717,I7N3G6G,717,1,no description,60.2 -718,I7N3G6G,718,1,no description,60.2 -719,I7N3G6G,719,1,no description,60.2 -720,I7N3G6G,720,1,no description,60.2 -721,I7N3G6G,721,1,no description,60.2 -722,I7N3G6G,722,1,no description,60.2 -723,I7N3G6G,723,1,no description,60.2 -724,I7N3G6G,724,1,no description,60.2 -725,I7N3G6G,725,1,no description,60.2 -726,I7N3G6G,726,1,no description,60.2 -727,I7N3G6G,727,1,no description,60.2 -728,I7N3G6G,728,1,no description,60.2 -729,I7N3G6G,729,1,no description,60.2 -730,I7N3G6G,730,1,no description,60.2 -731,I7N3G6G,731,1,no description,60.2 -732,I7N3G6G,732,1,no description,60.2 -733,I7N3G6G,733,1,no description,60.2 -734,I7N3G6G,734,1,no description,60.2 -735,I7N3G6G,735,1,no description,60.2 -736,I7N3G6G,736,1,no description,60.2 -737,I7N3G6G,737,1,no description,60.2 -738,I7N3G6G,738,1,no description,60.2 -739,I7N3G6G,739,1,no description,60.2 -740,I7N3G6G,740,1,no description,60.2 -741,I7N3G6G,741,1,no description,60.2 -742,I7N3G6G,742,1,no description,60.2 -743,I7N3G6G,743,1,no description,60.2 -744,I7N3G6G,744,1,no description,60.2 -745,I7N3G6G,745,1,no description,60.2 -746,I7N3G6G,746,1,no description,60.2 -747,I7N3G6G,747,1,no description,60.2 -748,I7N3G6G,748,1,no description,60.2 -749,I7N3G6G,749,1,no description,60.2 -750,I7N3G6G,750,1,no description,60.2 -751,I7N3G6G,751,1,no description,60.2 -752,I7N3G6G,752,1,no description,60.2 -753,I7N3G6G,753,1,no description,60.2 -754,I7N3G6G,754,1,no description,60.2 -755,I7N3G6G,755,1,no description,60.2 -756,I7N3G6G,756,1,no description,60.2 -757,I7N3G6G,757,1,no description,60.2 -758,I7N3G6G,758,1,no description,60.2 -759,I7N3G6G,759,1,no description,60.2 -760,I7N3G6G,760,1,no description,60.2 -761,I7N3G6G,761,1,no description,60.2 -762,I7N3G6G,762,1,no description,60.2 -763,I7N3G6G,763,1,no description,60.2 -764,I7N3G6G,764,1,no description,60.2 -765,I7N3G6G,765,1,no description,60.2 -766,I7N3G6G,766,1,no description,60.2 -767,I7N3G6G,767,1,no description,60.2 -768,I7N3G6G,768,1,no description,60.2 -769,I7N3G6G,769,1,no description,60.2 -770,I7N3G6G,770,1,no description,60.2 -771,I7N3G6G,771,1,no description,60.2 -772,I7N3G6G,772,1,no description,60.2 -773,I7N3G6G,773,1,no description,60.2 -774,I7N3G6G,774,1,no description,60.2 -775,I7N3G6G,775,1,no description,60.2 -776,I7N3G6G,776,1,no description,60.2 -777,I7N3G6G,777,1,no description,60.2 -778,I7N3G6G,778,1,no description,60.2 -779,I7N3G6G,779,1,no description,60.2 -780,I7N3G6G,780,1,no description,60.2 -781,I7N3G6G,781,1,no description,60.2 -782,I7N3G6G,782,1,no description,60.2 -783,I7N3G6G,783,1,no description,60.2 -784,I7N3G6G,784,1,no description,60.2 -785,I7N3G6G,785,1,no description,60.2 -786,I7N3G6G,786,1,no description,60.2 -787,I7N3G6G,787,1,no description,60.2 -788,I7N3G6G,788,1,no description,60.2 -789,I7N3G6G,789,1,no description,60.2 -790,I7N3G6G,790,1,no description,60.2 -791,I7N3G6G,791,1,no description,60.2 -792,I7N3G6G,792,1,no description,60.2 -793,I7N3G6G,793,1,no description,60.2 -794,I7N3G6G,794,1,no description,60.2 -795,I7N3G6G,795,1,no description,60.2 -796,I7N3G6G,796,1,no description,60.2 -797,I7N3G6G,797,1,no description,60.2 -798,I7N3G6G,798,1,no description,60.2 -799,I7N3G6G,799,1,no description,60.2 -800,I7N3G6G,800,1,no description,60.2 -801,I7N3G6G,801,1,no description,60.2 -802,I7N3G6G,802,1,no description,60.2 -803,I7N3G6G,803,1,no description,60.2 -804,I7N3G6G,804,1,no description,60.2 -805,I7N3G6G,805,1,no description,60.2 -806,I7N3G6G,806,1,no description,60.2 -807,I7N3G6G,807,1,no description,60.2 -808,I7N3G6G,808,1,no description,60.2 -809,I7N3G6G,809,1,no description,60.2 -810,I7N3G6G,810,1,no description,60.2 -811,I7N3G6G,811,1,no description,60.2 -812,I7N3G6G,812,1,no description,60.2 -813,I7N3G6G,813,1,no description,60.2 -814,I7N3G6G,814,1,no description,60.2 -815,I7N3G6G,815,1,no description,60.2 -816,I7N3G6G,816,1,no description,60.2 -817,I7N3G6G,817,1,no description,60.2 -818,I7N3G6G,818,1,no description,60.2 -819,I7N3G6G,819,1,no description,60.2 -820,I7N3G6G,820,1,no description,60.2 -821,I7N3G6G,821,1,no description,60.2 -822,I7N3G6G,822,1,no description,60.2 -823,I7N3G6G,823,1,no description,60.2 -824,I7N3G6G,824,1,no description,60.2 -825,I7N3G6G,825,1,no description,60.2 -826,I7N3G6G,826,1,no description,60.2 -827,I7N3G6G,827,1,no description,60.2 -828,I7N3G6G,828,1,no description,60.2 -829,I7N3G6G,829,1,no description,60.2 -830,I7N3G6G,830,1,no description,60.2 -831,I7N3G6G,831,1,no description,60.2 -832,I7N3G6G,832,1,no description,60.2 -833,I7N3G6G,833,1,no description,60.2 -834,I7N3G6G,834,1,no description,60.2 -835,I7N3G6G,835,1,no description,60.2 -836,I7N3G6G,836,1,no description,60.2 -837,I7N3G6G,837,1,no description,60.2 -838,I7N3G6G,838,1,no description,60.2 -839,I7N3G6G,839,1,no description,60.2 -840,I7N3G6G,840,1,no description,60.2 -841,I7N3G6G,841,1,no description,60.2 -842,I7N3G6G,842,1,no description,60.2 -843,I7N3G6G,843,1,no description,60.2 -844,I7N3G6G,844,1,no description,60.2 -845,I7N3G6G,845,1,no description,60.2 -846,I7N3G6G,846,1,no description,60.2 -847,I7N3G6G,847,1,no description,60.2 -848,I7N3G6G,848,1,no description,60.2 -849,I7N3G6G,849,1,no description,60.2 -850,I7N3G6G,850,1,no description,60.2 -851,I7N3G6G,851,1,no description,60.2 -852,I7N3G6G,852,1,no description,60.2 -853,I7N3G6G,853,1,no description,60.2 -854,I7N3G6G,854,1,no description,60.2 -855,I7N3G6G,855,1,no description,60.2 -856,I7N3G6G,856,1,no description,60.2 -857,I7N3G6G,857,1,no description,60.2 -858,I7N3G6G,858,1,no description,60.2 -859,I7N3G6G,859,1,no description,60.2 -860,I7N3G6G,860,1,no description,60.2 -861,I7N3G6G,861,1,no description,60.2 -862,I7N3G6G,862,1,no description,60.2 -863,I7N3G6G,863,1,no description,60.2 -864,I7N3G6G,864,1,no description,60.2 -865,I7N3G6G,865,1,no description,60.2 -866,I7N3G6G,866,1,no description,60.2 -867,I7N3G6G,867,1,no description,60.2 -868,I7N3G6G,868,1,no description,60.2 -869,I7N3G6G,869,1,no description,60.2 -870,I7N3G6G,870,1,no description,60.2 -871,I7N3G6G,871,1,no description,60.2 -872,I7N3G6G,872,1,no description,60.2 -873,I7N3G6G,873,1,no description,60.2 -874,I7N3G6G,874,1,no description,60.2 -875,I7N3G6G,875,1,no description,60.2 -876,I7N3G6G,876,1,no description,60.2 -877,I7N3G6G,877,1,no description,60.2 -878,I7N3G6G,878,1,no description,60.2 -879,I7N3G6G,879,1,no description,60.2 -880,I7N3G6G,880,1,no description,60.2 -881,I7N3G6G,881,1,no description,60.2 -882,I7N3G6G,882,1,no description,60.2 -883,I7N3G6G,883,1,no description,60.2 -884,I7N3G6G,884,1,no description,60.2 -885,I7N3G6G,885,1,no description,60.2 -886,I7N3G6G,886,1,no description,60.2 -887,I7N3G6G,887,1,no description,60.2 -888,I7N3G6G,888,1,no description,60.2 -889,I7N3G6G,889,1,no description,60.2 -890,I7N3G6G,890,1,no description,60.2 -891,I7N3G6G,891,1,no description,60.2 -892,I7N3G6G,892,1,no description,60.2 -893,I7N3G6G,893,1,no description,60.2 -894,I7N3G6G,894,1,no description,60.2 -895,I7N3G6G,895,1,no description,60.2 -896,I7N3G6G,896,1,no description,60.2 -897,I7N3G6G,897,1,no description,60.2 -898,I7N3G6G,898,1,no description,60.2 -899,I7N3G6G,899,1,no description,60.2 -900,I7N3G6G,900,1,no description,60.2 -901,I7N3G6G,901,1,no description,60.2 -902,I7N3G6G,902,1,no description,60.2 -903,I7N3G6G,903,1,no description,60.2 -904,I7N3G6G,904,1,no description,60.2 -905,I7N3G6G,905,1,no description,60.2 -906,I7N3G6G,906,1,no description,60.2 -907,I7N3G6G,907,1,no description,60.2 -908,I7N3G6G,908,1,no description,60.2 -909,I7N3G6G,909,1,no description,60.2 -910,I7N3G6G,910,1,no description,60.2 -911,I7N3G6G,911,1,no description,60.2 -912,I7N3G6G,912,1,no description,60.2 -913,I7N3G6G,913,1,no description,60.2 -914,I7N3G6G,914,1,no description,60.2 -915,I7N3G6G,915,1,no description,60.2 -916,I7N3G6G,916,1,no description,60.2 -917,I7N3G6G,917,1,no description,60.2 -918,I7N3G6G,918,1,no description,60.2 -919,I7N3G6G,919,1,no description,60.2 -920,I7N3G6G,920,1,no description,60.2 -921,I7N3G6G,921,1,no description,60.2 -922,I7N3G6G,922,1,no description,60.2 -923,I7N3G6G,923,1,no description,60.2 -924,I7N3G6G,924,1,no description,60.2 -925,I7N3G6G,925,1,no description,60.2 -926,I7N3G6G,926,1,no description,60.2 -927,I7N3G6G,927,1,no description,60.2 -928,I7N3G6G,928,1,no description,60.2 -929,I7N3G6G,929,1,no description,60.2 -930,I7N3G6G,930,1,no description,60.2 -931,I7N3G6G,931,1,no description,60.2 -932,I7N3G6G,932,1,no description,60.2 -933,I7N3G6G,933,1,no description,60.2 -934,I7N3G6G,934,1,no description,60.2 -935,I7N3G6G,935,1,no description,60.2 -936,I7N3G6G,936,1,no description,60.2 -937,I7N3G6G,937,1,no description,60.2 -938,I7N3G6G,938,1,no description,60.2 -939,I7N3G6G,939,1,no description,60.2 -940,I7N3G6G,940,1,no description,60.2 -941,I7N3G6G,941,1,no description,60.2 -942,I7N3G6G,942,1,no description,60.2 -943,I7N3G6G,943,1,no description,60.2 -944,I7N3G6G,944,1,no description,60.2 -945,I7N3G6G,945,1,no description,60.2 -946,I7N3G6G,946,1,no description,60.2 -947,I7N3G6G,947,1,no description,60.2 -948,I7N3G6G,948,1,no description,60.2 -949,I7N3G6G,949,1,no description,60.2 -950,I7N3G6G,950,1,no description,60.2 -951,I7N3G6G,951,1,no description,60.2 -952,I7N3G6G,952,1,no description,60.2 -953,I7N3G6G,953,1,no description,60.2 -954,I7N3G6G,954,1,no description,60.2 -955,I7N3G6G,955,1,no description,60.2 -956,I7N3G6G,956,1,no description,60.2 -957,I7N3G6G,957,1,no description,60.2 -958,I7N3G6G,958,1,no description,60.2 -959,I7N3G6G,959,1,no description,60.2 -960,I7N3G6G,960,1,no description,60.2 -961,I7N3G6G,961,1,no description,60.2 -962,I7N3G6G,962,1,no description,60.2 -963,I7N3G6G,963,1,no description,60.2 -964,I7N3G6G,964,1,no description,60.2 -965,I7N3G6G,965,1,no description,60.2 -966,I7N3G6G,966,1,no description,60.2 -967,I7N3G6G,967,1,no description,60.2 -968,I7N3G6G,968,1,no description,60.2 -969,I7N3G6G,969,1,no description,60.2 -970,I7N3G6G,970,1,no description,60.2 -971,I7N3G6G,971,1,no description,60.2 -972,I7N3G6G,972,1,no description,60.2 -973,I7N3G6G,973,1,no description,60.2 -974,I7N3G6G,974,1,no description,60.2 -975,I7N3G6G,975,1,no description,60.2 -976,I7N3G6G,976,1,no description,60.2 -977,I7N3G6G,977,1,no description,60.2 -978,I7N3G6G,978,1,no description,60.2 -979,I7N3G6G,979,1,no description,60.2 -980,I7N3G6G,980,1,no description,60.2 -981,I7N3G6G,981,1,no description,60.2 -982,I7N3G6G,982,1,no description,60.2 -983,I7N3G6G,983,1,no description,60.2 -984,I7N3G6G,984,1,no description,60.2 -985,I7N3G6G,985,1,no description,60.2 -986,I7N3G6G,986,1,no description,60.2 -987,I7N3G6G,987,1,no description,60.2 -988,I7N3G6G,988,1,no description,60.2 -989,I7N3G6G,989,1,no description,60.2 -990,I7N3G6G,990,1,no description,60.2 -991,I7N3G6G,991,1,no description,60.2 -992,I7N3G6G,992,1,no description,60.2 -993,I7N3G6G,993,1,no description,60.2 -994,I7N3G6G,994,1,no description,60.2 -995,I7N3G6G,995,1,no description,60.2 -996,I7N3G6G,996,1,no description,60.2 -997,I7N3G6G,997,1,no description,60.2 -998,I7N3G6G,998,1,no description,60.2 -999,I7N3G6G,999,1,no description,60.2 -1000,I7N3G6G,1000,1,no description,60.2 -1001,I7N3G6G,1001,1,no description,60.2 -1002,I7N3G6G,1002,1,no description,60.2 -1003,I7N3G6G,1003,1,no description,60.2 -1004,I7N3G6G,1004,1,no description,60.2 -1005,I7N3G6G,1005,1,no description,60.2 -1006,I7N3G6G,1006,1,no description,60.2 -1007,I7N3G6G,1007,1,no description,60.2 -1008,I7N3G6G,1008,1,no description,60.2 -1009,I7N3G6G,1009,1,no description,60.2 -1010,I7N3G6G,1010,1,no description,60.2 -1011,I7N3G6G,1011,1,no description,60.2 -1012,I7N3G6G,1012,1,no description,60.2 -1013,I7N3G6G,1013,1,no description,60.2 -1014,I7N3G6G,1014,1,no description,60.2 -1015,I7N3G6G,1015,1,no description,60.2 -1016,I7N3G6G,1016,1,no description,60.2 -1017,I7N3G6G,1017,1,no description,60.2 -1018,I7N3G6G,1018,1,no description,60.2 -1019,I7N3G6G,1019,1,no description,60.2 -1020,I7N3G6G,1020,1,no description,60.2 -1021,I7N3G6G,1021,1,no description,60.2 -1022,I7N3G6G,1022,1,no description,60.2 -1023,I7N3G6G,1023,1,no description,60.2 -1024,I7N3G6G,1024,1,no description,60.2 -1025,I7N3G6G,1025,1,no description,60.2 -1026,I7N3G6G,1026,1,no description,60.2 -1027,I7N3G6G,1027,1,no description,60.2 -1028,I7N3G6G,1028,1,no description,60.2 -1029,I7N3G6G,1029,1,no description,60.2 -1030,I7N3G6G,1030,1,no description,60.2 -1031,I7N3G6G,1031,1,no description,60.2 -1032,I7N3G6G,1032,1,no description,60.2 -1033,I7N3G6G,1033,1,no description,60.2 -1034,I7N3G6G,1034,1,no description,60.2 -1035,I7N3G6G,1035,1,no description,60.2 -1036,I7N3G6G,1036,1,no description,60.2 -1037,I7N3G6G,1037,1,no description,60.2 -1038,I7N3G6G,1038,1,no description,60.2 -1039,I7N3G6G,1039,1,no description,60.2 -1040,I7N3G6G,1040,1,no description,60.2 -1041,I7N3G6G,1041,1,no description,60.2 -1042,I7N3G6G,1042,1,no description,60.2 -1043,I7N3G6G,1043,1,no description,60.2 -1044,I7N3G6G,1044,1,no description,60.2 -1045,I7N3G6G,1045,1,no description,60.2 -1046,I7N3G6G,1046,1,no description,60.2 -1047,I7N3G6G,1047,1,no description,60.2 -1048,I7N3G6G,1048,1,no description,60.2 -1049,I7N3G6G,1049,1,no description,60.2 -1050,I7N3G6G,1050,1,no description,60.2 -1051,I7N3G6G,1051,1,no description,60.2 -1052,I7N3G6G,1052,1,no description,60.2 -1053,I7N3G6G,1053,1,no description,60.2 -1054,I7N3G6G,1054,1,no description,60.2 -1055,I7N3G6G,1055,1,no description,60.2 -1056,I7N3G6G,1056,1,no description,60.2 -1057,I7N3G6G,1057,1,no description,60.2 -1058,I7N3G6G,1058,1,no description,60.2 -1059,I7N3G6G,1059,1,no description,60.2 -1060,I7N3G6G,1060,1,no description,60.2 -1061,I7N3G6G,1061,1,no description,60.2 -1062,I7N3G6G,1062,1,no description,60.2 -1063,I7N3G6G,1063,1,no description,60.2 -1064,I7N3G6G,1064,1,no description,60.2 -1065,I7N3G6G,1065,1,no description,60.2 -1066,I7N3G6G,1066,1,no description,60.2 -1067,I7N3G6G,1067,1,no description,60.2 -1068,I7N3G6G,1068,1,no description,60.2 -1069,I7N3G6G,1069,1,no description,60.2 -1070,I7N3G6G,1070,1,no description,60.2 -1071,I7N3G6G,1071,1,no description,60.2 -1072,I7N3G6G,1072,1,no description,60.2 -1073,I7N3G6G,1073,1,no description,60.2 -1074,I7N3G6G,1074,1,no description,60.2 -1075,I7N3G6G,1075,1,no description,60.2 -1076,I7N3G6G,1076,1,no description,60.2 -1077,I7N3G6G,1077,1,no description,60.2 -1078,I7N3G6G,1078,1,no description,60.2 -1079,I7N3G6G,1079,1,no description,60.2 -1080,I7N3G6G,1080,1,no description,60.2 -1081,I7N3G6G,1081,1,no description,60.2 -1082,I7N3G6G,1082,1,no description,60.2 -1083,I7N3G6G,1083,1,no description,60.2 -1084,I7N3G6G,1084,1,no description,60.2 -1085,I7N3G6G,1085,1,no description,60.2 -1086,I7N3G6G,1086,1,no description,60.2 -1087,I7N3G6G,1087,1,no description,60.2 -1088,I7N3G6G,1088,1,no description,60.2 -1089,I7N3G6G,1089,1,no description,60.2 -1090,I7N3G6G,1090,1,no description,60.2 -1091,I7N3G6G,1091,1,no description,60.2 -1092,I7N3G6G,1092,1,no description,60.2 -1093,I7N3G6G,1093,1,no description,60.2 -1094,I7N3G6G,1094,1,no description,60.2 -1095,I7N3G6G,1095,1,no description,60.2 -1096,I7N3G6G,1096,1,no description,60.2 -1097,I7N3G6G,1097,1,no description,60.2 -1098,I7N3G6G,1098,1,no description,60.2 -1099,I7N3G6G,1099,1,no description,60.2 -1100,I7N3G6G,1100,1,no description,60.2 -1101,I7N3G6G,1101,1,no description,60.2 -1102,I7N3G6G,1102,1,no description,60.2 -1103,I7N3G6G,1103,1,no description,60.2 -1104,I7N3G6G,1104,1,no description,60.2 -1105,I7N3G6G,1105,1,no description,60.2 -1106,I7N3G6G,1106,1,no description,60.2 -1107,I7N3G6G,1107,1,no description,60.2 -1108,I7N3G6G,1108,1,no description,60.2 -1109,I7N3G6G,1109,1,no description,60.2 -1110,I7N3G6G,1110,1,no description,60.2 -1111,I7N3G6G,1111,1,no description,60.2 -1112,I7N3G6G,1112,1,no description,60.2 -1113,I7N3G6G,1113,1,no description,60.2 -1114,I7N3G6G,1114,1,no description,60.2 -1115,I7N3G6G,1115,1,no description,60.2 -1116,I7N3G6G,1116,1,no description,60.2 -1117,I7N3G6G,1117,1,no description,60.2 -1118,I7N3G6G,1118,1,no description,60.2 -1119,I7N3G6G,1119,1,no description,60.2 -1120,I7N3G6G,1120,1,no description,60.2 -1121,I7N3G6G,1121,1,no description,60.2 -1122,I7N3G6G,1122,1,no description,60.2 -1123,I7N3G6G,1123,1,no description,60.2 -1124,I7N3G6G,1124,1,no description,60.2 -1125,I7N3G6G,1125,1,no description,60.2 -1126,I7N3G6G,1126,1,no description,60.2 -1127,I7N3G6G,1127,1,no description,60.2 -1128,I7N3G6G,1128,1,no description,60.2 -1129,I7N3G6G,1129,1,no description,60.2 -1130,I7N3G6G,1130,1,no description,60.2 -1131,I7N3G6G,1131,1,no description,60.2 -1132,I7N3G6G,1132,1,no description,60.2 -1133,I7N3G6G,1133,1,no description,60.2 -1134,I7N3G6G,1134,1,no description,60.2 -1135,I7N3G6G,1135,1,no description,60.2 -1136,I7N3G6G,1136,1,no description,60.2 -1137,I7N3G6G,1137,1,no description,60.2 -1138,I7N3G6G,1138,1,no description,60.2 -1139,I7N3G6G,1139,1,no description,60.2 -1140,I7N3G6G,1140,1,no description,60.2 -1141,I7N3G6G,1141,1,no description,60.2 -1142,I7N3G6G,1142,1,no description,60.2 -1143,I7N3G6G,1143,1,no description,60.2 -1144,I7N3G6G,1144,1,no description,60.2 -1145,I7N3G6G,1145,1,no description,60.2 -1146,I7N3G6G,1146,1,no description,60.2 -1147,I7N3G6G,1147,1,no description,60.2 -1148,I7N3G6G,1148,1,no description,60.2 -1149,I7N3G6G,1149,1,no description,60.2 -1150,I7N3G6G,1150,1,no description,60.2 -1151,I7N3G6G,1151,1,no description,60.2 -1152,I7N3G6G,1152,1,no description,60.2 -1153,I7N3G6G,1153,1,no description,60.2 -1154,I7N3G6G,1154,1,no description,60.2 -1155,I7N3G6G,1155,1,no description,60.2 -1156,I7N3G6G,1156,1,no description,60.2 -1157,I7N3G6G,1157,1,no description,60.2 -1158,I7N3G6G,1158,1,no description,60.2 -1159,I7N3G6G,1159,1,no description,60.2 -1160,I7N3G6G,1160,1,no description,60.2 -1161,I7N3G6G,1161,1,no description,60.2 -1162,I7N3G6G,1162,1,no description,60.2 -1163,I7N3G6G,1163,1,no description,60.2 -1164,I7N3G6G,1164,1,no description,60.2 -1165,I7N3G6G,1165,1,no description,60.2 -1166,I7N3G6G,1166,1,no description,60.2 -1167,I7N3G6G,1167,1,no description,60.2 -1168,I7N3G6G,1168,1,no description,60.2 -1169,I7N3G6G,1169,1,no description,60.2 -1170,I7N3G6G,1170,1,no description,60.2 -1171,I7N3G6G,1171,1,no description,60.2 -1172,I7N3G6G,1172,1,no description,60.2 -1173,I7N3G6G,1173,1,no description,60.2 -1174,I7N3G6G,1174,1,no description,60.2 -1175,I7N3G6G,1175,1,no description,60.2 -1176,I7N3G6G,1176,1,no description,60.2 -1177,I7N3G6G,1177,1,no description,60.2 -1178,I7N3G6G,1178,1,no description,60.2 -1179,I7N3G6G,1179,1,no description,60.2 -1180,I7N3G6G,1180,1,no description,60.2 -1181,I7N3G6G,1181,1,no description,60.2 -1182,I7N3G6G,1182,1,no description,60.2 -1183,I7N3G6G,1183,1,no description,60.2 -1184,I7N3G6G,1184,1,no description,60.2 -1185,I7N3G6G,1185,1,no description,60.2 -1186,I7N3G6G,1186,1,no description,60.2 -1187,I7N3G6G,1187,1,no description,60.2 -1188,I7N3G6G,1188,1,no description,60.2 -1189,I7N3G6G,1189,1,no description,60.2 -1190,I7N3G6G,1190,1,no description,60.2 -1191,I7N3G6G,1191,1,no description,60.2 -1192,I7N3G6G,1192,1,no description,60.2 -1193,I7N3G6G,1193,1,no description,60.2 -1194,I7N3G6G,1194,1,no description,60.2 -1195,I7N3G6G,1195,1,no description,60.2 -1196,I7N3G6G,1196,1,no description,60.2 -1197,I7N3G6G,1197,1,no description,60.2 -1198,I7N3G6G,1198,1,no description,60.2 -1199,I7N3G6G,1199,1,no description,60.2 -1200,I7N3G6G,1200,1,no description,60.2 -1201,I7N3G6G,1201,1,no description,60.2 -1202,I7N3G6G,1202,1,no description,60.2 -1203,I7N3G6G,1203,1,no description,60.2 -1204,I7N3G6G,1204,1,no description,60.2 -1205,I7N3G6G,1205,1,no description,60.2 -1206,I7N3G6G,1206,1,no description,60.2 -1207,I7N3G6G,1207,1,no description,60.2 -1208,I7N3G6G,1208,1,no description,60.2 -1209,I7N3G6G,1209,1,no description,60.2 -1210,I7N3G6G,1210,1,no description,60.2 -1211,I7N3G6G,1211,1,no description,60.2 -1212,I7N3G6G,1212,1,no description,60.2 -1213,I7N3G6G,1213,1,no description,60.2 -1214,I7N3G6G,1214,1,no description,60.2 -1215,I7N3G6G,1215,1,no description,60.2 -1216,I7N3G6G,1216,1,no description,60.2 -1217,I7N3G6G,1217,1,no description,60.2 -1218,I7N3G6G,1218,1,no description,60.2 -1219,I7N3G6G,1219,1,no description,60.2 -1220,I7N3G6G,1220,1,no description,60.2 -1221,I7N3G6G,1221,1,no description,60.2 -1222,I7N3G6G,1222,1,no description,60.2 -1223,I7N3G6G,1223,1,no description,60.2 -1224,I7N3G6G,1224,1,no description,60.2 -1225,I7N3G6G,1225,1,no description,60.2 -1226,I7N3G6G,1226,1,no description,60.2 -1227,I7N3G6G,1227,1,no description,60.2 -1228,I7N3G6G,1228,1,no description,60.2 -1229,I7N3G6G,1229,1,no description,60.2 -1230,I7N3G6G,1230,1,no description,60.2 -1231,I7N3G6G,1231,1,no description,60.2 -1232,I7N3G6G,1232,1,no description,60.2 -1233,I7N3G6G,1233,1,no description,60.2 -1234,I7N3G6G,1234,1,no description,60.2 -1235,I7N3G6G,1235,1,no description,60.2 -1236,I7N3G6G,1236,1,no description,60.2 -1237,I7N3G6G,1237,1,no description,60.2 -1238,I7N3G6G,1238,1,no description,60.2 -1239,I7N3G6G,1239,1,no description,60.2 -1240,I7N3G6G,1240,1,no description,60.2 -1241,I7N3G6G,1241,1,no description,60.2 -1242,I7N3G6G,1242,1,no description,60.2 -1243,I7N3G6G,1243,1,no description,60.2 -1244,I7N3G6G,1244,1,no description,60.2 -1245,I7N3G6G,1245,1,no description,60.2 -1246,I7N3G6G,1246,1,no description,60.2 -1247,I7N3G6G,1247,1,no description,60.2 -1248,I7N3G6G,1248,1,no description,60.2 -1249,I7N3G6G,1249,1,no description,60.2 -1250,I7N3G6G,1250,1,no description,60.2 -1251,I7N3G6G,1251,1,no description,60.2 -1252,I7N3G6G,1252,1,no description,60.2 -1253,I7N3G6G,1253,1,no description,60.2 -1254,I7N3G6G,1254,1,no description,60.2 -1255,I7N3G6G,1255,1,no description,60.2 -1256,I7N3G6G,1256,1,no description,60.2 -1257,I7N3G6G,1257,1,no description,60.2 -1258,I7N3G6G,1258,1,no description,60.2 -1259,I7N3G6G,1259,1,no description,60.2 -1260,I7N3G6G,1260,1,no description,60.2 -1261,I7N3G6G,1261,1,no description,60.2 -1262,I7N3G6G,1262,1,no description,60.2 -1263,I7N3G6G,1263,1,no description,60.2 -1264,I7N3G6G,1264,1,no description,60.2 -1265,I7N3G6G,1265,1,no description,60.2 -1266,I7N3G6G,1266,1,no description,60.2 -1267,I7N3G6G,1267,1,no description,60.2 -1268,I7N3G6G,1268,1,no description,60.2 -1269,I7N3G6G,1269,1,no description,60.2 -1270,I7N3G6G,1270,1,no description,60.2 -1271,I7N3G6G,1271,1,no description,60.2 -1272,I7N3G6G,1272,1,no description,60.2 -1273,I7N3G6G,1273,1,no description,60.2 -1274,I7N3G6G,1274,1,no description,60.2 -1275,I7N3G6G,1275,1,no description,60.2 -1276,I7N3G6G,1276,1,no description,60.2 -1277,I7N3G6G,1277,1,no description,60.2 -1278,I7N3G6G,1278,1,no description,60.2 -1279,I7N3G6G,1279,1,no description,60.2 -1280,I7N3G6G,1280,1,no description,60.2 -1281,I7N3G6G,1281,1,no description,60.2 -1282,I7N3G6G,1282,1,no description,60.2 -1283,I7N3G6G,1283,1,no description,60.2 -1284,I7N3G6G,1284,1,no description,60.2 -1285,I7N3G6G,1285,1,no description,60.2 -1286,I7N3G6G,1286,1,no description,60.2 -1287,I7N3G6G,1287,1,no description,60.2 -1288,I7N3G6G,1288,1,no description,60.2 -1289,I7N3G6G,1289,1,no description,60.2 -1290,I7N3G6G,1290,1,no description,60.2 -1291,I7N3G6G,1291,1,no description,60.2 -1292,I7N3G6G,1292,1,no description,60.2 -1293,I7N3G6G,1293,1,no description,60.2 -1294,I7N3G6G,1294,1,no description,60.2 -1295,I7N3G6G,1295,1,no description,60.2 -1296,I7N3G6G,1296,1,no description,60.2 -1297,I7N3G6G,1297,1,no description,60.2 -1298,I7N3G6G,1298,1,no description,60.2 -1299,I7N3G6G,1299,1,no description,60.2 -1300,I7N3G6G,1300,1,no description,60.2 -1301,I7N3G6G,1301,1,no description,60.2 -1302,I7N3G6G,1302,1,no description,60.2 -1303,I7N3G6G,1303,1,no description,60.2 -1304,I7N3G6G,1304,1,no description,60.2 -1305,I7N3G6G,1305,1,no description,60.2 -1306,I7N3G6G,1306,1,no description,60.2 -1307,I7N3G6G,1307,1,no description,60.2 -1308,I7N3G6G,1308,1,no description,60.2 -1309,I7N3G6G,1309,1,no description,60.2 -1310,I7N3G6G,1310,1,no description,60.2 -1311,I7N3G6G,1311,1,no description,60.2 -1312,I7N3G6G,1312,1,no description,60.2 -1313,I7N3G6G,1313,1,no description,60.2 -1314,I7N3G6G,1314,1,no description,60.2 -1315,I7N3G6G,1315,1,no description,60.2 -1316,I7N3G6G,1316,1,no description,60.2 -1317,I7N3G6G,1317,1,no description,60.2 -1318,I7N3G6G,1318,1,no description,60.2 -1319,I7N3G6G,1319,1,no description,60.2 -1320,I7N3G6G,1320,1,no description,60.2 -1321,I7N3G6G,1321,1,no description,60.2 -1322,I7N3G6G,1322,1,no description,60.2 -1323,I7N3G6G,1323,1,no description,60.2 -1324,I7N3G6G,1324,1,no description,60.2 -1325,I7N3G6G,1325,1,no description,60.2 -1326,I7N3G6G,1326,1,no description,60.2 -1327,I7N3G6G,1327,1,no description,60.2 -1328,I7N3G6G,1328,1,no description,60.2 -1329,I7N3G6G,1329,1,no description,60.2 -1330,I7N3G6G,1330,1,no description,60.2 -1331,I7N3G6G,1331,1,no description,60.2 -1332,I7N3G6G,1332,1,no description,60.2 -1333,I7N3G6G,1333,1,no description,60.2 -1334,I7N3G6G,1334,1,no description,60.2 -1335,I7N3G6G,1335,1,no description,60.2 -1336,I7N3G6G,1336,1,no description,60.2 -1337,I7N3G6G,1337,1,no description,60.2 -1338,I7N3G6G,1338,1,no description,60.2 -1339,I7N3G6G,1339,1,no description,60.2 -1340,I7N3G6G,1340,1,no description,60.2 -1341,I7N3G6G,1341,1,no description,60.2 -1342,I7N3G6G,1342,1,no description,60.2 -1343,I7N3G6G,1343,1,no description,60.2 -1344,I7N3G6G,1344,1,no description,60.2 -1345,I7N3G6G,1345,1,no description,60.2 -1346,I7N3G6G,1346,1,no description,60.2 -1347,I7N3G6G,1347,1,no description,60.2 -1348,I7N3G6G,1348,1,no description,60.2 -1349,I7N3G6G,1349,1,no description,60.2 -1350,I7N3G6G,1350,1,no description,60.2 -1351,I7N3G6G,1351,1,no description,60.2 -1352,I7N3G6G,1352,1,no description,60.2 -1353,I7N3G6G,1353,1,no description,60.2 -1354,I7N3G6G,1354,1,no description,60.2 -1355,I7N3G6G,1355,1,no description,60.2 -1356,I7N3G6G,1356,1,no description,60.2 -1357,I7N3G6G,1357,1,no description,60.2 -1358,I7N3G6G,1358,1,no description,60.2 -1359,I7N3G6G,1359,1,no description,60.2 -1360,I7N3G6G,1360,1,no description,60.2 -1361,I7N3G6G,1361,1,no description,60.2 -1362,I7N3G6G,1362,1,no description,60.2 -1363,I7N3G6G,1363,1,no description,60.2 -1364,I7N3G6G,1364,1,no description,60.2 -1365,I7N3G6G,1365,1,no description,60.2 -1366,I7N3G6G,1366,1,no description,60.2 -1367,I7N3G6G,1367,1,no description,60.2 -1368,I7N3G6G,1368,1,no description,60.2 -1369,I7N3G6G,1369,1,no description,60.2 -1370,I7N3G6G,1370,1,no description,60.2 -1371,I7N3G6G,1371,1,no description,60.2 -1372,I7N3G6G,1372,1,no description,60.2 -1373,I7N3G6G,1373,1,no description,60.2 -1374,I7N3G6G,1374,1,no description,60.2 -1375,I7N3G6G,1375,1,no description,60.2 -1376,I7N3G6G,1376,1,no description,60.2 -1377,I7N3G6G,1377,1,no description,60.2 -1378,I7N3G6G,1378,1,no description,60.2 -1379,I7N3G6G,1379,1,no description,60.2 -1380,I7N3G6G,1380,1,no description,60.2 -1381,I7N3G6G,1381,1,no description,60.2 -1382,I7N3G6G,1382,1,no description,60.2 -1383,I7N3G6G,1383,1,no description,60.2 -1384,I7N3G6G,1384,1,no description,60.2 -1385,I7N3G6G,1385,1,no description,60.2 -1386,I7N3G6G,1386,1,no description,60.2 -1387,I7N3G6G,1387,1,no description,60.2 -1388,I7N3G6G,1388,1,no description,60.2 -1389,I7N3G6G,1389,1,no description,60.2 -1390,I7N3G6G,1390,1,no description,60.2 -1391,I7N3G6G,1391,1,no description,60.2 -1392,I7N3G6G,1392,1,no description,60.2 -1393,I7N3G6G,1393,1,no description,60.2 -1394,I7N3G6G,1394,1,no description,60.2 -1395,I7N3G6G,1395,1,no description,60.2 -1396,I7N3G6G,1396,1,no description,60.2 -1397,I7N3G6G,1397,1,no description,60.2 -1398,I7N3G6G,1398,1,no description,60.2 -1399,I7N3G6G,1399,1,no description,60.2 -1400,I7N3G6G,1400,1,no description,60.2 -1401,I7N3G6G,1401,1,no description,60.2 -1402,I7N3G6G,1402,1,no description,60.2 -1403,I7N3G6G,1403,1,no description,60.2 -1404,I7N3G6G,1404,1,no description,60.2 -1405,I7N3G6G,1405,1,no description,60.2 -1406,I7N3G6G,1406,1,no description,60.2 -1407,I7N3G6G,1407,1,no description,60.2 -1408,I7N3G6G,1408,1,no description,60.2 -1409,I7N3G6G,1409,1,no description,60.2 -1410,I7N3G6G,1410,1,no description,60.2 -1411,I7N3G6G,1411,1,no description,60.2 -1412,I7N3G6G,1412,1,no description,60.2 -1413,I7N3G6G,1413,1,no description,60.2 -1414,I7N3G6G,1414,1,no description,60.2 -1415,I7N3G6G,1415,1,no description,60.2 -1416,I7N3G6G,1416,1,no description,60.2 -1417,I7N3G6G,1417,1,no description,60.2 -1418,I7N3G6G,1418,1,no description,60.2 -1419,I7N3G6G,1419,1,no description,60.2 -1420,I7N3G6G,1420,1,no description,60.2 -1421,I7N3G6G,1421,1,no description,60.2 -1422,I7N3G6G,1422,1,no description,60.2 -1423,I7N3G6G,1423,1,no description,60.2 -1424,I7N3G6G,1424,1,no description,60.2 -1425,I7N3G6G,1425,1,no description,60.2 -1426,I7N3G6G,1426,1,no description,60.2 -1427,I7N3G6G,1427,1,no description,60.2 -1428,I7N3G6G,1428,1,no description,60.2 -1429,I7N3G6G,1429,1,no description,60.2 -1430,I7N3G6G,1430,1,no description,60.2 -1431,I7N3G6G,1431,1,no description,60.2 -1432,I7N3G6G,1432,1,no description,60.2 -1433,I7N3G6G,1433,1,no description,60.2 -1434,I7N3G6G,1434,1,no description,60.2 -1435,I7N3G6G,1435,1,no description,60.2 -1436,I7N3G6G,1436,1,no description,60.2 -1437,I7N3G6G,1437,1,no description,60.2 -1438,I7N3G6G,1438,1,no description,60.2 -1439,I7N3G6G,1439,1,no description,60.2 -1440,I7N3G6G,1440,1,no description,60.2 -1441,I7N3G6G,1441,1,no description,60.2 -1442,I7N3G6G,1442,1,no description,60.2 -1443,I7N3G6G,1443,1,no description,60.2 -1444,I7N3G6G,1444,1,no description,60.2 -1445,I7N3G6G,1445,1,no description,60.2 -1446,I7N3G6G,1446,1,no description,60.2 -1447,I7N3G6G,1447,1,no description,60.2 -1448,I7N3G6G,1448,1,no description,60.2 -1449,I7N3G6G,1449,1,no description,60.2 -1450,I7N3G6G,1450,1,no description,60.2 -1451,I7N3G6G,1451,1,no description,60.2 -1452,I7N3G6G,1452,1,no description,60.2 -1453,I7N3G6G,1453,1,no description,60.2 -1454,I7N3G6G,1454,1,no description,60.2 -1455,I7N3G6G,1455,1,no description,60.2 -1456,I7N3G6G,1456,1,no description,60.2 -1457,I7N3G6G,1457,1,no description,60.2 -1458,I7N3G6G,1458,1,no description,60.2 -1459,I7N3G6G,1459,1,no description,60.2 -1460,I7N3G6G,1460,1,no description,60.2 -1461,I7N3G6G,1461,1,no description,60.2 -1462,I7N3G6G,1462,1,no description,60.2 -1463,I7N3G6G,1463,1,no description,60.2 -1464,I7N3G6G,1464,1,no description,60.2 -1465,I7N3G6G,1465,1,no description,60.2 -1466,I7N3G6G,1466,1,no description,60.2 -1467,I7N3G6G,1467,1,no description,60.2 -1468,I7N3G6G,1468,1,no description,60.2 -1469,I7N3G6G,1469,1,no description,60.2 -1470,I7N3G6G,1470,1,no description,60.2 -1471,I7N3G6G,1471,1,no description,60.2 -1472,I7N3G6G,1472,1,no description,60.2 -1473,I7N3G6G,1473,1,no description,60.2 -1474,I7N3G6G,1474,1,no description,60.2 -1475,I7N3G6G,1475,1,no description,60.2 -1476,I7N3G6G,1476,1,no description,60.2 -1477,I7N3G6G,1477,1,no description,60.2 -1478,I7N3G6G,1478,1,no description,60.2 -1479,I7N3G6G,1479,1,no description,60.2 -1480,I7N3G6G,1480,1,no description,60.2 -1481,I7N3G6G,1481,1,no description,60.2 -1482,I7N3G6G,1482,1,no description,60.2 -1483,I7N3G6G,1483,1,no description,60.2 -1484,I7N3G6G,1484,1,no description,60.2 -1485,I7N3G6G,1485,1,no description,60.2 -1486,I7N3G6G,1486,1,no description,60.2 -1487,I7N3G6G,1487,1,no description,60.2 -1488,I7N3G6G,1488,1,no description,60.2 -1489,I7N3G6G,1489,1,no description,60.2 -1490,I7N3G6G,1490,1,no description,60.2 -1491,I7N3G6G,1491,1,no description,60.2 -1492,I7N3G6G,1492,1,no description,60.2 -1493,I7N3G6G,1493,1,no description,60.2 -1494,I7N3G6G,1494,1,no description,60.2 -1495,I7N3G6G,1495,1,no description,60.2 -1496,I7N3G6G,1496,1,no description,60.2 -1497,I7N3G6G,1497,1,no description,60.2 -1498,I7N3G6G,1498,1,no description,60.2 -1499,I7N3G6G,1499,1,no description,60.2 -1500,I7N3G6G,1500,1,no description,60.2 -1501,I7N3G6G,1501,1,no description,60.2 -1502,I7N3G6G,1502,1,no description,60.2 -1503,I7N3G6G,1503,1,no description,60.2 -1504,I7N3G6G,1504,1,no description,60.2 -1505,I7N3G6G,1505,1,no description,60.2 -1506,I7N3G6G,1506,1,no description,60.2 -1507,I7N3G6G,1507,1,no description,60.2 -1508,I7N3G6G,1508,1,no description,60.2 -1509,I7N3G6G,1509,1,no description,60.2 -1510,I7N3G6G,1510,1,no description,60.2 -1511,I7N3G6G,1511,1,no description,60.2 -1512,I7N3G6G,1512,1,no description,60.2 -1513,I7N3G6G,1513,1,no description,60.2 -1514,I7N3G6G,1514,1,no description,60.2 -1515,I7N3G6G,1515,1,no description,60.2 -1516,I7N3G6G,1516,1,no description,60.2 -1517,I7N3G6G,1517,1,no description,60.2 -1518,I7N3G6G,1518,1,no description,60.2 -1519,I7N3G6G,1519,1,no description,60.2 -1520,I7N3G6G,1520,1,no description,60.2 -1521,I7N3G6G,1521,1,no description,60.2 -1522,I7N3G6G,1522,1,no description,60.2 -1523,I7N3G6G,1523,1,no description,60.2 -1524,I7N3G6G,1524,1,no description,60.2 -1525,I7N3G6G,1525,1,no description,60.2 -1526,I7N3G6G,1526,1,no description,60.2 -1527,I7N3G6G,1527,1,no description,60.2 -1528,I7N3G6G,1528,1,no description,60.2 -1529,I7N3G6G,1529,1 -1530,I7N3G6G,1530,1,no description,60.2 -1531,I7N3G6G,1531,1,no description,60.2 -1532,I7N3G6G,1532,1,no description,60.2 -1533,I7N3G6G,1533,1,no description,60.2 -1534,I7N3G6G,1534,1,no description,60.2 -1535,I7N3G6G,1535,1,no description,60.2 -1536,I7N3G6G,1536,1,no description,60.2 -1537,I7N3G6G,1537,1,no description,60.2 -1538,I7N3G6G,1538,1,no description,60.2 -1539,I7N3G6G,1539,1,no description,60.2 -1540,I7N3G6G,1540,1,no description,60.2 -1541,I7N3G6G,1541,1,no description,60.2 -1542,I7N3G6G,1542,1,no description,60.2 -1543,I7N3G6G,1543,1,no description,60.2 -1544,I7N3G6G,1544,1,no description,60.2 -1545,I7N3G6G,1545,1,no description,60.2 -1546,I7N3G6G,1546,1,no description,60.2 -1547,I7N3G6G,1547,1,no description,60.2 -1548,I7N3G6G,1548,1,no description,60.2 -1549,I7N3G6G,1549,1,no description,60.2 -1550,I7N3G6G,1550,1,no description,60.2 -1551,I7N3G6G,1551,1,no description,60.2 -1552,I7N3G6G,1552,1,no description,60.2 -1553,I7N3G6G,1553,1,no description,60.2 -1554,I7N3G6G,1554,1,no description,60.2 -1555,I7N3G6G,1555,1,no description,60.2 -1556,I7N3G6G,1556,1,no description,60.2 -1557,I7N3G6G,1557,1,no description,60.2 -1558,I7N3G6G,1558,1,no description,60.2 -1559,I7N3G6G,1559,1,no description,60.2 -1560,I7N3G6G,1560,1,no description,60.2 -1561,I7N3G6G,1561,1,no description,60.2 -1562,I7N3G6G,1562,1,no description,60.2 -1563,I7N3G6G,1563,1,no description,60.2 -1564,I7N3G6G,1564,1,no description,60.2 -1565,I7N3G6G,1565,1,no description,60.2 -1566,I7N3G6G,1566,1,no description,60.2 -1567,I7N3G6G,1567,1,no description,60.2 -1568,I7N3G6G,1568,1,no description,60.2 -1569,I7N3G6G,1569,1,no description,60.2 -1570,I7N3G6G,1570,1,no description,60.2 -1571,I7N3G6G,1571,1,no description,60.2 -1572,I7N3G6G,1572,1,no description,60.2 -1573,I7N3G6G,1573,1,no description,60.2 -1574,I7N3G6G,1574,1,no description,60.2 -1575,I7N3G6G,1575,1,no description,60.2 -1576,I7N3G6G,1576,1,no description,60.2 -1577,I7N3G6G,1577,1,no description,60.2 -1578,I7N3G6G,1578,1,no description,60.2 -1579,I7N3G6G,1579,1,no description,60.2 -1580,I7N3G6G,1580,1,no description,60.2 -1581,I7N3G6G,1581,1,no description,60.2 -1582,I7N3G6G,1582,1,no description,60.2 -1583,I7N3G6G,1583,1,no description,60.2 -1584,I7N3G6G,1584,1,no description,60.2 -1585,I7N3G6G,1585,1,no description,60.2 -1586,I7N3G6G,1586,1,no description,60.2 -1587,I7N3G6G,1587,1,no description,60.2 -1588,I7N3G6G,1588,1,no description,60.2 -1589,I7N3G6G,1589,1,no description,60.2 -1590,I7N3G6G,1590,1,no description,60.2 -1591,I7N3G6G,1591,1,no description,60.2 -1592,I7N3G6G,1592,1,no description,60.2 -1593,I7N3G6G,1593,1,no description,60.2 -1594,I7N3G6G,1594,1,no description,60.2 -1595,I7N3G6G,1595,1,no description,60.2 -1596,I7N3G6G,1596,1,no description,60.2 -1597,I7N3G6G,1597,1,no description,60.2 -1598,I7N3G6G,1598,1,no description,60.2 -1599,I7N3G6G,1599,1,no description,60.2 -1600,I7N3G6G,1600,1,no description,60.2 -1601,I7N3G6G,1601,1,no description,60.2 -1602,I7N3G6G,1602,1,no description,60.2 -1603,I7N3G6G,1603,1,no description,60.2 -1604,I7N3G6G,1604,1,no description,60.2 -1605,I7N3G6G,1605,1,no description,60.2 -1606,I7N3G6G,1606,1,no description,60.2 -1607,I7N3G6G,1607,1,no description,60.2 -1608,I7N3G6G,1608,1,no description,60.2 -1609,I7N3G6G,1609,1,no description,60.2 -1610,I7N3G6G,1610,1,no description,60.2 -1611,I7N3G6G,1611,1,no description,60.2 -1612,I7N3G6G,1612,1,no description,60.2 -1613,I7N3G6G,1613,1,no description,60.2 -1614,I7N3G6G,1614,1,no description,60.2 -1615,I7N3G6G,1615,1,no description,60.2 -1616,I7N3G6G,1616,1,no description,60.2 -1617,I7N3G6G,1617,1,no description,60.2 -1618,I7N3G6G,1618,1,no description,60.2 -1619,I7N3G6G,1619,1,no description,60.2 -1620,I7N3G6G,1620,1,no description,60.2 -1621,I7N3G6G,1621,1,no description,60.2 -1622,I7N3G6G,1622,1,no description,60.2 -1623,I7N3G6G,1623,1,no description,60.2 -1624,I7N3G6G,1624,1,no description,60.2 -1625,I7N3G6G,1625,1,no description,60.2 -1626,I7N3G6G,1626,1,no description,60.2 -1627,I7N3G6G,1627,1,no description,60.2 -1628,I7N3G6G,1628,1,no description,60.2 -1629,I7N3G6G,1629,1,no description,60.2 -1630,I7N3G6G,1630,1,no description,60.2 -1631,I7N3G6G,1631,1,no description,60.2 -1632,I7N3G6G,1632,1,no description,60.2 -1633,I7N3G6G,1633,1,no description,60.2 -1634,I7N3G6G,1634,1,no description,60.2 -1635,I7N3G6G,1635,1,no description,60.2 -1636,I7N3G6G,1636,1,no description,60.2 -1637,I7N3G6G,1637,1,no description,60.2 -1638,I7N3G6G,1638,1,no description,60.2 -1639,I7N3G6G,1639,1,no description,60.2 -1640,I7N3G6G,1640,1,no description,60.2 -1641,I7N3G6G,1641,1,no description,60.2 -1642,I7N3G6G,1642,1,no description,60.2 -1643,I7N3G6G,1643,1,no description,60.2 -1644,I7N3G6G,1644,1,no description,60.2 -1645,I7N3G6G,1645,1,no description,60.2 -1646,I7N3G6G,1646,1,no description,60.2 -1647,I7N3G6G,1647,1,no description,60.2 -1648,I7N3G6G,1648,1,no description,60.2 -1649,I7N3G6G,1649,1,no description,60.2 -1650,I7N3G6G,1650,1,no description,60.2 -1651,I7N3G6G,1651,1,no description,60.2 -1652,I7N3G6G,1652,1,no description,60.2 -1653,I7N3G6G,1653,1,no description,60.2 -1654,I7N3G6G,1654,1,no description,60.2 -1655,I7N3G6G,1655,1,no description,60.2 -1656,I7N3G6G,1656,1,no description,60.2 -1657,I7N3G6G,1657,1,no description,60.2 -1658,I7N3G6G,1658,1,no description,60.2 -1659,I7N3G6G,1659,1,no description,60.2 -1660,I7N3G6G,1660,1,no description,60.2 -1661,I7N3G6G,1661,1,no description,60.2 -1662,I7N3G6G,1662,1,no description,60.2 -1663,I7N3G6G,1663,1,no description,60.2 -1664,I7N3G6G,1664,1,no description,60.2 -1665,I7N3G6G,1665,1,no description,60.2 -1666,I7N3G6G,1666,1,no description,60.2 -1667,I7N3G6G,1667,1,no description,60.2 -1668,I7N3G6G,1668,1,no description,60.2 -1669,I7N3G6G,1669,1,no description,60.2 -1670,I7N3G6G,1670,1,no description,60.2 -1671,I7N3G6G,1671,1,no description,60.2 -1672,I7N3G6G,1672,1,no description,60.2 -1673,I7N3G6G,1673,1,no description,60.2 -1674,I7N3G6G,1674,1,no description,60.2 -1675,I7N3G6G,1675,1,no description,60.2 -1676,I7N3G6G,1676,1,no description,60.2 -1677,I7N3G6G,1677,1,no description,60.2 -1678,I7N3G6G,1678,1,no description,60.2 -1679,I7N3G6G,1679,1,no description,60.2 -1680,I7N3G6G,1680,1,no description,60.2 -1681,I7N3G6G,1681,1,no description,60.2 -1682,I7N3G6G,1682,1,no description,60.2 -1683,I7N3G6G,1683,1,no description,60.2 -1684,I7N3G6G,1684,1,no description,60.2 -1685,I7N3G6G,1685,1,no description,60.2 -1686,I7N3G6G,1686,1,no description,60.2 -1687,I7N3G6G,1687,1,no description,60.2 -1688,I7N3G6G,1688,1,no description,60.2 -1689,I7N3G6G,1689,1,no description,60.2 -1690,I7N3G6G,1690,1,no description,60.2 -1691,I7N3G6G,1691,1,no description,60.2 -1692,I7N3G6G,1692,1,no description,60.2 -1693,I7N3G6G,1693,1,no description,60.2 -1694,I7N3G6G,1694,1,no description,60.2 -1695,I7N3G6G,1695,1,no description,60.2 -1696,I7N3G6G,1696,1,no description,60.2 -1697,I7N3G6G,1697,1,no description,60.2 -1698,I7N3G6G,1698,1,no description,60.2 -1699,I7N3G6G,1699,1,no description,60.2 -1700,I7N3G6G,1700,1,no description,60.2 -1701,I7N3G6G,1701,1,no description,60.2 -1702,I7N3G6G,1702,1,no description,60.2 -1703,I7N3G6G,1703,1,no description,60.2 -1704,I7N3G6G,1704,1,no description,60.2 -1705,I7N3G6G,1705,1,no description,60.2 -1706,I7N3G6G,1706,1,no description,60.2 -1707,I7N3G6G,1707,1,no description,60.2 -1708,I7N3G6G,1708,1,no description,60.2 -1709,I7N3G6G,1709,1,no description,60.2 -1710,I7N3G6G,1710,1,no description,60.2 -1711,I7N3G6G,1711,1,no description,60.2 -1712,I7N3G6G,1712,1,no description,60.2 -1713,I7N3G6G,1713,1,no description,60.2 -1714,I7N3G6G,1714,1,no description,60.2 -1715,I7N3G6G,1715,1,no description,60.2 -1716,I7N3G6G,1716,1,no description,60.2 -1717,I7N3G6G,1717,1,no description,60.2 -1718,I7N3G6G,1718,1,no description,60.2 -1719,I7N3G6G,1719,1,no description,60.2 -1720,I7N3G6G,1720,1,no description,60.2 -1721,I7N3G6G,1721,1,no description,60.2 -1722,I7N3G6G,1722,1,no description,60.2 -1723,I7N3G6G,1723,1,no description,60.2 -1724,I7N3G6G,1724,1,no description,60.2 -1725,I7N3G6G,1725,1,no description,60.2 -1726,I7N3G6G,1726,1,no description,60.2 -1727,I7N3G6G,1727,1,no description,60.2 -1728,I7N3G6G,1728,1,no description,60.2 -1729,I7N3G6G,1729,1,no description,60.2 -1730,I7N3G6G,1730,1,no description,60.2 -1731,I7N3G6G,1731,1,no description,60.2 -1732,I7N3G6G,1732,1,no description,60.2 -1733,I7N3G6G,1733,1,no description,60.2 -1734,I7N3G6G,1734,1,no description,60.2 -1735,I7N3G6G,1735,1,no description,60.2 -1736,I7N3G6G,1736,1,no description,60.2 -1737,I7N3G6G,1737,1,no description,60.2 -1738,I7N3G6G,1738,1,no description,60.2 -1739,I7N3G6G,1739,1,no description,60.2 -1740,I7N3G6G,1740,1,no description,60.2 -1741,I7N3G6G,1741,1,no description,60.2 -1742,I7N3G6G,1742,1,no description,60.2 -1743,I7N3G6G,1743,1,no description,60.2 -1744,I7N3G6G,1744,1,no description,60.2 -1745,I7N3G6G,1745,1,no description,60.2 -1746,I7N3G6G,1746,1,no description,60.2 -1747,I7N3G6G,1747,1,no description,60.2 -1748,I7N3G6G,1748,1,no description,60.2 -1749,I7N3G6G,1749,1,no description,60.2 -1750,I7N3G6G,1750,1,no description,60.2 -1751,I7N3G6G,1751,1,no description,60.2 -1752,I7N3G6G,1752,1,no description,60.2 -1753,I7N3G6G,1753,1,no description,60.2 -1754,I7N3G6G,1754,1,no description,60.2 -1755,I7N3G6G,1755,1,no description,60.2 -1756,I7N3G6G,1756,1,no description,60.2 -1757,I7N3G6G,1757,1,no description,60.2 -1758,I7N3G6G,1758,1,no description,60.2 -1759,I7N3G6G,1759,1,no description,60.2 -1760,I7N3G6G,1760,1,no description,60.2 -1761,I7N3G6G,1761,1,no description,60.2 -1762,I7N3G6G,1762,1,no description,60.2 -1763,I7N3G6G,1763,1,no description,60.2 -1764,I7N3G6G,1764,1,no description,60.2 -1765,I7N3G6G,1765,1,no description,60.2 -1766,I7N3G6G,1766,1,no description,60.2 -1767,I7N3G6G,1767,1,no description,60.2 -1768,I7N3G6G,1768,1,no description,60.2 -1769,I7N3G6G,1769,1,no description,60.2 -1770,I7N3G6G,1770,1,no description,60.2 -1771,I7N3G6G,1771,1,no description,60.2 -1772,I7N3G6G,1772,1,no description,60.2 -1773,I7N3G6G,1773,1,no description,60.2 -1774,I7N3G6G,1774,1,no description,60.2 -1775,I7N3G6G,1775,1,no description,60.2 -1776,I7N3G6G,1776,1,no description,60.2 -1777,I7N3G6G,1777,1,no description,60.2 -1778,I7N3G6G,1778,1,no description,60.2 -1779,I7N3G6G,1779,1,no description,60.2 -1780,I7N3G6G,1780,1,no description,60.2 -1781,I7N3G6G,1781,1,no description,60.2 -1782,I7N3G6G,1782,1,no description,60.2 -1783,I7N3G6G,1783,1,no description,60.2 -1784,I7N3G6G,1784,1,no description,60.2 -1785,I7N3G6G,1785,1,no description,60.2 -1786,I7N3G6G,1786,1,no description,60.2 -1787,I7N3G6G,1787,1,no description,60.2 -1788,I7N3G6G,1788,1,no description,60.2 -1789,I7N3G6G,1789,1,no description,60.2 -1790,I7N3G6G,1790,1,no description,60.2 -1791,I7N3G6G,1791,1,no description,60.2 -1792,I7N3G6G,1792,1,no description,60.2 -1793,I7N3G6G,1793,1,no description,60.2 -1794,I7N3G6G,1794,1,no description,60.2 -1795,I7N3G6G,1795,1,no description,60.2 -1796,I7N3G6G,1796,1,no description,60.2 -1797,I7N3G6G,1797,1,no description,60.2 -1798,I7N3G6G,1798,1,no description,60.2 -1799,I7N3G6G,1799,1,no description,60.2 -1800,I7N3G6G,1800,1,no description,60.2 -1801,I7N3G6G,1801,1,no description,60.2 -1802,I7N3G6G,1802,1,no description,60.2 -1803,I7N3G6G,1803,1,no description,60.2 -1804,I7N3G6G,1804,1,no description,60.2 -1805,I7N3G6G,1805,1,no description,60.2 -1806,I7N3G6G,1806,1,no description,60.2 -1807,I7N3G6G,1807,1,no description,60.2 -1808,I7N3G6G,1808,1,no description,60.2 -1809,I7N3G6G,1809,1,no description,60.2 -1810,I7N3G6G,1810,1,no description,60.2 -1811,I7N3G6G,1811,1,no description,60.2 -1812,I7N3G6G,1812,1,no description,60.2 -1813,I7N3G6G,1813,1,no description,60.2 -1814,I7N3G6G,1814,1,no description,60.2 -1815,I7N3G6G,1815,1,no description,60.2 -1816,I7N3G6G,1816,1,no description,60.2 -1817,I7N3G6G,1817,1,no description,60.2 -1818,I7N3G6G,1818,1,no description,60.2 -1819,I7N3G6G,1819,1,no description,60.2 -1820,I7N3G6G,1820,1,no description,60.2 -1821,I7N3G6G,1821,1,no description,60.2 -1822,I7N3G6G,1822,1,no description,60.2 -1823,I7N3G6G,1823,1,no description,60.2 -1824,I7N3G6G,1824,1,no description,60.2 -1825,I7N3G6G,1825,1,no description,60.2 -1826,I7N3G6G,1826,1,no description,60.2 -1827,I7N3G6G,1827,1,no description,60.2 -1828,I7N3G6G,1828,1,no description,60.2 -1829,I7N3G6G,1829,1,no description,60.2 -1830,I7N3G6G,1830,1,no description,60.2 -1831,I7N3G6G,1831,1,no description,60.2 -1832,I7N3G6G,1832,1,no description,60.2 -1833,I7N3G6G,1833,1,no description,60.2 -1834,I7N3G6G,1834,1,no description,60.2 -1835,I7N3G6G,1835,no description,60.2 -1836,I7N3G6G,1836,1,no description,60.2 -1837,I7N3G6G,1837,1,no description,60.2 -1838,I7N3G6G,1838,1,no description,60.2 -1839,I7N3G6G,1839,1,no description,60.2 -1840,I7N3G6G,1840,1,no description,60.2 -1841,I7N3G6G,1841,1,no description,60.2 -1842,I7N3G6G,1842,1,no description,60.2 -1843,I7N3G6G,1843,1,no description,60.2 -1844,I7N3G6G,1844,1,no description,60.2 -1845,I7N3G6G,1845,1,no description,60.2 -1846,I7N3G6G,1846,1,no description,60.2 -1847,I7N3G6G,1847,1,no description,60.2 -1848,I7N3G6G,1848,1,no description,60.2 -1849,I7N3G6G,1849,1,no description,60.2 -1850,I7N3G6G,1850,1,no description,60.2 -1851,I7N3G6G,1851,1,no description,60.2 -1852,I7N3G6G,1852,1,no description,60.2 -1853,I7N3G6G,1853,1,no description,60.2 -1854,I7N3G6G,1854,1,no description,60.2 -1855,I7N3G6G,1855,1,no description,60.2 -1856,I7N3G6G,1856,1,no description,60.2 -1857,I7N3G6G,1857,1,no description,60.2 -1858,I7N3G6G,1858,1,no description,60.2 -1859,I7N3G6G,1859,1,no description,60.2 -1860,I7N3G6G,1860,1,no description,60.2 -1861,I7N3G6G,1861,1,no description,60.2 -1862,I7N3G6G,1862,1,no description,60.2 -1863,I7N3G6G,1863,1,no description,60.2 -1864,I7N3G6G,1864,1,no description,60.2 -1865,I7N3G6G,1865,1,no description,60.2 -1866,I7N3G6G,1866,1,no description,60.2 -1867,I7N3G6G,1867,1,no description,60.2 -1868,I7N3G6G,1868,1,no description,60.2 -1869,I7N3G6G,1869,1,no description,60.2 -1870,I7N3G6G,1870,1,no description,60.2 -1871,I7N3G6G,1871,1,no description,60.2 -1872,I7N3G6G,1872,1,no description,60.2 -1873,I7N3G6G,1873,1,no description,60.2 -1874,I7N3G6G,1874,1,no description,60.2 -1875,I7N3G6G,1875,1,no description,60.2 -1876,I7N3G6G,1876,1,no description,60.2 -1877,I7N3G6G,1877,1,no description,60.2 -1878,I7N3G6G,1878,1,no description,60.2 -1879,I7N3G6G,1879,1,no description,60.2 -1880,I7N3G6G,1880,1,no description,60.2 -1881,I7N3G6G,1881,1,no description,60.2 -1882,I7N3G6G,1882,1,no description,60.2 -1883,I7N3G6G,1883,1,no description,60.2 -1884,I7N3G6G,1884,1,no description,60.2 -1885,I7N3G6G,1885,1,no description,60.2 -1886,I7N3G6G,1886,1,no description,60.2 -1887,I7N3G6G,1887,1,no description,60.2 -1888,I7N3G6G,1888,1,no description,60.2 -1889,I7N3G6G,1889,1,no description,60.2 -1890,I7N3G6G,1890,1,no description,60.2 -1891,I7N3G6G,1891,1,no description,60.2 -1892,I7N3G6G,1892,1,no description,60.2 -1893,I7N3G6G,1893,1,no description,60.2 -1894,I7N3G6G,1894,1,no description,60.2 -1895,I7N3G6G,1895,1,no description,60.2 -1896,I7N3G6G,1896,1,no description,60.2 -1897,I7N3G6G,1897,1,no description,60.2 -1898,I7N3G6G,1898,1,no description,60.2 -1899,I7N3G6G,1899,1,no description,60.2 -1900,I7N3G6G,1900,1,no description,60.2 -1901,I7N3G6G,1901,1,no description,60.2 -1902,I7N3G6G,1902,1,no description,60.2 -1903,I7N3G6G,1903,1,no description,60.2 -1904,I7N3G6G,1904,1,no description,60.2 -1905,I7N3G6G,1905,1,no description,60.2 -1906,I7N3G6G,1906,1,no description,60.2 -1907,I7N3G6G,1907,1,no description,60.2 -1908,I7N3G6G,1908,1,no description,60.2 -1909,I7N3G6G,1909,1,no description,60.2 -1910,I7N3G6G,1910,1,no description,60.2 -1911,I7N3G6G,1911,1,no description,60.2 -1912,I7N3G6G,1912,1,no description,60.2 -1913,I7N3G6G,1913,1,no description,60.2 -1914,I7N3G6G,1914,1,no description,60.2 -1915,I7N3G6G,1915,1,no description,60.2 -1916,I7N3G6G,1916,1,no description,60.2 -1917,I7N3G6G,1917,1,no description,60.2 -1918,I7N3G6G,1918,1,no description,60.2 -1919,I7N3G6G,1919,1,no description,60.2 -1920,I7N3G6G,1920,1,no description,60.2 -1921,I7N3G6G,1921,1,no description,60.2 -1922,I7N3G6G,1922,1,no description,60.2 -1923,I7N3G6G,1923,1,no description,60.2 -1924,I7N3G6G,1924,1,no description,60.2 -1925,I7N3G6G,1925,1,no description,60.2 -1926,I7N3G6G,1926,1,no description,60.2 -1927,I7N3G6G,1927,1,no description,60.2 -1928,I7N3G6G,1928,1,no description,60.2 -1929,I7N3G6G,1929,1,no description,60.2 -1930,I7N3G6G,1930,1,no description,60.2 -1931,I7N3G6G,1931,1,no description,60.2 -1932,I7N3G6G,1932,1,no description,60.2 -1933,I7N3G6G,1933,1,no description,60.2 -1934,I7N3G6G,1934,1,no description,60.2 -1935,I7N3G6G,1935,1,no description,60.2 -1936,I7N3G6G,1936,1,no description,60.2 -1937,I7N3G6G,1937,1,no description,60.2 -1938,I7N3G6G,1938,1,no description,60.2 -1939,I7N3G6G,1939,1,no description,60.2 -1940,I7N3G6G,1940,1,no description,60.2 -1941,I7N3G6G,1941,1,no description,60.2 -1942,I7N3G6G,1942,1,no description,60.2 -1943,I7N3G6G,1943,1,no description,60.2 -1944,I7N3G6G,1944,1,no description,60.2 -1945,I7N3G6G,1945,1,no description,60.2 -1946,I7N3G6G,1946,1,no description,60.2 -1947,I7N3G6G,1947,1,no description,60.2 -1948,I7N3G6G,1948,1,no description,60.2 -1949,I7N3G6G,1949,1,no description,60.2 -1950,I7N3G6G,1950,1,no description,60.2 -1951,I7N3G6G,1951,1,no description,60.2 -1952,I7N3G6G,1952,1,no description,60.2 -1953,I7N3G6G,1953,1,no description,60.2 -1954,I7N3G6G,1954,1,no description,60.2 -1955,I7N3G6G,1955,1,no description,60.2 -1956,I7N3G6G,1956,1,no description,60.2 -1957,I7N3G6G,1957,1,no description,60.2 -1958,I7N3G6G,1958,1,no description,60.2 -1959,I7N3G6G,1959,1,no description,60.2 -1960,I7N3G6G,1960,1,no description,60.2 -1961,I7N3G6G,1961,1,no description,60.2 -1962,I7N3G6G,1962,1,no description,60.2 -1963,I7N3G6G,1963,1,no description,60.2 -1964,I7N3G6G,1964,1,no description,60.2 -1965,I7N3G6G,1965,1,no description,60.2 -1966,I7N3G6G,1966,1,no description,60.2 -1967,I7N3G6G,1967,1,no description,60.2 -1968,I7N3G6G,1968,1,no description,60.2 -1969,I7N3G6G,1969,1,no description,60.2 -1970,I7N3G6G,1970,1,no description,60.2 -1971,I7N3G6G,1971,1,no description,60.2 -1972,I7N3G6G,1972,1,no description,60.2 -1973,I7N3G6G,1973,1,no description,60.2 -1974,I7N3G6G,1974,1,no description,60.2 -1975,I7N3G6G,1975,1,no description,60.2 -1976,I7N3G6G,1976,1,no description,60.2 -1977,I7N3G6G,1977,1,no description,60.2 -1978,I7N3G6G,1978,1,no description,60.2 -1979,I7N3G6G,1979,1,no description,60.2 -1980,I7N3G6G,1980,1,no description,60.2 -1981,I7N3G6G,1981,1,no description,60.2 -1982,I7N3G6G,1982,1,no description,60.2 -1983,I7N3G6G,1983,1,no description,60.2 -1984,I7N3G6G,1984,1,no description,60.2 -1985,I7N3G6G,1985,1,no description,60.2 -1986,I7N3G6G,1986,1,no description,60.2 -1987,I7N3G6G,1987,1,no description,60.2 -1988,I7N3G6G,1988,1,no description,60.2 -1989,I7N3G6G,1989,1,no description,60.2 -1990,I7N3G6G,1990,1,no description,60.2 -1991,I7N3G6G,1991,1,no description,60.2 -1992,I7N3G6G,1992,1,no description,60.2 -1993,I7N3G6G,1993,1,no description,60.2 -1994,I7N3G6G,1994,1,no description,60.2 -1995,I7N3G6G,1995,1,no description,60.2 -1996,I7N3G6G,1996,1,no description,60.2 -1997,I7N3G6G,1997,1,no description,60.2 -1998,I7N3G6G,1998,1,no description,60.2 -1999,I7N3G6G,1999,1,no description,60.2 -2000,I7N3G6G,2000,1,no description,60.2 -2001,I7N3G6G,2001,1,no description,60.2 -2002,I7N3G6G,2002,1,no description,60.2 -2003,I7N3G6G,2003,1,no description,60.2 -2004,I7N3G6G,2004,1,no description,60.2 -2005,I7N3G6G,2005,1,no description,60.2 -2006,I7N3G6G,2006,1,no description,60.2 -2007,I7N3G6G,2007,1,no description,60.2 -2008,I7N3G6G,2008,1,no description,60.2 -2009,I7N3G6G,2009,1,no description,60.2 -2010,I7N3G6G,2010,1,no description,60.2 -2011,I7N3G6G,2011,1,no description,60.2 -2012,I7N3G6G,2012,1,no description,60.2 -2013,I7N3G6G,2013,1,no description,60.2 -2014,I7N3G6G,2014,1,no description,60.2 -2015,I7N3G6G,2015,1,no description,60.2 -2016,I7N3G6G,2016,1,no description,60.2 -2017,I7N3G6G,2017,1,no description,60.2 -2018,I7N3G6G,2018,1,no description,60.2 -2019,I7N3G6G,2019,1,no description,60.2 -2020,I7N3G6G,2020,1,no description,60.2 -2021,I7N3G6G,2021,1,no description,60.2 -2022,I7N3G6G,2022,1,no description,60.2 -2023,I7N3G6G,2023,1,no description,60.2 -2024,I7N3G6G,2024,1,no description,60.2 -2025,I7N3G6G,2025,1,no description,60.2 -2026,I7N3G6G,2026,1,no description,60.2 -2027,I7N3G6G,2027,1,no description,60.2 -2028,I7N3G6G,2028,1,no description,60.2 -2029,I7N3G6G,2029,1,no description,60.2 -2030,I7N3G6G,2030,1,no description,60.2 -2031,I7N3G6G,2031,1,no description,60.2 -2032,I7N3G6G,2032,1,no description,60.2 -2033,I7N3G6G,2033,1,no description,60.2 -2034,I7N3G6G,2034,1,no description,60.2 -2035,I7N3G6G,2035,1,no description,60.2 -2036,I7N3G6G,2036,1,no description,60.2 -2037,I7N3G6G,2037,1,no description,60.2 -2038,I7N3G6G,2038,1,no description,60.2 -2039,I7N3G6G,2039,1,no description,60.2 -2040,I7N3G6G,2040,1,no description,60.2 -2041,I7N3G6G,2041,1,no description,60.2 -2042,I7N3G6G,2042,1,no description,60.2 -2043,I7N3G6G,2043,1,no description,60.2 -2044,I7N3G6G,2044,1,no description,60.2 -2045,I7N3G6G,2045,1,no description,60.2 -2046,I7N3G6G,2046,1,no description,60.2 -2047,I7N3G6G,2047,1,no description,60.2 -2048,I7N3G6G,2048,1,no description,60.2 -2049,I7N3G6G,2049,1,no description,60.2 -2050,I7N3G6G,2050,1,no description,60.2 -2051,I7N3G6G,2051,1,no description,60.2 -2052,I7N3G6G,2052,1,no description,60.2 -2053,I7N3G6G,2053,1,no description,60.2 -2054,I7N3G6G,2054,1,no description,60.2 -2055,I7N3G6G,2055,1,no description,60.2 -2056,I7N3G6G,2056,1,no description,60.2 -2057,I7N3G6G,2057,1,no description,60.2 -2058,I7N3G6G,2058,1,no description,60.2 -2059,I7N3G6G,2059,1,no description,60.2 -2060,I7N3G6G,2060,1,no description,60.2 -2061,I7N3G6G,2061,1,no description,60.2 -2062,I7N3G6G,2062,1,no description,60.2 -2063,I7N3G6G,2063,1,no description,60.2 -2064,I7N3G6G,2064,1,no description,60.2 -2065,I7N3G6G,2065,1,no description,60.2 -2066,I7N3G6G,2066,1,no description,60.2 -2067,I7N3G6G,2067,1,no description,60.2 -2068,I7N3G6G,2068,1,no description,60.2 -2069,I7N3G6G,2069,1,no description,60.2 -2070,I7N3G6G,2070,1,no description,60.2 -2071,I7N3G6G,2071,1,no description,60.2 -2072,I7N3G6G,2072,1,no description,60.2 -2073,I7N3G6G,2073,1,no description,60.2 -2074,I7N3G6G,2074,1,no description,60.2 -2075,I7N3G6G,2075,1,no description,60.2 -2076,I7N3G6G,2076,1,no description,60.2 -2077,I7N3G6G,2077,1,no description,60.2 -2078,I7N3G6G,2078,1,no description,60.2 -2079,I7N3G6G,2079,1,no description,60.2 -2080,I7N3G6G,2080,1,no description,60.2 -2081,I7N3G6G,2081,1,no description,60.2 -2082,I7N3G6G,2082,1,no description,60.2 -2083,I7N3G6G,2083,1,no description,60.2 -2084,I7N3G6G,2084,1,no description,60.2 -2085,I7N3G6G,2085,1,no description,60.2 -2086,I7N3G6G,2086,1,no description,60.2 -2087,I7N3G6G,2087,1,no description,60.2 -2088,I7N3G6G,2088,1,no description,60.2 -2089,I7N3G6G,2089,1,no description,60.2 -2090,I7N3G6G,2090,1,no description,60.2 -2091,I7N3G6G,2091,1,no description,60.2 -2092,I7N3G6G,2092,1,no description,60.2 -2093,I7N3G6G,2093,1,no description,60.2 -2094,I7N3G6G,2094,1,no description,60.2 -2095,I7N3G6G,2095,1,no description,60.2 -2096,I7N3G6G,2096,1,no description,60.2 -2097,I7N3G6G,2097,1,no description,60.2 -2098,I7N3G6G,2098,1,no description,60.2 -2099,I7N3G6G,2099,1,no description,60.2 -2100,I7N3G6G,2100,1,no description,60.2 -2101,I7N3G6G,2101,1,no description,60.2 -2102,I7N3G6G,2102,1,no description,60.2 -2103,I7N3G6G,2103,1,no description,60.2 -2104,I7N3G6G,2104,1,no description,60.2 -2105,I7N3G6G,2105,1,no description,60.2 -2106,I7N3G6G,2106,1,no description,60.2 -2107,I7N3G6G,2107,1,no description,60.2 -2108,I7N3G6G,2108,1,no description,60.2 -2109,I7N3G6G,2109,1,no description,60.2 -2110,I7N3G6G,2110,1,no description,60.2 -2111,I7N3G6G,2111,1,no description,60.2 -2112,I7N3G6G,2112,1,no description,60.2 -2113,I7N3G6G,2113,1,no description,60.2 -2114,I7N3G6G,2114,1,no description,60.2 -2115,I7N3G6G,2115,1,no description,60.2 -2116,I7N3G6G,2116,1,no description,60.2 -2117,I7N3G6G,2117,1,no description,60.2 -2118,I7N3G6G,2118,1,no description,60.2 -2119,I7N3G6G,2119,1,no description,60.2 -2120,I7N3G6G,2120,1,no description,60.2 -2121,I7N3G6G,2121,1,no description,60.2 -2122,I7N3G6G,2122,1,no description,60.2 -2123,I7N3G6G,2123,1,no description,60.2 -2124,I7N3G6G,2124,1,no description,60.2 -2125,I7N3G6G,2125,1,no description,60.2 -2126,I7N3G6G,2126,1,no description,60.2 -2127,I7N3G6G,2127,1,no description,60.2 -2128,I7N3G6G,2128,1,no description,60.2 -2129,I7N3G6G,2129,1,no description,60.2 -2130,I7N3G6G,2130,1,no description,60.2 -2131,I7N3G6G,2131,1,no description,60.2 -2132,I7N3G6G,2132,1,no description,60.2 -2133,I7N3G6G,2133,1,no description,60.2 -2134,I7N3G6G,2134,1,no description,60.2 -2135,I7N3G6G,2135,1,no description,60.2 -2136,I7N3G6G,2136,1,no description,60.2 -2137,I7N3G6G,2137,1,no description,60.2 -2138,I7N3G6G,2138,1,no description,60.2 -2139,I7N3G6G,2139,1,no description,60.2 -2140,I7N3G6G,2140,1,no description,60.2 -2141,I7N3G6G,2141,1,no description,60.2 -2142,I7N3G6G,2142,1,no description,60.2 -2143,I7N3G6G,2143,1,no description,60.2 -2144,I7N3G6G,2144,1,no description,60.2 -2145,I7N3G6G,2145,1,no description,60.2 -2146,I7N3G6G,2146,1,no description,60.2 -2147,I7N3G6G,2147,1,no description,60.2 -2148,I7N3G6G,2148,1,no description,60.2 -2149,I7N3G6G,2149,1,no description,60.2 -2150,I7N3G6G,2150,1,no description,60.2 -2151,I7N3G6G,2151,1,no description,60.2 -2152,I7N3G6G,2152,1,no description,60.2 -2153,I7N3G6G,2153,1,no description,60.2 -2154,I7N3G6G,2154,1,no description,60.2 -2155,I7N3G6G,2155,1,no description,60.2 -2156,I7N3G6G,2156,1,no description,60.2 -2157,I7N3G6G,2157,1,no description,60.2 -2158,I7N3G6G,2158,1,no description,60.2 -2159,I7N3G6G,2159,1,no description,60.2 -2160,I7N3G6G,2160,1,no description,60.2 -2161,I7N3G6G,2161,1,no description,60.2 -2162,I7N3G6G,2162,1,no description,60.2 -2163,I7N3G6G,2163,1,no description,60.2 -2164,I7N3G6G,2164,1,no description,60.2 -2165,I7N3G6G,2165,1,no description,60.2 -2166,I7N3G6G,2166,1,no description,60.2 -2167,I7N3G6G,2167,1,no description,60.2 -2168,I7N3G6G,2168,1,no description,60.2 -2169,I7N3G6G,2169,1,no description,60.2 -2170,I7N3G6G,2170,1,no description,60.2 -2171,I7N3G6G,2171,1,no description,60.2 -2172,I7N3G6G,2172,1,no description,60.2 -2173,I7N3G6G,2173,1,no description,60.2 -2174,I7N3G6G,2174,1,no description,60.2 -2175,I7N3G6G,2175,1,no description,60.2 -2176,I7N3G6G,2176,1,no description,60.2 -2177,I7N3G6G,2177,1,no description,60.2 -2178,I7N3G6G,2178,1,no description,60.2 -2179,I7N3G6G,2179,1,no description,60.2 -2180,I7N3G6G,2180,1,no description,60.2 -2181,I7N3G6G,2181,1,no description,60.2 -2182,I7N3G6G,2182,1,no description,60.2 -2183,I7N3G6G,2183,1,no description,60.2 -2184,I7N3G6G,2184,1,no description,60.2 -2185,I7N3G6G,2185,1,no description,60.2 -2186,I7N3G6G,2186,1,no description,60.2 -2187,I7N3G6G,2187,1,no description,60.2 -2188,I7N3G6G,2188,1,no description,60.2 -2189,I7N3G6G,2189,1,no description,60.2 -2190,I7N3G6G,2190,1,no description,60.2 -2191,I7N3G6G,2191,1,no description,60.2 -2192,I7N3G6G,2192,1,no description,60.2 -2193,I7N3G6G,2193,1,no description,60.2 -2194,I7N3G6G,2194,1,no description,60.2 -2195,I7N3G6G,2195,1,no description,60.2 -2196,I7N3G6G,2196,1,no description,60.2 -2197,I7N3G6G,2197,1,no description,60.2 -2198,I7N3G6G,2198,1,no description,60.2 -2199,I7N3G6G,2199,1,no description,60.2 -2200,I7N3G6G,2200,1,no description,60.2 -2201,I7N3G6G,2201,1,no description,60.2 -2202,I7N3G6G,2202,1,no description,60.2 -2203,I7N3G6G,2203,1,no description,60.2 -2204,I7N3G6G,2204,1,no description,60.2 -2205,I7N3G6G,2205,1,no description,60.2 -2206,I7N3G6G,2206,1,no description,60.2 -2207,I7N3G6G,2207,1,no description,60.2 -2208,I7N3G6G,2208,1,no description,60.2 -2209,I7N3G6G,2209,1,no description,60.2 -2210,I7N3G6G,2210,1,no description,60.2 -2211,I7N3G6G,2211,1,no description,60.2 -2212,I7N3G6G,2212,1,no description,60.2 -2213,I7N3G6G,2213,1,no description,60.2 -2214,I7N3G6G,2214,1,no description,60.2 -2215,I7N3G6G,2215,1,no description,60.2 -2216,I7N3G6G,2216,1,no description,60.2 -2217,I7N3G6G,2217,1,no description,60.2 -2218,I7N3G6G,2218,1,no description,60.2 -2219,I7N3G6G,2219,1,no description,60.2 -2220,I7N3G6G,2220,1,no description,60.2 -2221,I7N3G6G,2221,1,no description,60.2 -2222,I7N3G6G,2222,1,no description,60.2 -2223,I7N3G6G,2223,1,no description,60.2 -2224,I7N3G6G,2224,1,no description,60.2 -2225,I7N3G6G,2225,1,no description,60.2 -2226,I7N3G6G,2226,1,no description,60.2 diff --git a/packages/itmat-job-executor/test/testFiles/CSVCurator_error5.tsv b/packages/itmat-job-executor/test/testFiles/CSVCurator_error5.tsv deleted file mode 100644 index fd5fcf489..000000000 --- a/packages/itmat-job-executor/test/testFiles/CSVCurator_error5.tsv +++ /dev/null @@ -1,2227 +0,0 @@ -ID,SubjectID,VisitID,Sex,Description,Weight,UNKNOWN -1,I7N3G6G,1,1,no description,60.2,1 -2,I7N3G6G,2,1,no description,60.2,1 -3,I7N3G6G,3,1,no description,60.2,1 -4,I7N3G6G,4,1,no description,60.2,1 -5,I7N3G6G,5,1,no description,60.2,1 -6,I7N3G6G,6,1,no description,60.2,1 -7,I7N3G6G,7,a,no description,60.2,1 -8,I7N3G6G,8,1,no description,60.2,1 -9,I7N3G6G,9,1,no description,60.2,1 -10,I7N3G6G,10,1,no description,60.2,1 -11,I7N3G6G,11,1,no description,60.2,1 -12,I7N3G6G,12,1,no description,60.2,1 -13,I7N3G6G,13,1,no description,60.2,1 -14,I7N3G6G,14,1,no description,60.2,1 -15,I7N3G6G,15,1,no description,60.2,1 -16,I7N3G6G,16,1,no description,60.2,1 -17,I7N3G6G,17,1,no description,60.2,1 -18,I7N3G6G,18,1,no description,60.2,1 -19,I7N3G6G,19,1,no description,60.2,1 -20,I7N3G6G,20,1,no description,60.2,1 -21,I7N3G6G,21,1,no description,60.2,1 -22,I7N3G6G,22,1,no description,60.2,1 -23,I7N3G6G,23,1,no description,60.2,1 -24,I7N3G6G,24,1,no description,60.2,1 -25,I7N3G6G,25,1,no description,60.2,1 -26,I7N3G6G,26,1,no description,60.2,1 -27,I7N3G6G,27,1,no description,60.2,1 -28,I7N3G6G,28,1,no description,60.2,1 -29,I7N3G6G,29,1,no description,60.2,1 -30,I7N3G6G,30,1,no description,60.2 -31,I7N3G6G,31,1,no description,60.2 -32,I7N3G6G,32,1,no description,60.2,1 -33,I7N3G6G,33,1,no description,60.2,1 -34,I7N3G6G,34,1,no description,60.2,1 -35,I7N3G6G,35,1,no description,60.2,1 -36,I7N3G6G,36,1,no description,60.2,1 -37,I7N3G6G,37,1,no description,60.2,1 -38,I7N3G6G,38,1,no description,60.2,1 -39,I7N3G6G,39,1,no description,60.2,1 -40,I7N3G6G,40,1,no description,60.2,1 -41,I7N3G6G,41,1,no description,60.2,1 -42,I7N3G6G,42,1,no description,60.2,1 -43,I7N3G6G,43,1,no description,60.2,1 -44,I7N3G6G,44,1,no description,60.2,1 -45,I7N3G6G,45,1,no description,60.2,1 -46,I7N3G6G,46,1,no description,60.2,1 -47,I7N3G6G,47,1,no description,60.2,1 -48,I7N3G6G,48,1,no description,60.2,1 -49,I7N3G6G,49,1,no description,60.2,1 -50,I7N3G6G,50,1,no description,60.2,1 -51,I7N3G6G,51,1,no description,60.2,1 -52,I7N3G6G,52,1,no description,60.2,1 -53,I7N3G6G,53,1,no description,60.2,1 -54,I7N3G6G,54,1,no description,60.2,1 -55,I7N3G6G,55,1,no description,60.2,1 -56,I7N3G6G,56,1,no description,60.2,1 -57,I7N3G6G,57,1,no description,60.2,1 -58,I7N3G6G,58,1,no description,60.2,1 -59,I7N3G6G,59,1,no description,60.2,1 -60,I7N3G6G,60,1,no description,60.2,1 -61,I7N3G6G,61,1,no description,60.2,1 -62,I7N3G6G,62,1,no description,60.2,1 -63,I7N3G6G,63,1,no description,60.2,1 -64,I7N3G6G,64,1,no description,60.2,1 -65,I7N3G6G,65,1,no description,60.2,1 -66,I7N3G6G,66,1,no description,60.2,1 -67,I7N3G6G,67,1,no description,60.2,1 -68,I7N3G6G,68,1,no description,60.2,1 -69,I7N3G6G,69,1,no description,60.2,1 -70,I7N3G6G,70,1,no description,60.2,1 -71,I7N3G6G,71,1,no description,60.2,1 -72,I7N3G6G,72,1,no description,60.2,1 -73,I7N3G6G,73,1,no description,60.2,1 -74,I7N3G6G,74,1,no description,60.2,1 -75,I7N3G6G,75,1,no description,60.2,1 -76,I7N3G6G,76,1,no description,60.2,1 -77,I7N3G6G,77,1,no description,60.2,1 -78,I7N3G6G,78,1,no description,60.2,1 -79,I7N3G6G,79,1,no description,60.2,1 -80,I7N3G6G,80,1,no description,60.2,1 -81,I7N3G6G,81,1,no description,60.2,1 -82,I7N3G6G,82,1,no description,60.2,1 -83,I7N3G6G,83,1,no description,60.2,1 -84,I7N3G6G,84,1,no description,60.2,1 -85,I7N3G6G,85,1,no description,60.2,1 -86,I7N3G6G,86,1,no description,60.2,1 -87,I7N3G6G,87,1,no description,60.2,1 -88,I7N3G6G,88,1,no description,60.2,1 -89,I7N3G6G,89,1,no description,60.2,1 -90,I7N3G6G,90,1,no description,60.2,1 -91,I7N3G6G,91,1,no description,60.2,1 -92,I7N3G6G,92,1,no description,60.2,1 -93,I7N3G6G,93,1,no description,60.2,1 -94,I7N3G6G,94,1,no description,60.2,1 -95,I7N3G6G,95,1,no description,60.2,1 -96,I7N3G6G,96,1,no description,60.2,1 -97,I7N3G6G,97,1,no description,60.2,1 -98,I7N3G6G,98,1,no description,60.2,1 -99,I7N3G6G,99,1,no description,60.2,1 -100,I7N3G6G,100,1,no description,60.2,1 -101,I7N3G6G,101,1,no description,60.2,1 -102,I7N3G6G,102,1,no description,60.2,1 -103,I7N3G6G,103,1,no description,60.2,1 -104,I7N3G6G,104,1,no description,60.2,1 -105,I7N3G6G,105,1,no description,60.2,1 -106,I7N3G6G,106,1,no description,60.2,1 -107,I7N3G6G,107,1,no description,60.2,1 -108,I7N3G6G,108,1,no description,60.2,1 -109,I7N3G6G,109,1,no description,60.2,1 -110,I7N3G6G,110,1,no description,60.2,1 -111,I7N3G6G,111,1,no description,60.2,1 -112,I7N3G6G,112,1,no description,60.2,1 -113,I7N3G6G,113,1,no description,60.2,1 -114,I7N3G6G,114,1,no description,60.2,1 -115,I7N3G6G,115,1,no description,60.2,1 -116,I7N3G6G,116,1,no description,60.2,1 -117,I7N3G6G,117,1,no description,60.2,1 -118,I7N3G6G,118,1,no description,60.2,1 -119,I7N3G6G,119,1,no description,60.2,1 -120,I7N3G6G,120,1,no description,60.2,1 -121,I7N3G6G,121,1,no description,60.2,1 -122,I7N3G6G,122,1,no description,60.2,1 -123,I7N3G6G,123,1,no description,60.2,1 -124,I7N3G6G,124,1,no description,60.2,1 -125,I7N3G6G,125,1,no description,60.2,1 -126,I7N3G6G,126,1,no description,60.2,1 -127,I7N3G6G,127,1,no description,60.2,1 -128,I7N3G6G,128,1,no description,60.2,1 -129,I7N3G6G,129,1,no description,60.2,1 -130,I7N3G6G,130,1,no description,60.2,1 -131,I7N3G6G,131,1,no description,60.2,1 -132,I7N3G6G,132,1,no description,60.2,1 -133,I7N3G6G,133,1,no description,60.2,1 -134,I7N3G6G,134,1,no description,60.2,1 -135,I7N3G6G,135,1,no description,60.2,1 -136,I7N3G6G,136,1,no description,60.2,1 -137,I7N3G6G,137,1,no description,60.2,1 -138,I7N3G6G,138,1,no description,60.2,1 -139,I7N3G6G,139,1,no description,60.2,1 -140,I7N3G6G,140,1,no description,60.2,1 -141,I7N3G6G,141,1,no description,60.2,1 -142,I7N3G6G,142,1,no description,60.2,1 -143,I7N3G6G,143,1,no description,60.2,1 -144,I7N3G6G,144,1,no description,60.2,1 -145,I7N3G6G,145,1,no description,60.2,1 -146,I7N3G6G,146,1,no description,60.2,1 -147,I7N3G6G,147,1,no description,60.2,1 -148,I7N3G6G,148,1,no description,60.2,1 -149,I7N3G6G,149,1,no description,60.2,1 -150,I7N3G6G,150,1,no description,60.2,1 -151,I7N3G6G,151,1,no description,60.2,1 -152,I7N3G6G,152,1,no description,60.2,1 -153,I7N3G6G,153,1,no description,60.2,1 -154,I7N3G6G,154,1,no description,60.2,1 -155,I7N3G6G,155,1,no description,60.2,1 -156,I7N3G6G,156,1,no description,60.2,1 -157,I7N3G6G,157,1,no description,60.2,1 -158,I7N3G6G,158,1,no description,60.2,1 -159,I7N3G6G,159,1,no description,60.2,1 -160,I7N3G6G,160,1,no description,60.2,1 -161,I7N3G6G,161,1,no description,60.2,1 -162,I7N3G6G,162,1,no description,60.2,1 -163,I7N3G6G,163,1,no description,60.2,1 -164,I7N3G6G,164,1,no description,60.2,1 -165,I7N3G6G,165,1,no description,60.2,1 -166,I7N3G6G,166,1,no description,60.2,1 -167,I7N3G6G,167,1,no description,60.2,1 -168,I7N3G6G,168,1,no description,60.2,1 -169,I7N3G6G,169,1,no description,60.2,1 -170,I7N3G6G,170,1,no description,60.2,1 -171,I7N3G6G,171,1,no description,60.2,1 -172,I7N3G6G,172,1,no description,60.2,1 -173,I7N3G6G,173,1,no description,60.2,1 -174,I7N3G6G,174,1,no description,60.2,1 -175,I7N3G6G,175,1,no description,60.2,1 -176,I7N3G6G,176,1,no description,60.2,1 -177,I7N3G6G,177,1,no description,60.2,1 -178,I7N3G6G,178,1,no description,60.2,1 -179,I7N3G6G,179,1,no description,60.2,1 -180,I7N3G6G,180,1,no description,60.2,1 -181,I7N3G6G,181,1,no description,60.2,1 -182,I7N3G6G,182,1,no description,60.2,1 -183,I7N3G6G,183,1,no description,60.2,1 -184,I7N3G6G,184,1,no description,60.2,1 -185,I7N3G6G,185,1,no description,60.2,1 -186,I7N3G6G,186,1,no description,60.2,1 -187,I7N3G6G,187,1,no description,60.2,1 -188,I7N3G6G,188,1,no description,60.2,1 -189,I7N3G6G,189,1,no description,60.2,1 -190,I7N3G6G,190,1,no description,60.2,1 -191,I7N3G6G,191,1,no description,60.2,1 -192,I7N3G6G,192,1,no description,60.2,1 -193,I7N3G6G,193,1,no description,60.2,1 -194,I7N3G6G,194,1,no description,60.2,1 -195,I7N3G6G,195,1,no description,60.2,1 -196,I7N3G6G,196,1,no description,60.2,1 -197,I7N3G6G,197,1,no description,60.2,1 -198,I7N3G6G,198,1,no description,60.2,1 -199,I7N3G6G,199,1,no description,60.2,1 -200,I7N3G6G,200,1,no description,60.2,1 -201,I7N3G6G,201,1,no description,60.2,1 -202,I7N3G6G,202,1,no description,60.2,1 -203,I7N3G6G,203,1,no description,60.2,1 -204,I7N3G6G,204,1,no description,60.2,1 -205,I7N3G6G,205,1,no description,60.2,1 -206,I7N3G6G,206,1,no description,60.2,1 -207,I7N3G6G,207,1,no description,60.2,1 -208,I7N3G6G,208,1,no description,60.2,1 -209,I7N3G6G,209,1,no description,60.2,1 -210,I7N3G6G,210,1,no description,60.2,1 -211,I7N3G6G,211,1,no description,60.2,1 -212,I7N3G6G,212,1,no description,60.2,1 -213,I7N3G6G,213,1,no description,60.2,1 -214,I7N3G6G,214,1,no description,60.2,1 -215,I7N3G6G,215,1,no description,60.2,1 -216,I7N3G6G,216,1,no description,60.2,1 -217,I7N3G6G,217,1,no description,60.2,1 -218,I7N3G6G,218,1,no description,60.2,1 -219,I7N3G6G,219,1,no description,60.2,1 -220,I7N3G6G,220,1,no description,60.2,1 -221,I7N3G6G,221,1,no description,60.2,1 -222,I7N3G6G,222,1,no description,60.2,1 -223,I7N3G6G,223,1,no description,60.2,1 -224,I7N3G6G,224,1,no description,60.2,1 -225,I7N3G6G,225,1,no description,60.2,1 -226,I7N3G6G,226,1,no description,60.2,1 -227,I7N3G6G,227,1,no description,60.2,1 -228,I7N3G6G,228,1,no description,60.2,1 -229,I7N3G6G,229,1,no description,60.2,1 -230,I7N3G6G,230,1,no description,60.2,1 -231,I7N3G6G,231,1,no description,60.2,1 -232,I7N3G6G,232,1,no description,60.2,1 -233,I7N3G6G,233,1,no description,60.2,1 -234,I7N3G6G,234,1,no description,60.2,1 -235,I7N3G6G,235,1,no description,60.2,1 -236,I7N3G6G,236,1,no description,60.2,1 -237,I7N3G6G,237,1,no description,60.2,1 -238,I7N3G6G,238,1,no description,60.2,1 -239,I7N3G6G,239,1,no description,60.2,1 -240,I7N3G6G,240,1,no description,60.2,1 -241,I7N3G6G,241,1,no description,60.2,1 -242,I7N3G6G,242,1,no description,60.2,1 -243,I7N3G6G,243,1,no description,60.2,1 -244,I7N3G6G,244,1,no description,60.2,1 -245,I7N3G6G,245,1,no description,60.2,1 -246,I7N3G6G,246,1,no description,60.2,1 -247,I7N3G6G,247,1,no description,60.2,1 -248,I7N3G6G,248,1,no description,60.2,1 -249,I7N3G6G,249,1,no description,60.2,1 -250,I7N3G6G,250,1,no description,60.2,1 -251,I7N3G6G,251,1,no description,60.2,1 -252,I7N3G6G,252,1,no description,60.2,1 -253,I7N3G6G,253,1,no description,60.2,1 -254,I7N3G6G,254,1,no description,60.2,1 -255,I7N3G6G,255,1,no description,60.2,1 -256,I7N3G6G,256,1,no description,60.2,1 -257,I7N3G6G,257,1,no description,60.2,1 -258,I7N3G6G,258,1,no description,60.2,1 -259,I7N3G6G,259,1,no description,60.2,1 -260,I7N3G6G,260,1,no description,60.2,1 -261,I7N3G6G,261,1,no description,60.2,1 -262,I7N3G6G,262,1,no description,60.2,1 -263,I7N3G6G,263,1,no description,60.2,1 -264,I7N3G6G,264,1,no description,60.2,1 -265,I7N3G6G,265,1,no description,60.2,1 -266,I7N3G6G,266,1,no description,60.2,1 -267,I7N3G6G,267,1,no description,60.2,1 -268,I7N3G6G,268,1,no description,60.2,1 -269,I7N3G6G,269,1,no description,60.2,1 -270,I7N3G6G,270,1,no description,60.2,1 -271,I7N3G6G,271,1,no description,60.2,1 -272,I7N3G6G,272,1,no description,60.2,1 -273,I7N3G6G,273,1,no description,60.2,1 -274,I7N3G6G,274,1,no description,60.2,1 -275,I7N3G6G,275,1,no description,60.2,1 -276,I7N3G6G,276,1,no description,60.2,1 -277,I7N3G6G,277,1,no description,60.2,1 -278,I7N3G6G,278,1,no description,60.2,1 -279,I7N3G6G,279,1,no description,60.2,1 -280,I7N3G6G,280,1,no description,60.2,1 -281,I7N3G6G,281,1,no description,60.2,1 -282,I7N3G6G,282,1,no description,60.2,1 -283,I7N3G6G,283,1,no description,60.2,1 -284,I7N3G6G,284,1,no description,60.2,1 -285,I7N3G6G,285,1,no description,60.2,1 -286,I7N3G6G,286,1,no description,60.2,1 -287,I7N3G6G,287,1,no description,60.2,1 -288,I7N3G6G,288,1,no description,60.2,1 -289,I7N3G6G,289,1,no description,60.2,1 -290,I7N3G6G,290,1,no description,60.2,1 -291,I7N3G6G,291,1,no description,60.2,1 -292,I7N3G6G,292,1,no description,60.2,1 -293,I7N3G6G,293,1,no description,60.2,1 -294,I7N3G6G,294,1,no description,60.2,1 -295,I7N3G6G,295,1,no description,60.2,1 -296,I7N3G6G,296,1,no description,60.2,1 -297,I7N3G6G,297,1,no description,60.2,1 -298,I7N3G6G,298,1,no description,60.2,1 -299,I7N3G6G,299,1,no description,60.2,1 -300,I7N3G6G,300,1,no description,60.2,1 -301,I7N3G6G,301,1,no description,60.2,1 -302,I7N3G6G,302,1,no description,60.2,1 -303,I7N3G6G,303,1,no description,60.2,1 -304,I7N3G6G,304,1,no description,60.2,1 -305,I7N3G6G,305,1,no description,60.2,1 -306,I7N3G6G,306,1,no description,60.2,1 -307,I7N3G6G,307,1,no description,60.2,1 -308,I7N3G6G,308,1,no description,60.2,1 -309,I7N3G6G,309,1,no description,60.2,1 -310,I7N3G6G,310,1,no description,60.2,1 -311,I7N3G6G,311,1,no description,60.2,1 -312,I7N3G6G,312,1,no description,60.2,1 -313,I7N3G6G,313,1,no description,60.2,1 -314,I7N3G6G,314,1,no description,60.2,1 -315,I7N3G6G,315,1,no description,60.2,1 -316,I7N3G6G,316,1,no description,60.2,1 -317,I7N3G6G,317,1,no description,60.2,1 -318,I7N3G6G,318,1,no description,60.2,1 -319,I7N3G6G,319,1,no description,60.2,1 -320,I7N3G6G,320,1,no description,60.2,1 -321,I7N3G6G,321,1,no description,60.2,1 -322,I7N3G6G,322,1,no description,60.2,1 -323,I7N3G6G,323,1,no description,60.2,1 -324,I7N3G6G,324,1,no description,60.2,1 -325,I7N3G6G,325,1,no description,60.2,1 -326,I7N3G6G,326,1,no description,60.2,1 -327,I7N3G6G,327,1,no description,60.2,1 -328,I7N3G6G,328,1,no description,60.2,1 -329,I7N3G6G,329,1,no description,60.2,1 -330,I7N3G6G,330,1,no description,60.2,1 -331,I7N3G6G,331,1,no description,60.2,1 -332,I7N3G6G,332,1,no description,60.2,1 -333,I7N3G6G,333,1,no description,60.2,1 -334,I7N3G6G,334,1,no description,60.2,1 -335,I7N3G6G,335,1,no description,60.2,1 -336,I7N3G6G,336,1,no description,60.2,1 -337,I7N3G6G,337,1,no description,60.2,1 -338,I7N3G6G,338,1,no description,60.2,1 -339,I7N3G6G,339,1,no description,60.2,1 -340,I7N3G6G,340,1,no description,60.2,1 -341,I7N3G6G,341,1,no description,60.2,1 -342,I7N3G6G,342,1,no description,60.2,1 -343,I7N3G6G,343,1,no description,60.2,1 -344,I7N3G6G,344,1,no description,60.2,1 -345,I7N3G6G,345,1,no description,60.2,1 -346,I7N3G6G,346,1,no description,60.2,1 -347,I7N3G6G,347,1,no description,60.2,1 -348,I7N3G6G,348,1,no description,60.2,1 -349,I7N3G6G,349,1,no description,60.2,1 -350,I7N3G6G,350,1,no description,60.2,1 -351,I7N3G6G,351,1,no description,60.2,1 -352,I7N3G6G,352,1,no description,60.2,1 -353,I7N3G6G,353,1,no description,60.2,1 -354,I7N3G6G,354,1,no description,60.2,1 -355,I7N3G6G,355,1,no description,60.2,1 -356,I7N3G6G,356,1,no description,60.2,1 -357,I7N3G6G,357,1,no description,60.2,1 -358,I7N3G6G,358,1,no description,60.2,1 -359,I7N3G6G,359,1,no description,60.2,1 -360,I7N3G6G,360,1,no description,60.2,1 -361,I7N3G6G,361,1,no description,60.2,1 -362,I7N3G6G,362,1,no description,60.2,1 -363,I7N3G6G,363,1,no description,60.2,1 -364,I7N3G6G,364,1,no description,60.2,1 -365,I7N3G6G,365,1,no description,60.2,1 -366,I7N3G6G,366,1,no description,60.2,1 -367,I7N3G6G,367,1,no description,60.2,1 -368,I7N3G6G,368,1,no description,60.2,1 -369,I7N3G6G,369,1,no description,60.2,1 -370,I7N3G6G,370,1,no description,60.2,1 -371,I7N3G6G,371,1,no description,60.2,1 -372,I7N3G6G,372,1,no description,60.2,1 -373,I7N3G6G,373,1,no description,60.2,1 -374,I7N3G6G,374,1,no description,60.2,1 -375,I7N3G6G,375,1,no description,60.2,1 -376,I7N3G6G,376,1,no description,60.2,1 -377,I7N3G6G,377,1,no description,60.2,1 -378,I7N3G6G,378,1,no description,60.2,1 -379,I7N3G6G,379,1,no description,60.2,1 -380,I7N3G6G,380,1,no description,60.2,1 -381,I7N3G6G,381,1,no description,60.2,1 -382,I7N3G6G,382,1,no description,60.2,1 -383,I7N3G6G,383,1,no description,60.2,1 -384,I7N3G6G,384,1,no description,60.2,1 -385,I7N3G6G,385,1,no description,60.2,1 -386,I7N3G6G,386,1,no description,60.2,1 -387,I7N3G6G,387,1,no description,60.2,1 -388,I7N3G6G,388,1,no description,60.2,1 -389,I7N3G6G,389,1,no description,60.2,1 -390,I7N3G6G,390,1,no description,60.2,1 -391,I7N3G6G,391,1,no description,60.2,1 -392,I7N3G6G,392,1,no description,60.2,1 -393,I7N3G6G,393,1,no description,60.2,1 -394,I7N3G6G,394,1,no description,60.2,1 -395,I7N3G6G,395,1,no description,60.2,1 -396,I7N3G6G,396,1,no description,60.2,1 -397,I7N3G6G,397,1,no description,60.2,1 -398,I7N3G6G,398,1,no description,60.2,1 -399,I7N3G6G,399,1,no description,60.2,1 -400,I7N3G6G,400,1,no description,60.2,1 -401,I7N3G6G,401,1,no description,60.2,1 -402,I7N3G6G,402,1,no description,60.2,1 -403,I7N3G6G,403,1,no description,60.2,1 -404,I7N3G6G,404,1,no description,60.2,1 -405,I7N3G6G,405,1,no description,60.2,1 -406,I7N3G6G,406,1,no description,60.2,1 -407,I7N3G6G,407,1,no description,60.2,1 -408,I7N3G6G,408,1,no description,60.2,1 -409,I7N3G6G,409,1,no description,60.2,1 -410,I7N3G6G,410,1,no description,60.2,1 -411,I7N3G6G,411,1,no description,60.2,1 -412,I7N3G6G,412,1,no description,60.2,1 -413,I7N3G6G,413,1,no description,60.2,1 -414,I7N3G6G,414,1,no description,60.2,1 -415,I7N3G6G,415,1,no description,60.2,1 -416,I7N3G6G,416,1,no description,60.2,1 -417,I7N3G6G,417,1,no description,60.2,1 -418,I7N3G6G,418,1,no description,60.2,1 -419,I7N3G6G,419,1,no description,60.2,1 -420,I7N3G6G,420,1,no description,60.2,1 -421,I7N3G6G,421,1,no description,60.2,1 -422,I7N3G6G,422,1,no description,60.2,1 -423,I7N3G6G,423,1,no description,60.2,1 -424,I7N3G6G,424,1,no description,60.2,1 -425,I7N3G6G,425,1,no description,60.2,1 -426,I7N3G6G,426,1,no description,60.2,1 -427,I7N3G6G,427,1,no description,60.2,1 -428,I7N3G6G,428,1,no description,60.2,1 -429,I7N3G6G,429,1,no description,60.2,1 -430,I7N3G6G,430,1,no description,60.2,1 -431,I7N3G6G,431,1,no description,60.2,1 -432,I7N3G6G,432,1,no description,60.2,1 -433,I7N3G6G,433,1,no description,60.2,1 -434,I7N3G6G,434,1,no description,60.2,1 -435,I7N3G6G,435,1,no description,60.2,1 -436,I7N3G6G,436,1,no description,60.2,1 -437,I7N3G6G,437,1,no description,60.2,1 -438,I7N3G6G,438,1,no description,60.2,1 -439,I7N3G6G,439,1,no description,60.2,1 -440,I7N3G6G,440,1,no description,60.2,1 -441,I7N3G6G,441,1,no description,60.2,1 -442,I7N3G6G,442,1,no description,60.2,1 -443,I7N3G6G,443,1,no description,60.2,1 -444,I7N3G6G,444,1,no description,60.2,1 -445,I7N3G6G,445,1,no description,60.2,1 -446,I7N3G6G,446,1,no description,60.2,1 -447,I7N3G6G,447,1,no description,60.2,1 -448,I7N3G6G,448,1,no description,60.2,1 -449,I7N3G6G,449,1,no description,60.2,1 -450,I7N3G6G,450,1,no description,60.2,1 -451,I7N3G6G,451,1,no description,60.2,1 -452,I7N3G6G,452,1,no description,60.2,1 -453,I7N3G6G,453,1,no description,60.2,1 -454,I7N3G6G,454,1,no description,60.2,1 -455,I7N3G6G,455,1,no description,60.2,1 -456,I7N3G6G,456,1,no description,60.2,1 -457,I7N3G6G,457,1,no description,60.2,1 -458,I7N3G6G,458,1,no description,60.2,1 -459,I7N3G6G,459,1,no description,60.2,1 -460,I7N3G6G,460,1,no description,60.2,1 -461,I7N3G6G,461,1,no description,60.2,1 -462,I7N3G6G,462,1,no description,60.2,1 -463,I7N3G6G,463,1,no description,60.2,1 -464,I7N3G6G,464,1,no description,60.2,1 -465,I7N3G6G,465,1,no description,60.2,1 -466,I7N3G6G,466,1,no description,60.2,1 -467,I7N3G6G,467,1,no description,60.2,1 -468,I7N3G6G,468,1,no description,60.2,1 -469,I7N3G6G,469,1,no description,60.2,1 -470,I7N3G6G,470,1,no description,60.2,1 -471,I7N3G6G,471,1,no description,60.2,1 -472,I7N3G6G,472,1,no description,60.2,1 -473,I7N3G6G,473,1,no description,60.2,1 -474,I7N3G6G,474,1,no description,60.2,1 -475,I7N3G6G,475,1,no description,60.2,1 -476,I7N3G6G,476,1,no description,60.2,1 -477,I7N3G6G,477,1,no description,60.2,1 -478,I7N3G6G,478,1,no description,60.2,1 -479,I7N3G6G,479,1,no description,60.2,1 -480,I7N3G6G,480,1,no description,60.2,1 -481,I7N3G6G,481,1,no description,60.2,1 -482,I7N3G6G,482,1,no description,60.2,1 -483,I7N3G6G,483,1,no description,60.2,1 -484,I7N3G6G,484,1,no description,60.2,1 -485,I7N3G6G,485,1,no description,60.2,1 -486,I7N3G6G,486,1,no description,60.2,1 -487,I7N3G6G,487,1,no description,60.2,1 -488,I7N3G6G,488,1,no description,60.2,1 -489,I7N3G6G,489,1,no description,60.2,1 -490,I7N3G6G,490,1,no description,60.2,1 -491,I7N3G6G,491,1,no description,60.2,1 -492,I7N3G6G,492,1,no description,60.2,1 -493,I7N3G6G,493,1,no description,60.2,1 -494,I7N3G6G,494,1,no description,60.2,1 -495,I7N3G6G,495,1,no description,60.2,1 -496,I7N3G6G,496,1,no description,60.2,1 -497,I7N3G6G,497,1,no description,60.2,1 -498,I7N3G6G,498,1,no description,60.2,1 -499,I7N3G6G,499,1,no description,60.2,1 -500,I7N3G6G,500,1,no description,60.2,1 -501,I7N3G6G,501,1,no description,60.2,1 -502,I7N3G6G,502,1,no description,60.2,1 -503,I7N3G6G,503,1,no description,60.2,1 -504,I7N3G6G,504,1,no description,60.2,1 -505,I7N3G6G,505,1,no description,60.2,1 -506,I7N3G6G,506,1,no description,60.2,1 -507,I7N3G6G,507,1,no description,60.2,1 -508,I7N3G6G,508,1,no description,60.2,1 -509,I7N3G6G,509,1,no description,60.2,1 -510,I7N3G6G,510,1,no description,60.2,1 -511,I7N3G6G,511,1,no description,60.2,1 -512,I7N3G6G,512,1,no description,60.2,1 -513,I7N3G6G,513,1,no description,60.2,1 -514,I7N3G6G,514,1,no description,60.2,1 -515,I7N3G6G,515,1,no description,60.2,1 -516,I7N3G6G,516,1,no description,60.2,1 -517,I7N3G6G,517,1,no description,60.2,1 -518,I7N3G6G,518,1,no description,60.2,1 -519,I7N3G6G,519,1,no description,60.2,1 -520,I7N3G6G,520,1,no description,60.2,1 -521,I7N3G6G,521,1,no description,60.2,1 -522,I7N3G6G,522,1,no description,60.2,1 -523,I7N3G6G,523,1,no description,60.2,1 -524,I7N3G6G,524,1,no description,60.2,1 -525,I7N3G6G,525,1,no description,60.2,1 -526,I7N3G6G,526,1,no description,60.2,1 -527,I7N3G6G,527,1,no description,60.2,1 -528,I7N3G6G,528,1,no description,60.2,1 -529,I7N3G6G,529,1,no description,60.2,1 -530,I7N3G6G,530,1,no description,60.2,1 -531,I7N3G6G,531,1,no description,60.2,1 -532,I7N3G6G,532,1,no description,60.2,1 -533,I7N3G6G,533,1,no description,60.2,1 -534,I7N3G6G,534,1,no description,60.2,1 -535,I7N3G6G,535,1,no description,60.2,1 -536,I7N3G6G,536,1,no description,60.2,1 -537,I7N3G6G,537,1,no description,60.2,1 -538,I7N3G6G,538,1,no description,60.2,1 -539,I7N3G6G,539,1,no description,60.2,1 -540,I7N3G6G,540,1,no description,60.2,1 -541,I7N3G6G,541,1,no description,60.2,1 -542,I7N3G6G,542,1,no description,60.2,1 -543,I7N3G6G,543,1,no description,60.2,1 -544,I7N3G6G,544,1,no description,60.2,1 -545,I7N3G6G,545,1,no description,60.2,1 -546,I7N3G6G,546,1,no description,60.2,1 -547,I7N3G6G,547,1,no description,60.2,1 -548,I7N3G6G,548,1,no description,60.2,1 -549,I7N3G6G,549,1,no description,60.2,1 -550,I7N3G6G,550,1,no description,60.2,1 -551,I7N3G6G,551,1,no description,60.2,1 -552,I7N3G6G,552,1,no description,60.2,1 -553,I7N3G6G,553,1,no description,60.2,1 -554,I7N3G6G,554,1,no description,60.2,1 -555,I7N3G6G,555,1,no description,60.2,1 -556,I7N3G6G,556,1,no description,60.2,1 -557,I7N3G6G,557,1,no description,60.2,1 -558,I7N3G6G,558,1,no description,60.2,1 -559,I7N3G6G,559,1,no description,60.2,1 -560,I7N3G6G,560,1,no description,60.2,1 -561,I7N3G6G,561,1,no description,60.2,1 -562,I7N3G6G,562,1,no description,60.2,1 -563,I7N3G6G,563,1,no description,60.2,1 -564,I7N3G6G,564,1,no description,60.2,1 -565,I7N3G6G,565,1,no description,60.2,1 -566,I7N3G6G,566,1,no description,60.2,1 -567,I7N3G6G,567,1,no description,60.2,1 -568,I7N3G6G,568,1,no description,60.2,1 -569,I7N3G6G,569,1,no description,60.2,1 -570,I7N3G6G,570,1,no description,60.2,1 -571,I7N3G6G,571,1,no description,60.2,1 -572,I7N3G6G,572,1,no description,60.2,1 -573,I7N3G6G,573,1,no description,60.2,1 -574,I7N3G6G,574,1,no description,60.2,1 -575,I7N3G6G,575,1,no description,60.2,1 -576,I7N3G6G,576,1,no description,60.2,1 -577,I7N3G6G,577,1,no description,60.2,1 -578,I7N3G6G,578,1,no description,60.2,1 -579,I7N3G6G,579,1,no description,60.2,1 -580,I7N3G6G,580,1,no description,60.2,1 -581,I7N3G6G,581,1,no description,60.2,1 -582,I7N3G6G,582,1,no description,60.2,1 -583,I7N3G6G,583,1,no description,60.2,1 -584,I7N3G6G,584,1,no description,60.2,1 -585,I7N3G6G,585,1,no description,60.2,1 -586,I7N3G6G,586,1,no description,60.2,1 -587,I7N3G6G,587,1,no description,60.2,1 -588,I7N3G6G,588,1,no description,60.2,1 -589,I7N3G6G,589,1,no description,60.2,1 -590,I7N3G6G,590,1,no description,60.2,1 -591,I7N3G6G,591,1,no description,60.2,1 -592,I7N3G6G,592,1,no description,60.2,1 -593,I7N3G6G,593,1,no description,60.2,1 -594,I7N3G6G,594,1,no description,60.2,1 -595,I7N3G6G,595,1,no description,60.2,1 -596,I7N3G6G,596,1,no description,60.2,1 -597,I7N3G6G,597,1,no description,60.2,1 -598,I7N3G6G,598,1,no description,60.2,1 -599,I7N3G6G,599,1,no description,60.2,1 -600,I7N3G6G,600,1,no description,60.2,1 -601,I7N3G6G,601,1,no description,60.2,1 -602,I7N3G6G,602,1,no description,60.2,1 -603,I7N3G6G,603,1,no description,60.2,1 -604,I7N3G6G,604,1,no description,60.2,1 -605,I7N3G6G,605,1,no description,60.2,1 -606,I7N3G6G,606,1,no description,60.2,1 -607,I7N3G6G,607,1,no description,60.2,1 -608,I7N3G6G,608,1,no description,60.2,1 -609,I7N3G6G,609,1,no description,60.2,1 -610,I7N3G6G,610,1,no description,60.2,1 -611,I7N3G6G,611,1,no description,60.2,1 -612,I7N3G6G,612,1,no description,60.2,1 -613,I7N3G6G,613,1,no description,60.2,1 -614,I7N3G6G,614,1,no description,60.2,1 -615,I7N3G6G,615,1,no description,60.2,1 -616,I7N3G6G,616,1,no description,60.2,1 -617,I7N3G6G,617,1,no description,60.2,1 -618,I7N3G6G,618,1,no description,60.2,1 -619,I7N3G6G,619,1,no description,60.2,1 -620,I7N3G6G,620,1,no description,60.2,1 -621,I7N3G6G,621,1,no description,60.2,1 -622,I7N3G6G,622,1,no description,60.2,1 -623,I7N3G6G,623,1,no description,60.2,1 -624,I7N3G6G,624,1,no description,60.2,1 -625,I7N3G6G,625,1,no description,60.2,1 -626,I7N3G6G,626,1,no description,60.2,1 -627,I7N3G6G,627,1,no description,60.2,1 -628,I7N3G6G,628,1,no description,60.2,1 -629,I7N3G6G,629,1,no description,60.2,1 -630,I7N3G6G,630,1,no description,60.2,1 -631,I7N3G6G,631,1,no description,60.2,1 -632,I7N3G6G,632,1,no description,60.2,1 -633,I7N3G6G,633,1,no description,60.2,1 -634,I7N3G6G,634,1,no description,60.2,1 -635,I7N3G6G,635,1,no description,60.2,1 -636,I7N3G6G,636,1,no description,60.2,1 -637,I7N3G6G,637,1,no description,60.2,1 -638,I7N3G6G,638,1,no description,60.2,1 -639,I7N3G6G,639,1,no description,60.2,1 -640,I7N3G6G,640,1,no description,60.2,1 -641,I7N3G6G,641,1,no description,60.2,1 -642,I7N3G6G,642,1,no description,60.2,1 -643,I7N3G6G,643,1,no description,60.2,1 -644,I7N3G6G,644,1,no description,60.2,1 -645,I7N3G6G,645,1,no description,60.2,1 -646,I7N3G6G,646,1,no description,60.2,1 -647,I7N3G6G,647,1,no description,60.2,1 -648,I7N3G6G,648,1,no description,60.2,1 -649,I7N3G6G,649,1,no description,60.2,1 -650,I7N3G6G,650,1,no description,60.2,1 -651,I7N3G6G,651,1,no description,60.2,1 -652,I7N3G6G,652,1,no description,60.2,1 -653,I7N3G6G,653,1,no description,60.2,1 -654,I7N3G6G,654,1,no description,60.2,1 -655,I7N3G6G,655,1,no description,60.2,1 -656,I7N3G6G,656,1,no description,60.2,1 -657,I7N3G6G,657,1,no description,60.2,1 -658,I7N3G6G,658,1,no description,60.2,1 -659,I7N3G6G,659,1,no description,60.2,1 -660,I7N3G6G,660,1,no description,60.2,1 -661,I7N3G6G,661,1,no description,60.2,1 -662,I7N3G6G,662,1,no description,60.2,1 -663,I7N3G6G,663,1,no description,60.2,1 -664,I7N3G6G,664,1,no description,60.2,1 -665,I7N3G6G,665,1,no description,60.2,1 -666,I7N3G6G,666,1,no description,60.2,1 -667,I7N3G6G,667,1,no description,60.2,1 -668,I7N3G6G,668,1,no description,60.2,1 -669,I7N3G6G,669,1,no description,60.2,1 -670,I7N3G6G,670,1,no description,60.2,1 -671,I7N3G6G,671,1,no description,60.2,1 -672,I7N3G6G,672,1,no description,60.2,1 -673,I7N3G6G,673,1,no description,60.2,1 -674,I7N3G6G,674,1,no description,60.2,1 -675,I7N3G6G,675,1,no description,60.2,1 -676,I7N3G6G,676,1,no description,60.2,1 -677,I7N3G6G,677,1,no description,60.2,1 -678,I7N3G6G,678,1,no description,60.2,1 -679,I7N3G6G,679,1,no description,60.2,1 -680,I7N3G6G,680,1,no description,60.2,1 -681,I7N3G6G,681,1,no description,60.2,1 -682,I7N3G6G,682,1,no description,60.2,1 -683,I7N3G6G,683,1,no description,60.2,1 -684,I7N3G6G,684,1,no description,60.2,1 -685,I7N3G6G,685,1,no description,60.2,1 -686,I7N3G6G,686,1,no description,60.2,1 -687,I7N3G6G,687,1,no description,60.2,1 -688,I7N3G6G,688,1,no description,60.2,1 -689,I7N3G6G,689,1,no description,60.2,1 -690,I7N3G6G,690,1,no description,60.2,1 -691,I7N3G6G,691,1,no description,60.2,1 -692,I7N3G6G,692,1,no description,60.2,1 -693,I7N3G6G,693,1,no description,60.2,1 -694,I7N3G6G,694,1,no description,60.2,1 -695,I7N3G6G,695,1,no description,60.2,1 -696,I7N3G6G,696,1,no description,60.2,1 -697,I7N3G6G,697,1,no description,60.2,1 -698,I7N3G6G,698,1,no description,60.2,1 -699,I7N3G6G,699,1,no description,60.2,1 -700,I7N3G6G,700,1,no description,60.2,1 -701,I7N3G6G,701,1,no description,60.2,1 -702,I7N3G6G,702,1,no description,60.2,1 -703,I7N3G6G,703,1,no description,60.2,1 -704,I7N3G6G,704,1,no description,60.2,1 -705,I7N3G6G,705,1,no description,60.2,1 -706,I7N3G6G,706,1,no description,60.2,1 -707,I7N3G6G,707,1,no description,60.2,1 -708,I7N3G6G,708,1,no description,60.2,1 -709,I7N3G6G,709,1,no description,60.2,1 -710,I7N3G6G,710,1,no description,60.2,1 -711,I7N3G6G,711,1,no description,60.2,1 -712,I7N3G6G,712,1,no description,60.2,1 -713,I7N3G6G,713,1,no description,60.2,1 -714,I7N3G6G,714,1,no description,60.2,1 -715,I7N3G6G,715,1,no description,60.2,1 -716,I7N3G6G,716,1,no description,60.2,1 -717,I7N3G6G,717,1,no description,60.2,1 -718,I7N3G6G,718,1,no description,60.2,1 -719,I7N3G6G,719,1,no description,60.2,1 -720,I7N3G6G,720,1,no description,60.2,1 -721,I7N3G6G,721,1,no description,60.2,1 -722,I7N3G6G,722,1,no description,60.2,1 -723,I7N3G6G,723,1,no description,60.2,1 -724,I7N3G6G,724,1,no description,60.2,1 -725,I7N3G6G,725,1,no description,60.2,1 -726,I7N3G6G,726,1,no description,60.2,1 -727,I7N3G6G,727,1,no description,60.2,1 -728,I7N3G6G,728,1,no description,60.2,1 -729,I7N3G6G,729,1,no description,60.2,1 -730,I7N3G6G,730,1,no description,60.2,1 -731,I7N3G6G,731,1,no description,60.2,1 -732,I7N3G6G,732,1,no description,60.2,1 -733,I7N3G6G,733,1,no description,60.2,1 -734,I7N3G6G,734,1,no description,60.2,1 -735,I7N3G6G,735,1,no description,60.2,1 -736,I7N3G6G,736,1,no description,60.2,1 -737,I7N3G6G,737,1,no description,60.2,1 -738,I7N3G6G,738,1,no description,60.2,1 -739,I7N3G6G,739,1,no description,60.2,1 -740,I7N3G6G,740,1,no description,60.2,1 -741,I7N3G6G,741,1,no description,60.2,1 -742,I7N3G6G,742,1,no description,60.2,1 -743,I7N3G6G,743,1,no description,60.2,1 -744,I7N3G6G,744,1,no description,60.2,1 -745,I7N3G6G,745,1,no description,60.2,1 -746,I7N3G6G,746,1,no description,60.2,1 -747,I7N3G6G,747,1,no description,60.2,1 -748,I7N3G6G,748,1,no description,60.2,1 -749,I7N3G6G,749,1,no description,60.2,1 -750,I7N3G6G,750,1,no description,60.2,1 -751,I7N3G6G,751,1,no description,60.2,1 -752,I7N3G6G,752,1,no description,60.2,1 -753,I7N3G6G,753,1,no description,60.2,1 -754,I7N3G6G,754,1,no description,60.2,1 -755,I7N3G6G,755,1,no description,60.2,1 -756,I7N3G6G,756,1,no description,60.2,1 -757,I7N3G6G,757,1,no description,60.2,1 -758,I7N3G6G,758,1,no description,60.2,1 -759,I7N3G6G,759,1,no description,60.2,1 -760,I7N3G6G,760,1,no description,60.2,1 -761,I7N3G6G,761,1,no description,60.2,1 -762,I7N3G6G,762,1,no description,60.2,1 -763,I7N3G6G,763,1,no description,60.2,1 -764,I7N3G6G,764,1,no description,60.2,1 -765,I7N3G6G,765,1,no description,60.2,1 -766,I7N3G6G,766,1,no description,60.2,1 -767,I7N3G6G,767,1,no description,60.2,1 -768,I7N3G6G,768,1,no description,60.2,1 -769,I7N3G6G,769,1,no description,60.2,1 -770,I7N3G6G,770,1,no description,60.2,1 -771,I7N3G6G,771,1,no description,60.2,1 -772,I7N3G6G,772,1,no description,60.2,1 -773,I7N3G6G,773,1,no description,60.2,1 -774,I7N3G6G,774,1,no description,60.2,1 -775,I7N3G6G,775,1,no description,60.2,1 -776,I7N3G6G,776,1,no description,60.2,1 -777,I7N3G6G,777,1,no description,60.2,1 -778,I7N3G6G,778,1,no description,60.2,1 -779,I7N3G6G,779,1,no description,60.2,1 -780,I7N3G6G,780,1,no description,60.2,1 -781,I7N3G6G,781,1,no description,60.2,1 -782,I7N3G6G,782,1,no description,60.2,1 -783,I7N3G6G,783,1,no description,60.2,1 -784,I7N3G6G,784,1,no description,60.2,1 -785,I7N3G6G,785,1,no description,60.2,1 -786,I7N3G6G,786,1,no description,60.2,1 -787,I7N3G6G,787,1,no description,60.2,1 -788,I7N3G6G,788,1,no description,60.2,1 -789,I7N3G6G,789,1,no description,60.2,1 -790,I7N3G6G,790,1,no description,60.2,1 -791,I7N3G6G,791,1,no description,60.2,1 -792,I7N3G6G,792,1,no description,60.2,1 -793,I7N3G6G,793,1,no description,60.2,1 -794,I7N3G6G,794,1,no description,60.2,1 -795,I7N3G6G,795,1,no description,60.2,1 -796,I7N3G6G,796,1,no description,60.2,1 -797,I7N3G6G,797,1,no description,60.2,1 -798,I7N3G6G,798,1,no description,60.2,1 -799,I7N3G6G,799,1,no description,60.2,1 -800,I7N3G6G,800,1,no description,60.2,1 -801,I7N3G6G,801,1,no description,60.2,1 -802,I7N3G6G,802,1,no description,60.2,1 -803,I7N3G6G,803,1,no description,60.2,1 -804,I7N3G6G,804,1,no description,60.2,1 -805,I7N3G6G,805,1,no description,60.2,1 -806,I7N3G6G,806,1,no description,60.2,1 -807,I7N3G6G,807,1,no description,60.2,1 -808,I7N3G6G,808,1,no description,60.2,1 -809,I7N3G6G,809,1,no description,60.2,1 -810,I7N3G6G,810,1,no description,60.2,1 -811,I7N3G6G,811,1,no description,60.2,1 -812,I7N3G6G,812,1,no description,60.2,1 -813,I7N3G6G,813,1,no description,60.2,1 -814,I7N3G6G,814,1,no description,60.2,1 -815,I7N3G6G,815,1,no description,60.2,1 -816,I7N3G6G,816,1,no description,60.2,1 -817,I7N3G6G,817,1,no description,60.2,1 -818,I7N3G6G,818,1,no description,60.2,1 -819,I7N3G6G,819,1,no description,60.2,1 -820,I7N3G6G,820,1,no description,60.2,1 -821,I7N3G6G,821,1,no description,60.2,1 -822,I7N3G6G,822,1,no description,60.2,1 -823,I7N3G6G,823,1,no description,60.2,1 -824,I7N3G6G,824,1,no description,60.2,1 -825,I7N3G6G,825,1,no description,60.2,1 -826,I7N3G6G,826,1,no description,60.2,1 -827,I7N3G6G,827,1,no description,60.2,1 -828,I7N3G6G,828,1,no description,60.2,1 -829,I7N3G6G,829,1,no description,60.2,1 -830,I7N3G6G,830,1,no description,60.2,1 -831,I7N3G6G,831,1,no description,60.2,1 -832,I7N3G6G,832,1,no description,60.2,1 -833,I7N3G6G,833,1,no description,60.2,1 -834,I7N3G6G,834,1,no description,60.2,1 -835,I7N3G6G,835,1,no description,60.2,1 -836,I7N3G6G,836,1,no description,60.2,1 -837,I7N3G6G,837,1,no description,60.2,1 -838,I7N3G6G,838,1,no description,60.2,1 -839,I7N3G6G,839,1,no description,60.2,1 -840,I7N3G6G,840,1,no description,60.2,1 -841,I7N3G6G,841,1,no description,60.2,1 -842,I7N3G6G,842,1,no description,60.2,1 -843,I7N3G6G,843,1,no description,60.2,1 -844,I7N3G6G,844,1,no description,60.2,1 -845,I7N3G6G,845,1,no description,60.2,1 -846,I7N3G6G,846,1,no description,60.2,1 -847,I7N3G6G,847,1,no description,60.2,1 -848,I7N3G6G,848,1,no description,60.2,1 -849,I7N3G6G,849,1,no description,60.2,1 -850,I7N3G6G,850,1,no description,60.2,1 -851,I7N3G6G,851,1,no description,60.2,1 -852,I7N3G6G,852,1,no description,60.2,1 -853,I7N3G6G,853,1,no description,60.2,1 -854,I7N3G6G,854,1,no description,60.2,1 -855,I7N3G6G,855,1,no description,60.2,1 -856,I7N3G6G,856,1,no description,60.2,1 -857,I7N3G6G,857,1,no description,60.2,1 -858,I7N3G6G,858,1,no description,60.2,1 -859,I7N3G6G,859,1,no description,60.2,1 -860,I7N3G6G,860,1,no description,60.2,1 -861,I7N3G6G,861,1,no description,60.2,1 -862,I7N3G6G,862,1,no description,60.2,1 -863,I7N3G6G,863,1,no description,60.2,1 -864,I7N3G6G,864,1,no description,60.2,1 -865,I7N3G6G,865,1,no description,60.2,1 -866,I7N3G6G,866,1,no description,60.2,1 -867,I7N3G6G,867,1,no description,60.2,1 -868,I7N3G6G,868,1,no description,60.2,1 -869,I7N3G6G,869,1,no description,60.2,1 -870,I7N3G6G,870,1,no description,60.2,1 -871,I7N3G6G,871,1,no description,60.2,1 -872,I7N3G6G,872,1,no description,60.2,1 -873,I7N3G6G,873,1,no description,60.2,1 -874,I7N3G6G,874,1,no description,60.2,1 -875,I7N3G6G,875,1,no description,60.2,1 -876,I7N3G6G,876,1,no description,60.2,1 -877,I7N3G6G,877,1,no description,60.2,1 -878,I7N3G6G,878,1,no description,60.2,1 -879,I7N3G6G,879,1,no description,60.2,1 -880,I7N3G6G,880,1,no description,60.2,1 -881,I7N3G6G,881,1,no description,60.2,1 -882,I7N3G6G,882,1,no description,60.2,1 -883,I7N3G6G,883,1,no description,60.2,1 -884,I7N3G6G,884,1,no description,60.2,1 -885,I7N3G6G,885,1,no description,60.2,1 -886,I7N3G6G,886,1,no description,60.2,1 -887,I7N3G6G,887,1,no description,60.2,1 -888,I7N3G6G,888,1,no description,60.2,1 -889,I7N3G6G,889,1,no description,60.2,1 -890,I7N3G6G,890,1,no description,60.2,1 -891,I7N3G6G,891,1,no description,60.2,1 -892,I7N3G6G,892,1,no description,60.2,1 -893,I7N3G6G,893,1,no description,60.2,1 -894,I7N3G6G,894,1,no description,60.2,1 -895,I7N3G6G,895,1,no description,60.2,1 -896,I7N3G6G,896,1,no description,60.2,1 -897,I7N3G6G,897,1,no description,60.2,1 -898,I7N3G6G,898,1,no description,60.2,1 -899,I7N3G6G,899,1,no description,60.2,1 -900,I7N3G6G,900,1,no description,60.2,1 -901,I7N3G6G,901,1,no description,60.2,1 -902,I7N3G6G,902,1,no description,60.2,1 -903,I7N3G6G,903,1,no description,60.2,1 -904,I7N3G6G,904,1,no description,60.2,1 -905,I7N3G6G,905,1,no description,60.2,1 -906,I7N3G6G,906,1,no description,60.2,1 -907,I7N3G6G,907,1,no description,60.2,1 -908,I7N3G6G,908,1,no description,60.2,1 -909,I7N3G6G,909,1,no description,60.2,1 -910,I7N3G6G,910,1,no description,60.2,1 -911,I7N3G6G,911,1,no description,60.2,1 -912,I7N3G6G,912,1,no description,60.2,1 -913,I7N3G6G,913,1,no description,60.2,1 -914,I7N3G6G,914,1,no description,60.2,1 -915,I7N3G6G,915,1,no description,60.2,1 -916,I7N3G6G,916,1,no description,60.2,1 -917,I7N3G6G,917,1,no description,60.2,1 -918,I7N3G6G,918,1,no description,60.2,1 -919,I7N3G6G,919,1,no description,60.2,1 -920,I7N3G6G,920,1,no description,60.2,1 -921,I7N3G6G,921,1,no description,60.2,1 -922,I7N3G6G,922,1,no description,60.2,1 -923,I7N3G6G,923,1,no description,60.2,1 -924,I7N3G6G,924,1,no description,60.2,1 -925,I7N3G6G,925,1,no description,60.2,1 -926,I7N3G6G,926,1,no description,60.2,1 -927,I7N3G6G,927,1,no description,60.2,1 -928,I7N3G6G,928,1,no description,60.2,1 -929,I7N3G6G,929,1,no description,60.2,1 -930,I7N3G6G,930,1,no description,60.2,1 -931,I7N3G6G,931,1,no description,60.2,1 -932,I7N3G6G,932,1,no description,60.2,1 -933,I7N3G6G,933,1,no description,60.2,1 -934,I7N3G6G,934,1,no description,60.2,1 -935,I7N3G6G,935,1,no description,60.2,1 -936,I7N3G6G,936,1,no description,60.2,1 -937,I7N3G6G,937,1,no description,60.2,1 -938,I7N3G6G,938,1,no description,60.2,1 -939,I7N3G6G,939,1,no description,60.2,1 -940,I7N3G6G,940,1,no description,60.2,1 -941,I7N3G6G,941,1,no description,60.2,1 -942,I7N3G6G,942,1,no description,60.2,1 -943,I7N3G6G,943,1,no description,60.2,1 -944,I7N3G6G,944,1,no description,60.2,1 -945,I7N3G6G,945,1,no description,60.2,1 -946,I7N3G6G,946,1,no description,60.2,1 -947,I7N3G6G,947,1,no description,60.2,1 -948,I7N3G6G,948,1,no description,60.2,1 -949,I7N3G6G,949,1,no description,60.2,1 -950,I7N3G6G,950,1,no description,60.2,1 -951,I7N3G6G,951,1,no description,60.2,1 -952,I7N3G6G,952,1,no description,60.2,1 -953,I7N3G6G,953,1,no description,60.2,1 -954,I7N3G6G,954,1,no description,60.2,1 -955,I7N3G6G,955,1,no description,60.2,1 -956,I7N3G6G,956,1,no description,60.2,1 -957,I7N3G6G,957,1,no description,60.2,1 -958,I7N3G6G,958,1,no description,60.2,1 -959,I7N3G6G,959,1,no description,60.2,1 -960,I7N3G6G,960,1,no description,60.2,1 -961,I7N3G6G,961,1,no description,60.2,1 -962,I7N3G6G,962,1,no description,60.2,1 -963,I7N3G6G,963,1,no description,60.2,1 -964,I7N3G6G,964,1,no description,60.2,1 -965,I7N3G6G,965,1,no description,60.2,1 -966,I7N3G6G,966,1,no description,60.2,1 -967,I7N3G6G,967,1,no description,60.2,1 -968,I7N3G6G,968,1,no description,60.2,1 -969,I7N3G6G,969,1,no description,60.2,1 -970,I7N3G6G,970,1,no description,60.2,1 -971,I7N3G6G,971,1,no description,60.2,1 -972,I7N3G6G,972,1,no description,60.2,1 -973,I7N3G6G,973,1,no description,60.2,1 -974,I7N3G6G,974,1,no description,60.2,1 -975,I7N3G6G,975,1,no description,60.2,1 -976,I7N3G6G,976,1,no description,60.2,1 -977,I7N3G6G,977,1,no description,60.2,1 -978,I7N3G6G,978,1,no description,60.2,1 -979,I7N3G6G,979,1,no description,60.2,1 -980,I7N3G6G,980,1,no description,60.2,1 -981,I7N3G6G,981,1,no description,60.2,1 -982,I7N3G6G,982,1,no description,60.2,1 -983,I7N3G6G,983,1,no description,60.2,1 -984,I7N3G6G,984,1,no description,60.2,1 -985,I7N3G6G,985,1,no description,60.2,1 -986,I7N3G6G,986,1,no description,60.2,1 -987,I7N3G6G,987,1,no description,60.2,1 -988,I7N3G6G,988,1,no description,60.2,1 -989,I7N3G6G,989,1,no description,60.2,1 -990,I7N3G6G,990,1,no description,60.2,1 -991,I7N3G6G,991,1,no description,60.2,1 -992,I7N3G6G,992,1,no description,60.2,1 -993,I7N3G6G,993,1,no description,60.2,1 -994,I7N3G6G,994,1,no description,60.2,1 -995,I7N3G6G,995,1,no description,60.2,1 -996,I7N3G6G,996,1,no description,60.2,1 -997,I7N3G6G,997,1,no description,60.2,1 -998,I7N3G6G,998,1,no description,60.2,1 -999,I7N3G6G,999,1,no description,60.2,1 -1000,I7N3G6G,1000,1,no description,60.2,1 -1001,I7N3G6G,1001,1,no description,60.2,1 -1002,I7N3G6G,1002,1,no description,60.2,1 -1003,I7N3G6G,1003,1,no description,60.2,1 -1004,I7N3G6G,1004,1,no description,60.2,1 -1005,I7N3G6G,1005,1,no description,60.2,1 -1006,I7N3G6G,1006,1,no description,60.2,1 -1007,I7N3G6G,1007,1,no description,60.2,1 -1008,I7N3G6G,1008,1,no description,60.2,1 -1009,I7N3G6G,1009,1,no description,60.2,1 -1010,I7N3G6G,1010,1,no description,60.2,1 -1011,I7N3G6G,1011,1,no description,60.2,1 -1012,I7N3G6G,1012,1,no description,60.2,1 -1013,I7N3G6G,1013,1,no description,60.2,1 -1014,I7N3G6G,1014,1,no description,60.2,1 -1015,I7N3G6G,1015,1,no description,60.2,1 -1016,I7N3G6G,1016,1,no description,60.2,1 -1017,I7N3G6G,1017,1,no description,60.2,1 -1018,I7N3G6G,1018,1,no description,60.2,1 -1019,I7N3G6G,1019,1,no description,60.2,1 -1020,I7N3G6G,1020,1,no description,60.2,1 -1021,I7N3G6G,1021,1,no description,60.2,1 -1022,I7N3G6G,1022,1,no description,60.2,1 -1023,I7N3G6G,1023,1,no description,60.2,1 -1024,I7N3G6G,1024,1,no description,60.2,1 -1025,I7N3G6G,1025,1,no description,60.2,1 -1026,I7N3G6G,1026,1,no description,60.2,1 -1027,I7N3G6G,1027,1,no description,60.2,1 -1028,I7N3G6G,1028,1,no description,60.2,1 -1029,I7N3G6G,1029,1,no description,60.2,1 -1030,I7N3G6G,1030,1,no description,60.2,1 -1031,I7N3G6G,1031,1,no description,60.2,1 -1032,I7N3G6G,1032,1,no description,60.2,1 -1033,I7N3G6G,1033,1,no description,60.2,1 -1034,I7N3G6G,1034,1,no description,60.2,1 -1035,I7N3G6G,1035,1,no description,60.2,1 -1036,I7N3G6G,1036,1,no description,60.2,1 -1037,I7N3G6G,1037,1,no description,60.2,1 -1038,I7N3G6G,1038,1,no description,60.2,1 -1039,I7N3G6G,1039,1,no description,60.2,1 -1040,I7N3G6G,1040,1,no description,60.2,1 -1041,I7N3G6G,1041,1,no description,60.2,1 -1042,I7N3G6G,1042,1,no description,60.2,1 -1043,I7N3G6G,1043,1,no description,60.2,1 -1044,I7N3G6G,1044,1,no description,60.2,1 -1045,I7N3G6G,1045,1,no description,60.2,1 -1046,I7N3G6G,1046,1,no description,60.2,1 -1047,I7N3G6G,1047,1,no description,60.2,1 -1048,I7N3G6G,1048,1,no description,60.2,1 -1049,I7N3G6G,1049,1,no description,60.2,1 -1050,I7N3G6G,1050,1,no description,60.2,1 -1051,I7N3G6G,1051,1,no description,60.2,1 -1052,I7N3G6G,1052,1,no description,60.2,1 -1053,I7N3G6G,1053,1,no description,60.2,1 -1054,I7N3G6G,1054,1,no description,60.2,1 -1055,I7N3G6G,1055,1,no description,60.2,1 -1056,I7N3G6G,1056,1,no description,60.2,1 -1057,I7N3G6G,1057,1,no description,60.2,1 -1058,I7N3G6G,1058,1,no description,60.2,1 -1059,I7N3G6G,1059,1,no description,60.2,1 -1060,I7N3G6G,1060,1,no description,60.2,1 -1061,I7N3G6G,1061,1,no description,60.2,1 -1062,I7N3G6G,1062,1,no description,60.2,1 -1063,I7N3G6G,1063,1,no description,60.2,1 -1064,I7N3G6G,1064,1,no description,60.2,1 -1065,I7N3G6G,1065,1,no description,60.2,1 -1066,I7N3G6G,1066,1,no description,60.2,1 -1067,I7N3G6G,1067,1,no description,60.2,1 -1068,I7N3G6G,1068,1,no description,60.2,1 -1069,I7N3G6G,1069,1,no description,60.2,1 -1070,I7N3G6G,1070,1,no description,60.2,1 -1071,I7N3G6G,1071,1,no description,60.2,1 -1072,I7N3G6G,1072,1,no description,60.2,1 -1073,I7N3G6G,1073,1,no description,60.2,1 -1074,I7N3G6G,1074,1,no description,60.2,1 -1075,I7N3G6G,1075,1,no description,60.2,1 -1076,I7N3G6G,1076,1,no description,60.2,1 -1077,I7N3G6G,1077,1,no description,60.2,1 -1078,I7N3G6G,1078,1,no description,60.2,1 -1079,I7N3G6G,1079,1,no description,60.2,1 -1080,I7N3G6G,1080,1,no description,60.2,1 -1081,I7N3G6G,1081,1,no description,60.2,1 -1082,I7N3G6G,1082,1,no description,60.2,1 -1083,I7N3G6G,1083,1,no description,60.2,1 -1084,I7N3G6G,1084,1,no description,60.2,1 -1085,I7N3G6G,1085,1,no description,60.2,1 -1086,I7N3G6G,1086,1,no description,60.2,1 -1087,I7N3G6G,1087,1,no description,60.2,1 -1088,I7N3G6G,1088,1,no description,60.2,1 -1089,I7N3G6G,1089,1,no description,60.2,1 -1090,I7N3G6G,1090,1,no description,60.2,1 -1091,I7N3G6G,1091,1,no description,60.2,1 -1092,I7N3G6G,1092,1,no description,60.2,1 -1093,I7N3G6G,1093,1,no description,60.2,1 -1094,I7N3G6G,1094,1,no description,60.2,1 -1095,I7N3G6G,1095,1,no description,60.2,1 -1096,I7N3G6G,1096,1,no description,60.2,1 -1097,I7N3G6G,1097,1,no description,60.2,1 -1098,I7N3G6G,1098,1,no description,60.2,1 -1099,I7N3G6G,1099,1,no description,60.2,1 -1100,I7N3G6G,1100,1,no description,60.2,1 -1101,I7N3G6G,1101,1,no description,60.2,1 -1102,I7N3G6G,1102,1,no description,60.2,1 -1103,I7N3G6G,1103,1,no description,60.2,1 -1104,I7N3G6G,1104,1,no description,60.2,1 -1105,I7N3G6G,1105,1,no description,60.2,1 -1106,I7N3G6G,1106,1,no description,60.2,1 -1107,I7N3G6G,1107,1,no description,60.2,1 -1108,I7N3G6G,1108,1,no description,60.2,1 -1109,I7N3G6G,1109,1,no description,60.2,1 -1110,I7N3G6G,1110,1,no description,60.2,1 -1111,I7N3G6G,1111,1,no description,60.2,1 -1112,I7N3G6G,1112,1,no description,60.2,1 -1113,I7N3G6G,1113,1,no description,60.2,1 -1114,I7N3G6G,1114,1,no description,60.2,1 -1115,I7N3G6G,1115,1,no description,60.2,1 -1116,I7N3G6G,1116,1,no description,60.2,1 -1117,I7N3G6G,1117,1,no description,60.2,1 -1118,I7N3G6G,1118,1,no description,60.2,1 -1119,I7N3G6G,1119,1,no description,60.2,1 -1120,I7N3G6G,1120,1,no description,60.2,1 -1121,I7N3G6G,1121,1,no description,60.2,1 -1122,I7N3G6G,1122,1,no description,60.2,1 -1123,I7N3G6G,1123,1,no description,60.2,1 -1124,I7N3G6G,1124,1,no description,60.2,1 -1125,I7N3G6G,1125,1,no description,60.2,1 -1126,I7N3G6G,1126,1,no description,60.2,1 -1127,I7N3G6G,1127,1,no description,60.2,1 -1128,I7N3G6G,1128,1,no description,60.2,1 -1129,I7N3G6G,1129,1,no description,60.2,1 -1130,I7N3G6G,1130,1,no description,60.2,1 -1131,I7N3G6G,1131,1,no description,60.2,1 -1132,I7N3G6G,1132,1,no description,60.2,1 -1133,I7N3G6G,1133,1,no description,60.2,1 -1134,I7N3G6G,1134,1,no description,60.2,1 -1135,I7N3G6G,1135,1,no description,60.2,1 -1136,I7N3G6G,1136,1,no description,60.2,1 -1137,I7N3G6G,1137,1,no description,60.2,1 -1138,I7N3G6G,1138,1,no description,60.2,1 -1139,I7N3G6G,1139,1,no description,60.2,1 -1140,I7N3G6G,1140,1,no description,60.2,1 -1141,I7N3G6G,1141,1,no description,60.2,1 -1142,I7N3G6G,1142,1,no description,60.2,1 -1143,I7N3G6G,1143,1,no description,60.2,1 -1144,I7N3G6G,1144,1,no description,60.2,1 -1145,I7N3G6G,1145,1,no description,60.2,1 -1146,I7N3G6G,1146,1,no description,60.2,1 -1147,I7N3G6G,1147,1,no description,60.2,1 -1148,I7N3G6G,1148,1,no description,60.2,1 -1149,I7N3G6G,1149,1,no description,60.2,1 -1150,I7N3G6G,1150,1,no description,60.2,1 -1151,I7N3G6G,1151,1,no description,60.2,1 -1152,I7N3G6G,1152,1,no description,60.2,1 -1153,I7N3G6G,1153,1,no description,60.2,1 -1154,I7N3G6G,1154,1,no description,60.2,1 -1155,I7N3G6G,1155,1,no description,60.2,1 -1156,I7N3G6G,1156,1,no description,60.2,1 -1157,I7N3G6G,1157,1,no description,60.2,1 -1158,I7N3G6G,1158,1,no description,60.2,1 -1159,I7N3G6G,1159,1,no description,60.2,1 -1160,I7N3G6G,1160,1,no description,60.2,1 -1161,I7N3G6G,1161,1,no description,60.2,1 -1162,I7N3G6G,1162,1,no description,60.2,1 -1163,I7N3G6G,1163,1,no description,60.2,1 -1164,I7N3G6G,1164,1,no description,60.2,1 -1165,I7N3G6G,1165,1,no description,60.2,1 -1166,I7N3G6G,1166,1,no description,60.2,1 -1167,I7N3G6G,1167,1,no description,60.2,1 -1168,I7N3G6G,1168,1,no description,60.2,1 -1169,I7N3G6G,1169,1,no description,60.2,1 -1170,I7N3G6G,1170,1,no description,60.2,1 -1171,I7N3G6G,1171,1,no description,60.2,1 -1172,I7N3G6G,1172,1,no description,60.2,1 -1173,I7N3G6G,1173,1,no description,60.2,1 -1174,I7N3G6G,1174,1,no description,60.2,1 -1175,I7N3G6G,1175,1,no description,60.2,1 -1176,I7N3G6G,1176,1,no description,60.2,1 -1177,I7N3G6G,1177,1,no description,60.2,1 -1178,I7N3G6G,1178,1,no description,60.2,1 -1179,I7N3G6G,1179,1,no description,60.2,1 -1180,I7N3G6G,1180,1,no description,60.2,1 -1181,I7N3G6G,1181,1,no description,60.2,1 -1182,I7N3G6G,1182,1,no description,60.2,1 -1183,I7N3G6G,1183,1,no description,60.2,1 -1184,I7N3G6G,1184,1,no description,60.2,1 -1185,I7N3G6G,1185,1,no description,60.2,1 -1186,I7N3G6G,1186,1,no description,60.2,1 -1187,I7N3G6G,1187,1,no description,60.2,1 -1188,I7N3G6G,1188,1,no description,60.2,1 -1189,I7N3G6G,1189,1,no description,60.2,1 -1190,I7N3G6G,1190,1,no description,60.2,1 -1191,I7N3G6G,1191,1,no description,60.2,1 -1192,I7N3G6G,1192,1,no description,60.2,1 -1193,I7N3G6G,1193,1,no description,60.2,1 -1194,I7N3G6G,1194,1,no description,60.2,1 -1195,I7N3G6G,1195,1,no description,60.2,1 -1196,I7N3G6G,1196,1,no description,60.2,1 -1197,I7N3G6G,1197,1,no description,60.2,1 -1198,I7N3G6G,1198,1,no description,60.2,1 -1199,I7N3G6G,1199,1,no description,60.2,1 -1200,I7N3G6G,1200,1,no description,60.2,1 -1201,I7N3G6G,1201,1,no description,60.2,1 -1202,I7N3G6G,1202,1,no description,60.2,1 -1203,I7N3G6G,1203,1,no description,60.2,1 -1204,I7N3G6G,1204,1,no description,60.2,1 -1205,I7N3G6G,1205,1,no description,60.2,1 -1206,I7N3G6G,1206,1,no description,60.2,1 -1207,I7N3G6G,1207,1,no description,60.2,1 -1208,I7N3G6G,1208,1,no description,60.2,1 -1209,I7N3G6G,1209,1,no description,60.2,1 -1210,I7N3G6G,1210,1,no description,60.2,1 -1211,I7N3G6G,1211,1,no description,60.2,1 -1212,I7N3G6G,1212,1,no description,60.2,1 -1213,I7N3G6G,1213,1,no description,60.2,1 -1214,I7N3G6G,1214,1,no description,60.2,1 -1215,I7N3G6G,1215,1,no description,60.2,1 -1216,I7N3G6G,1216,1,no description,60.2,1 -1217,I7N3G6G,1217,1,no description,60.2,1 -1218,I7N3G6G,1218,1,no description,60.2,1 -1219,I7N3G6G,1219,1,no description,60.2,1 -1220,I7N3G6G,1220,1,no description,60.2,1 -1221,I7N3G6G,1221,1,no description,60.2,1 -1222,I7N3G6G,1222,1,no description,60.2,1 -1223,I7N3G6G,1223,1,no description,60.2,1 -1224,I7N3G6G,1224,1,no description,60.2,1 -1225,I7N3G6G,1225,1,no description,60.2,1 -1226,I7N3G6G,1226,1,no description,60.2,1 -1227,I7N3G6G,1227,1,no description,60.2,1 -1228,I7N3G6G,1228,1,no description,60.2,1 -1229,I7N3G6G,1229,1,no description,60.2,1 -1230,I7N3G6G,1230,1,no description,60.2,1 -1231,I7N3G6G,1231,1,no description,60.2,1 -1232,I7N3G6G,1232,1,no description,60.2,1 -1233,I7N3G6G,1233,1,no description,60.2,1 -1234,I7N3G6G,1234,1,no description,60.2,1 -1235,I7N3G6G,1235,1,no description,60.2,1 -1236,I7N3G6G,1236,1,no description,60.2,1 -1237,I7N3G6G,1237,1,no description,60.2,1 -1238,I7N3G6G,1238,1,no description,60.2,1 -1239,I7N3G6G,1239,1,no description,60.2,1 -1240,I7N3G6G,1240,1,no description,60.2,1 -1241,I7N3G6G,1241,1,no description,60.2,1 -1242,I7N3G6G,1242,1,no description,60.2,1 -1243,I7N3G6G,1243,1,no description,60.2,1 -1244,I7N3G6G,1244,1,no description,60.2,1 -1245,I7N3G6G,1245,1,no description,60.2,1 -1246,I7N3G6G,1246,1,no description,60.2,1 -1247,I7N3G6G,1247,1,no description,60.2,1 -1248,I7N3G6G,1248,1,no description,60.2,1 -1249,I7N3G6G,1249,1,no description,60.2,1 -1250,I7N3G6G,1250,1,no description,60.2,1 -1251,I7N3G6G,1251,1,no description,60.2,1 -1252,I7N3G6G,1252,1,no description,60.2,1 -1253,I7N3G6G,1253,1,no description,60.2,1 -1254,I7N3G6G,1254,1,no description,60.2,1 -1255,I7N3G6G,1255,1,no description,60.2,1 -1256,I7N3G6G,1256,1,no description,60.2,1 -1257,I7N3G6G,1257,1,no description,60.2,1 -1258,I7N3G6G,1258,1,no description,60.2,1 -1259,I7N3G6G,1259,1,no description,60.2,1 -1260,I7N3G6G,1260,1,no description,60.2,1 -1261,I7N3G6G,1261,1,no description,60.2,1 -1262,I7N3G6G,1262,1,no description,60.2,1 -1263,I7N3G6G,1263,1,no description,60.2,1 -1264,I7N3G6G,1264,1,no description,60.2,1 -1265,I7N3G6G,1265,1,no description,60.2,1 -1266,I7N3G6G,1266,1,no description,60.2,1 -1267,I7N3G6G,1267,1,no description,60.2,1 -1268,I7N3G6G,1268,1,no description,60.2,1 -1269,I7N3G6G,1269,1,no description,60.2,1 -1270,I7N3G6G,1270,1,no description,60.2,1 -1271,I7N3G6G,1271,1,no description,60.2,1 -1272,I7N3G6G,1272,1,no description,60.2,1 -1273,I7N3G6G,1273,1,no description,60.2,1 -1274,I7N3G6G,1274,1,no description,60.2,1 -1275,I7N3G6G,1275,1,no description,60.2,1 -1276,I7N3G6G,1276,1,no description,60.2,1 -1277,I7N3G6G,1277,1,no description,60.2,1 -1278,I7N3G6G,1278,1,no description,60.2,1 -1279,I7N3G6G,1279,1,no description,60.2,1 -1280,I7N3G6G,1280,1,no description,60.2,1 -1281,I7N3G6G,1281,1,no description,60.2,1 -1282,I7N3G6G,1282,1,no description,60.2,1 -1283,I7N3G6G,1283,1,no description,60.2,1 -1284,I7N3G6G,1284,1,no description,60.2,1 -1285,I7N3G6G,1285,1,no description,60.2,1 -1286,I7N3G6G,1286,1,no description,60.2,1 -1287,I7N3G6G,1287,1,no description,60.2,1 -1288,I7N3G6G,1288,1,no description,60.2,1 -1289,I7N3G6G,1289,1,no description,60.2,1 -1290,I7N3G6G,1290,1,no description,60.2,1 -1291,I7N3G6G,1291,1,no description,60.2,1 -1292,I7N3G6G,1292,1,no description,60.2,1 -1293,I7N3G6G,1293,1,no description,60.2,1 -1294,I7N3G6G,1294,1,no description,60.2,1 -1295,I7N3G6G,1295,1,no description,60.2,1 -1296,I7N3G6G,1296,1,no description,60.2,1 -1297,I7N3G6G,1297,1,no description,60.2,1 -1298,I7N3G6G,1298,1,no description,60.2,1 -1299,I7N3G6G,1299,1,no description,60.2,1 -1300,I7N3G6G,1300,1,no description,60.2,1 -1301,I7N3G6G,1301,1,no description,60.2,1 -1302,I7N3G6G,1302,1,no description,60.2,1 -1303,I7N3G6G,1303,1,no description,60.2,1 -1304,I7N3G6G,1304,1,no description,60.2,1 -1305,I7N3G6G,1305,1,no description,60.2,1 -1306,I7N3G6G,1306,1,no description,60.2,1 -1307,I7N3G6G,1307,1,no description,60.2,1 -1308,I7N3G6G,1308,1,no description,60.2,1 -1309,I7N3G6G,1309,1,no description,60.2,1 -1310,I7N3G6G,1310,1,no description,60.2,1 -1311,I7N3G6G,1311,1,no description,60.2,1 -1312,I7N3G6G,1312,1,no description,60.2,1 -1313,I7N3G6G,1313,1,no description,60.2,1 -1314,I7N3G6G,1314,1,no description,60.2,1 -1315,I7N3G6G,1315,1,no description,60.2,1 -1316,I7N3G6G,1316,1,no description,60.2,1 -1317,I7N3G6G,1317,1,no description,60.2,1 -1318,I7N3G6G,1318,1,no description,60.2,1 -1319,I7N3G6G,1319,1,no description,60.2,1 -1320,I7N3G6G,1320,1,no description,60.2,1 -1321,I7N3G6G,1321,1,no description,60.2,1 -1322,I7N3G6G,1322,1,no description,60.2,1 -1323,I7N3G6G,1323,1,no description,60.2,1 -1324,I7N3G6G,1324,1,no description,60.2,1 -1325,I7N3G6G,1325,1,no description,60.2,1 -1326,I7N3G6G,1326,1,no description,60.2,1 -1327,I7N3G6G,1327,1,no description,60.2,1 -1328,I7N3G6G,1328,1,no description,60.2,1 -1329,I7N3G6G,1329,1,no description,60.2,1 -1330,I7N3G6G,1330,1,no description,60.2,1 -1331,I7N3G6G,1331,1,no description,60.2,1 -1332,I7N3G6G,1332,1,no description,60.2,1 -1333,I7N3G6G,1333,1,no description,60.2,1 -1334,I7N3G6G,1334,1,no description,60.2,1 -1335,I7N3G6G,1335,1,no description,60.2,1 -1336,I7N3G6G,1336,1,no description,60.2,1 -1337,I7N3G6G,1337,1,no description,60.2,1 -1338,I7N3G6G,1338,1,no description,60.2,1 -1339,I7N3G6G,1339,1,no description,60.2,1 -1340,I7N3G6G,1340,1,no description,60.2,1 -1341,I7N3G6G,1341,1,no description,60.2,1 -1342,I7N3G6G,1342,1,no description,60.2,1 -1343,I7N3G6G,1343,1,no description,60.2,1 -1344,I7N3G6G,1344,1,no description,60.2,1 -1345,I7N3G6G,1345,1,no description,60.2,1 -1346,I7N3G6G,1346,1,no description,60.2,1 -1347,I7N3G6G,1347,1,no description,60.2,1 -1348,I7N3G6G,1348,1,no description,60.2,1 -1349,I7N3G6G,1349,1,no description,60.2,1 -1350,I7N3G6G,1350,1,no description,60.2,1 -1351,I7N3G6G,1351,1,no description,60.2,1 -1352,I7N3G6G,1352,1,no description,60.2,1 -1353,I7N3G6G,1353,1,no description,60.2,1 -1354,I7N3G6G,1354,1,no description,60.2,1 -1355,I7N3G6G,1355,1,no description,60.2,1 -1356,I7N3G6G,1356,1,no description,60.2,1 -1357,I7N3G6G,1357,1,no description,60.2,1 -1358,I7N3G6G,1358,1,no description,60.2,1 -1359,I7N3G6G,1359,1,no description,60.2,1 -1360,I7N3G6G,1360,1,no description,60.2,1 -1361,I7N3G6G,1361,1,no description,60.2,1 -1362,I7N3G6G,1362,1,no description,60.2,1 -1363,I7N3G6G,1363,1,no description,60.2,1 -1364,I7N3G6G,1364,1,no description,60.2,1 -1365,I7N3G6G,1365,1,no description,60.2,1 -1366,I7N3G6G,1366,1,no description,60.2,1 -1367,I7N3G6G,1367,1,no description,60.2,1 -1368,I7N3G6G,1368,1,no description,60.2,1 -1369,I7N3G6G,1369,1,no description,60.2,1 -1370,I7N3G6G,1370,1,no description,60.2,1 -1371,I7N3G6G,1371,1,no description,60.2,1 -1372,I7N3G6G,1372,1,no description,60.2,1 -1373,I7N3G6G,1373,1,no description,60.2,1 -1374,I7N3G6G,1374,1,no description,60.2,1 -1375,I7N3G6G,1375,1,no description,60.2,1 -1376,I7N3G6G,1376,1,no description,60.2,1 -1377,I7N3G6G,1377,1,no description,60.2,1 -1378,I7N3G6G,1378,1,no description,60.2,1 -1379,I7N3G6G,1379,1,no description,60.2,1 -1380,I7N3G6G,1380,1,no description,60.2,1 -1381,I7N3G6G,1381,1,no description,60.2,1 -1382,I7N3G6G,1382,1,no description,60.2,1 -1383,I7N3G6G,1383,1,no description,60.2,1 -1384,I7N3G6G,1384,1,no description,60.2,1 -1385,I7N3G6G,1385,1,no description,60.2,1 -1386,I7N3G6G,1386,1,no description,60.2,1 -1387,I7N3G6G,1387,1,no description,60.2,1 -1388,I7N3G6G,1388,1,no description,60.2,1 -1389,I7N3G6G,1389,1,no description,60.2,1 -1390,I7N3G6G,1390,1,no description,60.2,1 -1391,I7N3G6G,1391,1,no description,60.2,1 -1392,I7N3G6G,1392,1,no description,60.2,1 -1393,I7N3G6G,1393,1,no description,60.2,1 -1394,I7N3G6G,1394,1,no description,60.2,1 -1395,I7N3G6G,1395,1,no description,60.2,1 -1396,I7N3G6G,1396,1,no description,60.2,1 -1397,I7N3G6G,1397,1,no description,60.2,1 -1398,I7N3G6G,1398,1,no description,60.2,1 -1399,I7N3G6G,1399,1,no description,60.2,1 -1400,I7N3G6G,1400,1,no description,60.2,1 -1401,I7N3G6G,1401,1,no description,60.2,1 -1402,I7N3G6G,1402,1,no description,60.2,1 -1403,I7N3G6G,1403,1,no description,60.2,1 -1404,I7N3G6G,1404,1,no description,60.2,1 -1405,I7N3G6G,1405,1,no description,60.2,1 -1406,I7N3G6G,1406,1,no description,60.2,1 -1407,I7N3G6G,1407,1,no description,60.2,1 -1408,I7N3G6G,1408,1,no description,60.2,1 -1409,I7N3G6G,1409,1,no description,60.2,1 -1410,I7N3G6G,1410,1,no description,60.2,1 -1411,I7N3G6G,1411,1,no description,60.2,1 -1412,I7N3G6G,1412,1,no description,60.2,1 -1413,I7N3G6G,1413,1,no description,60.2,1 -1414,I7N3G6G,1414,1,no description,60.2,1 -1415,I7N3G6G,1415,1,no description,60.2,1 -1416,I7N3G6G,1416,1,no description,60.2,1 -1417,I7N3G6G,1417,1,no description,60.2,1 -1418,I7N3G6G,1418,1,no description,60.2,1 -1419,I7N3G6G,1419,1,no description,60.2,1 -1420,I7N3G6G,1420,1,no description,60.2,1 -1421,I7N3G6G,1421,1,no description,60.2,1 -1422,I7N3G6G,1422,1,no description,60.2,1 -1423,I7N3G6G,1423,1,no description,60.2,1 -1424,I7N3G6G,1424,1,no description,60.2,1 -1425,I7N3G6G,1425,1,no description,60.2,1 -1426,I7N3G6G,1426,1,no description,60.2,1 -1427,I7N3G6G,1427,1,no description,60.2,1 -1428,I7N3G6G,1428,1,no description,60.2,1 -1429,I7N3G6G,1429,1,no description,60.2,1 -1430,I7N3G6G,1430,1,no description,60.2,1 -1431,I7N3G6G,1431,1,no description,60.2,1 -1432,I7N3G6G,1432,1,no description,60.2,1 -1433,I7N3G6G,1433,1,no description,60.2,1 -1434,I7N3G6G,1434,1,no description,60.2,1 -1435,I7N3G6G,1435,1,no description,60.2,1 -1436,I7N3G6G,1436,1,no description,60.2,1 -1437,I7N3G6G,1437,1,no description,60.2,1 -1438,I7N3G6G,1438,1,no description,60.2,1 -1439,I7N3G6G,1439,1,no description,60.2,1 -1440,I7N3G6G,1440,1,no description,60.2,1 -1441,I7N3G6G,1441,1,no description,60.2,1 -1442,I7N3G6G,1442,1,no description,60.2,1 -1443,I7N3G6G,1443,1,no description,60.2,1 -1444,I7N3G6G,1444,1,no description,60.2,1 -1445,I7N3G6G,1445,1,no description,60.2,1 -1446,I7N3G6G,1446,1,no description,60.2,1 -1447,I7N3G6G,1447,1,no description,60.2,1 -1448,I7N3G6G,1448,1,no description,60.2,1 -1449,I7N3G6G,1449,1,no description,60.2,1 -1450,I7N3G6G,1450,1,no description,60.2,1 -1451,I7N3G6G,1451,1,no description,60.2,1 -1452,I7N3G6G,1452,1,no description,60.2,1 -1453,I7N3G6G,1453,1,no description,60.2,1 -1454,I7N3G6G,1454,1,no description,60.2,1 -1455,I7N3G6G,1455,1,no description,60.2,1 -1456,I7N3G6G,1456,1,no description,60.2,1 -1457,I7N3G6G,1457,1,no description,60.2,1 -1458,I7N3G6G,1458,1,no description,60.2,1 -1459,I7N3G6G,1459,1,no description,60.2,1 -1460,I7N3G6G,1460,1,no description,60.2,1 -1461,I7N3G6G,1461,1,no description,60.2,1 -1462,I7N3G6G,1462,1,no description,60.2,1 -1463,I7N3G6G,1463,1,no description,60.2,1 -1464,I7N3G6G,1464,1,no description,60.2,1 -1465,I7N3G6G,1465,1,no description,60.2,1 -1466,I7N3G6G,1466,1,no description,60.2,1 -1467,I7N3G6G,1467,1,no description,60.2,1 -1468,I7N3G6G,1468,1,no description,60.2,1 -1469,I7N3G6G,1469,1,no description,60.2,1 -1470,I7N3G6G,1470,1,no description,60.2,1 -1471,I7N3G6G,1471,1,no description,60.2,1 -1472,I7N3G6G,1472,1,no description,60.2,1 -1473,I7N3G6G,1473,1,no description,60.2,1 -1474,I7N3G6G,1474,1,no description,60.2,1 -1475,I7N3G6G,1475,1,no description,60.2,1 -1476,I7N3G6G,1476,1,no description,60.2,1 -1477,I7N3G6G,1477,1,no description,60.2,1 -1478,I7N3G6G,1478,1,no description,60.2,1 -1479,I7N3G6G,1479,1,no description,60.2,1 -1480,I7N3G6G,1480,1,no description,60.2,1 -1481,I7N3G6G,1481,1,no description,60.2,1 -1482,I7N3G6G,1482,1,no description,60.2,1 -1483,I7N3G6G,1483,1,no description,60.2,1 -1484,I7N3G6G,1484,1,no description,60.2,1 -1485,I7N3G6G,1485,1,no description,60.2,1 -1486,I7N3G6G,1486,1,no description,60.2,1 -1487,I7N3G6G,1487,1,no description,60.2,1 -1488,I7N3G6G,1488,1,no description,60.2,1 -1489,I7N3G6G,1489,1,no description,60.2,1 -1490,I7N3G6G,1490,1,no description,60.2,1 -1491,I7N3G6G,1491,1,no description,60.2,1 -1492,I7N3G6G,1492,1,no description,60.2,1 -1493,I7N3G6G,1493,1,no description,60.2,1 -1494,I7N3G6G,1494,1,no description,60.2,1 -1495,I7N3G6G,1495,1,no description,60.2,1 -1496,I7N3G6G,1496,1,no description,60.2,1 -1497,I7N3G6G,1497,1,no description,60.2,1 -1498,I7N3G6G,1498,1,no description,60.2,1 -1499,I7N3G6G,1499,1,no description,60.2,1 -1500,I7N3G6G,1500,1,no description,60.2,1 -1501,I7N3G6G,1501,1,no description,60.2,1 -1502,I7N3G6G,1502,1,no description,60.2,1 -1503,I7N3G6G,1503,1,no description,60.2,1 -1504,I7N3G6G,1504,1,no description,60.2,1 -1505,I7N3G6G,1505,1,no description,60.2,1 -1506,I7N3G6G,1506,1,no description,60.2,1 -1507,I7N3G6G,1507,1,no description,60.2,1 -1508,I7N3G6G,1508,1,no description,60.2,1 -1509,I7N3G6G,1509,1,no description,60.2,1 -1510,I7N3G6G,1510,1,no description,60.2,1 -1511,I7N3G6G,1511,1,no description,60.2,1 -1512,I7N3G6G,1512,1,no description,60.2,1 -1513,I7N3G6G,1513,1,no description,60.2,1 -1514,I7N3G6G,1514,1,no description,60.2,1 -1515,I7N3G6G,1515,1,no description,60.2,1 -1516,I7N3G6G,1516,1,no description,60.2,1 -1517,I7N3G6G,1517,1,no description,60.2,1 -1518,I7N3G6G,1518,1,no description,60.2,1 -1519,I7N3G6G,1519,1,no description,60.2,1 -1520,I7N3G6G,1520,1,no description,60.2,1 -1521,I7N3G6G,1521,1,no description,60.2,1 -1522,I7N3G6G,1522,1,no description,60.2,1 -1523,I7N3G6G,1523,1,no description,60.2,1 -1524,I7N3G6G,1524,1,no description,60.2,1 -1525,I7N3G6G,1525,1,no description,60.2,1 -1526,I7N3G6G,1526,1,no description,60.2,1 -1527,I7N3G6G,1527,1,no description,60.2,1 -1528,I7N3G6G,1528,1,no description,60.2,1 -1529,I7N3G6G,1529,1,no description,60.2,1 -1530,I7N3G6G,1530 -1531,I7N3G6G,1531,1 -1532,I7N3G6G,1532,1,no description,60.2,1 -1533,I7N3G6G,1533,1,no description,60.2,1 -1534,I7N3G6G,1534,1,no description,60.2,1 -1535,I7N3G6G,1535,1,no description,60.2,1 -1536,I7N3G6G,1536,1,no description,60.2,1 -1537,I7N3G6G,1537,1,no description,60.2,1 -1538,I7N3G6G,1538,1,no description,60.2,1 -1539,I7N3G6G,1539,1,no description,60.2,1 -1540,I7N3G6G,1540,1,no description,60.2,1 -1541,I7N3G6G,1541,1,no description,60.2,1 -1542,I7N3G6G,1542,1,no description,60.2,1 -1543,I7N3G6G,1543,1,no description,60.2,1 -1544,I7N3G6G,1544,1,no description,60.2,1 -1545,I7N3G6G,1545,1,no description,60.2,1 -1546,I7N3G6G,1546,1,no description,60.2,1 -1547,I7N3G6G,1547,1,no description,60.2,1 -1548,I7N3G6G,1548,1,no description,60.2,1 -1549,I7N3G6G,1549,1,no description,60.2,1 -1550,I7N3G6G,1550,1,no description,60.2,1 -1551,I7N3G6G,1551,1,no description,60.2,1 -1552,I7N3G6G,1552,1,no description,60.2,1 -1553,I7N3G6G,1553,1,no description,60.2,1 -1554,I7N3G6G,1554,1,no description,60.2,1 -1555,I7N3G6G,1555,1,no description,60.2,1 -1556,I7N3G6G,1556,1,no description,60.2,1 -1557,I7N3G6G,1557,1,no description,60.2,1 -1558,I7N3G6G,1558,1,no description,60.2,1 -1559,I7N3G6G,1559,1,no description,60.2,1 -1560,I7N3G6G,1560,1,no description,60.2,1 -1561,I7N3G6G,1561,1,no description,60.2,1 -1562,I7N3G6G,1562,1,no description,60.2,1 -1563,I7N3G6G,1563,1,no description,60.2,1 -1564,I7N3G6G,1564,1,no description,60.2,1 -1565,I7N3G6G,1565,1,no description,60.2,1 -1566,I7N3G6G,1566,1,no description,60.2,1 -1567,I7N3G6G,1567,1,no description,60.2,1 -1568,I7N3G6G,1568,1,no description,60.2,1 -1569,I7N3G6G,1569,1,no description,60.2,1 -1570,I7N3G6G,1570,1,no description,60.2,1 -1571,I7N3G6G,1571,1,no description,60.2,1 -1572,I7N3G6G,1572,1,no description,60.2,1 -1573,I7N3G6G,1573,1,no description,60.2,1 -1574,I7N3G6G,1574,1,no description,60.2,1 -1575,I7N3G6G,1575,1,no description,60.2,1 -1576,I7N3G6G,1576,1,no description,60.2,1 -1577,I7N3G6G,1577,1,no description,60.2,1 -1578,I7N3G6G,1578,1,no description,60.2,1 -1579,I7N3G6G,1579,1,no description,60.2,1 -1580,I7N3G6G,1580,1,no description,60.2,1 -1581,I7N3G6G,1581,1,no description,60.2,1 -1582,I7N3G6G,1582,1,no description,60.2,1 -1583,I7N3G6G,1583,1,no description,60.2,1 -1584,I7N3G6G,1584,1,no description,60.2,1 -1585,I7N3G6G,1585,1,no description,60.2,1 -1586,I7N3G6G,1586,1,no description,60.2,1 -1587,I7N3G6G,1587,1,no description,60.2,1 -1588,I7N3G6G,1588,1,no description,60.2,1 -1589,I7N3G6G,1589,1,no description,60.2,1 -1590,I7N3G6G,1590,1,no description,60.2,1 -1591,I7N3G6G,1591,1,no description,60.2,1 -1592,I7N3G6G,1592,1,no description,60.2,1 -1593,I7N3G6G,1593,1,no description,60.2,1 -1594,I7N3G6G,1594,1,no description,60.2,1 -1595,I7N3G6G,1595,1,no description,60.2,1 -1596,I7N3G6G,1596,1,no description,60.2,1 -1597,I7N3G6G,1597,1,no description,60.2,1 -1598,I7N3G6G,1598,1,no description,60.2,1 -1599,I7N3G6G,1599,1,no description,60.2,1 -1600,I7N3G6G,1600,1,no description,60.2,1 -1601,I7N3G6G,1601,1,no description,60.2,1 -1602,I7N3G6G,1602,1,no description,60.2,1 -1603,I7N3G6G,1603,1,no description,60.2,1 -1604,I7N3G6G,1604,1,no description,60.2,1 -1605,I7N3G6G,1605,1,no description,60.2,1 -1606,I7N3G6G,1606,1,no description,60.2,1 -1607,I7N3G6G,1607,1,no description,60.2,1 -1608,I7N3G6G,1608,1,no description,60.2,1 -1609,I7N3G6G,1609,1,no description,60.2,1 -1610,I7N3G6G,1610,1,no description,60.2,1 -1611,I7N3G6G,1611,1,no description,60.2,1 -1612,I7N3G6G,1612,1,no description,60.2,1 -1613,I7N3G6G,1613,1,no description,60.2,1 -1614,I7N3G6G,1614,1,no description,60.2,1 -1615,I7N3G6G,1615,1,no description,60.2,1 -1616,I7N3G6G,1616,1,no description,60.2,1 -1617,I7N3G6G,1617,1,no description,60.2,1 -1618,I7N3G6G,1618,1,no description,60.2,1 -1619,I7N3G6G,1619,1,no description,60.2,1 -1620,I7N3G6G,1620,1,no description,60.2,1 -1621,I7N3G6G,1621,1,no description,60.2,1 -1622,I7N3G6G,1622,1,no description,60.2,1 -1623,I7N3G6G,1623,1,no description,60.2,1 -1624,I7N3G6G,1624,1,no description,60.2,1 -1625,I7N3G6G,1625,1,no description,60.2,1 -1626,I7N3G6G,1626,1,no description,60.2,1 -1627,I7N3G6G,1627,1,no description,60.2,1 -1628,I7N3G6G,1628,1,no description,60.2,1 -1629,I7N3G6G,1629,1,no description,60.2,1 -1630,I7N3G6G,1630,1,no description,60.2,1 -1631,I7N3G6G,1631,1,no description,60.2,1 -1632,I7N3G6G,1632,1,no description,60.2,1 -1633,I7N3G6G,1633,1,no description,60.2,1 -1634,I7N3G6G,1634,1,no description,60.2,1 -1635,I7N3G6G,1635,1,no description,60.2,1 -1636,I7N3G6G,1636,1,no description,60.2,1 -1637,I7N3G6G,1637,1,no description,60.2,1 -1638,I7N3G6G,1638,1,no description,60.2,1 -1639,I7N3G6G,1639,1,no description,60.2,1 -1640,I7N3G6G,1640,1,no description,60.2,1 -1641,I7N3G6G,1641,1,no description,60.2,1 -1642,I7N3G6G,1642,1,no description,60.2,1 -1643,I7N3G6G,1643,1,no description,60.2,1 -1644,I7N3G6G,1644,1,no description,60.2,1 -1645,I7N3G6G,1645,1,no description,60.2,1 -1646,I7N3G6G,1646,1,no description,60.2,1 -1647,I7N3G6G,1647,1,no description,60.2,1 -1648,I7N3G6G,1648,1,no description,60.2,1 -1649,I7N3G6G,1649,1,no description,60.2,1 -1650,I7N3G6G,1650,1,no description,60.2,1 -1651,I7N3G6G,1651,1,no description,60.2,1 -1652,I7N3G6G,1652,1,no description,60.2,1 -1653,I7N3G6G,1653,1,no description,60.2,1 -1654,I7N3G6G,1654,1,no description,60.2,1 -1655,I7N3G6G,1655,1,no description,60.2,1 -1656,I7N3G6G,1656,1,no description,60.2,1 -1657,I7N3G6G,1657,1,no description,60.2,1 -1658,I7N3G6G,1658,1,no description,60.2,1 -1659,I7N3G6G,1659,1,no description,60.2,1 -1660,I7N3G6G,1660,1,no description,60.2,1 -1661,I7N3G6G,1661,1,no description,60.2,1 -1662,I7N3G6G,1662,1,no description,60.2,1 -1663,I7N3G6G,1663,1,no description,60.2,1 -1664,I7N3G6G,1664,1,no description,60.2,1 -1665,I7N3G6G,1665,1,no description,60.2,1 -1666,I7N3G6G,1666,1,no description,60.2,1 -1667,I7N3G6G,1667,1,no description,60.2,1 -1668,I7N3G6G,1668,1,no description,60.2,1 -1669,I7N3G6G,1669,1,no description,60.2,1 -1670,I7N3G6G,1670,1,no description,60.2,1 -1671,I7N3G6G,1671,1,no description,60.2,1 -1672,I7N3G6G,1672,1,no description,60.2,1 -1673,I7N3G6G,1673,1,no description,60.2,1 -1674,I7N3G6G,1674,1,no description,60.2,1 -1675,I7N3G6G,1675,1,no description,60.2,1 -1676,I7N3G6G,1676,1,no description,60.2,1 -1677,I7N3G6G,1677,1,no description,60.2,1 -1678,I7N3G6G,1678,1,no description,60.2,1 -1679,I7N3G6G,1679,1,no description,60.2,1 -1680,I7N3G6G,1680,1,no description,60.2,1 -1681,I7N3G6G,1681,1,no description,60.2,1 -1682,I7N3G6G,1682,1,no description,60.2,1 -1683,I7N3G6G,1683,1,no description,60.2,1 -1684,I7N3G6G,1684,1,no description,60.2,1 -1685,I7N3G6G,1685,1,no description,60.2,1 -1686,I7N3G6G,1686,1,no description,60.2,1 -1687,I7N3G6G,1687,1,no description,60.2,1 -1688,I7N3G6G,1688,1,no description,60.2,1 -1689,I7N3G6G,1689,1,no description,60.2,1 -1690,I7N3G6G,1690,1,no description,60.2,1 -1691,I7N3G6G,1691,1,no description,60.2,1 -1692,I7N3G6G,1692,1,no description,60.2,1 -1693,I7N3G6G,1693,1,no description,60.2,1 -1694,I7N3G6G,1694,1,no description,60.2,1 -1695,I7N3G6G,1695,1,no description,60.2,1 -1696,I7N3G6G,1696,1,no description,60.2,1 -1697,I7N3G6G,1697,1,no description,60.2,1 -1698,I7N3G6G,1698,1,no description,60.2,1 -1699,I7N3G6G,1699,1,no description,60.2,1 -1700,I7N3G6G,1700,1,no description,60.2,1 -1701,I7N3G6G,1701,1,no description,60.2,1 -1702,I7N3G6G,1702,1,no description,60.2,1 -1703,I7N3G6G,1703,1,no description,60.2,1 -1704,I7N3G6G,1704,1,no description,60.2,1 -1705,I7N3G6G,1705,1,no description,60.2,1 -1706,I7N3G6G,1706,1,no description,60.2,1 -1707,I7N3G6G,1707,1,no description,60.2,1 -1708,I7N3G6G,1708,1,no description,60.2,1 -1709,I7N3G6G,1709,1,no description,60.2,1 -1710,I7N3G6G,1710,1,no description,60.2,1 -1711,I7N3G6G,1711,1,no description,60.2,1 -1712,I7N3G6G,1712,1,no description,60.2,1 -1713,I7N3G6G,1713,1,no description,60.2,1 -1714,I7N3G6G,1714,1,no description,60.2,1 -1715,I7N3G6G,1715,1,no description,60.2,1 -1716,I7N3G6G,1716,1,no description,60.2,1 -1717,I7N3G6G,1717,1,no description,60.2,1 -1718,I7N3G6G,1718,1,no description,60.2,1 -1719,I7N3G6G,1719,1,no description,60.2,1 -1720,I7N3G6G,1720,1,no description,60.2,1 -1721,I7N3G6G,1721,1,no description,60.2,1 -1722,I7N3G6G,1722,1,no description,60.2,1 -1723,I7N3G6G,1723,1,no description,60.2,1 -1724,I7N3G6G,1724,1,no description,60.2,1 -1725,I7N3G6G,1725,1,no description,60.2,1 -1726,I7N3G6G,1726,1,no description,60.2,1 -1727,I7N3G6G,1727,1,no description,60.2,1 -1728,I7N3G6G,1728,1,no description,60.2,1 -1729,I7N3G6G,1729,1,no description,60.2,1 -1730,I7N3G6G,1730,1,no description,60.2,1 -1731,I7N3G6G,1731,1,no description,60.2,1 -1732,I7N3G6G,1732,1,no description,60.2,1 -1733,I7N3G6G,1733,1,no description,60.2,1 -1734,I7N3G6G,1734,1,no description,60.2,1 -1735,I7N3G6G,1735,1,no description,60.2,1 -1736,I7N3G6G,1736,1,no description,60.2,1 -1737,I7N3G6G,1737,1,no description,60.2,1 -1738,I7N3G6G,1738,1,no description,60.2,1 -1739,I7N3G6G,1739,1,no description,60.2,1 -1740,I7N3G6G,1740,1,no description,60.2,1 -1741,I7N3G6G,1741,1,no description,60.2,1 -1742,I7N3G6G,1742,1,no description,60.2,1 -1743,I7N3G6G,1743,1,no description,60.2,1 -1744,I7N3G6G,1744,1,no description,60.2,1 -1745,I7N3G6G,1745,1,no description,60.2,1 -1746,I7N3G6G,1746,1,no description,60.2,1 -1747,I7N3G6G,1747,1,no description,60.2,1 -1748,I7N3G6G,1748,1,no description,60.2,1 -1749,I7N3G6G,1749,1,no description,60.2,1 -1750,I7N3G6G,1750,1,no description,60.2,1 -1751,I7N3G6G,1751,1,no description,60.2,1 -1752,I7N3G6G,1752,1,no description,60.2,1 -1753,I7N3G6G,1753,1,no description,60.2,1 -1754,I7N3G6G,1754,1,no description,60.2,1 -1755,I7N3G6G,1755,1,no description,60.2,1 -1756,I7N3G6G,1756,1,no description,60.2,1 -1757,I7N3G6G,1757,1,no description,60.2,1 -1758,I7N3G6G,1758,1,no description,60.2,1 -1759,I7N3G6G,1759,1,no description,60.2,1 -1760,I7N3G6G,1760,1,no description,60.2,1 -1761,I7N3G6G,1761,1,no description,60.2,1 -1762,I7N3G6G,1762,1,no description,60.2,1 -1763,I7N3G6G,1763,1,no description,60.2,1 -1764,I7N3G6G,1764,1,no description,60.2,1 -1765,I7N3G6G,1765,1,no description,60.2,1 -1766,I7N3G6G,1766,1,no description,60.2,1 -1767,I7N3G6G,1767,1,no description,60.2,1 -1768,I7N3G6G,1768,1,no description,60.2,1 -1769,I7N3G6G,1769,1,no description,60.2,1 -1770,I7N3G6G,1770,1,no description,60.2,1 -1771,I7N3G6G,1771,1,no description,60.2,1 -1772,I7N3G6G,1772,1,no description,60.2,1 -1773,I7N3G6G,1773,1,no description,60.2,1 -1774,I7N3G6G,1774,1,no description,60.2,1 -1775,I7N3G6G,1775,1,no description,60.2,1 -1776,I7N3G6G,1776,1,no description,60.2,1 -1777,I7N3G6G,1777,1,no description,60.2,1 -1778,I7N3G6G,1778,1,no description,60.2,1 -1779,I7N3G6G,1779,1,no description,60.2,1 -1780,I7N3G6G,1780,1,no description,60.2,1 -1781,I7N3G6G,1781,1,no description,60.2,1 -1782,I7N3G6G,1782,1,no description,60.2,1 -1783,I7N3G6G,1783,1,no description,60.2,1 -1784,I7N3G6G,1784,1,no description,60.2,1 -1785,I7N3G6G,1785,1,no description,60.2,1 -1786,I7N3G6G,1786,1,no description,60.2,1 -1787,I7N3G6G,1787,1,no description,60.2,1 -1788,I7N3G6G,1788,1,no description,60.2,1 -1789,I7N3G6G,1789,1,no description,60.2,1 -1790,I7N3G6G,1790,1,no description,60.2,1 -1791,I7N3G6G,1791,1,no description,60.2,1 -1792,I7N3G6G,1792,1,no description,60.2,1 -1793,I7N3G6G,1793,1,no description,60.2,1 -1794,I7N3G6G,1794,1,no description,60.2,1 -1795,I7N3G6G,1795,1,no description,60.2,1 -1796,I7N3G6G,1796,1,no description,60.2,1 -1797,I7N3G6G,1797,1,no description,60.2,1 -1798,I7N3G6G,1798,1,no description,60.2,1 -1799,I7N3G6G,1799,1,no description,60.2,1 -1800,I7N3G6G,1800,1,no description,60.2,1 -1801,I7N3G6G,1801,1,no description,60.2,1 -1802,I7N3G6G,1802,1,no description,60.2,1 -1803,I7N3G6G,1803,1,no description,60.2,1 -1804,I7N3G6G,1804,1,no description,60.2,1 -1805,I7N3G6G,1805,1,no description,60.2,1 -1806,I7N3G6G,1806,1,no description,60.2,1 -1807,I7N3G6G,1807,1,no description,60.2,1 -1808,I7N3G6G,1808,1,no description,60.2,1 -1809,I7N3G6G,1809,1,no description,60.2,1 -1810,I7N3G6G,1810,1,no description,60.2,1 -1811,I7N3G6G,1811,1,no description,60.2,1 -1812,I7N3G6G,1812,1,no description,60.2,1 -1813,I7N3G6G,1813,1,no description,60.2,1 -1814,I7N3G6G,1814,1,no description,60.2,1 -1815,I7N3G6G,1815,1,no description,60.2,1 -1816,I7N3G6G,1816,1,no description,60.2,1 -1817,I7N3G6G,1817,1,no description,60.2,1 -1818,I7N3G6G,1818,1,no description,60.2,1 -1819,I7N3G6G,1819,1,no description,60.2,1 -1820,I7N3G6G,1820,1,no description,60.2,1 -1821,I7N3G6G,1821,1,no description,60.2,1 -1822,I7N3G6G,1822,1,no description,60.2,1 -1823,I7N3G6G,1823,1,no description,60.2,1 -1824,I7N3G6G,1824,1,no description,60.2,1 -1825,I7N3G6G,1825,1,no description,60.2,1 -1826,I7N3G6G,1826,1,no description,60.2,1 -1827,I7N3G6G,1827,1,no description,60.2,1 -1828,I7N3G6G,1828,1,no description,60.2,1 -1829,I7N3G6G,1829,1,no description,60.2,1 -1830,I7N3G6G,1830,1,no description,60.2,1 -1831,I7N3G6G,1831,1,no description,60.2,1 -1832,I7N3G6G,1832,1,no description,60.2,1 -1833,I7N3G6G,1833,1,no description,60.2,1 -1834,I7N3G6G,1834,1,no description,60.2,1 -1835,I7N3G6G,1835,1,no description,60.2,1 -1836,I7N3G6G,1836,1,no description,60.2,1 -1837,I7N3G6G,1837,1,no description,60.2,1 -1838,I7N3G6G,1838,1,no description,60.2,1 -1839,I7N3G6G,1839,1,no description,60.2,1 -1840,I7N3G6G,1840,1,no description,60.2,1 -1841,I7N3G6G,1841,1,no description,60.2,1 -1842,I7N3G6G,1842,1,no description,60.2,1 -1843,I7N3G6G,1843,1,no description,60.2,1 -1844,I7N3G6G,1844,1,no description,60.2,1 -1845,I7N3G6G,1845,1,no description,60.2,1 -1846,I7N3G6G,1846,1,no description,60.2,1 -1847,I7N3G6G,1847,1,no description,60.2,1 -1848,I7N3G6G,1848,1,no description,60.2,1 -1849,I7N3G6G,1849,1,no description,60.2,1 -1850,I7N3G6G,1850,1,no description,60.2,1 -1851,I7N3G6G,1851,1,no description,60.2,1 -1852,I7N3G6G,1852,1,no description,60.2,1 -1853,I7N3G6G,1853,1,no description,60.2,1 -1854,I7N3G6G,1854,1,no description,60.2,1 -1855,I7N3G6G,1855,1,no description,60.2,1 -1856,I7N3G6G,1856,1,no description,60.2,1 -1857,I7N3G6G,1857,1,no description,60.2,1 -1858,I7N3G6G,1858,1,no description,60.2,1 -1859,I7N3G6G,1859,1,no description,60.2,1 -1860,I7N3G6G,1860,1,no description,60.2,1 -1861,I7N3G6G,1861,1,no description,60.2,1 -1862,I7N3G6G,1862,1,no description,60.2,1 -1863,I7N3G6G,1863,1,no description,60.2,1 -1864,I7N3G6G,1864,1,no description,60.2,1 -1865,I7N3G6G,1865,1,no description,60.2,1 -1866,I7N3G6G,1866,1,no description,60.2,1 -1867,I7N3G6G,1867,1,no description,60.2,1 -1868,I7N3G6G,1868,1,no description,60.2,1 -1869,I7N3G6G,1869,1,no description,60.2,1 -1870,I7N3G6G,1870,1,no description,60.2,1 -1871,I7N3G6G,1871,1,no description,60.2,1 -1872,I7N3G6G,1872,1,no description,60.2,1 -1873,I7N3G6G,1873,1,no description,60.2,1 -1874,I7N3G6G,1874,1,no description,60.2,1 -1875,I7N3G6G,1875,1,no description,60.2,1 -1876,I7N3G6G,1876,1,no description,60.2,1 -1877,I7N3G6G,1877,1,no description,60.2,1 -1878,I7N3G6G,1878,1,no description,60.2,1 -1879,I7N3G6G,1879,1,no description,60.2,1 -1880,I7N3G6G,1880,1,no description,60.2,1 -1881,I7N3G6G,1881,1,no description,60.2,1 -1882,I7N3G6G,1882,1,no description,60.2,1 -1883,I7N3G6G,1883,1,no description,60.2,1 -1884,I7N3G6G,1884,1,no description,60.2,1 -1885,I7N3G6G,1885,1,no description,60.2,1 -1886,I7N3G6G,1886,1,no description,60.2,1 -1887,I7N3G6G,1887,1,no description,60.2,1 -1888,I7N3G6G,1888,1,no description,60.2,1 -1889,I7N3G6G,1889,1,no description,60.2,1 -1890,I7N3G6G,1890,1,no description,60.2,1 -1891,I7N3G6G,1891,1,no description,60.2,1 -1892,I7N3G6G,1892,1,no description,60.2,1 -1893,I7N3G6G,1893,1,no description,60.2,1 -1894,I7N3G6G,1894,1,no description,60.2,1 -1895,I7N3G6G,1895,1,no description,60.2,1 -1896,I7N3G6G,1896,1,no description,60.2,1 -1897,I7N3G6G,1897,1,no description,60.2,1 -1898,I7N3G6G,1898,1,no description,60.2,1 -1899,I7N3G6G,1899,1,no description,60.2,1 -1900,I7N3G6G,1900,1,no description,60.2,1 -1901,I7N3G6G,1901,1,no description,60.2,1 -1902,I7N3G6G,1902,1,no description,60.2,1 -1903,I7N3G6G,1903,1,no description,60.2,1 -1904,I7N3G6G,1904,1,no description,60.2,1 -1905,I7N3G6G,1905,1,no description,60.2,1 -1906,I7N3G6G,1906,1,no description,60.2,1 -1907,I7N3G6G,1907,1,no description,60.2,1 -1908,I7N3G6G,1908,1,no description,60.2,1 -1909,I7N3G6G,1909,1,no description,60.2,1 -1910,I7N3G6G,1910,1,no description,60.2,1 -1911,I7N3G6G,1911,1,no description,60.2,1 -1912,I7N3G6G,1912,1,no description,60.2,1 -1913,I7N3G6G,1913,1,no description,60.2,1 -1914,I7N3G6G,1914,1,no description,60.2,1 -1915,I7N3G6G,1915,1,no description,60.2,1 -1916,I7N3G6G,1916,1,no description,60.2,1 -1917,I7N3G6G,1917,1,no description,60.2,1 -1918,I7N3G6G,1918,1,no description,60.2,1 -1919,I7N3G6G,1919,1,no description,60.2,1 -1920,I7N3G6G,1920,1,no description,60.2,1 -1921,I7N3G6G,1921,1,no description,60.2,1 -1922,I7N3G6G,1922,1,no description,60.2,1 -1923,I7N3G6G,1923,1,no description,60.2,1 -1924,I7N3G6G,1924,1,no description,60.2,1 -1925,I7N3G6G,1925,1,no description,60.2,1 -1926,I7N3G6G,1926,1,no description,60.2,1 -1927,I7N3G6G,1927,1,no description,60.2,1 -1928,I7N3G6G,1928,1,no description,60.2,1 -1929,I7N3G6G,1929,1,no description,60.2,1 -1930,I7N3G6G,1930,1,no description,60.2,1 -1931,I7N3G6G,1931,1,no description,60.2,1 -1932,I7N3G6G,1932,1,no description,60.2,1 -1933,I7N3G6G,1933,1,no description,60.2,1 -1934,I7N3G6G,1934,1,no description,60.2,1 -1935,I7N3G6G,1935,1,no description,60.2,1 -1936,I7N3G6G,1936,1,no description,60.2,1 -1937,I7N3G6G,1937,1,no description,60.2,1 -1938,I7N3G6G,1938,1,no description,60.2,1 -1939,I7N3G6G,1939,1,no description,60.2,1 -1940,I7N3G6G,1940,1,no description,60.2,1 -1941,I7N3G6G,1941,1,no description,60.2,1 -1942,I7N3G6G,1942,1,no description,60.2,1 -1943,I7N3G6G,1943,1,no description,60.2,1 -1944,I7N3G6G,1944,1,no description,60.2,1 -1945,I7N3G6G,1945,1,no description,60.2,1 -1946,I7N3G6G,1946,1,no description,60.2,1 -1947,I7N3G6G,1947,1,no description,60.2,1 -1948,I7N3G6G,1948,1,no description,60.2,1 -1949,I7N3G6G,1949,1,no description,60.2,1 -1950,I7N3G6G,1950,1,no description,60.2,1 -1951,I7N3G6G,1951,1,no description,60.2,1 -1952,I7N3G6G,1952,1,no description,60.2,1 -1953,I7N3G6G,1953,1,no description,60.2,1 -1954,I7N3G6G,1954,1,no description,60.2,1 -1955,I7N3G6G,1955,1,no description,60.2,1 -1956,I7N3G6G,1956,1,no description,60.2,1 -1957,I7N3G6G,1957,1,no description,60.2,1 -1958,I7N3G6G,1958,1,no description,60.2,1 -1959,I7N3G6G,1959,1,no description,60.2,1 -1960,I7N3G6G,1960,1,no description,60.2,1 -1961,I7N3G6G,1961,1,no description,60.2,1 -1962,I7N3G6G,1962,1,no description,60.2,1 -1963,I7N3G6G,1963,1,no description,60.2,1 -1964,I7N3G6G,1964,1,no description,60.2,1 -1965,I7N3G6G,1965,1,no description,60.2,1 -1966,I7N3G6G,1966,1,no description,60.2,1 -1967,I7N3G6G,1967,1,no description,60.2,1 -1968,I7N3G6G,1968,1,no description,60.2,1 -1969,I7N3G6G,1969,1,no description,60.2,1 -1970,I7N3G6G,1970,1,no description,60.2,1 -1971,I7N3G6G,1971,1,no description,60.2,1 -1972,I7N3G6G,1972,1,no description,60.2,1 -1973,I7N3G6G,1973,1,no description,60.2,1 -1974,I7N3G6G,1974,1,no description,60.2,1 -1975,I7N3G6G,1975,1,no description,60.2,1 -1976,I7N3G6G,1976,1,no description,60.2,1 -1977,I7N3G6G,1977,1,no description,60.2,1 -1978,I7N3G6G,1978,1,no description,60.2,1 -1979,I7N3G6G,1979,1,no description,60.2,1 -1980,I7N3G6G,1980,1,no description,60.2,1 -1981,I7N3G6G,1981,1,no description,60.2,1 -1982,I7N3G6G,1982,1,no description,60.2,1 -1983,I7N3G6G,1983,1,no description,60.2,1 -1984,I7N3G6G,1984,1,no description,60.2,1 -1985,I7N3G6G,1985,1,no description,60.2,1 -1986,I7N3G6G,1986,1,no description,60.2,1 -1987,I7N3G6G,1987,1,no description,60.2,1 -1988,I7N3G6G,1988,1,no description,60.2,1 -1989,I7N3G6G,1989,1,no description,60.2,1 -1990,I7N3G6G,1990,1,no description,60.2,1 -1991,I7N3G6G,1991,1,no description,60.2,1 -1992,I7N3G6G,1992,1,no description,60.2,1 -1993,I7N3G6G,1993,1,no description,60.2,1 -1994,I7N3G6G,1994,1,no description,60.2,1 -1995,I7N3G6G,1995,1,no description,60.2,1 -1996,I7N3G6G,1996,1,no description,60.2,1 -1997,I7N3G6G,1997,1,no description,60.2,1 -1998,I7N3G6G,1998,1,no description,60.2,1 -1999,I7N3G6G,1999,1,no description,60.2,1 -2000,I7N3G6G,2000,1,no description,60.2,1 -2001,I7N3G6G,2001,1,no description,60.2,1 -2002,I7N3G6G,2002,1,no description,60.2,1 -2003,I7N3G6G,2003,1,no description,60.2,1 -2004,I7N3G6G,2004,1,no description,60.2,1 -2005,I7N3G6G,2005,1,no description,60.2,1 -2006,I7N3G6G,2006,1,no description,60.2,1 -2007,I7N3G6G,2007,1,no description,60.2,1 -2008,I7N3G6G,2008,1,no description,60.2,1 -2009,I7N3G6G,2009,1,no description,60.2,1 -2010,I7N3G6G,2010,1,no description,60.2,1 -2011,I7N3G6G,2011,1,no description,60.2,1 -2012,I7N3G6G,2012,1,no description,60.2,1 -2013,I7N3G6G,2013,1,no description,60.2,1 -2014,I7N3G6G,2014,1,no description,60.2,1 -2015,I7N3G6G,2015,1,no description,60.2,1 -2016,I7N3G6G,2016,1,no description,60.2,1 -2017,I7N3G6G,2017,1,no description,60.2,1 -2018,I7N3G6G,2018,1,no description,60.2,1 -2019,I7N3G6G,2019,1,no description,60.2,1 -2020,I7N3G6G,2020,1,no description,60.2,1 -2021,I7N3G6G,2021,1,no description,60.2,1 -2022,I7N3G6G,2022,1,no description,60.2,1 -2023,I7N3G6G,2023,1,no description,60.2,1 -2024,I7N3G6G,2024,1,no description,60.2,1 -2025,I7N3G6G,2025,1,no description,60.2,1 -2026,I7N3G6G,2026,1,no description,60.2,1 -2027,I7N3G6G,2027,1,no description,60.2,1 -2028,I7N3G6G,2028,1,no description,60.2,1 -2029,I7N3G6G,2029,1,no description,60.2,1 -2030,I7N3G6G,2030,1,no description,60.2,1 -2031,I7N3G6G,2031,1,no description,60.2,1 -2032,I7N3G6G,2032,1,no description,60.2,1 -2033,I7N3G6G,2033,1,no description,60.2,1 -2034,I7N3G6G,2034,1,no description,60.2,1 -2035,I7N3G6G,2035,1,no description,60.2,1 -2036,I7N3G6G,2036,1,no description,60.2,1 -2037,I7N3G6G,2037,1,no description,60.2,1 -2038,I7N3G6G,2038,1,no description,60.2,1 -2039,I7N3G6G,2039,1,no description,60.2,1 -2040,I7N3G6G,2040,1,no description,60.2,1 -2041,I7N3G6G,2041,1,no description,60.2,1 -2042,I7N3G6G,2042,1,no description,60.2,1 -2043,I7N3G6G,2043,1,no description,60.2,1 -2044,I7N3G6G,2044,1,no description,60.2,1 -2045,I7N3G6G,2045,1,no description,60.2,1 -2046,I7N3G6G,2046,1,no description,60.2,1 -2047,I7N3G6G,2047,1,no description,60.2,1 -2048,I7N3G6G,2048,1,no description,60.2,1 -2049,I7N3G6G,2049,1,no description,60.2,1 -2050,I7N3G6G,2050,1,no description,60.2,1 -2051,I7N3G6G,2051,1,no description,60.2,1 -2052,I7N3G6G,2052,1,no description,60.2,1 -2053,I7N3G6G,2053,1,no description,60.2,1 -2054,I7N3G6G,2054,1,no description,60.2,1 -2055,I7N3G6G,2055,1,no description,60.2,1 -2056,I7N3G6G,2056,1,no description,60.2,1 -2057,I7N3G6G,2057,1,no description,60.2,1 -2058,I7N3G6G,2058,1,no description,60.2,1 -2059,I7N3G6G,2059,1,no description,60.2,1 -2060,I7N3G6G,2060,1,no description,60.2,1 -2061,I7N3G6G,2061,1,no description,60.2,1 -2062,I7N3G6G,2062,1,no description,60.2,1 -2063,I7N3G6G,2063,1,no description,60.2,1 -2064,I7N3G6G,2064,1,no description,60.2,1 -2065,I7N3G6G,2065,1,no description,60.2,1 -2066,I7N3G6G,2066,1,no description,60.2,1 -2067,I7N3G6G,2067,1,no description,60.2,1 -2068,I7N3G6G,2068,1,no description,60.2,1 -2069,I7N3G6G,2069,1,no description,60.2,1 -2070,I7N3G6G,2070,1,no description,60.2,1 -2071,I7N3G6G,2071,1,no description,60.2,1 -2072,I7N3G6G,2072,1,no description,60.2,1 -2073,I7N3G6G,2073,1,no description,60.2,1 -2074,I7N3G6G,2074,1,no description,60.2,1 -2075,I7N3G6G,2075,1,no description,60.2,1 -2076,I7N3G6G,2076,1,no description,60.2,1 -2077,I7N3G6G,2077,1,no description,60.2,1 -2078,I7N3G6G,2078,1,no description,60.2,1 -2079,I7N3G6G,2079,1,no description,60.2,1 -2080,I7N3G6G,2080,1,no description,60.2,1 -2081,I7N3G6G,2081,1,no description,60.2,1 -2082,I7N3G6G,2082,1,no description,60.2,1 -2083,I7N3G6G,2083,1,no description,60.2,1 -2084,I7N3G6G,2084,1,no description,60.2,1 -2085,I7N3G6G,2085,1,no description,60.2,1 -2086,I7N3G6G,2086,1,no description,60.2,1 -2087,I7N3G6G,2087,1,no description,60.2,1 -2088,I7N3G6G,2088,1,no description,60.2,1 -2089,I7N3G6G,2089,1,no description,60.2,1 -2090,I7N3G6G,2090,1,no description,60.2,1 -2091,I7N3G6G,2091,1,no description,60.2,1 -2092,I7N3G6G,2092,1,no description,60.2,1 -2093,I7N3G6G,2093,1,no description,60.2,1 -2094,I7N3G6G,2094,1,no description,60.2,1 -2095,I7N3G6G,2095,1,no description,60.2,1 -2096,I7N3G6G,2096,1,no description,60.2,1 -2097,I7N3G6G,2097,1,no description,60.2,1 -2098,I7N3G6G,2098,1,no description,60.2,1 -2099,I7N3G6G,2099,1,no description,60.2,1 -2100,I7N3G6G,2100,1,no description,60.2,1 -2101,I7N3G6G,2101,1,no description,60.2,1 -2102,I7N3G6G,2102,1,no description,60.2,1 -2103,I7N3G6G,2103,1,no description,60.2,1 -2104,I7N3G6G,2104,1,no description,60.2,1 -2105,I7N3G6G,2105,1,no description,60.2,1 -2106,I7N3G6G,2106,1,no description,60.2,1 -2107,I7N3G6G,2107,1,no description,60.2,1 -2108,I7N3G6G,2108,1,no description,60.2,1 -2109,I7N3G6G,2109,1,no description,60.2,1 -2110,I7N3G6G,2110,1,no description,60.2,1 -2111,I7N3G6G,2111,1,no description,60.2,1 -2112,I7N3G6G,2112,1,no description,60.2,1 -2113,I7N3G6G,2113,1,no description,60.2,1 -2114,I7N3G6G,2114,1,no description,60.2,1 -2115,I7N3G6G,2115,1,no description,60.2,1 -2116,I7N3G6G,2116,1,no description,60.2,1 -2117,I7N3G6G,2117,1,no description,60.2,1 -2118,I7N3G6G,2118,1,no description,60.2,1 -2119,I7N3G6G,2119,1,no description,60.2,1 -2120,I7N3G6G,2120,1,no description,60.2,1 -2121,I7N3G6G,2121,1,no description,60.2,1 -2122,I7N3G6G,2122,1,no description,60.2,1 -2123,I7N3G6G,2123,1,no description,60.2,1 -2124,I7N3G6G,2124,1,no description,60.2,1 -2125,I7N3G6G,2125,1,no description,60.2,1 -2126,I7N3G6G,2126,1,no description,60.2,1 -2127,I7N3G6G,2127,1,no description,60.2,1 -2128,I7N3G6G,2128,1,no description,60.2,1 -2129,I7N3G6G,2129,1,no description,60.2,1 -2130,I7N3G6G,2130,1,no description,60.2,1 -2131,I7N3G6G,2131,1,no description,60.2,1 -2132,I7N3G6G,2132,1,no description,60.2,1 -2133,I7N3G6G,2133,1,no description,60.2,1 -2134,I7N3G6G,2134,1,no description,60.2,1 -2135,I7N3G6G,2135,1,no description,60.2,1 -2136,I7N3G6G,2136,1,no description,60.2,1 -2137,I7N3G6G,2137,1,no description,60.2,1 -2138,I7N3G6G,2138,1,no description,60.2,1 -2139,I7N3G6G,2139,1,no description,60.2,1 -2140,I7N3G6G,2140,1,no description,60.2,1 -2141,I7N3G6G,2141,1,no description,60.2,1 -2142,I7N3G6G,2142,1,no description,60.2,1 -2143,I7N3G6G,2143,1,no description,60.2,1 -2144,I7N3G6G,2144,1,no description,60.2,1 -2145,I7N3G6G,2145,1,no description,60.2,1 -2146,I7N3G6G,2146,1,no description,60.2,1 -2147,I7N3G6G,2147,1,no description,60.2,1 -2148,I7N3G6G,2148,1,no description,60.2,1 -2149,I7N3G6G,2149,1,no description,60.2,1 -2150,I7N3G6G,2150,1,no description,60.2,1 -2151,I7N3G6G,2151,1,no description,60.2,1 -2152,I7N3G6G,2152,1,no description,60.2,1 -2153,I7N3G6G,2153,1,no description,60.2,1 -2154,I7N3G6G,2154,1,no description,60.2,1 -2155,I7N3G6G,2155,1,no description,60.2,1 -2156,I7N3G6G,2156,1,no description,60.2,1 -2157,I7N3G6G,2157,1,no description,60.2,1 -2158,I7N3G6G,2158,1,no description,60.2,1 -2159,I7N3G6G,2159,1,no description,60.2,1 -2160,I7N3G6G,2160,1,no description,60.2,1 -2161,I7N3G6G,2161,1,no description,60.2,1 -2162,I7N3G6G,2162,1,no description,60.2,1 -2163,I7N3G6G,2163,1,no description,60.2,1 -2164,I7N3G6G,2164,1,no description,60.2,1 -2165,I7N3G6G,2165,1,no description,60.2,1 -2166,I7N3G6G,2166,1,no description,60.2,1 -2167,I7N3G6G,2167,1,no description,60.2,1 -2168,I7N3G6G,2168,1,no description,60.2,1 -2169,I7N3G6G,2169,1,no description,60.2,1 -2170,I7N3G6G,2170,1,no description,60.2,1 -2171,I7N3G6G,2171,1,no description,60.2,1 -2172,I7N3G6G,2172,1,no description,60.2,1 -2173,I7N3G6G,2173,1,no description,60.2,1 -2174,I7N3G6G,2174,1,no description,60.2,1 -2175,I7N3G6G,2175,1,no description,60.2,1 -2176,I7N3G6G,2176,1,no description,60.2,1 -2177,I7N3G6G,2177,1,no description,60.2,1 -2178,I7N3G6G,2178,1,no description,60.2,1 -2179,I7N3G6G,2179,1,no description,60.2,1 -2180,I7N3G6G,2180,1,no description,60.2,1 -2181,I7N3G6G,2181,1,no description,60.2,1 -2182,I7N3G6G,2182,1,no description,60.2,1 -2183,I7N3G6G,2183,1,no description,60.2,1 -2184,I7N3G6G,2184,1,no description,60.2,1 -2185,I7N3G6G,2185,1,no description,60.2,1 -2186,I7N3G6G,2186,1,no description,60.2,1 -2187,I7N3G6G,2187,1,no description,60.2,1 -2188,I7N3G6G,2188,1,no description,60.2,1 -2189,I7N3G6G,2189,1,no description,60.2,1 -2190,I7N3G6G,2190,1,no description,60.2,1 -2191,I7N3G6G,2191,1,no description,60.2,1 -2192,I7N3G6G,2192,1,no description,60.2,1 -2193,I7N3G6G,2193,1,no description,60.2,1 -2194,I7N3G6G,2194,1,no description,60.2,1 -2195,I7N3G6G,2195,1,no description,60.2,1 -2196,I7N3G6G,2196,1,no description,60.2,1 -2197,I7N3G6G,2197,1,no description,60.2,1 -2198,I7N3G6G,2198,1,no description,60.2,1 -2199,I7N3G6G,2199,1,no description,60.2,1 -2200,I7N3G6G,2200,1,no description,60.2,1 -2201,I7N3G6G,2201,1,no description,60.2,1 -2202,I7N3G6G,2202,1,no description,60.2,1 -2203,I7N3G6G,2203,1,no description,60.2,1 -2204,I7N3G6G,2204,1,no description,60.2,1 -2205,I7N3G6G,2205,1,no description,60.2,1 -2206,I7N3G6G,2206,1,no description,60.2,1 -2207,I7N3G6G,2207,1,no description,60.2,1 -2208,I7N3G6G,2208,1,no description,60.2,1 -2209,I7N3G6G,2209,1,no description,60.2,1 -2210,I7N3G6G,2210,1,no description,60.2,1 -2211,I7N3G6G,2211,1,no description,60.2,1 -2212,I7N3G6G,2212,1,no description,60.2,1 -2213,I7N3G6G,2213,1,no description,60.2,1 -2214,I7N3G6G,2214,1,no description,60.2,1 -2215,I7N3G6G,2215,1,no description,60.2,1 -2216,I7N3G6G,2216,1,no description,60.2,1 -2217,I7N3G6G,2217,1,no description,60.2,1 -2218,I7N3G6G,2218,1,no description,60.2,1 -2219,I7N3G6G,2219,1,no description,60.2,1 -2220,I7N3G6G,2220,1,no description,60.2,1 -2221,I7N3G6G,2221,1,no description,60.2,1 -2222,I7N3G6G,2222,1,no description,60.2,1 -2223,I7N3G6G,2223,1,no description,60.2,1 -2224,I7N3G6G,2224,1,no description,60.2,1 -2225,I7N3G6G,2225,1,no description,60.2,1 -2226,I7N3G6G,2226,1,no description,60.2,1 diff --git a/packages/itmat-job-executor/test/testFiles/FieldCurator.tsv b/packages/itmat-job-executor/test/testFiles/FieldCurator.tsv deleted file mode 100644 index b21108422..000000000 --- a/packages/itmat-job-executor/test/testFiles/FieldCurator.tsv +++ /dev/null @@ -1,27 +0,0 @@ -ID,Database,TableName,TableID,SequentialOrder,QuestionNumber,Fieldname,Label,Label_DE,Label_NL,Label_IT,Label_ES,Label_PL,Label_F,EligibleAnswer,IneligibleAnswer,Validation,DataType,ControlType,SystemGenerated,ValueList,Length,DisplayFormat,Nullable,Required,Mandatory,CollectIf,NotMapped,DefaultValue,RegEx,RegExErrorMsg,ShowOnIndexView,Comments -1,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -2,IDEAFAST,Participants,,,,GenderID,Gender ID,,,,,,,,,,int,,False,,,,True,False,True,,False,,,,False, -3,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -4,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -5,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -6,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -7,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -8,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -9,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -10,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -11,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -12,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -13,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -14,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -15,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -16,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -17,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -18,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -19,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -20,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -21,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -22,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -23,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -24,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -25,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -26,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/FieldCurator_1000.tsv b/packages/itmat-job-executor/test/testFiles/FieldCurator_1000.tsv deleted file mode 100644 index 14c8b7523..000000000 --- a/packages/itmat-job-executor/test/testFiles/FieldCurator_1000.tsv +++ /dev/null @@ -1,1227 +0,0 @@ -ID,Database,TableName,TableID,SequentialOrder,QuestionNumber,Fieldname,Label,Label_DE,Label_NL,Label_IT,Label_ES,Label_PL,Label_F,EligibleAnswer,IneligibleAnswer,Validation,DataType,ControlType,SystemGenerated,ValueList,Length,DisplayFormat,Nullable,Required,Mandatory,CollectIf,NotMapped,DefaultValue,RegEx,RegExErrorMsg,ShowOnIndexView,Comments -1,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -2,IDEAFAST,Participants,,,,GenderID,Gender ID,,,,,,,,,,int,,False,,,,True,False,True,,False,,,,False, -3,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -4,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -5,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -6,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -7,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -8,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -9,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -10,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -11,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -12,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -13,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -14,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -15,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -16,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -17,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -18,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -19,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -20,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -21,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -22,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -23,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -24,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -25,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -26,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -27,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -28,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -29,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -30,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -31,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -32,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -33,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -34,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -35,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -36,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -37,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -38,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -39,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -40,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -41,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -42,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -43,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -44,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -45,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -46,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -47,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -48,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -49,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -50,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -51,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -52,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -53,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -54,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -55,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -56,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -57,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -58,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -59,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -60,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -61,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -62,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -63,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -64,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -65,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -66,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -67,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -68,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -69,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -70,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -71,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -72,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -73,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -74,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -75,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -76,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -77,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -78,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -79,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -80,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -81,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -82,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -83,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -84,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -85,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -86,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -87,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -88,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -89,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -90,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -91,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -92,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -93,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -94,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -95,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -96,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -97,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -98,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -99,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -227,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -228,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -229,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -230,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -231,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -232,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -233,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -234,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -235,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -236,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -237,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -238,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -239,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -240,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -241,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -242,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -243,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -244,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -245,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -246,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -247,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -248,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -249,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -250,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -251,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -252,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -253,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -254,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -255,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -256,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -257,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -258,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -259,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -260,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -261,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -262,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -263,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -264,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -265,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -266,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -267,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -268,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -269,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -270,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -271,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -272,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -273,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -274,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -275,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -276,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -277,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -278,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -279,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -280,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -281,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -282,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -283,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -284,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -285,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -286,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -287,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -288,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -289,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -290,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -291,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -292,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -293,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -294,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -295,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -296,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -297,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -298,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -299,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -300,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -301,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -302,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -303,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -304,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -305,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -306,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -307,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -308,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -309,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -310,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -311,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -312,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -313,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -314,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -315,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -316,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -317,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -318,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -319,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -320,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -321,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -322,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -323,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -324,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -325,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -326,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -327,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -328,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -329,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -330,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -331,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -332,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -333,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -334,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -335,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -336,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -337,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -338,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -339,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -340,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -341,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -342,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -343,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -344,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -345,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -346,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -347,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -348,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -349,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -350,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -351,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -352,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -353,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -354,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -355,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -356,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -357,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -358,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -359,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -360,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -361,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -362,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -363,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -364,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -365,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -366,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -367,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -368,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -369,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -370,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -371,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -372,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -373,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -374,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -375,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -376,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -377,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -378,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -379,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -380,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -381,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -382,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -383,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -384,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -385,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -386,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -387,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -388,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -389,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -390,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -391,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -392,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -393,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -394,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -395,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -396,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -397,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -398,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -399,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -400,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -401,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -402,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -403,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -404,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -405,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -406,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -407,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -408,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -409,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -410,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -411,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -412,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -413,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -414,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -415,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -416,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -417,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -418,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -419,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -420,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -421,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -422,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -423,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -424,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -425,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -426,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -427,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -428,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -429,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -430,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -431,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -432,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -433,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -434,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -435,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -436,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -437,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -438,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -439,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -440,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -441,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -442,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -443,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -444,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -445,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -446,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -447,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -448,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -449,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -450,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -451,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -452,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -453,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -454,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -455,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -456,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -457,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -458,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -459,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -460,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -461,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -462,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -463,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -464,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -465,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -466,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -467,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -468,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -469,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -470,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -471,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -472,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -473,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -474,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -475,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -476,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -477,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -478,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -479,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -480,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -481,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -482,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -483,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -484,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -485,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -486,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -487,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -488,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -489,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -490,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -491,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -492,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -493,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -494,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -495,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -496,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -497,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -498,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -499,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -500,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -501,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -502,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -503,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -504,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -505,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -506,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -507,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -508,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -509,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -510,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -511,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -512,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -513,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -514,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -515,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -516,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -517,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -518,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -519,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -520,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -521,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -522,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -523,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -524,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -525,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -526,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -527,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -528,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -529,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -530,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -531,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -532,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -533,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -534,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -535,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -536,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -537,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -538,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -539,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -540,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -541,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -542,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -543,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -544,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -545,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -546,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -547,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -548,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -549,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -550,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -551,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -552,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -553,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -554,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -555,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -556,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -557,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -558,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -559,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -560,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -561,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -562,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -563,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -564,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -565,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -566,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -567,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -568,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -569,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -570,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -571,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -572,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -573,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -574,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -575,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -576,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -577,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -578,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -579,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -580,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -581,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -582,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -583,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -584,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -585,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -586,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -587,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -588,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -589,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -590,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -591,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -592,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -593,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -594,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -595,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -596,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -597,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -598,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -599,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -600,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -601,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -602,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -603,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -604,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -605,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -606,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -607,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -608,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -609,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -610,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -611,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -612,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -613,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -614,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -615,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -616,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -617,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -618,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -619,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -620,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -621,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -622,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -623,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -624,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -625,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -626,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -627,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -628,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -629,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -630,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -631,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -632,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -633,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -634,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -635,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -636,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -637,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -638,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -639,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -640,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -641,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -642,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -643,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -644,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -645,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -646,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -647,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -648,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -649,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -650,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -651,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -652,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -653,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -654,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -655,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -656,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -657,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -658,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -659,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -660,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -661,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -662,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -663,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -664,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -665,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -666,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -667,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -668,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -669,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -670,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -671,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -672,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -673,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -674,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -675,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -676,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -677,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -678,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -679,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -680,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -681,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -682,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -683,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -684,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -685,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -686,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -687,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -688,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -689,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -690,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -691,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -692,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -693,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -694,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -695,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -696,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -697,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -698,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -699,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -700,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -701,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -702,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -703,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -704,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -705,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -706,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -707,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -708,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -709,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -710,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -711,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -712,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -713,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -714,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -715,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -716,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -717,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -718,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -719,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -720,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -721,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -722,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -723,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -724,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -725,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -726,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -727,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -728,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -729,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -730,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -731,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -732,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -733,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -734,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -735,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -736,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -737,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -738,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -739,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -740,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -741,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -742,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -743,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -744,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -745,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -746,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -747,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -748,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -749,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -750,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -751,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -752,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -753,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -754,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -755,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -756,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -757,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -758,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -759,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -760,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -761,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -762,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -763,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -764,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -765,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -766,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -767,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -768,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -769,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -770,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -771,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -772,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -773,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -774,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -775,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -776,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -777,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -778,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -779,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -780,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -781,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -782,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -783,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -784,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -785,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -786,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -787,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -788,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -789,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -790,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -791,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -792,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -793,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -794,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -795,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -796,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -797,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -798,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -799,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -800,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -801,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -802,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -803,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -804,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -805,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -806,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -807,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -808,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -809,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -810,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -811,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -812,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -813,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -814,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -815,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -816,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -817,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -818,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -819,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -820,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -821,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -822,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -823,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -824,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -825,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -826,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -827,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -828,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -829,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -830,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -831,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -832,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -833,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -834,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -835,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -836,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -837,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -838,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -839,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -840,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -841,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -842,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -843,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -844,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -845,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -846,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -847,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -848,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -849,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -850,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -851,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -852,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -853,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -854,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -855,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -856,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -857,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -858,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -859,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -860,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -861,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -862,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -863,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -864,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -865,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -866,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -867,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -868,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -869,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -870,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -871,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -872,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -873,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -874,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -875,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -876,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -877,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -878,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -879,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -880,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -881,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -882,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -883,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -884,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -885,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -886,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -887,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -888,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -889,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -890,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -891,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -892,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -893,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -894,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -895,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -896,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -897,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -898,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -899,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -900,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -901,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -902,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -903,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -904,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -905,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -906,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -907,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -908,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -909,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -910,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -911,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -912,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -913,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -914,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -915,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -916,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -917,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -918,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -919,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -920,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -921,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -922,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -923,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -924,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -925,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -926,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -927,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -928,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -929,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -930,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -931,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -932,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -933,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -934,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -935,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -936,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -937,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -938,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -939,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -940,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -941,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -942,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -943,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -944,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -945,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -946,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -947,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -948,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -949,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -950,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -951,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -952,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -953,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -954,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -955,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -956,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -957,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -958,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -959,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -960,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -961,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -962,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -963,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -964,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -965,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -966,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -967,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -968,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -969,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -970,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -971,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -972,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -973,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -974,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -975,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -976,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -977,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -978,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -979,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -980,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -981,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -982,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -983,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -984,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -985,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -986,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -987,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -988,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -989,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -990,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -991,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -992,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -993,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -994,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -995,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -996,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -997,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -998,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -999,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1000,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1001,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1002,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1003,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1004,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1005,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1006,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1007,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1008,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1009,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1010,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1011,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1012,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1013,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1014,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1015,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1016,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1017,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1018,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1019,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1020,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1021,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1022,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1023,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1024,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1025,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1026,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1027,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1028,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1029,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1030,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1031,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1032,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1033,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1034,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1035,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1036,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1037,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1038,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1039,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1040,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1041,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1042,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1043,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1044,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1045,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1046,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1047,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1048,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1049,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1050,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1051,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1052,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1053,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1054,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1055,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1056,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1057,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1058,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1059,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1060,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1061,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1062,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1063,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1064,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1065,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1066,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1067,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1068,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1069,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1070,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1071,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1072,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1073,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1074,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1075,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1076,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1077,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1078,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1079,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1080,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1081,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1082,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1083,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1084,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1085,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1086,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1087,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1088,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1089,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1090,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1091,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1092,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1093,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1094,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1095,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1096,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1097,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1098,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1099,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/FieldCurator_error1.tsv b/packages/itmat-job-executor/test/testFiles/FieldCurator_error1.tsv deleted file mode 100644 index deefc3a80..000000000 --- a/packages/itmat-job-executor/test/testFiles/FieldCurator_error1.tsv +++ /dev/null @@ -1,1227 +0,0 @@ -ID,Database,TableName,TableID,SequentialOrder,QuestionNumber,Fieldname,Label,Label_DE,Label_NL,Label_IT,Label_ES,Label_PL,Label_F,EligibleAnswer,IneligibleAnswer,Validation,DataType,ControlType,SystemGenerated,ValueList,Length,DisplayFormat,Nullable,Required,Mandatory,CollectIf,NotMapped,DefaultValue,RegEx,RegExErrorMsg,ShowOnIndexView,Comments -1,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -2,IDEAFAST,Participants,,,,GenderID,Gender ID,,,,,,,,,,int,,False,,,,True,False,True,,False,,,,False, -3,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -4,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -5,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -6,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -7,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -8,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -9,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -10,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -11,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -12,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -13,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -13,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -15,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -16,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -17,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -18,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -19,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -20,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -21,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -22,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -23,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -24,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -25,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -26,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -27,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -28,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -29,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -30,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -31,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -32,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -33,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -34,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -35,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -36,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -37,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -38,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -39,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -40,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -41,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -42,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -43,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -44,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -45,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -46,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -47,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -48,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -49,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -50,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -51,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -52,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -53,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -54,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -55,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -56,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -57,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -58,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -59,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -60,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -61,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -62,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -63,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -64,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -65,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -66,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -67,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -68,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -69,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -70,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -71,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -72,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -73,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -74,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -75,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -76,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -77,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -78,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -79,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -80,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -81,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -82,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -83,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -84,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -85,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -86,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -87,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -88,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -89,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -90,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -91,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -92,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -93,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -94,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -95,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -96,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -97,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -98,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -99,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -227,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -228,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -229,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -230,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -231,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -232,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -233,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -234,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -235,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -236,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -237,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -238,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -239,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -240,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -241,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -242,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -243,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -244,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -245,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -246,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -247,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -248,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -249,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -250,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -251,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -252,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -253,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -254,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -255,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -256,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -257,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -258,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -259,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -260,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -261,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -262,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -263,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -264,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -265,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -266,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -267,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -268,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -269,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -270,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -271,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -272,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -273,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -274,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -275,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -276,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -277,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -278,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -279,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -280,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -281,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -282,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -283,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -284,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -285,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -286,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -287,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -288,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -289,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -290,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -291,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -292,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -293,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -294,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -295,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -296,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -297,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -298,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -299,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -300,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -301,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -302,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -303,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -304,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -305,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -306,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -307,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -308,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -309,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -310,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -311,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -312,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -313,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -314,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -315,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -316,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -317,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -318,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -319,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -320,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -321,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -322,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -323,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -324,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -325,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -326,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -327,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -328,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -329,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -330,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -331,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -332,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -333,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -334,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -335,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -336,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -337,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -338,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -339,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -340,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -341,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -342,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -343,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -344,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -345,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -346,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -347,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -348,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -349,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -350,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -351,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -352,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -353,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -354,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -355,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -356,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -357,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -358,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -359,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -360,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -361,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -362,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -363,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -364,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -365,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -366,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -367,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -368,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -369,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -370,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -371,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -372,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -373,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -374,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -375,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -376,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -377,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -378,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -379,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -380,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -381,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -382,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -383,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -384,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -385,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -386,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -387,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -388,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -389,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -390,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -391,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -392,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -393,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -394,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -395,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -396,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -397,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -398,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -399,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -400,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -401,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -402,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -403,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -404,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -405,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -406,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -407,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -408,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -409,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -410,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -411,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -412,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -413,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -414,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -415,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -416,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -417,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -418,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -419,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -420,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -421,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -422,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -423,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -424,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -425,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -426,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -427,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -428,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -429,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -430,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -431,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -432,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -433,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -434,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -435,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -436,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -437,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -438,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -439,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -440,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -441,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -442,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -443,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -444,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -445,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -446,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -447,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -448,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -449,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -450,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -451,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -452,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -453,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -454,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -455,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -456,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -457,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -458,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -459,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -460,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -461,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -462,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -463,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -464,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -465,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -466,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -467,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -468,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -469,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -470,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -471,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -472,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -473,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -474,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -475,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -476,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -477,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -478,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -479,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -480,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -481,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -482,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -483,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -484,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -485,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -486,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -487,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -488,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -489,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -490,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -491,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -492,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -493,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -494,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -495,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -496,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -497,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -498,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -499,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -500,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -501,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -502,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -503,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -504,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -505,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -506,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -507,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -508,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -509,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -510,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -511,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -512,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -513,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -514,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -515,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -516,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -517,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -518,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -519,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -520,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -521,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -522,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -523,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -524,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -525,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -526,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -527,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -528,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -529,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -530,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -531,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -532,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -533,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -534,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -535,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -536,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -537,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -538,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -539,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -540,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -541,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -542,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -543,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -544,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -545,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -546,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -547,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -548,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -549,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -550,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -551,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -552,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -553,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -554,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -555,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -556,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -557,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -558,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -559,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -560,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -561,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -562,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -563,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -564,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -565,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -566,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -567,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -568,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -569,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -570,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -571,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -572,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -573,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -574,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -575,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -576,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -577,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -578,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -579,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -580,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -581,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -582,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -583,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -584,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -585,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -586,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -587,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -588,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -589,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -590,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -591,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -592,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -593,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -594,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -595,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -596,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -597,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -598,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -599,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -600,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -601,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -602,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -603,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -604,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -605,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -606,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -607,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -608,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -609,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -610,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -611,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -612,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -613,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -614,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -615,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -616,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -617,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -618,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -619,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -620,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -621,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -622,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -623,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -624,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -625,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -626,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -627,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -628,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -629,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -630,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -631,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -632,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -633,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -634,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -635,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -636,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -637,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -638,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -639,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -640,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -641,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -642,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -643,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -644,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -645,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -646,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -647,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -648,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -649,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -650,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -651,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -652,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -653,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -654,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -655,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -656,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -657,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -658,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -659,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -660,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -661,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -662,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -663,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -664,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -665,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -666,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -667,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -668,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -669,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -670,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -671,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -672,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -673,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -674,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -675,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -676,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -677,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -678,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -679,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -680,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -681,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -682,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -683,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -684,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -685,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -686,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -687,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -688,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -689,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -690,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -691,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -692,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -693,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -694,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -695,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -696,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -697,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -698,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -699,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -700,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -701,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -702,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -703,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -704,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -705,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -706,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -707,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -708,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -709,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -710,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -711,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -712,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -713,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -714,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -715,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -716,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -717,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -718,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -719,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -720,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -721,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -722,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -723,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -724,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -725,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -726,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -727,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -728,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -729,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -730,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -731,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -732,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -733,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -734,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -735,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -736,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -737,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -738,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -739,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -740,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -741,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -742,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -743,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -744,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -745,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -746,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -747,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -748,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -749,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -750,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -751,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -752,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -753,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -754,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -755,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -756,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -757,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -758,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -759,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -760,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -761,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -762,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -763,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -764,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -765,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -766,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -767,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -768,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -769,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -770,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -771,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -772,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -773,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -774,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -775,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -776,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -777,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -778,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -779,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -780,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -781,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -782,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -783,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -784,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -785,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -786,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -787,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -788,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -789,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -790,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -791,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -792,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -793,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -794,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -795,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -796,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -797,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -798,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -799,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -800,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -801,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -802,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -803,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -804,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -805,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -806,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -807,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -808,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -809,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -810,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -811,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -812,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -813,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -814,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -815,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -816,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -817,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -818,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -819,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -820,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -821,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -822,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -823,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -824,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -825,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -826,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -827,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -828,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -829,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -830,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -831,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -832,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -833,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -834,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -835,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -836,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -837,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -838,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -839,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -840,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -841,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -842,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -843,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -844,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -845,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -846,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -847,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -848,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -849,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -850,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -851,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -852,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -853,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -854,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -855,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -856,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -857,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -858,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -859,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -860,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -861,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -862,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -863,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -864,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -865,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -866,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -867,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -868,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -869,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -870,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -871,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -872,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -873,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -874,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -875,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -876,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -877,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -878,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -879,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -880,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -881,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -882,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -883,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -884,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -885,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -886,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -887,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -888,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -889,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -890,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -891,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -892,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -893,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -894,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -895,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -896,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -897,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -898,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -899,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -900,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -901,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -902,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -903,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -904,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -905,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -906,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -907,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -908,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -909,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -910,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -911,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -912,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -913,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -914,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -915,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -916,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -917,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -918,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -919,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -920,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -921,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -922,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -923,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -924,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -925,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -926,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -927,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -928,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -929,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -930,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -931,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -932,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -933,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -934,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -935,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -936,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -937,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -938,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -939,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -940,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -941,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -942,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -943,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -944,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -945,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -946,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -947,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -948,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -949,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -950,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -951,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -952,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -953,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -954,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -955,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -956,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -957,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -958,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -959,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -960,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -961,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -962,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -963,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -964,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -965,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -966,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -967,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -968,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -969,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -970,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -971,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -972,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -973,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -974,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -975,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -976,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -977,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -978,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -979,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -980,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -981,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -982,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -983,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -984,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -985,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -986,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -987,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -988,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -989,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -990,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -991,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -992,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -993,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -994,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -995,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -996,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -997,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -998,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -999,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1000,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1001,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1002,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1003,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1004,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1005,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1006,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1007,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1008,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1009,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1010,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1011,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1012,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1013,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1014,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1015,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1016,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1017,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1018,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1019,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1020,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1021,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1022,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1023,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1024,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1025,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1026,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1027,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1028,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1029,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1030,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1031,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1032,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1033,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1034,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1035,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1036,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1037,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1038,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1039,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1040,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1041,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1042,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1043,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1044,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1045,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1046,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1047,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1048,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1049,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1050,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1051,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1052,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1053,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1054,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1055,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1056,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1057,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1058,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1059,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1060,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1061,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1062,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1063,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1064,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1065,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1066,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1067,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1068,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1069,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1070,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1071,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1072,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1073,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1074,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1075,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1076,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1077,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1078,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1079,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1080,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1081,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1082,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1083,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1084,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1085,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1086,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1087,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1088,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1089,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1090,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1091,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1092,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1093,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1094,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1095,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1096,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1097,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1098,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1099,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/FieldCurator_error2.tsv b/packages/itmat-job-executor/test/testFiles/FieldCurator_error2.tsv deleted file mode 100644 index 8a075b56b..000000000 --- a/packages/itmat-job-executor/test/testFiles/FieldCurator_error2.tsv +++ /dev/null @@ -1,1227 +0,0 @@ -ID,Database,TableName,TableID,SequentialOrder,QuestionNumber,Fieldname,Label,Label_DE,Label_NL,Label_IT,Label_ES,Label_PL,Label_F,EligibleAnswer,IneligibleAnswer,Validation,DataType,ControlType,SystemGenerated,ValueList,Length,DisplayFormat,Nullable,Required,Mandatory,CollectIf,NotMapped,DefaultValue,RegEx,RegExErrorMsg,ShowOnIndexView,Comments -1,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -2,IDEAFAST,Participants,,,,GenderID,Gender ID,,,,,,,,,,int,,False,,,,True,False,True,,False,,,,False, -3,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -4,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -5,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -6,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -7,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -8,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -9,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -10,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -11,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -12,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -13,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -14,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -15,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -16,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -17,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -18,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -19,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -20,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -21,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -22,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -23,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -24,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -25,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -26,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -27,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -28,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -29,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -30,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -31,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -32,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -33,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -34,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -35,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -36,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -37,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -38,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -39,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -40,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -41,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -42,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -43,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -44,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -45,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -46,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -47,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -48,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -49,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -50,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -51,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -52,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -53,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -54,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -55,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -56,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -57,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -58,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -59,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -60,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -61,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -62,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -63,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -64,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -65,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -66,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -67,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -68,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -69,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -70,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -71,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -72,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -73,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -74,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -75,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -76,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -77,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -78,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -79,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -80,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -81,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -82,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -83,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -84,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -85,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -86,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -87,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -88,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -89,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -90,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -91,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -92,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -93,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -94,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -95,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -96,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -97,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -98,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -99,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -227,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -228,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -229,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -230,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -231,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -232,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -233,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -234,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -235,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -236,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -237,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -238,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -239,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -240,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -241,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -242,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -243,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -244,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -245,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -246,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -247,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -248,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -249,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -250,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -251,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -252,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -253,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -254,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -255,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -256,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -257,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -258,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -259,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -260,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -261,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -262,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -263,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -264,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -265,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -266,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -267,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -268,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -269,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -270,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -271,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -272,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -273,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -274,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -275,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -276,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -277,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -278,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -279,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -280,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -281,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -282,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -283,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -284,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -285,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -286,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -287,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -288,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -289,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -290,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -291,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -292,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -293,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -294,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -295,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -296,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -297,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -298,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -299,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -300,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -301,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -302,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -303,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -304,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -305,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -306,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -307,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -308,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -309,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -310,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -311,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -312,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -313,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -314,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -315,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -316,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -317,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -318,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -319,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -320,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -321,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -322,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -323,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -324,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -325,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -326,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -327,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -328,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -329,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -330,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -331,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -332,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -333,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -334,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -335,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -336,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -337,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -338,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -339,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -340,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -341,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -342,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -343,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -344,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -345,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -346,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -347,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -348,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -349,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -350,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -351,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -352,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -353,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -354,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -355,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -356,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -357,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -358,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -359,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -360,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -361,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -362,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -363,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -364,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -365,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -366,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -367,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -368,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -369,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -370,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -371,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -372,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -373,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -374,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -375,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -376,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -377,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -378,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -379,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -380,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -381,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -382,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -383,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -384,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -385,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -386,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -387,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -388,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -389,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -390,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -391,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -392,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -393,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -394,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -395,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -396,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -397,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -398,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -399,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -400,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -401,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -402,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -403,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -404,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -405,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -406,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -407,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -408,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -409,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -410,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -411,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -412,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -413,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -414,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -415,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -416,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -417,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -418,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -419,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -420,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -421,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -422,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -423,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -424,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -425,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -426,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -427,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -428,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -429,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -430,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -431,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -432,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -433,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -434,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -435,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -436,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -437,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -438,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -439,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -440,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -441,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -442,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -443,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -444,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -445,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -446,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -447,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -448,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -449,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -450,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -451,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -452,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -453,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -454,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -455,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -456,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -457,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -458,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -459,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -460,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -461,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -462,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -463,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -464,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -465,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -466,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -467,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -468,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -469,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -470,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -471,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -472,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -473,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -474,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -475,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -476,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -477,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -478,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -479,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -480,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -481,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -482,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -483,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -484,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -485,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -486,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -487,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -488,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -489,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -490,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -491,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -492,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -493,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -494,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -495,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -496,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -497,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -498,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -499,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -500,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -501,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -502,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -503,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -504,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -505,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -506,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -507,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -508,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -509,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -510,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -511,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -512,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -513,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -514,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -515,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -516,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -517,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -518,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -519,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -520,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -521,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -522,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -523,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -524,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -525,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -526,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -527,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -528,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -529,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -530,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -531,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -532,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -533,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -534,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -535,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -536,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -537,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -538,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -539,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -540,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -541,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -542,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -543,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -544,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -545,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -546,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -547,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -548,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -549,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -550,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -551,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -552,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -553,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -554,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -555,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -556,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -557,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -558,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -559,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -560,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -561,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -562,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -563,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -564,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -565,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -566,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -567,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -568,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -569,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -570,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -571,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -572,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -573,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -574,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -575,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -576,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -577,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -578,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -579,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -580,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -581,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -582,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -583,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -584,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -585,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -586,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -587,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -588,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -589,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -590,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -591,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -592,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -593,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -594,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -595,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -596,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -597,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -598,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -599,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -600,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -601,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -602,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -603,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -604,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -605,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -606,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -607,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -608,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -609,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -610,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -611,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -612,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -613,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -614,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -615,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -616,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -617,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -618,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -619,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -620,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -621,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -622,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -623,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -624,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -625,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -626,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -627,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -628,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -629,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -630,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -631,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -632,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -633,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -634,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -635,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -636,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -637,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -638,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -639,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -640,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -641,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -642,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -643,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -644,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -645,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -646,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -647,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -648,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -649,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -650,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -651,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -652,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -653,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -654,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -655,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -656,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -657,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -658,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -659,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -660,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -661,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -662,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -663,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -664,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -665,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -666,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -667,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -668,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -669,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -670,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -671,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -672,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -673,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -674,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -675,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -676,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -677,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -678,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -679,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -680,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -681,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -682,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -683,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -684,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -685,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -686,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -687,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -688,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -689,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -690,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -691,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -692,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -693,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -694,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -695,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -696,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -697,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -698,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -699,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -700,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -701,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -702,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -703,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -704,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -705,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -706,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -707,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -708,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -709,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -710,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -711,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -712,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -713,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -714,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -715,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -716,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -717,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -718,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -719,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -720,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -721,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -722,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -723,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -724,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -725,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -726,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -727,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -728,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -729,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -730,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -731,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -732,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -733,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -734,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -735,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -736,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -737,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -738,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -739,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -740,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -741,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -742,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -743,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -744,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -745,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -746,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -747,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -748,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -749,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -750,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -751,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -752,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -753,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -754,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -755,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -756,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -757,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -758,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -759,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -760,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -761,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -762,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -763,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -764,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -765,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -766,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -767,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -768,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -769,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -770,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -771,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -772,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -773,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -774,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -775,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -776,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -777,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -778,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -779,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -780,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -781,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -782,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -783,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -784,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -785,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -786,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -787,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -788,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -789,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -790,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -791,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -792,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -793,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -794,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -795,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -796,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -797,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -798,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -799,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -800,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -801,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -802,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -803,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -804,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -805,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -806,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -807,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -808,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -809,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -810,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -811,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -812,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -813,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -814,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -815,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -816,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -817,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -818,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -819,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -820,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -821,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -822,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -823,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -824,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -825,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -826,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -827,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -828,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -829,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -830,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -831,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -832,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -833,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -834,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -835,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -836,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -837,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -838,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -839,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -840,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -841,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -842,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -843,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -844,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -845,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -846,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -847,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -848,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -849,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -850,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -851,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -852,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -853,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -854,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -855,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -856,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -857,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -858,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -859,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -860,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -861,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -862,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -863,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -864,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -865,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -866,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -867,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -868,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -869,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -870,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -871,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -872,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -873,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -874,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -875,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -876,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -877,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -878,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -879,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -880,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -881,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -882,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -883,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -884,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -885,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -886,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -887,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -888,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -889,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -890,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -891,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -892,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -893,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -894,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -895,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -896,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -897,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -898,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -899,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -900,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -901,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -902,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -903,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -904,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -905,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -906,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -907,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -908,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -909,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -910,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -911,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -912,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -913,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -914,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -915,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -916,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -917,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -918,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -919,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -920,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -921,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -922,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -923,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -924,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -925,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -926,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -927,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -928,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -929,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -930,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -931,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -932,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -933,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -934,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -935,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -936,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -937,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -938,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -939,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -940,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -941,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -942,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -943,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -944,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -945,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -946,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -947,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -948,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -949,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -950,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -951,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -952,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -953,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -954,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -955,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -956,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -957,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -958,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -959,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -960,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -961,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -962,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -963,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -964,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -965,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -966,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -967,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -968,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -969,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -970,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -971,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -972,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -973,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -974,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -975,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -976,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -977,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -978,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -979,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -980,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -981,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -982,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -983,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -984,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -985,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -986,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -987,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -988,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -989,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -990,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -991,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -992,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -993,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -994,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -995,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -996,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -997,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -998,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -999,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1000,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1001,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1002,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1003,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1004,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1005,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1006,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1007,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1008,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1009,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1010,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1011,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1012,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1013,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1014,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1015,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1016,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1017,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1018,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1019,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1020,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1021,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1022,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1023,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1024,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1025,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1026,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1027,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1028,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1029,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1030,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1031,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1032,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1033,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1034,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1035,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1036,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1037,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1038,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1039,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1040,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1041,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1042,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1043,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1044,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1045,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1046,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1047,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1048,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1049,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1050,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1051,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1052,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1053,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1054,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1055,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1056,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1057,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1058,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1059,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1060,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1061,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1062,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1063,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1064,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1065,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1066,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1067,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1068,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1069,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1070,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1071,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1072,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1073,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1074,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1075,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1076,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1077,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1078,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1079,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1080,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1081,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1082,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1083,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1084,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1085,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1086,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1087,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1088,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1089,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1090,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1091,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1092,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1093,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1094,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1095,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1096,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1097,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1098,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1099,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/FieldCurator_error3.tsv b/packages/itmat-job-executor/test/testFiles/FieldCurator_error3.tsv deleted file mode 100644 index cb55577a1..000000000 --- a/packages/itmat-job-executor/test/testFiles/FieldCurator_error3.tsv +++ /dev/null @@ -1,1227 +0,0 @@ -ID,Database,TableName,TableID,SequentialOrder,QuestionNumber,Fieldname,Label,Label_DE,Label_NL,Label_IT,Label_ES,Label_PL,Label_F,EligibleAnswer,IneligibleAnswer,Validation,DataType,ControlType,SystemGenerated,ValueList,Length,DisplayFormat,Nullable,Required,Mandatory,CollectIf,NotMapped,DefaultValue,RegEx,RegExErrorMsg,ShowOnIndexView,Comments -1,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -2,IDEAFAST,Participants,,,,GenderID,Gender ID,,,,,,,,,,int,,False,,,,True,False,True,,False,,,,False, -3,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -4,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -5,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -6,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -7,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -8,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -9,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -10,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -11,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -12,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -13,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -14,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -15,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -16,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -17,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -18,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -19,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -20,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -21,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -22,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -23,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,, -24,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -25,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -26,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -27,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -28,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -29,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -30,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -31,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -32,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -33,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -34,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -35,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -36,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -37,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -38,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -39,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -40,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -41,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -42,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -43,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -44,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -45,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -46,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -47,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -48,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -49,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -50,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -51,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -52,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -53,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -54,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -55,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -56,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -57,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -58,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -59,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -60,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -61,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -62,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -63,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -64,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -65,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -66,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -67,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -68,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -69,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -70,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -71,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -72,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -73,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -74,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -75,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -76,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -77,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -78,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -79,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -80,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -81,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -82,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -83,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -84,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -85,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -86,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -87,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -88,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -89,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -90,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -91,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -92,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -93,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -94,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -95,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -96,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -97,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -98,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -99,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -227,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -228,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -229,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -230,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -231,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -232,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -233,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -234,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -235,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -236,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -237,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -238,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -239,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -240,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -241,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -242,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -243,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -244,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -245,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -246,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -247,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -248,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -249,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -250,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -251,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -252,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -253,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -254,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -255,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -256,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -257,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -258,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -259,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -260,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -261,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -262,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -263,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -264,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -265,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -266,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -267,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -268,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -269,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -270,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -271,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -272,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -273,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -274,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -275,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -276,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -277,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -278,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -279,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -280,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -281,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -282,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -283,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -284,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -285,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -286,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -287,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -288,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -289,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -290,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -291,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -292,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -293,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -294,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -295,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -296,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -297,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -298,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -299,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -300,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -301,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -302,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -303,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -304,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -305,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -306,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -307,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -308,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -309,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -310,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -311,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -312,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -313,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -314,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -315,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -316,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -317,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -318,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -319,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -320,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -321,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -322,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -323,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -324,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -325,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -326,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -327,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -328,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -329,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -330,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -331,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -332,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -333,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -334,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -335,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -336,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -337,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -338,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -339,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -340,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -341,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -342,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -343,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -344,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -345,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -346,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -347,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -348,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -349,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -350,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -351,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -352,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -353,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -354,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -355,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -356,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -357,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -358,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -359,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -360,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -361,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -362,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -363,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -364,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -365,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -366,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -367,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -368,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -369,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -370,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -371,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -372,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -373,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -374,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -375,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -376,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -377,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -378,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -379,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -380,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -381,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -382,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -383,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -384,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -385,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -386,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -387,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -388,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -389,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -390,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -391,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -392,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -393,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -394,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -395,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -396,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -397,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -398,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -399,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -400,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -401,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -402,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -403,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -404,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -405,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -406,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -407,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -408,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -409,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -410,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -411,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -412,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -413,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -414,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -415,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -416,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -417,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -418,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -419,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -420,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -421,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -422,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -423,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -424,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -425,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -426,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -427,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -428,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -429,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -430,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -431,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -432,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -433,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -434,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -435,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -436,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -437,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -438,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -439,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -440,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -441,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -442,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -443,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -444,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -445,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -446,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -447,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -448,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -449,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -450,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -451,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -452,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -453,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -454,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -455,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -456,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -457,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -458,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -459,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -460,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -461,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -462,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -463,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -464,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -465,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -466,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -467,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -468,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -469,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -470,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -471,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -472,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -473,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -474,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -475,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -476,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -477,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -478,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -479,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -480,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -481,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -482,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -483,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -484,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -485,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -486,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -487,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -488,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -489,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -490,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -491,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -492,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -493,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -494,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -495,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -496,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -497,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -498,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -499,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -500,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -501,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -502,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -503,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -504,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -505,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -506,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -507,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -508,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -509,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -510,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -511,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -512,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -513,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -514,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -515,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -516,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -517,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -518,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -519,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -520,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -521,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -522,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -523,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -524,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -525,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -526,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -527,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -528,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -529,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -530,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -531,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -532,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -533,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -534,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -535,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -536,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -537,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -538,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -539,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -540,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -541,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -542,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -543,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -544,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -545,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -546,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -547,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -548,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -549,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -550,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -551,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -552,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -553,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -554,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -555,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -556,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -557,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -558,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -559,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -560,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -561,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -562,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -563,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -564,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -565,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -566,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -567,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -568,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -569,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -570,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -571,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -572,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -573,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -574,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -575,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -576,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -577,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -578,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -579,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -580,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -581,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -582,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -583,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -584,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -585,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -586,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -587,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -588,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -589,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -590,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -591,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -592,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -593,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -594,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -595,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -596,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -597,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -598,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -599,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -600,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -601,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -602,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -603,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -604,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -605,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -606,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -607,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -608,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -609,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -610,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -611,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -612,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -613,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -614,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -615,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -616,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -617,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -618,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -619,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -620,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -621,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -622,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -623,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -624,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -625,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -626,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -627,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -628,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -629,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -630,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -631,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -632,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -633,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -634,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -635,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -636,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -637,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -638,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -639,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -640,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -641,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -642,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -643,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -644,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -645,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -646,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -647,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -648,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -649,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -650,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -651,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -652,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -653,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -654,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -655,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -656,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -657,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -658,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -659,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -660,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -661,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -662,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -663,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -664,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -665,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -666,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -667,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -668,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -669,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -670,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -671,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -672,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -673,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -674,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -675,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -676,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -677,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -678,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -679,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -680,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -681,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -682,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -683,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -684,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -685,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -686,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -687,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -688,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -689,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -690,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -691,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -692,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -693,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -694,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -695,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -696,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -697,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -698,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -699,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -700,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -701,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -702,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -703,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -704,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -705,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -706,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -707,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -708,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -709,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -710,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -711,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -712,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -713,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -714,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -715,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -716,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -717,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -718,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -719,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -720,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -721,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -722,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -723,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -724,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -725,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -726,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -727,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -728,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -729,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -730,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -731,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -732,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -733,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -734,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -735,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -736,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -737,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -738,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -739,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -740,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -741,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -742,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -743,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -744,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -745,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -746,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -747,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -748,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -749,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -750,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -751,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -752,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -753,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -754,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -755,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -756,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -757,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -758,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -759,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -760,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -761,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -762,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -763,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -764,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -765,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -766,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -767,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -768,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -769,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -770,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -771,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -772,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -773,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -774,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -775,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -776,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -777,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -778,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -779,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -780,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -781,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -782,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -783,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -784,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -785,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -786,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -787,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -788,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -789,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -790,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -791,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -792,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -793,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -794,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -795,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -796,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -797,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -798,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -799,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -800,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -801,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -802,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -803,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -804,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -805,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -806,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -807,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -808,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -809,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -810,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -811,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -812,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -813,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -814,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -815,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -816,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -817,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -818,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -819,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -820,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -821,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -822,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -823,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -824,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -825,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -826,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -827,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -828,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -829,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -830,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -831,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -832,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -833,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -834,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -835,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -836,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -837,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -838,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -839,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -840,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -841,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -842,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -843,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -844,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -845,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -846,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -847,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -848,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -849,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -850,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -851,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -852,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -853,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -854,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -855,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -856,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -857,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -858,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -859,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -860,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -861,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -862,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -863,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -864,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -865,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -866,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -867,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -868,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -869,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -870,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -871,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -872,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -873,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -874,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -875,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -876,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -877,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -878,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -879,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -880,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -881,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -882,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -883,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -884,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -885,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -886,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -887,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -888,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -889,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -890,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -891,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -892,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -893,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -894,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -895,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -896,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -897,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -898,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -899,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -900,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -901,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -902,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -903,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -904,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -905,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -906,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -907,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -908,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -909,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -910,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -911,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -912,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -913,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -914,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -915,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -916,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -917,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -918,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -919,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -920,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -921,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -922,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -923,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -924,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -925,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -926,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -927,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -928,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -929,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -930,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -931,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -932,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -933,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -934,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -935,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -936,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -937,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -938,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -939,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -940,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -941,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -942,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -943,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -944,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -945,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -946,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -947,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -948,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -949,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -950,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -951,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -952,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -953,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -954,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -955,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -956,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -957,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -958,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -959,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -960,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -961,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -962,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -963,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -964,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -965,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -966,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -967,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -968,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -969,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -970,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -971,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -972,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -973,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -974,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -975,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -976,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -977,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -978,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -979,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -980,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -981,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -982,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -983,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -984,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -985,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -986,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -987,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -988,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -989,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -990,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -991,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -992,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -993,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -994,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -995,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -996,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -997,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -998,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -999,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1000,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1001,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1002,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1003,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1004,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1005,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1006,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1007,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1008,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1009,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1010,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1011,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1012,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1013,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1014,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1015,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1016,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1017,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1018,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1019,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1020,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1021,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1022,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1023,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1024,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1025,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1026,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1027,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1028,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1029,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1030,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1031,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1032,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1033,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1034,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1035,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1036,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1037,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1038,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1039,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1040,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1041,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1042,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1043,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1044,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1045,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1046,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1047,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1048,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1049,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1050,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1051,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1052,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1053,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1054,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1055,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1056,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1057,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1058,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1059,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1060,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1061,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1062,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1063,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1064,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1065,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1066,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1067,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1068,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1069,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1070,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1071,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1072,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1073,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1074,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1075,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1076,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1077,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1078,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1079,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1080,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1081,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1082,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1083,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1084,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1085,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1086,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1087,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1088,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1089,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1090,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1091,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1092,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1093,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1094,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1095,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1096,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1097,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1098,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1099,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/FieldCurator_error4.tsv b/packages/itmat-job-executor/test/testFiles/FieldCurator_error4.tsv deleted file mode 100644 index bc92cfd68..000000000 --- a/packages/itmat-job-executor/test/testFiles/FieldCurator_error4.tsv +++ /dev/null @@ -1,1227 +0,0 @@ -ID,Database,TableName,TableID,SequentialOrder,QuestionNumber,Fieldname,Label,Label_DE,Label_NL,Label_IT,Label_ES,Label_PL,Label_F,EligibleAnswer,IneligibleAnswer,Validation,DataType,ControlType,SystemGenerated,ValueList,Length,DisplayFormat,Nullable,Required,Mandatory,CollectIf,NotMapped,DefaultValue,RegEx,RegExErrorMsg,ShowOnIndexView,Comments -1,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -2,IDEAFAST,Participants,,,,GenderID,Gender ID,,,,,,,,,,int,,False,,,,True,False,True,,False,,,,False, -3,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -4,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -5,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -6,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -7,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -8,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -9,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -10,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -11,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -12,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -13,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -14,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -15,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -16,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -17,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -18,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -19,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -20,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -21,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -22,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -23,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -24,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -25,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -26,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -27,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -28,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -29,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -30,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -31,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -32,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -33,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -34,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -35,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -36,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -37,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -38,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -39,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -40,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -41,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -42,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -43,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -44,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -45,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -46,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -47,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -48,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -49,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -50,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -51,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -52,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -53,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -54,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -55,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -56,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -57,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -58,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -59,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -60,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -61,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -62,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -63,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -64,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -65,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -66,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -67,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -68,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -69,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -70,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -71,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -72,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -73,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -74,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -75,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -76,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -77,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -78,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -79,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -80,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -81,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -82,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -83,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -84,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -85,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -86,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -87,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -88,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -89,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -90,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -91,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -92,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -93,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -94,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -95,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -96,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -97,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -98,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -99,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -227,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -228,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -229,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -230,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -231,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -232,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -233,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -234,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -235,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -236,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -237,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -238,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -239,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -240,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -241,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -242,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -243,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -244,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -245,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -246,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -247,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -248,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -249,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -250,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -251,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -252,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -253,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -254,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -255,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -256,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -257,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -258,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -259,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -260,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -261,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -262,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -263,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -264,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -265,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -266,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -267,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -268,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -269,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -270,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -271,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -272,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -273,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -274,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -275,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -276,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -277,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -278,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -279,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -280,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -281,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -282,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -283,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -284,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -285,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -286,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -287,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -288,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -289,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -290,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -291,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -292,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -293,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -294,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -295,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -296,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -297,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -298,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -299,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -300,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -301,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -302,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -303,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -304,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -305,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -306,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -307,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -308,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -309,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -310,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -311,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -312,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -313,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -314,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -315,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -316,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -317,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -318,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -319,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -320,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -321,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -322,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -323,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -324,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -325,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -326,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -327,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -328,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -329,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -330,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -331,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -332,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -333,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -334,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -335,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -336,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -337,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -338,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -339,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -340,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -341,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -342,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -343,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -344,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -345,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -346,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -347,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -348,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -349,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -350,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -351,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -352,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -353,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -354,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -355,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -356,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -357,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -358,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -359,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -360,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -361,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -362,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -363,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -364,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -365,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -366,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -367,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -368,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -369,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -370,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -371,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -372,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -373,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -374,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -375,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -376,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -377,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -378,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -379,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -380,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -381,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -382,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -383,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -384,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -385,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -386,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -387,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -388,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -389,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -390,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -391,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -392,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -393,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -394,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -395,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -396,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -397,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -398,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -399,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -400,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -401,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -402,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -403,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -404,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -405,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -406,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -407,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -408,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -409,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -410,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -411,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -412,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -413,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -414,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -415,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -416,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -417,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -418,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -419,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -420,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -421,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -422,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -423,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -424,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -425,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -426,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -427,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -428,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -429,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -430,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -431,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -432,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -433,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -434,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -435,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -436,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -437,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -438,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -439,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -440,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -441,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -442,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -443,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -444,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -445,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -446,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -447,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -448,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -449,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -450,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -451,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -452,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -453,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -454,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -455,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -456,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -457,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -458,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -459,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -460,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -461,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -462,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -463,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -464,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -465,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -466,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -467,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -468,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -469,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -470,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -471,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -472,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -473,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -474,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -475,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -476,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -477,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -478,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -479,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -480,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -481,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -482,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -483,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -484,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -485,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -486,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -487,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -488,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -489,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -490,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -491,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -492,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -493,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -494,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -495,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -496,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -497,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -498,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -499,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -500,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -501,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -502,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -503,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -504,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -505,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -506,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -507,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -508,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -509,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -510,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -511,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -512,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -513,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -514,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -515,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -516,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -517,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -518,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -519,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -520,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -521,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -522,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -523,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -524,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -525,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -526,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -527,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -528,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -529,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -530,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -531,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -532,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -533,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -534,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -535,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -536,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -537,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -538,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -539,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -540,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -541,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -542,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -543,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -544,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -545,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -546,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -547,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -548,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -549,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -550,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -551,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -552,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -553,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -554,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -555,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -556,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -557,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -558,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -559,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -560,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -561,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -562,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -563,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -564,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -565,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -566,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -567,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -568,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -569,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -570,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -571,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -572,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -573,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -574,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -575,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -576,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -577,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -578,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -579,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -580,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -581,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -582,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -583,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -584,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -585,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -586,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -587,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -588,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -589,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -590,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -591,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -592,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -593,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -594,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -595,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -596,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -597,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -598,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -599,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -600,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -601,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -602,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -603,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -604,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -605,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -606,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -607,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -608,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -609,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -610,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -611,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -612,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -613,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -614,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -615,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -616,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -617,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -618,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -619,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -620,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -621,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -622,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -623,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -624,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -625,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -626,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -627,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -628,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -629,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -630,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -631,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -632,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -633,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -634,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -635,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -636,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -637,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -638,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -639,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -640,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -641,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -642,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -643,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -644,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -645,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -646,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -647,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -648,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -649,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -650,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -651,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -652,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -653,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -654,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -655,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -656,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -657,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -658,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -659,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -660,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -661,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -662,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -663,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -664,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -665,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -666,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -667,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -668,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -669,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -670,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -671,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -672,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -673,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -674,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -675,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -676,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -677,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -678,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -679,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -680,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -681,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -682,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -683,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -684,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -685,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -686,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -687,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -688,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -689,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -690,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -691,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -692,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -693,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -694,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -695,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -696,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -697,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -698,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -699,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -700,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -701,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -702,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -703,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -704,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -705,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -706,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -707,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -708,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -709,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -710,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -711,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -712,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -713,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -714,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -715,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -716,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -717,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -718,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -719,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -720,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -721,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -722,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -723,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -724,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -725,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -726,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -727,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -728,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -729,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -730,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -731,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -732,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -733,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -734,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -735,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -736,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -737,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -738,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -739,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -740,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -741,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -742,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -743,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -744,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -745,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -746,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -747,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -748,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -749,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -750,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -751,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -752,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -753,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -754,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -755,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -756,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -757,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -758,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -759,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -760,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -761,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -762,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -763,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -764,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -765,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -766,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -767,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -768,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -769,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -770,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -771,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -772,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -773,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -774,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -775,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -776,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -777,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -778,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -779,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -780,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -781,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -782,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -783,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -784,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -785,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -786,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -787,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -788,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -789,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -790,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -791,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -792,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -793,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -794,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -795,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -796,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -797,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -798,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -799,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -800,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -801,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -802,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -803,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -804,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -805,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -806,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -807,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -808,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -809,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -810,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -811,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -812,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -813,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -814,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -815,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -816,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -817,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -818,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -819,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -820,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -821,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -822,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -823,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -824,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -825,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -826,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -827,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -828,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -829,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -830,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -831,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -832,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -833,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -834,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -835,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -836,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -837,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -838,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -839,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -840,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -841,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -842,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -843,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -844,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -845,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -846,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -847,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -848,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -849,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -850,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -851,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -852,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -853,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -854,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -855,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -856,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -857,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -858,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -859,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -860,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -861,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -862,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -863,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -864,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -865,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -866,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -867,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -868,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -869,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -870,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -871,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -872,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -873,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -874,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -875,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -876,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -877,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -878,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -879,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -880,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -881,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -882,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -883,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -884,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -885,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -886,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -887,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -888,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -889,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -890,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -891,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -892,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -893,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -894,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -895,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -896,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -897,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -898,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -899,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -900,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -901,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -902,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -903,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -904,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -905,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -906,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -907,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -908,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -909,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -910,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -911,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -912,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -913,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -914,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -915,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -916,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -917,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -918,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -919,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -920,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -921,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -922,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -923,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -924,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -925,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -926,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -927,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -928,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -929,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -930,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -931,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -932,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -933,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -934,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -935,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -936,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -937,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -938,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -939,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -940,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -941,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -942,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -943,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -944,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -945,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -946,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -947,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -948,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -949,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -950,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -951,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -952,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -953,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -954,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -955,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -956,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -957,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -958,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -959,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -960,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -961,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -962,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -963,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -964,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -965,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -966,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -967,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -968,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -969,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -970,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -971,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -972,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -973,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -974,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -975,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -976,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -977,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -978,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -979,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -980,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -981,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -982,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -983,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -984,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -985,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -986,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -987,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -988,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -989,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -990,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -991,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -992,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -993,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -994,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -995,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -996,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -997,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -998,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -999,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1000,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1001,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1002,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1003,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1004,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1005,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1006,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1007,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1008,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1009,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1010,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1011,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1012,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1013,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1014,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1015,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1016,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1017,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1018,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1019,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1020,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1021,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1022,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1023,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1024,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1025,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1026,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1027,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1028,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1029,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1030,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1031,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1032,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1033,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1034,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1035,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1036,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1037,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1038,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1039,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1040,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1041,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1042,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1043,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1044,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1045,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1046,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1047,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1048,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1049,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1050,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1051,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1052,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1053,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1054,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1055,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1056,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1057,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1058,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1059,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1060,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1061,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1062,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1063,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1064,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1065,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1066,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1067,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1068,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1069,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1070,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1071,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1072,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1073,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1074,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1075,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1076,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1077,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1078,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1079,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1080,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1081,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1082,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1083,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1084,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1085,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1086,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1087,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1088,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1089,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1090,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1091,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1092,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1093,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1094,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1095,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1096,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1097,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1098,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1099,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False -1121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/FieldCurator_error5.tsv b/packages/itmat-job-executor/test/testFiles/FieldCurator_error5.tsv deleted file mode 100644 index f2c8265ee..000000000 --- a/packages/itmat-job-executor/test/testFiles/FieldCurator_error5.tsv +++ /dev/null @@ -1,1227 +0,0 @@ -ID,Database,TableName,TableID,SequentialOrder,QuestionNumber,Fieldname,Label,Label_DE,Label_NL,Label_IT,Label_ES,Label_PL,Label_F,EligibleAnswer,IneligibleAnswer,Validation,DataType,ControlType,SystemGenerated,ValueList,Length,DisplayFormat,Nullable,Required,Mandatory,CollectIf,NotMapped,DefaultValue,RegEx,RegExErrorMsg,ShowOnIndexView,Comments -1,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -2,IDEAFAST,Participants,,,,GenderID,Gender ID,,,,,,,,,,int,,False,,,,True,False,True,,False,,,,False, -3,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -4,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -5,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -6,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -7,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -8,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -9,IDEAFAST,Participants,,,,,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -10,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -11,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -12,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -13,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -14,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -15,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -16,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -17,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -18,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -19,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -20,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -21,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -22,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -23,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -24,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -25,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -26,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -27,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -28,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -29,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -30,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -31,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -32,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -33,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -34,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -35,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -36,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -37,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -38,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -39,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -40,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -41,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -42,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -43,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -44,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -45,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -46,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -47,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -48,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -49,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -50,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -51,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -52,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -53,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -54,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -55,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -56,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -57,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -58,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -59,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -60,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -61,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -62,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -63,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -64,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -65,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -66,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -67,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -68,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False -69,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -70,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -71,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -72,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -73,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -74,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -75,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -76,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -77,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -78,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -79,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -80,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -81,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -82,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -83,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -84,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -85,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -86,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -87,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -88,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -89,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -90,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -91,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -92,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -93,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -94,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -95,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -96,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -97,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -98,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -99,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -151,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -227,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -228,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -229,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -230,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -231,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -232,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -233,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -234,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -235,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -236,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -237,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -238,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -239,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -240,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -241,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -242,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -243,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -244,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -245,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -246,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -247,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -248,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -249,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -250,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -251,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -252,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -253,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -254,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -255,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -256,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -257,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -258,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -259,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -260,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -261,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -262,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -263,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -264,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -265,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -266,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -267,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -268,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -269,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -270,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -271,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -272,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -273,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -274,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -275,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -276,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -277,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -278,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -279,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -280,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -281,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -282,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -283,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -284,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -285,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -286,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -287,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -288,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -289,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -290,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -291,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -292,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -293,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -294,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -295,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -296,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -297,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -298,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -299,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -300,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -301,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -302,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -303,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -304,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -305,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -306,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -307,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -308,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -309,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -310,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -311,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -312,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -313,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -314,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -315,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -316,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -317,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -318,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -319,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -320,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -321,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -322,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -323,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -324,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -325,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -326,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -327,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -328,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -329,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -330,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,str,,False,,9,,True,False,True,,False,,,,False, -331,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -332,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -333,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -334,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -335,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -336,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -337,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -338,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -339,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -340,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -341,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -342,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -343,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -344,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -345,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -346,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -347,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -348,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -349,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -350,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -351,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -352,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -353,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -354,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -355,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -356,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -357,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -358,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -359,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -360,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -361,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -362,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -363,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -364,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -365,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -366,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -367,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -368,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -369,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -370,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -371,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -372,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -373,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -374,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -375,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -376,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -377,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -378,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -379,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -380,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -381,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -382,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -383,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -384,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -385,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -386,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -387,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -388,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -389,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -390,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -391,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -392,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -393,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -394,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -395,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -396,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -397,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -398,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -399,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -400,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -401,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -402,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -403,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -404,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -405,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -406,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -407,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -408,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -409,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -410,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -411,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -412,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -413,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -414,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -415,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -416,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -417,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -418,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -419,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -420,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -421,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -422,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -423,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -424,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -425,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -426,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -427,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -428,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -429,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -430,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -431,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -432,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -433,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -434,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -435,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -436,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -437,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -438,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -439,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -440,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -441,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -442,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -443,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -444,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -445,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -446,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -447,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -448,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -449,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -450,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -451,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -452,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -453,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -454,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -455,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -456,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -457,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -458,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -459,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -460,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -461,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -462,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -463,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -464,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -465,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -466,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -467,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -468,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -469,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -470,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -471,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -472,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -473,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -474,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -475,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -476,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -477,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -478,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -479,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -480,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -481,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -482,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -483,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -484,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -485,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -486,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -487,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -488,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -489,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -490,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -491,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -492,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -493,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -494,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -495,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -496,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -497,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -498,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -499,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -500,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -501,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -502,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -503,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -504,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -505,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -506,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -507,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -508,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -509,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -510,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -511,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -512,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -513,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -514,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -515,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -516,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -517,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -518,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -519,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -520,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -521,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -522,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -523,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -524,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -525,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -526,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -527,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -528,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -529,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -530,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -531,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -532,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -533,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -534,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -535,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -536,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -537,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -538,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -539,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -540,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -541,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -542,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -543,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -544,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -545,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -546,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -547,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -548,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -549,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -550,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -551,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -552,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -553,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -554,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -555,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -556,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -557,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -558,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -559,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -560,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -561,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -562,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -563,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -564,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -565,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -566,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -567,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -568,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -569,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -570,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -571,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -572,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -573,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -574,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -575,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -576,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -577,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -578,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -579,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -580,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -581,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -582,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -583,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -584,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -585,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -586,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -587,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -588,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -589,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -590,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -591,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -592,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -593,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -594,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -595,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -596,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -597,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -598,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -599,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -600,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -601,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -602,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -603,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -604,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -605,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -606,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -607,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -608,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -609,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -610,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -611,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -612,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -613,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -614,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -615,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -616,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -617,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -618,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -619,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -620,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -621,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -622,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -623,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -624,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -625,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -626,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -627,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -628,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -629,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -630,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -631,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -632,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -633,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -634,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -635,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -636,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -637,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -638,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -639,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -640,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -641,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -642,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -643,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -644,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -645,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -646,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -647,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -648,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -649,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -650,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -651,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -652,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -653,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -654,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -655,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -656,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -657,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -658,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -659,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -660,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -661,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -662,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -663,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -664,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -665,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -666,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -667,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -668,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -669,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -670,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -671,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -672,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -673,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -674,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -675,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -676,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -677,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -678,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -679,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -680,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -681,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -682,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -683,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -684,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -685,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -686,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -687,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -688,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -689,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -690,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -691,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -692,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -693,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -694,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -695,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -696,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -697,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -698,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -699,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -700,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -701,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -702,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -703,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -704,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -705,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -706,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -707,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -708,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -709,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -710,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -711,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -712,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -713,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -714,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -715,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -716,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -717,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -718,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -719,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -720,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -721,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -722,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -723,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -724,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -725,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -726,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -727,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -728,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -729,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -730,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -731,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -732,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -733,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -734,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -735,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -736,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -737,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -738,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -739,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -740,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -741,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -742,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -743,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -744,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -745,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -746,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -747,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -748,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -749,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -750,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -751,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -752,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -753,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -754,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -755,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -756,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -757,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -758,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -759,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -760,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -761,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -762,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -763,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -764,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -765,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -766,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -767,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -768,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -769,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -770,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -771,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -772,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -773,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -774,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -775,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -776,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -777,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -778,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -779,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -780,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -781,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -782,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -783,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -784,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -785,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -786,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -787,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -788,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -789,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -790,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -791,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -792,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -793,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -794,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -795,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -796,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -797,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -798,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -799,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -800,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -801,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -802,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -803,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -804,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -805,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -806,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -807,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -808,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -809,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -810,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -811,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -812,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -813,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -814,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -815,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -816,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -817,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -818,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -819,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -820,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -821,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -822,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -823,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -824,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -825,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -826,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -827,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -828,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -829,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -830,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -831,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -832,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -833,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -834,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -835,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -836,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -837,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -838,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -839,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -840,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -841,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -842,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -843,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -844,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -845,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -846,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -847,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -848,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -849,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -850,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -851,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -852,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -853,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -854,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -855,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -856,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -857,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -858,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -859,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -860,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -861,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -862,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -863,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -864,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -865,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -866,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -867,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -868,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -869,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -870,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -871,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -872,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -873,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -874,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -875,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -876,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -877,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -878,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -879,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -880,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -881,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -882,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -883,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -884,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -885,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -886,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -887,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -888,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -889,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -890,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -891,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -892,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -893,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -894,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -895,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -896,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -897,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -898,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -899,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -900,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -901,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -902,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -903,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -904,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -905,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -906,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -907,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -908,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -909,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -910,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -911,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -912,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -913,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -914,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -915,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -916,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -917,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -918A,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -919,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -920,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -921,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -922,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -923,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -924,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -925,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -926,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -927,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -928,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -929,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -930,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -931,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -932,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -933,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -934,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -935,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -936,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -937,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -938,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -939,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -940,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -941,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -942,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -943,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -944,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -945,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -946,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -947,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -948,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -949,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -950,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -951,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -952,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -953,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -954,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -955,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -956,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -957,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -958,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -959,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -960,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -961,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -962,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -963,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -964,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -965,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -966,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -967,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -968,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -969,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -970,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -971,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -972,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -973,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -974,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -975,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -976,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -977,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -978,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -979,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -980,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -981,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -982,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -983,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -984,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -985,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -986,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -987,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -988,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -989,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -990,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -991,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -992,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -993,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -994,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -995,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -996,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -997,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -998,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -999,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1000,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1001,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1002,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1003,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1004,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1005,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1006,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1007,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1008,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1009,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1010,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1011,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1012,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1013,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1014,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1015,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1016,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1017,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1018,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1019,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1020,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1021,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1022,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1023,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1024,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1025,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1026,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1027,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1028,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1029,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1030,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1031,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1032,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1033,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1034,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1035,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1036,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1037,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1038,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1039,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1040,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1041,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1042,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1043,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1044,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1045,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1046,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1047,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1048,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1049,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1050,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1051,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1052,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1053,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1054,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1055,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1056,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1057,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1058,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1059,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1060,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1061,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1062,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1063,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1064,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1065,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1066,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1067,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1068,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1069,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1070,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1071,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1072,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1073,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1074,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1075,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1076,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1077,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1078,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1079,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1080,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1081,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1082,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1083,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1084,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1085,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1086,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1087,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1088,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1089,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1090,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1091,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1092,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1093,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1094,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1095,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1096,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1097,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1098,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1099,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1100,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1101,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1102,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1103,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1104,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1105,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1106,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1107,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1108,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1109,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1110,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1111,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1112,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1113,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1114,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1115,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1116,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1117,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1118,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1119,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1120,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1121,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1122,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1123,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1124,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1125,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1126,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1127,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1128,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1129,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1130,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1131,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1132,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1133,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1134,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1135,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1136,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1137,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1138,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1139,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1140,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1141,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1142,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1143,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1144,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1145,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1146,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1147,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1148,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1149,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1150,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1152,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1153,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1154,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1155,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1156,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1157,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1158,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1159,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1160,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1161,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1162,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1163,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1164,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1165,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1166,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1167,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1168,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1169,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1170,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1171,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1172,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1173,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1174,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1175,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1176,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1177,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1178,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1179,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1180,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1181,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1182,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1183,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1184,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1185,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1186,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1187,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1188,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1189,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1190,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1191,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1192,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1193,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1194,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1195,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1196,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1197,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1198,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1199,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1200,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1201,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1202,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1203,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1204,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1205,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1206,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1207,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1208,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1209,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1210,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1211,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1212,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1213,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1214,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1215,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1216,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1217,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1218,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1219,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1220,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1221,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1222,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1223,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1224,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1225,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, -1226,IDEAFAST,Participants,,,,SubjectID,Subject ID,,,,,,,,,,nvarchar,,False,,9,,True,False,True,,False,,,,False, \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/JSONCurator.json b/packages/itmat-job-executor/test/testFiles/JSONCurator.json deleted file mode 100644 index b6dec6c7c..000000000 --- a/packages/itmat-job-executor/test/testFiles/JSONCurator.json +++ /dev/null @@ -1 +0,0 @@ -[["ID", "SubjectID", "VisitID", "Sex", "Description", "Weight"], ["1", "I7N3G6G", "1", 0, "no description", 60.2], ["2", "I7N3G6G", "2", 0, "no description", 60.2], ["3", "I7N3G6G", "3", 0, "no description", 60.2], ["4", "I7N3G6G", "4", 0, "no description", 60.2], ["5", "I7N3G6G", "5", 0, "no description", 60.2], ["6", "I7N3G6G", "6", 0, "no description", 60.2], ["7", "I7N3G6G", "7", 0, "no description", 60.2], ["8", "I7N3G6G", "8", 0, "no description", 60.2], ["9", "I7N3G6G", "9", 0, "no description", 60.2], ["10", "I7N3G6G", "10", 0, "no description", 60.2], ["11", "I7N3G6G", "11", 0, "no description", 60.2], ["12", "I7N3G6G", "12", 0, "no description", 60.2], ["13", "I7N3G6G", "13", 0, "no description", 60.2], ["14", "I7N3G6G", "14", 0, "no description", 60.2], ["15", "I7N3G6G", "15", 0, "no description", 60.2], ["16", "I7N3G6G", "16", 0, "no description", 60.2], ["17", "I7N3G6G", "17", 0, "no description", 60.2], ["18", "I7N3G6G", "18", 0, "no description", 60.2], ["19", "I7N3G6G", "19", 0, "no description", 60.2], ["20", "I7N3G6G", "20", 0, "no description", 60.2], ["21", "I7N3G6G", "21", 0, "no description", 60.2], ["22", "I7N3G6G", "22", 0, "no description", 60.2], ["23", "I7N3G6G", "23", 0, "no description", 60.2], ["24", "I7N3G6G", "24", 0, "no description", 60.2], ["25", "I7N3G6G", "25", 0, "no description", 60.2], ["26", "I7N3G6G", "26", 0, "no description", 60.2], ["27", "I7N3G6G", "27", 0, "no description", 60.2], ["28", "I7N3G6G", "28", 0, "no description", 60.2], ["29", "I7N3G6G", "29", 0, "no description", 60.2], ["30", "I7N3G6G", "30", 0, "no description", 60.2], ["31", "I7N3G6G", "31", 0, "no description", 60.2], ["32", "I7N3G6G", "32", 0, "no description", 60.2], ["33", "I7N3G6G", "33", 0, "no description", 60.2], ["34", "I7N3G6G", "34", 0, "no description", 60.2], ["35", "I7N3G6G", "35", 0, "no description", 60.2], ["36", "I7N3G6G", "36", 0, "no description", 60.2], ["37", "I7N3G6G", "37", 0, "no description", 60.2], ["38", "I7N3G6G", "38", 0, "no description", 60.2], ["39", "I7N3G6G", "39", 0, "no description", 60.2], ["40", "I7N3G6G", "40", 0, "no description", 60.2], ["41", "I7N3G6G", "41", 0, "no description", 60.2], ["42", "I7N3G6G", "42", 0, "no description", 60.2], ["43", "I7N3G6G", "43", 0, "no description", 60.2], ["44", "I7N3G6G", "44", 0, "no description", 60.2], ["45", "I7N3G6G", "45", 0, "no description", 60.2], ["46", "I7N3G6G", "46", 0, "no description", 60.2], ["47", "I7N3G6G", "47", 0, "no description", 60.2], ["48", "I7N3G6G", "48", 0, "no description", 60.2], ["49", "I7N3G6G", "49", 0, "no description", 60.2], ["50", "I7N3G6G", "50", 0, "no description", 60.2], ["51", "I7N3G6G", "51", 0, "no description", 60.2], ["52", "I7N3G6G", "52", 0, "no description", 60.2], ["53", "I7N3G6G", "53", 0, "no description", 60.2], ["54", "I7N3G6G", "54", 0, "no description", 60.2], ["55", "I7N3G6G", "55", 0, "no description", 60.2], ["56", "I7N3G6G", "56", 0, "no description", 60.2], ["57", "I7N3G6G", "57", 0, "no description", 60.2], ["58", "I7N3G6G", "58", 0, "no description", 60.2], ["59", "I7N3G6G", "59", 0, "no description", 60.2], ["60", "I7N3G6G", "60", 0, "no description", 60.2], ["61", "I7N3G6G", "61", 0, "no description", 60.2], ["62", "I7N3G6G", "62", 0, "no description", 60.2], ["63", "I7N3G6G", "63", 0, "no description", 60.2], ["64", "I7N3G6G", "64", 0, "no description", 60.2], ["65", "I7N3G6G", "65", 0, "no description", 60.2], ["66", "I7N3G6G", "66", 0, "no description", 60.2], ["67", "I7N3G6G", "67", 0, "no description", 60.2], ["68", "I7N3G6G", "68", 0, "no description", 60.2], ["69", "I7N3G6G", "69", 0, "no description", 60.2], ["70", "I7N3G6G", "70", 0, "no description", 60.2], ["71", "I7N3G6G", "71", 0, "no description", 60.2], ["72", "I7N3G6G", "72", 0, "no description", 60.2], ["73", "I7N3G6G", "73", 0, "no description", 60.2], ["74", "I7N3G6G", "74", 0, "no description", 60.2], ["75", "I7N3G6G", "75", 0, "no description", 60.2], ["76", "I7N3G6G", "76", 0, "no description", 60.2], ["77", "I7N3G6G", "77", 0, "no description", 60.2], ["78", "I7N3G6G", "78", 0, "no description", 60.2], ["79", "I7N3G6G", "79", 0, "no description", 60.2], ["80", "I7N3G6G", "80", 0, "no description", 60.2], ["81", "I7N3G6G", "81", 0, "no description", 60.2], ["82", "I7N3G6G", "82", 0, "no description", 60.2], ["83", "I7N3G6G", "83", 0, "no description", 60.2], ["84", "I7N3G6G", "84", 0, "no description", 60.2], ["85", "I7N3G6G", "85", 0, "no description", 60.2], ["86", "I7N3G6G", "86", 0, "no description", 60.2], ["87", "I7N3G6G", "87", 0, "no description", 60.2], ["88", "I7N3G6G", "88", 0, "no description", 60.2], ["89", "I7N3G6G", "89", 0, "no description", 60.2], ["90", "I7N3G6G", "90", 0, "no description", 60.2], ["91", "I7N3G6G", "91", 0, "no description", 60.2], ["92", "I7N3G6G", "92", 0, "no description", 60.2], ["93", "I7N3G6G", "93", 0, "no description", 60.2], ["94", "I7N3G6G", "94", 0, "no description", 60.2], ["95", "I7N3G6G", "95", 0, "no description", 60.2], ["96", "I7N3G6G", "96", 0, "no description", 60.2], ["97", "I7N3G6G", "97", 0, "no description", 60.2], ["98", "I7N3G6G", "98", 0, "no description", 60.2], ["99", "I7N3G6G", "99", 0, "no description", 60.2], ["100", "I7N3G6G", "100", 0, "no description", 60.2], ["101", "I7N3G6G", "101", 0, "no description", 60.2], ["102", "I7N3G6G", "102", 0, "no description", 60.2], ["103", "I7N3G6G", "103", 0, "no description", 60.2], ["104", "I7N3G6G", "104", 0, "no description", 60.2], ["105", "I7N3G6G", "105", 0, "no description", 60.2], ["106", "I7N3G6G", "106", 0, "no description", 60.2], ["107", "I7N3G6G", "107", 0, "no description", 60.2], ["108", "I7N3G6G", "108", 0, "no description", 60.2], ["109", "I7N3G6G", "109", 0, "no description", 60.2], ["110", "I7N3G6G", "110", 0, "no description", 60.2], ["111", "I7N3G6G", "111", 0, "no description", 60.2], ["112", "I7N3G6G", "112", 0, "no description", 60.2], ["113", "I7N3G6G", "113", 0, "no description", 60.2], ["114", "I7N3G6G", "114", 0, "no description", 60.2], ["115", "I7N3G6G", "115", 0, "no description", 60.2], ["116", "I7N3G6G", "116", 0, "no description", 60.2], ["117", "I7N3G6G", "117", 0, "no description", 60.2], ["118", "I7N3G6G", "118", 0, "no description", 60.2], ["119", "I7N3G6G", "119", 0, "no description", 60.2], ["120", "I7N3G6G", "120", 0, "no description", 60.2], ["121", "I7N3G6G", "121", 0, "no description", 60.2], ["122", "I7N3G6G", "122", 0, "no description", 60.2], ["123", "I7N3G6G", "123", 0, "no description", 60.2], ["124", "I7N3G6G", "124", 0, "no description", 60.2], ["125", "I7N3G6G", "125", 0, "no description", 60.2], ["126", "I7N3G6G", "126", 0, "no description", 60.2], ["127", "I7N3G6G", "127", 0, "no description", 60.2], ["128", "I7N3G6G", "128", 0, "no description", 60.2], ["129", "I7N3G6G", "129", 0, "no description", 60.2], ["130", "I7N3G6G", "130", 0, "no description", 60.2], ["131", "I7N3G6G", "131", 0, "no description", 60.2], ["132", "I7N3G6G", "132", 0, "no description", 60.2], ["133", "I7N3G6G", "133", 0, "no description", 60.2], ["134", "I7N3G6G", "134", 0, "no description", 60.2], ["135", "I7N3G6G", "135", 0, "no description", 60.2], ["136", "I7N3G6G", "136", 0, "no description", 60.2], ["137", "I7N3G6G", "137", 0, "no description", 60.2], ["138", "I7N3G6G", "138", 0, "no description", 60.2], ["139", "I7N3G6G", "139", 0, "no description", 60.2], ["140", "I7N3G6G", "140", 0, "no description", 60.2], ["141", "I7N3G6G", "141", 0, "no description", 60.2], ["142", "I7N3G6G", "142", 0, "no description", 60.2], ["143", "I7N3G6G", "143", 0, "no description", 60.2], ["144", "I7N3G6G", "144", 0, "no description", 60.2], ["145", "I7N3G6G", "145", 0, "no description", 60.2], ["146", "I7N3G6G", "146", 0, "no description", 60.2], ["147", "I7N3G6G", "147", 0, "no description", 60.2], ["148", "I7N3G6G", "148", 0, "no description", 60.2], ["149", "I7N3G6G", "149", 0, "no description", 60.2], ["150", "I7N3G6G", "150", 0, "no description", 60.2], ["151", "I7N3G6G", "151", 0, "no description", 60.2], ["152", "I7N3G6G", "152", 0, "no description", 60.2], ["153", "I7N3G6G", "153", 0, "no description", 60.2], ["154", "I7N3G6G", "154", 0, "no description", 60.2], ["155", "I7N3G6G", "155", 0, "no description", 60.2], ["156", "I7N3G6G", "156", 0, "no description", 60.2], ["157", "I7N3G6G", "157", 0, "no description", 60.2], ["158", "I7N3G6G", "158", 0, "no description", 60.2], ["159", "I7N3G6G", "159", 0, "no description", 60.2], ["160", "I7N3G6G", "160", 0, "no description", 60.2], ["161", "I7N3G6G", "161", 0, "no description", 60.2], ["162", "I7N3G6G", "162", 0, "no description", 60.2], ["163", "I7N3G6G", "163", 0, "no description", 60.2], ["164", "I7N3G6G", "164", 0, "no description", 60.2], ["165", "I7N3G6G", "165", 0, "no description", 60.2], ["166", "I7N3G6G", "166", 0, "no description", 60.2], ["167", "I7N3G6G", "167", 0, "no description", 60.2], ["168", "I7N3G6G", "168", 0, "no description", 60.2], ["169", "I7N3G6G", "169", 0, "no description", 60.2], ["170", "I7N3G6G", "170", 0, "no description", 60.2], ["171", "I7N3G6G", "171", 0, "no description", 60.2], ["172", "I7N3G6G", "172", 0, "no description", 60.2], ["173", "I7N3G6G", "173", 0, "no description", 60.2], ["174", "I7N3G6G", "174", 0, "no description", 60.2], ["175", "I7N3G6G", "175", 0, "no description", 60.2], ["176", "I7N3G6G", "176", 0, "no description", 60.2], ["177", "I7N3G6G", "177", 0, "no description", 60.2], ["178", "I7N3G6G", "178", 0, "no description", 60.2], ["179", "I7N3G6G", "179", 0, "no description", 60.2], ["180", "I7N3G6G", "180", 0, "no description", 60.2], ["181", "I7N3G6G", "181", 0, "no description", 60.2], ["182", "I7N3G6G", "182", 0, "no description", 60.2], ["183", "I7N3G6G", "183", 0, "no description", 60.2], ["184", "I7N3G6G", "184", 0, "no description", 60.2], ["185", "I7N3G6G", "185", 0, "no description", 60.2], ["186", "I7N3G6G", "186", 0, "no description", 60.2], ["187", "I7N3G6G", "187", 0, "no description", 60.2], ["188", "I7N3G6G", "188", 0, "no description", 60.2], ["189", "I7N3G6G", "189", 0, "no description", 60.2], ["190", "I7N3G6G", "190", 0, "no description", 60.2], ["191", "I7N3G6G", "191", 0, "no description", 60.2], ["192", "I7N3G6G", "192", 0, "no description", 60.2], ["193", "I7N3G6G", "193", 0, "no description", 60.2], ["194", "I7N3G6G", "194", 0, "no description", 60.2], ["195", "I7N3G6G", "195", 0, "no description", 60.2], ["196", "I7N3G6G", "196", 0, "no description", 60.2], ["197", "I7N3G6G", "197", 0, "no description", 60.2], ["198", "I7N3G6G", "198", 0, "no description", 60.2], ["199", "I7N3G6G", "199", 0, "no description", 60.2], ["200", "I7N3G6G", "200", 0, "no description", 60.2], ["201", "I7N3G6G", "201", 0, "no description", 60.2], ["202", "I7N3G6G", "202", 0, "no description", 60.2], ["203", "I7N3G6G", "203", 0, "no description", 60.2], ["204", "I7N3G6G", "204", 0, "no description", 60.2], ["205", "I7N3G6G", "205", 0, "no description", 60.2], ["206", "I7N3G6G", "206", 0, "no description", 60.2], ["207", "I7N3G6G", "207", 0, "no description", 60.2], ["208", "I7N3G6G", "208", 0, "no description", 60.2], ["209", "I7N3G6G", "209", 0, "no description", 60.2], ["210", "I7N3G6G", "210", 0, "no description", 60.2], ["211", "I7N3G6G", "211", 0, "no description", 60.2], ["212", "I7N3G6G", "212", 0, "no description", 60.2], ["213", "I7N3G6G", "213", 0, "no description", 60.2], ["214", "I7N3G6G", "214", 0, "no description", 60.2], ["215", "I7N3G6G", "215", 0, "no description", 60.2], ["216", "I7N3G6G", "216", 0, "no description", 60.2], ["217", "I7N3G6G", "217", 0, "no description", 60.2], ["218", "I7N3G6G", "218", 0, "no description", 60.2], ["219", "I7N3G6G", "219", 0, "no description", 60.2], ["220", "I7N3G6G", "220", 0, "no description", 60.2], ["221", "I7N3G6G", "221", 0, "no description", 60.2], ["222", "I7N3G6G", "222", 0, "no description", 60.2], ["223", "I7N3G6G", "223", 0, "no description", 60.2], ["224", "I7N3G6G", "224", 0, "no description", 60.2], ["225", "I7N3G6G", "225", 0, "no description", 60.2], ["226", "I7N3G6G", "226", 0, "no description", 60.2], ["227", "I7N3G6G", "227", 0, "no description", 60.2], ["228", "I7N3G6G", "228", 0, "no description", 60.2], ["229", "I7N3G6G", "229", 0, "no description", 60.2], ["230", "I7N3G6G", "230", 0, "no description", 60.2], ["231", "I7N3G6G", "231", 0, "no description", 60.2], ["232", "I7N3G6G", "232", 0, "no description", 60.2], ["233", "I7N3G6G", "233", 0, "no description", 60.2], ["234", "I7N3G6G", "234", 0, "no description", 60.2], ["235", "I7N3G6G", "235", 0, "no description", 60.2], ["236", "I7N3G6G", "236", 0, "no description", 60.2], ["237", "I7N3G6G", "237", 0, "no description", 60.2], ["238", "I7N3G6G", "238", 0, "no description", 60.2], ["239", "I7N3G6G", "239", 0, "no description", 60.2], ["240", "I7N3G6G", "240", 0, "no description", 60.2], ["241", "I7N3G6G", "241", 0, "no description", 60.2], ["242", "I7N3G6G", "242", 0, "no description", 60.2], ["243", "I7N3G6G", "243", 0, "no description", 60.2], ["244", "I7N3G6G", "244", 0, "no description", 60.2], ["245", "I7N3G6G", "245", 0, "no description", 60.2], ["246", "I7N3G6G", "246", 0, "no description", 60.2], ["247", "I7N3G6G", "247", 0, "no description", 60.2], ["248", "I7N3G6G", "248", 0, "no description", 60.2], ["249", "I7N3G6G", "249", 0, "no description", 60.2], ["250", "I7N3G6G", "250", 0, "no description", 60.2], ["251", "I7N3G6G", "251", 0, "no description", 60.2], ["252", "I7N3G6G", "252", 0, "no description", 60.2], ["253", "I7N3G6G", "253", 0, "no description", 60.2], ["254", "I7N3G6G", "254", 0, "no description", 60.2], ["255", "I7N3G6G", "255", 0, "no description", 60.2], ["256", "I7N3G6G", "256", 0, "no description", 60.2], ["257", "I7N3G6G", "257", 0, "no description", 60.2], ["258", "I7N3G6G", "258", 0, "no description", 60.2], ["259", "I7N3G6G", "259", 0, "no description", 60.2], ["260", "I7N3G6G", "260", 0, "no description", 60.2], ["261", "I7N3G6G", "261", 0, "no description", 60.2], ["262", "I7N3G6G", "262", 0, "no description", 60.2], ["263", "I7N3G6G", "263", 0, "no description", 60.2], ["264", "I7N3G6G", "264", 0, "no description", 60.2], ["265", "I7N3G6G", "265", 0, "no description", 60.2], ["266", "I7N3G6G", "266", 0, "no description", 60.2], ["267", "I7N3G6G", "267", 0, "no description", 60.2], ["268", "I7N3G6G", "268", 0, "no description", 60.2], ["269", "I7N3G6G", "269", 0, "no description", 60.2], ["270", "I7N3G6G", "270", 0, "no description", 60.2], ["271", "I7N3G6G", "271", 0, "no description", 60.2], ["272", "I7N3G6G", "272", 0, "no description", 60.2], ["273", "I7N3G6G", "273", 0, "no description", 60.2], ["274", "I7N3G6G", "274", 0, "no description", 60.2], ["275", "I7N3G6G", "275", 0, "no description", 60.2], ["276", "I7N3G6G", "276", 0, "no description", 60.2], ["277", "I7N3G6G", "277", 0, "no description", 60.2], ["278", "I7N3G6G", "278", 0, "no description", 60.2], ["279", "I7N3G6G", "279", 0, "no description", 60.2], ["280", "I7N3G6G", "280", 0, "no description", 60.2], ["281", "I7N3G6G", "281", 0, "no description", 60.2], ["282", "I7N3G6G", "282", 0, "no description", 60.2], ["283", "I7N3G6G", "283", 0, "no description", 60.2], ["284", "I7N3G6G", "284", 0, "no description", 60.2], ["285", "I7N3G6G", "285", 0, "no description", 60.2], ["286", "I7N3G6G", "286", 0, "no description", 60.2], ["287", "I7N3G6G", "287", 0, "no description", 60.2], ["288", "I7N3G6G", "288", 0, "no description", 60.2], ["289", "I7N3G6G", "289", 0, "no description", 60.2], ["290", "I7N3G6G", "290", 0, "no description", 60.2], ["291", "I7N3G6G", "291", 0, "no description", 60.2], ["292", "I7N3G6G", "292", 0, "no description", 60.2], ["293", "I7N3G6G", "293", 0, "no description", 60.2], ["294", "I7N3G6G", "294", 0, "no description", 60.2], ["295", "I7N3G6G", "295", 0, "no description", 60.2], ["296", "I7N3G6G", "296", 0, "no description", 60.2], ["297", "I7N3G6G", "297", 0, "no description", 60.2], ["298", "I7N3G6G", "298", 0, "no description", 60.2], ["299", "I7N3G6G", "299", 0, "no description", 60.2], ["300", "I7N3G6G", "300", 0, "no description", 60.2], ["301", "I7N3G6G", "301", 0, "no description", 60.2], ["302", "I7N3G6G", "302", 0, "no description", 60.2], ["303", "I7N3G6G", "303", 0, "no description", 60.2], ["304", "I7N3G6G", "304", 0, "no description", 60.2], ["305", "I7N3G6G", "305", 0, "no description", 60.2], ["306", "I7N3G6G", "306", 0, "no description", 60.2], ["307", "I7N3G6G", "307", 0, "no description", 60.2], ["308", "I7N3G6G", "308", 0, "no description", 60.2], ["309", "I7N3G6G", "309", 0, "no description", 60.2], ["310", "I7N3G6G", "310", 0, "no description", 60.2], ["311", "I7N3G6G", "311", 0, "no description", 60.2], ["312", "I7N3G6G", "312", 0, "no description", 60.2], ["313", "I7N3G6G", "313", 0, "no description", 60.2], ["314", "I7N3G6G", "314", 0, "no description", 60.2], ["315", "I7N3G6G", "315", 0, "no description", 60.2], ["316", "I7N3G6G", "316", 0, "no description", 60.2], ["317", "I7N3G6G", "317", 0, "no description", 60.2], ["318", "I7N3G6G", "318", 0, "no description", 60.2], ["319", "I7N3G6G", "319", 0, "no description", 60.2], ["320", "I7N3G6G", "320", 0, "no description", 60.2], ["321", "I7N3G6G", "321", 0, "no description", 60.2], ["322", "I7N3G6G", "322", 0, "no description", 60.2], ["323", "I7N3G6G", "323", 0, "no description", 60.2], ["324", "I7N3G6G", "324", 0, "no description", 60.2], ["325", "I7N3G6G", "325", 0, "no description", 60.2], ["326", "I7N3G6G", "326", 0, "no description", 60.2], ["327", "I7N3G6G", "327", 0, "no description", 60.2], ["328", "I7N3G6G", "328", 0, "no description", 60.2], ["329", "I7N3G6G", "329", 0, "no description", 60.2], ["330", "I7N3G6G", "330", 0, "no description", 60.2], ["331", "I7N3G6G", "331", 0, "no description", 60.2], ["332", "I7N3G6G", "332", 0, "no description", 60.2], ["333", "I7N3G6G", "333", 0, "no description", 60.2], ["334", "I7N3G6G", "334", 0, "no description", 60.2], ["335", "I7N3G6G", "335", 0, "no description", 60.2], ["336", "I7N3G6G", "336", 0, "no description", 60.2], ["337", "I7N3G6G", "337", 0, "no description", 60.2], ["338", "I7N3G6G", "338", 0, "no description", 60.2], ["339", "I7N3G6G", "339", 0, "no description", 60.2], ["340", "I7N3G6G", "340", 0, "no description", 60.2], ["341", "I7N3G6G", "341", 0, "no description", 60.2], ["342", "I7N3G6G", "342", 0, "no description", 60.2], ["343", "I7N3G6G", "343", 0, "no description", 60.2], ["344", "I7N3G6G", "344", 0, "no description", 60.2], ["345", "I7N3G6G", "345", 0, "no description", 60.2], ["346", "I7N3G6G", "346", 0, "no description", 60.2], ["347", "I7N3G6G", "347", 0, "no description", 60.2], ["348", "I7N3G6G", "348", 0, "no description", 60.2], ["349", "I7N3G6G", "349", 0, "no description", 60.2], ["350", "I7N3G6G", "350", 0, "no description", 60.2], ["351", "I7N3G6G", "351", 0, "no description", 60.2], ["352", "I7N3G6G", "352", 0, "no description", 60.2], ["353", "I7N3G6G", "353", 0, "no description", 60.2], ["354", "I7N3G6G", "354", 0, "no description", 60.2], ["355", "I7N3G6G", "355", 0, "no description", 60.2], ["356", "I7N3G6G", "356", 0, "no description", 60.2], ["357", "I7N3G6G", "357", 0, "no description", 60.2], ["358", "I7N3G6G", "358", 0, "no description", 60.2], ["359", "I7N3G6G", "359", 0, "no description", 60.2], ["360", "I7N3G6G", "360", 0, "no description", 60.2], ["361", "I7N3G6G", "361", 0, "no description", 60.2], ["362", "I7N3G6G", "362", 0, "no description", 60.2], ["363", "I7N3G6G", "363", 0, "no description", 60.2], ["364", "I7N3G6G", "364", 0, "no description", 60.2], ["365", "I7N3G6G", "365", 0, "no description", 60.2], ["366", "I7N3G6G", "366", 0, "no description", 60.2], ["367", "I7N3G6G", "367", 0, "no description", 60.2], ["368", "I7N3G6G", "368", 0, "no description", 60.2], ["369", "I7N3G6G", "369", 0, "no description", 60.2], ["370", "I7N3G6G", "370", 0, "no description", 60.2], ["371", "I7N3G6G", "371", 0, "no description", 60.2], ["372", "I7N3G6G", "372", 0, "no description", 60.2], ["373", "I7N3G6G", "373", 0, "no description", 60.2], ["374", "I7N3G6G", "374", 0, "no description", 60.2], ["375", "I7N3G6G", "375", 0, "no description", 60.2], ["376", "I7N3G6G", "376", 0, "no description", 60.2], ["377", "I7N3G6G", "377", 0, "no description", 60.2], ["378", "I7N3G6G", "378", 0, "no description", 60.2], ["379", "I7N3G6G", "379", 0, "no description", 60.2], ["380", "I7N3G6G", "380", 0, "no description", 60.2], ["381", "I7N3G6G", "381", 0, "no description", 60.2], ["382", "I7N3G6G", "382", 0, "no description", 60.2], ["383", "I7N3G6G", "383", 0, "no description", 60.2], ["384", "I7N3G6G", "384", 0, "no description", 60.2], ["385", "I7N3G6G", "385", 0, "no description", 60.2], ["386", "I7N3G6G", "386", 0, "no description", 60.2], ["387", "I7N3G6G", "387", 0, "no description", 60.2], ["388", "I7N3G6G", "388", 0, "no description", 60.2], ["389", "I7N3G6G", "389", 0, "no description", 60.2], ["390", "I7N3G6G", "390", 0, "no description", 60.2], ["391", "I7N3G6G", "391", 0, "no description", 60.2], ["392", "I7N3G6G", "392", 0, "no description", 60.2], ["393", "I7N3G6G", "393", 0, "no description", 60.2], ["394", "I7N3G6G", "394", 0, "no description", 60.2], ["395", "I7N3G6G", "395", 0, "no description", 60.2], ["396", "I7N3G6G", "396", 0, "no description", 60.2], ["397", "I7N3G6G", "397", 0, "no description", 60.2], ["398", "I7N3G6G", "398", 0, "no description", 60.2], ["399", "I7N3G6G", "399", 0, "no description", 60.2], ["400", "I7N3G6G", "400", 0, "no description", 60.2], ["401", "I7N3G6G", "401", 0, "no description", 60.2], ["402", "I7N3G6G", "402", 0, "no description", 60.2], ["403", "I7N3G6G", "403", 0, "no description", 60.2], ["404", "I7N3G6G", "404", 0, "no description", 60.2], ["405", "I7N3G6G", "405", 0, "no description", 60.2], ["406", "I7N3G6G", "406", 0, "no description", 60.2], ["407", "I7N3G6G", "407", 0, "no description", 60.2], ["408", "I7N3G6G", "408", 0, "no description", 60.2], ["409", "I7N3G6G", "409", 0, "no description", 60.2], ["410", "I7N3G6G", "410", 0, "no description", 60.2], ["411", "I7N3G6G", "411", 0, "no description", 60.2], ["412", "I7N3G6G", "412", 0, "no description", 60.2], ["413", "I7N3G6G", "413", 0, "no description", 60.2], ["414", "I7N3G6G", "414", 0, "no description", 60.2], ["415", "I7N3G6G", "415", 0, "no description", 60.2], ["416", "I7N3G6G", "416", 0, "no description", 60.2], ["417", "I7N3G6G", "417", 0, "no description", 60.2], ["418", "I7N3G6G", "418", 0, "no description", 60.2], ["419", "I7N3G6G", "419", 0, "no description", 60.2], ["420", "I7N3G6G", "420", 0, "no description", 60.2], ["421", "I7N3G6G", "421", 0, "no description", 60.2], ["422", "I7N3G6G", "422", 0, "no description", 60.2], ["423", "I7N3G6G", "423", 0, "no description", 60.2], ["424", "I7N3G6G", "424", 0, "no description", 60.2], ["425", "I7N3G6G", "425", 0, "no description", 60.2], ["426", "I7N3G6G", "426", 0, "no description", 60.2], ["427", "I7N3G6G", "427", 0, "no description", 60.2], ["428", "I7N3G6G", "428", 0, "no description", 60.2], ["429", "I7N3G6G", "429", 0, "no description", 60.2], ["430", "I7N3G6G", "430", 0, "no description", 60.2], ["431", "I7N3G6G", "431", 0, "no description", 60.2], ["432", "I7N3G6G", "432", 0, "no description", 60.2], ["433", "I7N3G6G", "433", 0, "no description", 60.2], ["434", "I7N3G6G", "434", 0, "no description", 60.2], ["435", "I7N3G6G", "435", 0, "no description", 60.2], ["436", "I7N3G6G", "436", 0, "no description", 60.2], ["437", "I7N3G6G", "437", 0, "no description", 60.2], ["438", "I7N3G6G", "438", 0, "no description", 60.2], ["439", "I7N3G6G", "439", 0, "no description", 60.2], ["440", "I7N3G6G", "440", 0, "no description", 60.2], ["441", "I7N3G6G", "441", 0, "no description", 60.2], ["442", "I7N3G6G", "442", 0, "no description", 60.2], ["443", "I7N3G6G", "443", 0, "no description", 60.2], ["444", "I7N3G6G", "444", 0, "no description", 60.2], ["445", "I7N3G6G", "445", 0, "no description", 60.2], ["446", "I7N3G6G", "446", 0, "no description", 60.2], ["447", "I7N3G6G", "447", 0, "no description", 60.2], ["448", "I7N3G6G", "448", 0, "no description", 60.2], ["449", "I7N3G6G", "449", 0, "no description", 60.2], ["450", "I7N3G6G", "450", 0, "no description", 60.2], ["451", "I7N3G6G", "451", 0, "no description", 60.2], ["452", "I7N3G6G", "452", 0, "no description", 60.2], ["453", "I7N3G6G", "453", 0, "no description", 60.2], ["454", "I7N3G6G", "454", 0, "no description", 60.2], ["455", "I7N3G6G", "455", 0, "no description", 60.2], ["456", "I7N3G6G", "456", 0, "no description", 60.2], ["457", "I7N3G6G", "457", 0, "no description", 60.2], ["458", "I7N3G6G", "458", 0, "no description", 60.2], ["459", "I7N3G6G", "459", 0, "no description", 60.2], ["460", "I7N3G6G", "460", 0, "no description", 60.2], ["461", "I7N3G6G", "461", 0, "no description", 60.2], ["462", "I7N3G6G", "462", 0, "no description", 60.2], ["463", "I7N3G6G", "463", 0, "no description", 60.2], ["464", "I7N3G6G", "464", 0, "no description", 60.2], ["465", "I7N3G6G", "465", 0, "no description", 60.2], ["466", "I7N3G6G", "466", 0, "no description", 60.2], ["467", "I7N3G6G", "467", 0, "no description", 60.2], ["468", "I7N3G6G", "468", 0, "no description", 60.2], ["469", "I7N3G6G", "469", 0, "no description", 60.2], ["470", "I7N3G6G", "470", 0, "no description", 60.2], ["471", "I7N3G6G", "471", 0, "no description", 60.2], ["472", "I7N3G6G", "472", 0, "no description", 60.2], ["473", "I7N3G6G", "473", 0, "no description", 60.2], ["474", "I7N3G6G", "474", 0, "no description", 60.2], ["475", "I7N3G6G", "475", 0, "no description", 60.2], ["476", "I7N3G6G", "476", 0, "no description", 60.2], ["477", "I7N3G6G", "477", 0, "no description", 60.2], ["478", "I7N3G6G", "478", 0, "no description", 60.2], ["479", "I7N3G6G", "479", 0, "no description", 60.2], ["480", "I7N3G6G", "480", 0, "no description", 60.2], ["481", "I7N3G6G", "481", 0, "no description", 60.2], ["482", "I7N3G6G", "482", 0, "no description", 60.2], ["483", "I7N3G6G", "483", 0, "no description", 60.2], ["484", "I7N3G6G", "484", 0, "no description", 60.2], ["485", "I7N3G6G", "485", 0, "no description", 60.2], ["486", "I7N3G6G", "486", 0, "no description", 60.2], ["487", "I7N3G6G", "487", 0, "no description", 60.2], ["488", "I7N3G6G", "488", 0, "no description", 60.2], ["489", "I7N3G6G", "489", 0, "no description", 60.2], ["490", "I7N3G6G", "490", 0, "no description", 60.2], ["491", "I7N3G6G", "491", 0, "no description", 60.2], ["492", "I7N3G6G", "492", 0, "no description", 60.2], ["493", "I7N3G6G", "493", 0, "no description", 60.2], ["494", "I7N3G6G", "494", 0, "no description", 60.2], ["495", "I7N3G6G", "495", 0, "no description", 60.2], ["496", "I7N3G6G", "496", 0, "no description", 60.2], ["497", "I7N3G6G", "497", 0, "no description", 60.2], ["498", "I7N3G6G", "498", 0, "no description", 60.2], ["499", "I7N3G6G", "499", 0, "no description", 60.2], ["500", "I7N3G6G", "500", 0, "no description", 60.2], ["501", "I7N3G6G", "501", 0, "no description", 60.2], ["502", "I7N3G6G", "502", 0, "no description", 60.2], ["503", "I7N3G6G", "503", 0, "no description", 60.2], ["504", "I7N3G6G", "504", 0, "no description", 60.2], ["505", "I7N3G6G", "505", 0, "no description", 60.2], ["506", "I7N3G6G", "506", 0, "no description", 60.2], ["507", "I7N3G6G", "507", 0, "no description", 60.2], ["508", "I7N3G6G", "508", 0, "no description", 60.2], ["509", "I7N3G6G", "509", 0, "no description", 60.2], ["510", "I7N3G6G", "510", 0, "no description", 60.2], ["511", "I7N3G6G", "511", 0, "no description", 60.2], ["512", "I7N3G6G", "512", 0, "no description", 60.2], ["513", "I7N3G6G", "513", 0, "no description", 60.2], ["514", "I7N3G6G", "514", 0, "no description", 60.2], ["515", "I7N3G6G", "515", 0, "no description", 60.2], ["516", "I7N3G6G", "516", 0, "no description", 60.2], ["517", "I7N3G6G", "517", 0, "no description", 60.2], ["518", "I7N3G6G", "518", 0, "no description", 60.2], ["519", "I7N3G6G", "519", 0, "no description", 60.2], ["520", "I7N3G6G", "520", 0, "no description", 60.2], ["521", "I7N3G6G", "521", 0, "no description", 60.2], ["522", "I7N3G6G", "522", 0, "no description", 60.2], ["523", "I7N3G6G", "523", 0, "no description", 60.2], ["524", "I7N3G6G", "524", 0, "no description", 60.2], ["525", "I7N3G6G", "525", 0, "no description", 60.2], ["526", "I7N3G6G", "526", 0, "no description", 60.2], ["527", "I7N3G6G", "527", 0, "no description", 60.2], ["528", "I7N3G6G", "528", 0, "no description", 60.2], ["529", "I7N3G6G", "529", 0, "no description", 60.2], ["530", "I7N3G6G", "530", 0, "no description", 60.2], ["531", "I7N3G6G", "531", 0, "no description", 60.2], ["532", "I7N3G6G", "532", 0, "no description", 60.2], ["533", "I7N3G6G", "533", 0, "no description", 60.2], ["534", "I7N3G6G", "534", 0, "no description", 60.2], ["535", "I7N3G6G", "535", 0, "no description", 60.2], ["536", "I7N3G6G", "536", 0, "no description", 60.2], ["537", "I7N3G6G", "537", 0, "no description", 60.2], ["538", "I7N3G6G", "538", 0, "no description", 60.2], ["539", "I7N3G6G", "539", 0, "no description", 60.2], ["540", "I7N3G6G", "540", 0, "no description", 60.2], ["541", "I7N3G6G", "541", 0, "no description", 60.2], ["542", "I7N3G6G", "542", 0, "no description", 60.2], ["543", "I7N3G6G", "543", 0, "no description", 60.2], ["544", "I7N3G6G", "544", 0, "no description", 60.2], ["545", "I7N3G6G", "545", 0, "no description", 60.2], ["546", "I7N3G6G", "546", 0, "no description", 60.2], ["547", "I7N3G6G", "547", 0, "no description", 60.2], ["548", "I7N3G6G", "548", 0, "no description", 60.2], ["549", "I7N3G6G", "549", 0, "no description", 60.2], ["550", "I7N3G6G", "550", 0, "no description", 60.2], ["551", "I7N3G6G", "551", 0, "no description", 60.2], ["552", "I7N3G6G", "552", 0, "no description", 60.2], ["553", "I7N3G6G", "553", 0, "no description", 60.2], ["554", "I7N3G6G", "554", 0, "no description", 60.2], ["555", "I7N3G6G", "555", 0, "no description", 60.2], ["556", "I7N3G6G", "556", 0, "no description", 60.2], ["557", "I7N3G6G", "557", 0, "no description", 60.2], ["558", "I7N3G6G", "558", 0, "no description", 60.2], ["559", "I7N3G6G", "559", 0, "no description", 60.2], ["560", "I7N3G6G", "560", 0, "no description", 60.2], ["561", "I7N3G6G", "561", 0, "no description", 60.2], ["562", "I7N3G6G", "562", 0, "no description", 60.2], ["563", "I7N3G6G", "563", 0, "no description", 60.2], ["564", "I7N3G6G", "564", 0, "no description", 60.2], ["565", "I7N3G6G", "565", 0, "no description", 60.2], ["566", "I7N3G6G", "566", 0, "no description", 60.2], ["567", "I7N3G6G", "567", 0, "no description", 60.2], ["568", "I7N3G6G", "568", 0, "no description", 60.2], ["569", "I7N3G6G", "569", 0, "no description", 60.2], ["570", "I7N3G6G", "570", 0, "no description", 60.2], ["571", "I7N3G6G", "571", 0, "no description", 60.2], ["572", "I7N3G6G", "572", 0, "no description", 60.2], ["573", "I7N3G6G", "573", 0, "no description", 60.2], ["574", "I7N3G6G", "574", 0, "no description", 60.2], ["575", "I7N3G6G", "575", 0, "no description", 60.2], ["576", "I7N3G6G", "576", 0, "no description", 60.2], ["577", "I7N3G6G", "577", 0, "no description", 60.2], ["578", "I7N3G6G", "578", 0, "no description", 60.2], ["579", "I7N3G6G", "579", 0, "no description", 60.2], ["580", "I7N3G6G", "580", 0, "no description", 60.2], ["581", "I7N3G6G", "581", 0, "no description", 60.2], ["582", "I7N3G6G", "582", 0, "no description", 60.2], ["583", "I7N3G6G", "583", 0, "no description", 60.2], ["584", "I7N3G6G", "584", 0, "no description", 60.2], ["585", "I7N3G6G", "585", 0, "no description", 60.2], ["586", "I7N3G6G", "586", 0, "no description", 60.2], ["587", "I7N3G6G", "587", 0, "no description", 60.2], ["588", "I7N3G6G", "588", 0, "no description", 60.2], ["589", "I7N3G6G", "589", 0, "no description", 60.2], ["590", "I7N3G6G", "590", 0, "no description", 60.2], ["591", "I7N3G6G", "591", 0, "no description", 60.2], ["592", "I7N3G6G", "592", 0, "no description", 60.2], ["593", "I7N3G6G", "593", 0, "no description", 60.2], ["594", "I7N3G6G", "594", 0, "no description", 60.2], ["595", "I7N3G6G", "595", 0, "no description", 60.2], ["596", "I7N3G6G", "596", 0, "no description", 60.2], ["597", "I7N3G6G", "597", 0, "no description", 60.2], ["598", "I7N3G6G", "598", 0, "no description", 60.2], ["599", "I7N3G6G", "599", 0, "no description", 60.2], ["600", "I7N3G6G", "600", 0, "no description", 60.2], ["601", "I7N3G6G", "601", 0, "no description", 60.2], ["602", "I7N3G6G", "602", 0, "no description", 60.2], ["603", "I7N3G6G", "603", 0, "no description", 60.2], ["604", "I7N3G6G", "604", 0, "no description", 60.2], ["605", "I7N3G6G", "605", 0, "no description", 60.2], ["606", "I7N3G6G", "606", 0, "no description", 60.2], ["607", "I7N3G6G", "607", 0, "no description", 60.2], ["608", "I7N3G6G", "608", 0, "no description", 60.2], ["609", "I7N3G6G", "609", 0, "no description", 60.2], ["610", "I7N3G6G", "610", 0, "no description", 60.2], ["611", "I7N3G6G", "611", 0, "no description", 60.2], ["612", "I7N3G6G", "612", 0, "no description", 60.2], ["613", "I7N3G6G", "613", 0, "no description", 60.2], ["614", "I7N3G6G", "614", 0, "no description", 60.2], ["615", "I7N3G6G", "615", 0, "no description", 60.2], ["616", "I7N3G6G", "616", 0, "no description", 60.2], ["617", "I7N3G6G", "617", 0, "no description", 60.2], ["618", "I7N3G6G", "618", 0, "no description", 60.2], ["619", "I7N3G6G", "619", 0, "no description", 60.2], ["620", "I7N3G6G", "620", 0, "no description", 60.2], ["621", "I7N3G6G", "621", 0, "no description", 60.2], ["622", "I7N3G6G", "622", 0, "no description", 60.2], ["623", "I7N3G6G", "623", 0, "no description", 60.2], ["624", "I7N3G6G", "624", 0, "no description", 60.2], ["625", "I7N3G6G", "625", 0, "no description", 60.2], ["626", "I7N3G6G", "626", 0, "no description", 60.2], ["627", "I7N3G6G", "627", 0, "no description", 60.2], ["628", "I7N3G6G", "628", 0, "no description", 60.2], ["629", "I7N3G6G", "629", 0, "no description", 60.2], ["630", "I7N3G6G", "630", 0, "no description", 60.2], ["631", "I7N3G6G", "631", 0, "no description", 60.2], ["632", "I7N3G6G", "632", 0, "no description", 60.2], ["633", "I7N3G6G", "633", 0, "no description", 60.2], ["634", "I7N3G6G", "634", 0, "no description", 60.2], ["635", "I7N3G6G", "635", 0, "no description", 60.2], ["636", "I7N3G6G", "636", 0, "no description", 60.2], ["637", "I7N3G6G", "637", 0, "no description", 60.2], ["638", "I7N3G6G", "638", 0, "no description", 60.2], ["639", "I7N3G6G", "639", 0, "no description", 60.2], ["640", "I7N3G6G", "640", 0, "no description", 60.2], ["641", "I7N3G6G", "641", 0, "no description", 60.2], ["642", "I7N3G6G", "642", 0, "no description", 60.2], ["643", "I7N3G6G", "643", 0, "no description", 60.2], ["644", "I7N3G6G", "644", 0, "no description", 60.2], ["645", "I7N3G6G", "645", 0, "no description", 60.2], ["646", "I7N3G6G", "646", 0, "no description", 60.2], ["647", "I7N3G6G", "647", 0, "no description", 60.2], ["648", "I7N3G6G", "648", 0, "no description", 60.2], ["649", "I7N3G6G", "649", 0, "no description", 60.2], ["650", "I7N3G6G", "650", 0, "no description", 60.2], ["651", "I7N3G6G", "651", 0, "no description", 60.2], ["652", "I7N3G6G", "652", 0, "no description", 60.2], ["653", "I7N3G6G", "653", 0, "no description", 60.2], ["654", "I7N3G6G", "654", 0, "no description", 60.2], ["655", "I7N3G6G", "655", 0, "no description", 60.2], ["656", "I7N3G6G", "656", 0, "no description", 60.2], ["657", "I7N3G6G", "657", 0, "no description", 60.2], ["658", "I7N3G6G", "658", 0, "no description", 60.2], ["659", "I7N3G6G", "659", 0, "no description", 60.2], ["660", "I7N3G6G", "660", 0, "no description", 60.2], ["661", "I7N3G6G", "661", 0, "no description", 60.2], ["662", "I7N3G6G", "662", 0, "no description", 60.2], ["663", "I7N3G6G", "663", 0, "no description", 60.2], ["664", "I7N3G6G", "664", 0, "no description", 60.2], ["665", "I7N3G6G", "665", 0, "no description", 60.2], ["666", "I7N3G6G", "666", 0, "no description", 60.2], ["667", "I7N3G6G", "667", 0, "no description", 60.2], ["668", "I7N3G6G", "668", 0, "no description", 60.2], ["669", "I7N3G6G", "669", 0, "no description", 60.2], ["670", "I7N3G6G", "670", 0, "no description", 60.2], ["671", "I7N3G6G", "671", 0, "no description", 60.2], ["672", "I7N3G6G", "672", 0, "no description", 60.2], ["673", "I7N3G6G", "673", 0, "no description", 60.2], ["674", "I7N3G6G", "674", 0, "no description", 60.2], ["675", "I7N3G6G", "675", 0, "no description", 60.2], ["676", "I7N3G6G", "676", 0, "no description", 60.2], ["677", "I7N3G6G", "677", 0, "no description", 60.2], ["678", "I7N3G6G", "678", 0, "no description", 60.2], ["679", "I7N3G6G", "679", 0, "no description", 60.2], ["680", "I7N3G6G", "680", 0, "no description", 60.2], ["681", "I7N3G6G", "681", 0, "no description", 60.2], ["682", "I7N3G6G", "682", 0, "no description", 60.2], ["683", "I7N3G6G", "683", 0, "no description", 60.2], ["684", "I7N3G6G", "684", 0, "no description", 60.2], ["685", "I7N3G6G", "685", 0, "no description", 60.2], ["686", "I7N3G6G", "686", 0, "no description", 60.2], ["687", "I7N3G6G", "687", 0, "no description", 60.2], ["688", "I7N3G6G", "688", 0, "no description", 60.2], ["689", "I7N3G6G", "689", 0, "no description", 60.2], ["690", "I7N3G6G", "690", 0, "no description", 60.2], ["691", "I7N3G6G", "691", 0, "no description", 60.2], ["692", "I7N3G6G", "692", 0, "no description", 60.2], ["693", "I7N3G6G", "693", 0, "no description", 60.2], ["694", "I7N3G6G", "694", 0, "no description", 60.2], ["695", "I7N3G6G", "695", 0, "no description", 60.2], ["696", "I7N3G6G", "696", 0, "no description", 60.2], ["697", "I7N3G6G", "697", 0, "no description", 60.2], ["698", "I7N3G6G", "698", 0, "no description", 60.2], ["699", "I7N3G6G", "699", 0, "no description", 60.2], ["700", "I7N3G6G", "700", 0, "no description", 60.2], ["701", "I7N3G6G", "701", 0, "no description", 60.2], ["702", "I7N3G6G", "702", 0, "no description", 60.2], ["703", "I7N3G6G", "703", 0, "no description", 60.2], ["704", "I7N3G6G", "704", 0, "no description", 60.2], ["705", "I7N3G6G", "705", 0, "no description", 60.2], ["706", "I7N3G6G", "706", 0, "no description", 60.2], ["707", "I7N3G6G", "707", 0, "no description", 60.2], ["708", "I7N3G6G", "708", 0, "no description", 60.2], ["709", "I7N3G6G", "709", 0, "no description", 60.2], ["710", "I7N3G6G", "710", 0, "no description", 60.2], ["711", "I7N3G6G", "711", 0, "no description", 60.2], ["712", "I7N3G6G", "712", 0, "no description", 60.2], ["713", "I7N3G6G", "713", 0, "no description", 60.2], ["714", "I7N3G6G", "714", 0, "no description", 60.2], ["715", "I7N3G6G", "715", 0, "no description", 60.2], ["716", "I7N3G6G", "716", 0, "no description", 60.2], ["717", "I7N3G6G", "717", 0, "no description", 60.2], ["718", "I7N3G6G", "718", 0, "no description", 60.2], ["719", "I7N3G6G", "719", 0, "no description", 60.2], ["720", "I7N3G6G", "720", 0, "no description", 60.2], ["721", "I7N3G6G", "721", 0, "no description", 60.2], ["722", "I7N3G6G", "722", 0, "no description", 60.2], ["723", "I7N3G6G", "723", 0, "no description", 60.2], ["724", "I7N3G6G", "724", 0, "no description", 60.2], ["725", "I7N3G6G", "725", 0, "no description", 60.2], ["726", "I7N3G6G", "726", 0, "no description", 60.2], ["727", "I7N3G6G", "727", 0, "no description", 60.2], ["728", "I7N3G6G", "728", 0, "no description", 60.2], ["729", "I7N3G6G", "729", 0, "no description", 60.2], ["730", "I7N3G6G", "730", 0, "no description", 60.2], ["731", "I7N3G6G", "731", 0, "no description", 60.2], ["732", "I7N3G6G", "732", 0, "no description", 60.2], ["733", "I7N3G6G", "733", 0, "no description", 60.2], ["734", "I7N3G6G", "734", 0, "no description", 60.2], ["735", "I7N3G6G", "735", 0, "no description", 60.2], ["736", "I7N3G6G", "736", 0, "no description", 60.2], ["737", "I7N3G6G", "737", 0, "no description", 60.2], ["738", "I7N3G6G", "738", 0, "no description", 60.2], ["739", "I7N3G6G", "739", 0, "no description", 60.2], ["740", "I7N3G6G", "740", 0, "no description", 60.2], ["741", "I7N3G6G", "741", 0, "no description", 60.2], ["742", "I7N3G6G", "742", 0, "no description", 60.2], ["743", "I7N3G6G", "743", 0, "no description", 60.2], ["744", "I7N3G6G", "744", 0, "no description", 60.2], ["745", "I7N3G6G", "745", 0, "no description", 60.2], ["746", "I7N3G6G", "746", 0, "no description", 60.2], ["747", "I7N3G6G", "747", 0, "no description", 60.2], ["748", "I7N3G6G", "748", 0, "no description", 60.2], ["749", "I7N3G6G", "749", 0, "no description", 60.2], ["750", "I7N3G6G", "750", 0, "no description", 60.2], ["751", "I7N3G6G", "751", 0, "no description", 60.2], ["752", "I7N3G6G", "752", 0, "no description", 60.2], ["753", "I7N3G6G", "753", 0, "no description", 60.2], ["754", "I7N3G6G", "754", 0, "no description", 60.2], ["755", "I7N3G6G", "755", 0, "no description", 60.2], ["756", "I7N3G6G", "756", 0, "no description", 60.2], ["757", "I7N3G6G", "757", 0, "no description", 60.2], ["758", "I7N3G6G", "758", 0, "no description", 60.2], ["759", "I7N3G6G", "759", 0, "no description", 60.2], ["760", "I7N3G6G", "760", 0, "no description", 60.2], ["761", "I7N3G6G", "761", 0, "no description", 60.2], ["762", "I7N3G6G", "762", 0, "no description", 60.2], ["763", "I7N3G6G", "763", 0, "no description", 60.2], ["764", "I7N3G6G", "764", 0, "no description", 60.2], ["765", "I7N3G6G", "765", 0, "no description", 60.2], ["766", "I7N3G6G", "766", 0, "no description", 60.2], ["767", "I7N3G6G", "767", 0, "no description", 60.2], ["768", "I7N3G6G", "768", 0, "no description", 60.2], ["769", "I7N3G6G", "769", 0, "no description", 60.2], ["770", "I7N3G6G", "770", 0, "no description", 60.2], ["771", "I7N3G6G", "771", 0, "no description", 60.2], ["772", "I7N3G6G", "772", 0, "no description", 60.2], ["773", "I7N3G6G", "773", 0, "no description", 60.2], ["774", "I7N3G6G", "774", 0, "no description", 60.2], ["775", "I7N3G6G", "775", 0, "no description", 60.2], ["776", "I7N3G6G", "776", 0, "no description", 60.2], ["777", "I7N3G6G", "777", 0, "no description", 60.2], ["778", "I7N3G6G", "778", 0, "no description", 60.2], ["779", "I7N3G6G", "779", 0, "no description", 60.2], ["780", "I7N3G6G", "780", 0, "no description", 60.2], ["781", "I7N3G6G", "781", 0, "no description", 60.2], ["782", "I7N3G6G", "782", 0, "no description", 60.2], ["783", "I7N3G6G", "783", 0, "no description", 60.2], ["784", "I7N3G6G", "784", 0, "no description", 60.2], ["785", "I7N3G6G", "785", 0, "no description", 60.2], ["786", "I7N3G6G", "786", 0, "no description", 60.2], ["787", "I7N3G6G", "787", 0, "no description", 60.2], ["788", "I7N3G6G", "788", 0, "no description", 60.2], ["789", "I7N3G6G", "789", 0, "no description", 60.2], ["790", "I7N3G6G", "790", 0, "no description", 60.2], ["791", "I7N3G6G", "791", 0, "no description", 60.2], ["792", "I7N3G6G", "792", 0, "no description", 60.2], ["793", "I7N3G6G", "793", 0, "no description", 60.2], ["794", "I7N3G6G", "794", 0, "no description", 60.2], ["795", "I7N3G6G", "795", 0, "no description", 60.2], ["796", "I7N3G6G", "796", 0, "no description", 60.2], ["797", "I7N3G6G", "797", 0, "no description", 60.2], ["798", "I7N3G6G", "798", 0, "no description", 60.2], ["799", "I7N3G6G", "799", 0, "no description", 60.2], ["800", "I7N3G6G", "800", 0, "no description", 60.2], ["801", "I7N3G6G", "801", 0, "no description", 60.2], ["802", "I7N3G6G", "802", 0, "no description", 60.2], ["803", "I7N3G6G", "803", 0, "no description", 60.2], ["804", "I7N3G6G", "804", 0, "no description", 60.2], ["805", "I7N3G6G", "805", 0, "no description", 60.2], ["806", "I7N3G6G", "806", 0, "no description", 60.2], ["807", "I7N3G6G", "807", 0, "no description", 60.2], ["808", "I7N3G6G", "808", 0, "no description", 60.2], ["809", "I7N3G6G", "809", 0, "no description", 60.2], ["810", "I7N3G6G", "810", 0, "no description", 60.2], ["811", "I7N3G6G", "811", 0, "no description", 60.2], ["812", "I7N3G6G", "812", 0, "no description", 60.2], ["813", "I7N3G6G", "813", 0, "no description", 60.2], ["814", "I7N3G6G", "814", 0, "no description", 60.2], ["815", "I7N3G6G", "815", 0, "no description", 60.2], ["816", "I7N3G6G", "816", 0, "no description", 60.2], ["817", "I7N3G6G", "817", 0, "no description", 60.2], ["818", "I7N3G6G", "818", 0, "no description", 60.2], ["819", "I7N3G6G", "819", 0, "no description", 60.2], ["820", "I7N3G6G", "820", 0, "no description", 60.2], ["821", "I7N3G6G", "821", 0, "no description", 60.2], ["822", "I7N3G6G", "822", 0, "no description", 60.2], ["823", "I7N3G6G", "823", 0, "no description", 60.2], ["824", "I7N3G6G", "824", 0, "no description", 60.2], ["825", "I7N3G6G", "825", 0, "no description", 60.2], ["826", "I7N3G6G", "826", 0, "no description", 60.2], ["827", "I7N3G6G", "827", 0, "no description", 60.2], ["828", "I7N3G6G", "828", 0, "no description", 60.2], ["829", "I7N3G6G", "829", 0, "no description", 60.2], ["830", "I7N3G6G", "830", 0, "no description", 60.2], ["831", "I7N3G6G", "831", 0, "no description", 60.2], ["832", "I7N3G6G", "832", 0, "no description", 60.2], ["833", "I7N3G6G", "833", 0, "no description", 60.2], ["834", "I7N3G6G", "834", 0, "no description", 60.2], ["835", "I7N3G6G", "835", 0, "no description", 60.2], ["836", "I7N3G6G", "836", 0, "no description", 60.2], ["837", "I7N3G6G", "837", 0, "no description", 60.2], ["838", "I7N3G6G", "838", 0, "no description", 60.2], ["839", "I7N3G6G", "839", 0, "no description", 60.2], ["840", "I7N3G6G", "840", 0, "no description", 60.2], ["841", "I7N3G6G", "841", 0, "no description", 60.2], ["842", "I7N3G6G", "842", 0, "no description", 60.2], ["843", "I7N3G6G", "843", 0, "no description", 60.2], ["844", "I7N3G6G", "844", 0, "no description", 60.2], ["845", "I7N3G6G", "845", 0, "no description", 60.2], ["846", "I7N3G6G", "846", 0, "no description", 60.2], ["847", "I7N3G6G", "847", 0, "no description", 60.2], ["848", "I7N3G6G", "848", 0, "no description", 60.2], ["849", "I7N3G6G", "849", 0, "no description", 60.2], ["850", "I7N3G6G", "850", 0, "no description", 60.2], ["851", "I7N3G6G", "851", 0, "no description", 60.2], ["852", "I7N3G6G", "852", 0, "no description", 60.2], ["853", "I7N3G6G", "853", 0, "no description", 60.2], ["854", "I7N3G6G", "854", 0, "no description", 60.2], ["855", "I7N3G6G", "855", 0, "no description", 60.2], ["856", "I7N3G6G", "856", 0, "no description", 60.2], ["857", "I7N3G6G", "857", 0, "no description", 60.2], ["858", "I7N3G6G", "858", 0, "no description", 60.2], ["859", "I7N3G6G", "859", 0, "no description", 60.2], ["860", "I7N3G6G", "860", 0, "no description", 60.2], ["861", "I7N3G6G", "861", 0, "no description", 60.2], ["862", "I7N3G6G", "862", 0, "no description", 60.2], ["863", "I7N3G6G", "863", 0, "no description", 60.2], ["864", "I7N3G6G", "864", 0, "no description", 60.2], ["865", "I7N3G6G", "865", 0, "no description", 60.2], ["866", "I7N3G6G", "866", 0, "no description", 60.2], ["867", "I7N3G6G", "867", 0, "no description", 60.2], ["868", "I7N3G6G", "868", 0, "no description", 60.2], ["869", "I7N3G6G", "869", 0, "no description", 60.2], ["870", "I7N3G6G", "870", 0, "no description", 60.2], ["871", "I7N3G6G", "871", 0, "no description", 60.2], ["872", "I7N3G6G", "872", 0, "no description", 60.2], ["873", "I7N3G6G", "873", 0, "no description", 60.2], ["874", "I7N3G6G", "874", 0, "no description", 60.2], ["875", "I7N3G6G", "875", 0, "no description", 60.2], ["876", "I7N3G6G", "876", 0, "no description", 60.2], ["877", "I7N3G6G", "877", 0, "no description", 60.2], ["878", "I7N3G6G", "878", 0, "no description", 60.2], ["879", "I7N3G6G", "879", 0, "no description", 60.2], ["880", "I7N3G6G", "880", 0, "no description", 60.2], ["881", "I7N3G6G", "881", 0, "no description", 60.2], ["882", "I7N3G6G", "882", 0, "no description", 60.2], ["883", "I7N3G6G", "883", 0, "no description", 60.2], ["884", "I7N3G6G", "884", 0, "no description", 60.2], ["885", "I7N3G6G", "885", 0, "no description", 60.2], ["886", "I7N3G6G", "886", 0, "no description", 60.2], ["887", "I7N3G6G", "887", 0, "no description", 60.2], ["888", "I7N3G6G", "888", 0, "no description", 60.2], ["889", "I7N3G6G", "889", 0, "no description", 60.2], ["890", "I7N3G6G", "890", 0, "no description", 60.2], ["891", "I7N3G6G", "891", 0, "no description", 60.2], ["892", "I7N3G6G", "892", 0, "no description", 60.2], ["893", "I7N3G6G", "893", 0, "no description", 60.2], ["894", "I7N3G6G", "894", 0, "no description", 60.2], ["895", "I7N3G6G", "895", 0, "no description", 60.2], ["896", "I7N3G6G", "896", 0, "no description", 60.2], ["897", "I7N3G6G", "897", 0, "no description", 60.2], ["898", "I7N3G6G", "898", 0, "no description", 60.2], ["899", "I7N3G6G", "899", 0, "no description", 60.2], ["900", "I7N3G6G", "900", 0, "no description", 60.2], ["901", "I7N3G6G", "901", 0, "no description", 60.2], ["902", "I7N3G6G", "902", 0, "no description", 60.2], ["903", "I7N3G6G", "903", 0, "no description", 60.2], ["904", "I7N3G6G", "904", 0, "no description", 60.2], ["905", "I7N3G6G", "905", 0, "no description", 60.2], ["906", "I7N3G6G", "906", 0, "no description", 60.2], ["907", "I7N3G6G", "907", 0, "no description", 60.2], ["908", "I7N3G6G", "908", 0, "no description", 60.2], ["909", "I7N3G6G", "909", 0, "no description", 60.2], ["910", "I7N3G6G", "910", 0, "no description", 60.2], ["911", "I7N3G6G", "911", 0, "no description", 60.2], ["912", "I7N3G6G", "912", 0, "no description", 60.2], ["913", "I7N3G6G", "913", 0, "no description", 60.2], ["914", "I7N3G6G", "914", 0, "no description", 60.2], ["915", "I7N3G6G", "915", 0, "no description", 60.2], ["916", "I7N3G6G", "916", 0, "no description", 60.2], ["917", "I7N3G6G", "917", 0, "no description", 60.2], ["918", "I7N3G6G", "918", 0, "no description", 60.2], ["919", "I7N3G6G", "919", 0, "no description", 60.2], ["920", "I7N3G6G", "920", 0, "no description", 60.2], ["921", "I7N3G6G", "921", 0, "no description", 60.2], ["922", "I7N3G6G", "922", 0, "no description", 60.2], ["923", "I7N3G6G", "923", 0, "no description", 60.2], ["924", "I7N3G6G", "924", 0, "no description", 60.2], ["925", "I7N3G6G", "925", 0, "no description", 60.2], ["926", "I7N3G6G", "926", 0, "no description", 60.2], ["927", "I7N3G6G", "927", 0, "no description", 60.2], ["928", "I7N3G6G", "928", 0, "no description", 60.2], ["929", "I7N3G6G", "929", 0, "no description", 60.2], ["930", "I7N3G6G", "930", 0, "no description", 60.2], ["931", "I7N3G6G", "931", 0, "no description", 60.2], ["932", "I7N3G6G", "932", 0, "no description", 60.2], ["933", "I7N3G6G", "933", 0, "no description", 60.2], ["934", "I7N3G6G", "934", 0, "no description", 60.2], ["935", "I7N3G6G", "935", 0, "no description", 60.2], ["936", "I7N3G6G", "936", 0, "no description", 60.2], ["937", "I7N3G6G", "937", 0, "no description", 60.2], ["938", "I7N3G6G", "938", 0, "no description", 60.2], ["939", "I7N3G6G", "939", 0, "no description", 60.2], ["940", "I7N3G6G", "940", 0, "no description", 60.2], ["941", "I7N3G6G", "941", 0, "no description", 60.2], ["942", "I7N3G6G", "942", 0, "no description", 60.2], ["943", "I7N3G6G", "943", 0, "no description", 60.2], ["944", "I7N3G6G", "944", 0, "no description", 60.2], ["945", "I7N3G6G", "945", 0, "no description", 60.2], ["946", "I7N3G6G", "946", 0, "no description", 60.2], ["947", "I7N3G6G", "947", 0, "no description", 60.2], ["948", "I7N3G6G", "948", 0, "no description", 60.2], ["949", "I7N3G6G", "949", 0, "no description", 60.2], ["950", "I7N3G6G", "950", 0, "no description", 60.2], ["951", "I7N3G6G", "951", 0, "no description", 60.2], ["952", "I7N3G6G", "952", 0, "no description", 60.2], ["953", "I7N3G6G", "953", 0, "no description", 60.2], ["954", "I7N3G6G", "954", 0, "no description", 60.2], ["955", "I7N3G6G", "955", 0, "no description", 60.2], ["956", "I7N3G6G", "956", 0, "no description", 60.2], ["957", "I7N3G6G", "957", 0, "no description", 60.2], ["958", "I7N3G6G", "958", 0, "no description", 60.2], ["959", "I7N3G6G", "959", 0, "no description", 60.2], ["960", "I7N3G6G", "960", 0, "no description", 60.2], ["961", "I7N3G6G", "961", 0, "no description", 60.2], ["962", "I7N3G6G", "962", 0, "no description", 60.2], ["963", "I7N3G6G", "963", 0, "no description", 60.2], ["964", "I7N3G6G", "964", 0, "no description", 60.2], ["965", "I7N3G6G", "965", 0, "no description", 60.2], ["966", "I7N3G6G", "966", 0, "no description", 60.2], ["967", "I7N3G6G", "967", 0, "no description", 60.2], ["968", "I7N3G6G", "968", 0, "no description", 60.2], ["969", "I7N3G6G", "969", 0, "no description", 60.2], ["970", "I7N3G6G", "970", 0, "no description", 60.2], ["971", "I7N3G6G", "971", 0, "no description", 60.2], ["972", "I7N3G6G", "972", 0, "no description", 60.2], ["973", "I7N3G6G", "973", 0, "no description", 60.2], ["974", "I7N3G6G", "974", 0, "no description", 60.2], ["975", "I7N3G6G", "975", 0, "no description", 60.2], ["976", "I7N3G6G", "976", 0, "no description", 60.2], ["977", "I7N3G6G", "977", 0, "no description", 60.2], ["978", "I7N3G6G", "978", 0, "no description", 60.2], ["979", "I7N3G6G", "979", 0, "no description", 60.2], ["980", "I7N3G6G", "980", 0, "no description", 60.2], ["981", "I7N3G6G", "981", 0, "no description", 60.2], ["982", "I7N3G6G", "982", 0, "no description", 60.2], ["983", "I7N3G6G", "983", 0, "no description", 60.2], ["984", "I7N3G6G", "984", 0, "no description", 60.2], ["985", "I7N3G6G", "985", 0, "no description", 60.2], ["986", "I7N3G6G", "986", 0, "no description", 60.2], ["987", "I7N3G6G", "987", 0, "no description", 60.2], ["988", "I7N3G6G", "988", 0, "no description", 60.2], ["989", "I7N3G6G", "989", 0, "no description", 60.2], ["990", "I7N3G6G", "990", 0, "no description", 60.2], ["991", "I7N3G6G", "991", 0, "no description", 60.2], ["992", "I7N3G6G", "992", 0, "no description", 60.2], ["993", "I7N3G6G", "993", 0, "no description", 60.2], ["994", "I7N3G6G", "994", 0, "no description", 60.2], ["995", "I7N3G6G", "995", 0, "no description", 60.2], ["996", "I7N3G6G", "996", 0, "no description", 60.2], ["997", "I7N3G6G", "997", 0, "no description", 60.2], ["998", "I7N3G6G", "998", 0, "no description", 60.2], ["999", "I7N3G6G", "999", 0, "no description", 60.2], ["1000", "I7N3G6G", "1000", 0, "no description", 60.2], ["1001", "I7N3G6G", "1001", 0, "no description", 60.2], ["1002", "I7N3G6G", "1002", 0, "no description", 60.2], ["1003", "I7N3G6G", "1003", 0, "no description", 60.2], ["1004", "I7N3G6G", "1004", 0, "no description", 60.2], ["1005", "I7N3G6G", "1005", 0, "no description", 60.2], ["1006", "I7N3G6G", "1006", 0, "no description", 60.2], ["1007", "I7N3G6G", "1007", 0, "no description", 60.2], ["1008", "I7N3G6G", "1008", 0, "no description", 60.2], ["1009", "I7N3G6G", "1009", 0, "no description", 60.2], ["1010", "I7N3G6G", "1010", 0, "no description", 60.2], ["1011", "I7N3G6G", "1011", 0, "no description", 60.2], ["1012", "I7N3G6G", "1012", 0, "no description", 60.2], ["1013", "I7N3G6G", "1013", 0, "no description", 60.2], ["1014", "I7N3G6G", "1014", 0, "no description", 60.2], ["1015", "I7N3G6G", "1015", 0, "no description", 60.2], ["1016", "I7N3G6G", "1016", 0, "no description", 60.2], ["1017", "I7N3G6G", "1017", 0, "no description", 60.2], ["1018", "I7N3G6G", "1018", 0, "no description", 60.2], ["1019", "I7N3G6G", "1019", 0, "no description", 60.2], ["1020", "I7N3G6G", "1020", 0, "no description", 60.2], ["1021", "I7N3G6G", "1021", 0, "no description", 60.2], ["1022", "I7N3G6G", "1022", 0, "no description", 60.2], ["1023", "I7N3G6G", "1023", 0, "no description", 60.2], ["1024", "I7N3G6G", "1024", 0, "no description", 60.2], ["1025", "I7N3G6G", "1025", 0, "no description", 60.2], ["1026", "I7N3G6G", "1026", 0, "no description", 60.2], ["1027", "I7N3G6G", "1027", 0, "no description", 60.2], ["1028", "I7N3G6G", "1028", 0, "no description", 60.2], ["1029", "I7N3G6G", "1029", 0, "no description", 60.2], ["1030", "I7N3G6G", "1030", 0, "no description", 60.2], ["1031", "I7N3G6G", "1031", 0, "no description", 60.2], ["1032", "I7N3G6G", "1032", 0, "no description", 60.2], ["1033", "I7N3G6G", "1033", 0, "no description", 60.2], ["1034", "I7N3G6G", "1034", 0, "no description", 60.2], ["1035", "I7N3G6G", "1035", 0, "no description", 60.2], ["1036", "I7N3G6G", "1036", 0, "no description", 60.2], ["1037", "I7N3G6G", "1037", 0, "no description", 60.2], ["1038", "I7N3G6G", "1038", 0, "no description", 60.2], ["1039", "I7N3G6G", "1039", 0, "no description", 60.2], ["1040", "I7N3G6G", "1040", 0, "no description", 60.2], ["1041", "I7N3G6G", "1041", 0, "no description", 60.2], ["1042", "I7N3G6G", "1042", 0, "no description", 60.2], ["1043", "I7N3G6G", "1043", 0, "no description", 60.2], ["1044", "I7N3G6G", "1044", 0, "no description", 60.2], ["1045", "I7N3G6G", "1045", 0, "no description", 60.2], ["1046", "I7N3G6G", "1046", 0, "no description", 60.2], ["1047", "I7N3G6G", "1047", 0, "no description", 60.2], ["1048", "I7N3G6G", "1048", 0, "no description", 60.2], ["1049", "I7N3G6G", "1049", 0, "no description", 60.2], ["1050", "I7N3G6G", "1050", 0, "no description", 60.2], ["1051", "I7N3G6G", "1051", 0, "no description", 60.2], ["1052", "I7N3G6G", "1052", 0, "no description", 60.2], ["1053", "I7N3G6G", "1053", 0, "no description", 60.2], ["1054", "I7N3G6G", "1054", 0, "no description", 60.2], ["1055", "I7N3G6G", "1055", 0, "no description", 60.2], ["1056", "I7N3G6G", "1056", 0, "no description", 60.2], ["1057", "I7N3G6G", "1057", 0, "no description", 60.2], ["1058", "I7N3G6G", "1058", 0, "no description", 60.2], ["1059", "I7N3G6G", "1059", 0, "no description", 60.2], ["1060", "I7N3G6G", "1060", 0, "no description", 60.2], ["1061", "I7N3G6G", "1061", 0, "no description", 60.2], ["1062", "I7N3G6G", "1062", 0, "no description", 60.2], ["1063", "I7N3G6G", "1063", 0, "no description", 60.2], ["1064", "I7N3G6G", "1064", 0, "no description", 60.2], ["1065", "I7N3G6G", "1065", 0, "no description", 60.2], ["1066", "I7N3G6G", "1066", 0, "no description", 60.2], ["1067", "I7N3G6G", "1067", 0, "no description", 60.2], ["1068", "I7N3G6G", "1068", 0, "no description", 60.2], ["1069", "I7N3G6G", "1069", 0, "no description", 60.2], ["1070", "I7N3G6G", "1070", 0, "no description", 60.2], ["1071", "I7N3G6G", "1071", 0, "no description", 60.2], ["1072", "I7N3G6G", "1072", 0, "no description", 60.2], ["1073", "I7N3G6G", "1073", 0, "no description", 60.2], ["1074", "I7N3G6G", "1074", 0, "no description", 60.2], ["1075", "I7N3G6G", "1075", 0, "no description", 60.2], ["1076", "I7N3G6G", "1076", 0, "no description", 60.2], ["1077", "I7N3G6G", "1077", 0, "no description", 60.2], ["1078", "I7N3G6G", "1078", 0, "no description", 60.2], ["1079", "I7N3G6G", "1079", 0, "no description", 60.2], ["1080", "I7N3G6G", "1080", 0, "no description", 60.2], ["1081", "I7N3G6G", "1081", 0, "no description", 60.2], ["1082", "I7N3G6G", "1082", 0, "no description", 60.2], ["1083", "I7N3G6G", "1083", 0, "no description", 60.2], ["1084", "I7N3G6G", "1084", 0, "no description", 60.2], ["1085", "I7N3G6G", "1085", 0, "no description", 60.2], ["1086", "I7N3G6G", "1086", 0, "no description", 60.2], ["1087", "I7N3G6G", "1087", 0, "no description", 60.2], ["1088", "I7N3G6G", "1088", 0, "no description", 60.2], ["1089", "I7N3G6G", "1089", 0, "no description", 60.2], ["1090", "I7N3G6G", "1090", 0, "no description", 60.2], ["1091", "I7N3G6G", "1091", 0, "no description", 60.2], ["1092", "I7N3G6G", "1092", 0, "no description", 60.2], ["1093", "I7N3G6G", "1093", 0, "no description", 60.2], ["1094", "I7N3G6G", "1094", 0, "no description", 60.2], ["1095", "I7N3G6G", "1095", 0, "no description", 60.2], ["1096", "I7N3G6G", "1096", 0, "no description", 60.2], ["1097", "I7N3G6G", "1097", 0, "no description", 60.2], ["1098", "I7N3G6G", "1098", 0, "no description", 60.2], ["1099", "I7N3G6G", "1099", 0, "no description", 60.2], ["1100", "I7N3G6G", "1100", 0, "no description", 60.2], ["1101", "I7N3G6G", "1101", 0, "no description", 60.2], ["1102", "I7N3G6G", "1102", 0, "no description", 60.2], ["1103", "I7N3G6G", "1103", 0, "no description", 60.2], ["1104", "I7N3G6G", "1104", 0, "no description", 60.2], ["1105", "I7N3G6G", "1105", 0, "no description", 60.2], ["1106", "I7N3G6G", "1106", 0, "no description", 60.2], ["1107", "I7N3G6G", "1107", 0, "no description", 60.2], ["1108", "I7N3G6G", "1108", 0, "no description", 60.2], ["1109", "I7N3G6G", "1109", 0, "no description", 60.2], ["1110", "I7N3G6G", "1110", 0, "no description", 60.2], ["1111", "I7N3G6G", "1111", 0, "no description", 60.2], ["1112", "I7N3G6G", "1112", 0, "no description", 60.2], ["1113", "I7N3G6G", "1113", 0, "no description", 60.2], ["1114", "I7N3G6G", "1114", 0, "no description", 60.2], ["1115", "I7N3G6G", "1115", 0, "no description", 60.2], ["1116", "I7N3G6G", "1116", 0, "no description", 60.2], ["1117", "I7N3G6G", "1117", 0, "no description", 60.2], ["1118", "I7N3G6G", "1118", 0, "no description", 60.2], ["1119", "I7N3G6G", "1119", 0, "no description", 60.2], ["1120", "I7N3G6G", "1120", 0, "no description", 60.2], ["1121", "I7N3G6G", "1121", 0, "no description", 60.2], ["1122", "I7N3G6G", "1122", 0, "no description", 60.2], ["1123", "I7N3G6G", "1123", 0, "no description", 60.2], ["1124", "I7N3G6G", "1124", 0, "no description", 60.2], ["1125", "I7N3G6G", "1125", 0, "no description", 60.2], ["1126", "I7N3G6G", "1126", 0, "no description", 60.2], ["1127", "I7N3G6G", "1127", 0, "no description", 60.2], ["1128", "I7N3G6G", "1128", 0, "no description", 60.2], ["1129", "I7N3G6G", "1129", 0, "no description", 60.2], ["1130", "I7N3G6G", "1130", 0, "no description", 60.2], ["1131", "I7N3G6G", "1131", 0, "no description", 60.2], ["1132", "I7N3G6G", "1132", 0, "no description", 60.2], ["1133", "I7N3G6G", "1133", 0, "no description", 60.2], ["1134", "I7N3G6G", "1134", 0, "no description", 60.2], ["1135", "I7N3G6G", "1135", 0, "no description", 60.2], ["1136", "I7N3G6G", "1136", 0, "no description", 60.2], ["1137", "I7N3G6G", "1137", 0, "no description", 60.2], ["1138", "I7N3G6G", "1138", 0, "no description", 60.2], ["1139", "I7N3G6G", "1139", 0, "no description", 60.2], ["1140", "I7N3G6G", "1140", 0, "no description", 60.2], ["1141", "I7N3G6G", "1141", 0, "no description", 60.2], ["1142", "I7N3G6G", "1142", 0, "no description", 60.2], ["1143", "I7N3G6G", "1143", 0, "no description", 60.2], ["1144", "I7N3G6G", "1144", 0, "no description", 60.2], ["1145", "I7N3G6G", "1145", 0, "no description", 60.2], ["1146", "I7N3G6G", "1146", 0, "no description", 60.2], ["1147", "I7N3G6G", "1147", 0, "no description", 60.2], ["1148", "I7N3G6G", "1148", 0, "no description", 60.2], ["1149", "I7N3G6G", "1149", 0, "no description", 60.2], ["1150", "I7N3G6G", "1150", 0, "no description", 60.2], ["1151", "I7N3G6G", "1151", 0, "no description", 60.2], ["1152", "I7N3G6G", "1152", 0, "no description", 60.2], ["1153", "I7N3G6G", "1153", 0, "no description", 60.2], ["1154", "I7N3G6G", "1154", 0, "no description", 60.2], ["1155", "I7N3G6G", "1155", 0, "no description", 60.2], ["1156", "I7N3G6G", "1156", 0, "no description", 60.2], ["1157", "I7N3G6G", "1157", 0, "no description", 60.2], ["1158", "I7N3G6G", "1158", 0, "no description", 60.2], ["1159", "I7N3G6G", "1159", 0, "no description", 60.2], ["1160", "I7N3G6G", "1160", 0, "no description", 60.2], ["1161", "I7N3G6G", "1161", 0, "no description", 60.2], ["1162", "I7N3G6G", "1162", 0, "no description", 60.2], ["1163", "I7N3G6G", "1163", 0, "no description", 60.2], ["1164", "I7N3G6G", "1164", 0, "no description", 60.2], ["1165", "I7N3G6G", "1165", 0, "no description", 60.2], ["1166", "I7N3G6G", "1166", 0, "no description", 60.2], ["1167", "I7N3G6G", "1167", 0, "no description", 60.2], ["1168", "I7N3G6G", "1168", 0, "no description", 60.2], ["1169", "I7N3G6G", "1169", 0, "no description", 60.2], ["1170", "I7N3G6G", "1170", 0, "no description", 60.2], ["1171", "I7N3G6G", "1171", 0, "no description", 60.2], ["1172", "I7N3G6G", "1172", 0, "no description", 60.2], ["1173", "I7N3G6G", "1173", 0, "no description", 60.2], ["1174", "I7N3G6G", "1174", 0, "no description", 60.2], ["1175", "I7N3G6G", "1175", 0, "no description", 60.2], ["1176", "I7N3G6G", "1176", 0, "no description", 60.2], ["1177", "I7N3G6G", "1177", 0, "no description", 60.2], ["1178", "I7N3G6G", "1178", 0, "no description", 60.2], ["1179", "I7N3G6G", "1179", 0, "no description", 60.2], ["1180", "I7N3G6G", "1180", 0, "no description", 60.2], ["1181", "I7N3G6G", "1181", 0, "no description", 60.2], ["1182", "I7N3G6G", "1182", 0, "no description", 60.2], ["1183", "I7N3G6G", "1183", 0, "no description", 60.2], ["1184", "I7N3G6G", "1184", 0, "no description", 60.2], ["1185", "I7N3G6G", "1185", 0, "no description", 60.2], ["1186", "I7N3G6G", "1186", 0, "no description", 60.2], ["1187", "I7N3G6G", "1187", 0, "no description", 60.2], ["1188", "I7N3G6G", "1188", 0, "no description", 60.2], ["1189", "I7N3G6G", "1189", 0, "no description", 60.2], ["1190", "I7N3G6G", "1190", 0, "no description", 60.2], ["1191", "I7N3G6G", "1191", 0, "no description", 60.2], ["1192", "I7N3G6G", "1192", 0, "no description", 60.2], ["1193", "I7N3G6G", "1193", 0, "no description", 60.2], ["1194", "I7N3G6G", "1194", 0, "no description", 60.2], ["1195", "I7N3G6G", "1195", 0, "no description", 60.2], ["1196", "I7N3G6G", "1196", 0, "no description", 60.2], ["1197", "I7N3G6G", "1197", 0, "no description", 60.2], ["1198", "I7N3G6G", "1198", 0, "no description", 60.2], ["1199", "I7N3G6G", "1199", 0, "no description", 60.2], ["1200", "I7N3G6G", "1200", 0, "no description", 60.2], ["1201", "I7N3G6G", "1201", 0, "no description", 60.2], ["1202", "I7N3G6G", "1202", 0, "no description", 60.2], ["1203", "I7N3G6G", "1203", 0, "no description", 60.2], ["1204", "I7N3G6G", "1204", 0, "no description", 60.2], ["1205", "I7N3G6G", "1205", 0, "no description", 60.2], ["1206", "I7N3G6G", "1206", 0, "no description", 60.2], ["1207", "I7N3G6G", "1207", 0, "no description", 60.2], ["1208", "I7N3G6G", "1208", 0, "no description", 60.2], ["1209", "I7N3G6G", "1209", 0, "no description", 60.2], ["1210", "I7N3G6G", "1210", 0, "no description", 60.2], ["1211", "I7N3G6G", "1211", 0, "no description", 60.2], ["1212", "I7N3G6G", "1212", 0, "no description", 60.2], ["1213", "I7N3G6G", "1213", 0, "no description", 60.2], ["1214", "I7N3G6G", "1214", 0, "no description", 60.2], ["1215", "I7N3G6G", "1215", 0, "no description", 60.2], ["1216", "I7N3G6G", "1216", 0, "no description", 60.2], ["1217", "I7N3G6G", "1217", 0, "no description", 60.2], ["1218", "I7N3G6G", "1218", 0, "no description", 60.2], ["1219", "I7N3G6G", "1219", 0, "no description", 60.2], ["1220", "I7N3G6G", "1220", 0, "no description", 60.2], ["1221", "I7N3G6G", "1221", 0, "no description", 60.2], ["1222", "I7N3G6G", "1222", 0, "no description", 60.2], ["1223", "I7N3G6G", "1223", 0, "no description", 60.2], ["1224", "I7N3G6G", "1224", 0, "no description", 60.2], ["1225", "I7N3G6G", "1225", 0, "no description", 60.2], ["1226", "I7N3G6G", "1226", 0, "no description", 60.2], ["1227", "I7N3G6G", "1227", 0, "no description", 60.2], ["1228", "I7N3G6G", "1228", 0, "no description", 60.2], ["1229", "I7N3G6G", "1229", 0, "no description", 60.2], ["1230", "I7N3G6G", "1230", 0, "no description", 60.2], ["1231", "I7N3G6G", "1231", 0, "no description", 60.2], ["1232", "I7N3G6G", "1232", 0, "no description", 60.2], ["1233", "I7N3G6G", "1233", 0, "no description", 60.2], ["1234", "I7N3G6G", "1234", 0, "no description", 60.2], ["1235", "I7N3G6G", "1235", 0, "no description", 60.2], ["1236", "I7N3G6G", "1236", 0, "no description", 60.2], ["1237", "I7N3G6G", "1237", 0, "no description", 60.2], ["1238", "I7N3G6G", "1238", 0, "no description", 60.2], ["1239", "I7N3G6G", "1239", 0, "no description", 60.2], ["1240", "I7N3G6G", "1240", 0, "no description", 60.2], ["1241", "I7N3G6G", "1241", 0, "no description", 60.2], ["1242", "I7N3G6G", "1242", 0, "no description", 60.2], ["1243", "I7N3G6G", "1243", 0, "no description", 60.2], ["1244", "I7N3G6G", "1244", 0, "no description", 60.2], ["1245", "I7N3G6G", "1245", 0, "no description", 60.2], ["1246", "I7N3G6G", "1246", 0, "no description", 60.2], ["1247", "I7N3G6G", "1247", 0, "no description", 60.2], ["1248", "I7N3G6G", "1248", 0, "no description", 60.2], ["1249", "I7N3G6G", "1249", 0, "no description", 60.2], ["1250", "I7N3G6G", "1250", 0, "no description", 60.2], ["1251", "I7N3G6G", "1251", 0, "no description", 60.2], ["1252", "I7N3G6G", "1252", 0, "no description", 60.2], ["1253", "I7N3G6G", "1253", 0, "no description", 60.2], ["1254", "I7N3G6G", "1254", 0, "no description", 60.2], ["1255", "I7N3G6G", "1255", 0, "no description", 60.2], ["1256", "I7N3G6G", "1256", 0, "no description", 60.2], ["1257", "I7N3G6G", "1257", 0, "no description", 60.2], ["1258", "I7N3G6G", "1258", 0, "no description", 60.2], ["1259", "I7N3G6G", "1259", 0, "no description", 60.2], ["1260", "I7N3G6G", "1260", 0, "no description", 60.2], ["1261", "I7N3G6G", "1261", 0, "no description", 60.2], ["1262", "I7N3G6G", "1262", 0, "no description", 60.2], ["1263", "I7N3G6G", "1263", 0, "no description", 60.2], ["1264", "I7N3G6G", "1264", 0, "no description", 60.2], ["1265", "I7N3G6G", "1265", 0, "no description", 60.2], ["1266", "I7N3G6G", "1266", 0, "no description", 60.2], ["1267", "I7N3G6G", "1267", 0, "no description", 60.2], ["1268", "I7N3G6G", "1268", 0, "no description", 60.2], ["1269", "I7N3G6G", "1269", 0, "no description", 60.2], ["1270", "I7N3G6G", "1270", 0, "no description", 60.2], ["1271", "I7N3G6G", "1271", 0, "no description", 60.2], ["1272", "I7N3G6G", "1272", 0, "no description", 60.2], ["1273", "I7N3G6G", "1273", 0, "no description", 60.2], ["1274", "I7N3G6G", "1274", 0, "no description", 60.2], ["1275", "I7N3G6G", "1275", 0, "no description", 60.2], ["1276", "I7N3G6G", "1276", 0, "no description", 60.2], ["1277", "I7N3G6G", "1277", 0, "no description", 60.2], ["1278", "I7N3G6G", "1278", 0, "no description", 60.2], ["1279", "I7N3G6G", "1279", 0, "no description", 60.2], ["1280", "I7N3G6G", "1280", 0, "no description", 60.2], ["1281", "I7N3G6G", "1281", 0, "no description", 60.2], ["1282", "I7N3G6G", "1282", 0, "no description", 60.2], ["1283", "I7N3G6G", "1283", 0, "no description", 60.2], ["1284", "I7N3G6G", "1284", 0, "no description", 60.2], ["1285", "I7N3G6G", "1285", 0, "no description", 60.2], ["1286", "I7N3G6G", "1286", 0, "no description", 60.2], ["1287", "I7N3G6G", "1287", 0, "no description", 60.2], ["1288", "I7N3G6G", "1288", 0, "no description", 60.2], ["1289", "I7N3G6G", "1289", 0, "no description", 60.2], ["1290", "I7N3G6G", "1290", 0, "no description", 60.2], ["1291", "I7N3G6G", "1291", 0, "no description", 60.2], ["1292", "I7N3G6G", "1292", 0, "no description", 60.2], ["1293", "I7N3G6G", "1293", 0, "no description", 60.2], ["1294", "I7N3G6G", "1294", 0, "no description", 60.2], ["1295", "I7N3G6G", "1295", 0, "no description", 60.2], ["1296", "I7N3G6G", "1296", 0, "no description", 60.2], ["1297", "I7N3G6G", "1297", 0, "no description", 60.2], ["1298", "I7N3G6G", "1298", 0, "no description", 60.2], ["1299", "I7N3G6G", "1299", 0, "no description", 60.2], ["1300", "I7N3G6G", "1300", 0, "no description", 60.2], ["1301", "I7N3G6G", "1301", 0, "no description", 60.2], ["1302", "I7N3G6G", "1302", 0, "no description", 60.2], ["1303", "I7N3G6G", "1303", 0, "no description", 60.2], ["1304", "I7N3G6G", "1304", 0, "no description", 60.2], ["1305", "I7N3G6G", "1305", 0, "no description", 60.2], ["1306", "I7N3G6G", "1306", 0, "no description", 60.2], ["1307", "I7N3G6G", "1307", 0, "no description", 60.2], ["1308", "I7N3G6G", "1308", 0, "no description", 60.2], ["1309", "I7N3G6G", "1309", 0, "no description", 60.2], ["1310", "I7N3G6G", "1310", 0, "no description", 60.2], ["1311", "I7N3G6G", "1311", 0, "no description", 60.2], ["1312", "I7N3G6G", "1312", 0, "no description", 60.2], ["1313", "I7N3G6G", "1313", 0, "no description", 60.2], ["1314", "I7N3G6G", "1314", 0, "no description", 60.2], ["1315", "I7N3G6G", "1315", 0, "no description", 60.2], ["1316", "I7N3G6G", "1316", 0, "no description", 60.2], ["1317", "I7N3G6G", "1317", 0, "no description", 60.2], ["1318", "I7N3G6G", "1318", 0, "no description", 60.2], ["1319", "I7N3G6G", "1319", 0, "no description", 60.2], ["1320", "I7N3G6G", "1320", 0, "no description", 60.2], ["1321", "I7N3G6G", "1321", 0, "no description", 60.2], ["1322", "I7N3G6G", "1322", 0, "no description", 60.2], ["1323", "I7N3G6G", "1323", 0, "no description", 60.2], ["1324", "I7N3G6G", "1324", 0, "no description", 60.2], ["1325", "I7N3G6G", "1325", 0, "no description", 60.2], ["1326", "I7N3G6G", "1326", 0, "no description", 60.2], ["1327", "I7N3G6G", "1327", 0, "no description", 60.2], ["1328", "I7N3G6G", "1328", 0, "no description", 60.2], ["1329", "I7N3G6G", "1329", 0, "no description", 60.2], ["1330", "I7N3G6G", "1330", 0, "no description", 60.2], ["1331", "I7N3G6G", "1331", 0, "no description", 60.2], ["1332", "I7N3G6G", "1332", 0, "no description", 60.2], ["1333", "I7N3G6G", "1333", 0, "no description", 60.2], ["1334", "I7N3G6G", "1334", 0, "no description", 60.2], ["1335", "I7N3G6G", "1335", 0, "no description", 60.2], ["1336", "I7N3G6G", "1336", 0, "no description", 60.2], ["1337", "I7N3G6G", "1337", 0, "no description", 60.2], ["1338", "I7N3G6G", "1338", 0, "no description", 60.2], ["1339", "I7N3G6G", "1339", 0, "no description", 60.2], ["1340", "I7N3G6G", "1340", 0, "no description", 60.2], ["1341", "I7N3G6G", "1341", 0, "no description", 60.2], ["1342", "I7N3G6G", "1342", 0, "no description", 60.2], ["1343", "I7N3G6G", "1343", 0, "no description", 60.2], ["1344", "I7N3G6G", "1344", 0, "no description", 60.2], ["1345", "I7N3G6G", "1345", 0, "no description", 60.2], ["1346", "I7N3G6G", "1346", 0, "no description", 60.2], ["1347", "I7N3G6G", "1347", 0, "no description", 60.2], ["1348", "I7N3G6G", "1348", 0, "no description", 60.2], ["1349", "I7N3G6G", "1349", 0, "no description", 60.2], ["1350", "I7N3G6G", "1350", 0, "no description", 60.2], ["1351", "I7N3G6G", "1351", 0, "no description", 60.2], ["1352", "I7N3G6G", "1352", 0, "no description", 60.2], ["1353", "I7N3G6G", "1353", 0, "no description", 60.2], ["1354", "I7N3G6G", "1354", 0, "no description", 60.2], ["1355", "I7N3G6G", "1355", 0, "no description", 60.2], ["1356", "I7N3G6G", "1356", 0, "no description", 60.2], ["1357", "I7N3G6G", "1357", 0, "no description", 60.2], ["1358", "I7N3G6G", "1358", 0, "no description", 60.2], ["1359", "I7N3G6G", "1359", 0, "no description", 60.2], ["1360", "I7N3G6G", "1360", 0, "no description", 60.2], ["1361", "I7N3G6G", "1361", 0, "no description", 60.2], ["1362", "I7N3G6G", "1362", 0, "no description", 60.2], ["1363", "I7N3G6G", "1363", 0, "no description", 60.2], ["1364", "I7N3G6G", "1364", 0, "no description", 60.2], ["1365", "I7N3G6G", "1365", 0, "no description", 60.2], ["1366", "I7N3G6G", "1366", 0, "no description", 60.2], ["1367", "I7N3G6G", "1367", 0, "no description", 60.2], ["1368", "I7N3G6G", "1368", 0, "no description", 60.2], ["1369", "I7N3G6G", "1369", 0, "no description", 60.2], ["1370", "I7N3G6G", "1370", 0, "no description", 60.2], ["1371", "I7N3G6G", "1371", 0, "no description", 60.2], ["1372", "I7N3G6G", "1372", 0, "no description", 60.2], ["1373", "I7N3G6G", "1373", 0, "no description", 60.2], ["1374", "I7N3G6G", "1374", 0, "no description", 60.2], ["1375", "I7N3G6G", "1375", 0, "no description", 60.2], ["1376", "I7N3G6G", "1376", 0, "no description", 60.2], ["1377", "I7N3G6G", "1377", 0, "no description", 60.2], ["1378", "I7N3G6G", "1378", 0, "no description", 60.2], ["1379", "I7N3G6G", "1379", 0, "no description", 60.2], ["1380", "I7N3G6G", "1380", 0, "no description", 60.2], ["1381", "I7N3G6G", "1381", 0, "no description", 60.2], ["1382", "I7N3G6G", "1382", 0, "no description", 60.2], ["1383", "I7N3G6G", "1383", 0, "no description", 60.2], ["1384", "I7N3G6G", "1384", 0, "no description", 60.2], ["1385", "I7N3G6G", "1385", 0, "no description", 60.2], ["1386", "I7N3G6G", "1386", 0, "no description", 60.2], ["1387", "I7N3G6G", "1387", 0, "no description", 60.2], ["1388", "I7N3G6G", "1388", 0, "no description", 60.2], ["1389", "I7N3G6G", "1389", 0, "no description", 60.2], ["1390", "I7N3G6G", "1390", 0, "no description", 60.2], ["1391", "I7N3G6G", "1391", 0, "no description", 60.2], ["1392", "I7N3G6G", "1392", 0, "no description", 60.2], ["1393", "I7N3G6G", "1393", 0, "no description", 60.2], ["1394", "I7N3G6G", "1394", 0, "no description", 60.2], ["1395", "I7N3G6G", "1395", 0, "no description", 60.2], ["1396", "I7N3G6G", "1396", 0, "no description", 60.2], ["1397", "I7N3G6G", "1397", 0, "no description", 60.2], ["1398", "I7N3G6G", "1398", 0, "no description", 60.2], ["1399", "I7N3G6G", "1399", 0, "no description", 60.2], ["1400", "I7N3G6G", "1400", 0, "no description", 60.2], ["1401", "I7N3G6G", "1401", 0, "no description", 60.2], ["1402", "I7N3G6G", "1402", 0, "no description", 60.2], ["1403", "I7N3G6G", "1403", 0, "no description", 60.2], ["1404", "I7N3G6G", "1404", 0, "no description", 60.2], ["1405", "I7N3G6G", "1405", 0, "no description", 60.2], ["1406", "I7N3G6G", "1406", 0, "no description", 60.2], ["1407", "I7N3G6G", "1407", 0, "no description", 60.2], ["1408", "I7N3G6G", "1408", 0, "no description", 60.2], ["1409", "I7N3G6G", "1409", 0, "no description", 60.2], ["1410", "I7N3G6G", "1410", 0, "no description", 60.2], ["1411", "I7N3G6G", "1411", 0, "no description", 60.2], ["1412", "I7N3G6G", "1412", 0, "no description", 60.2], ["1413", "I7N3G6G", "1413", 0, "no description", 60.2], ["1414", "I7N3G6G", "1414", 0, "no description", 60.2], ["1415", "I7N3G6G", "1415", 0, "no description", 60.2], ["1416", "I7N3G6G", "1416", 0, "no description", 60.2], ["1417", "I7N3G6G", "1417", 0, "no description", 60.2], ["1418", "I7N3G6G", "1418", 0, "no description", 60.2], ["1419", "I7N3G6G", "1419", 0, "no description", 60.2], ["1420", "I7N3G6G", "1420", 0, "no description", 60.2], ["1421", "I7N3G6G", "1421", 0, "no description", 60.2], ["1422", "I7N3G6G", "1422", 0, "no description", 60.2], ["1423", "I7N3G6G", "1423", 0, "no description", 60.2], ["1424", "I7N3G6G", "1424", 0, "no description", 60.2], ["1425", "I7N3G6G", "1425", 0, "no description", 60.2], ["1426", "I7N3G6G", "1426", 0, "no description", 60.2], ["1427", "I7N3G6G", "1427", 0, "no description", 60.2], ["1428", "I7N3G6G", "1428", 0, "no description", 60.2], ["1429", "I7N3G6G", "1429", 0, "no description", 60.2], ["1430", "I7N3G6G", "1430", 0, "no description", 60.2], ["1431", "I7N3G6G", "1431", 0, "no description", 60.2], ["1432", "I7N3G6G", "1432", 0, "no description", 60.2], ["1433", "I7N3G6G", "1433", 0, "no description", 60.2], ["1434", "I7N3G6G", "1434", 0, "no description", 60.2], ["1435", "I7N3G6G", "1435", 0, "no description", 60.2], ["1436", "I7N3G6G", "1436", 0, "no description", 60.2], ["1437", "I7N3G6G", "1437", 0, "no description", 60.2], ["1438", "I7N3G6G", "1438", 0, "no description", 60.2], ["1439", "I7N3G6G", "1439", 0, "no description", 60.2], ["1440", "I7N3G6G", "1440", 0, "no description", 60.2], ["1441", "I7N3G6G", "1441", 0, "no description", 60.2], ["1442", "I7N3G6G", "1442", 0, "no description", 60.2], ["1443", "I7N3G6G", "1443", 0, "no description", 60.2], ["1444", "I7N3G6G", "1444", 0, "no description", 60.2], ["1445", "I7N3G6G", "1445", 0, "no description", 60.2], ["1446", "I7N3G6G", "1446", 0, "no description", 60.2], ["1447", "I7N3G6G", "1447", 0, "no description", 60.2], ["1448", "I7N3G6G", "1448", 0, "no description", 60.2], ["1449", "I7N3G6G", "1449", 0, "no description", 60.2], ["1450", "I7N3G6G", "1450", 0, "no description", 60.2], ["1451", "I7N3G6G", "1451", 0, "no description", 60.2], ["1452", "I7N3G6G", "1452", 0, "no description", 60.2], ["1453", "I7N3G6G", "1453", 0, "no description", 60.2], ["1454", "I7N3G6G", "1454", 0, "no description", 60.2], ["1455", "I7N3G6G", "1455", 0, "no description", 60.2], ["1456", "I7N3G6G", "1456", 0, "no description", 60.2], ["1457", "I7N3G6G", "1457", 0, "no description", 60.2], ["1458", "I7N3G6G", "1458", 0, "no description", 60.2], ["1459", "I7N3G6G", "1459", 0, "no description", 60.2], ["1460", "I7N3G6G", "1460", 0, "no description", 60.2], ["1461", "I7N3G6G", "1461", 0, "no description", 60.2], ["1462", "I7N3G6G", "1462", 0, "no description", 60.2], ["1463", "I7N3G6G", "1463", 0, "no description", 60.2], ["1464", "I7N3G6G", "1464", 0, "no description", 60.2], ["1465", "I7N3G6G", "1465", 0, "no description", 60.2], ["1466", "I7N3G6G", "1466", 0, "no description", 60.2], ["1467", "I7N3G6G", "1467", 0, "no description", 60.2], ["1468", "I7N3G6G", "1468", 0, "no description", 60.2], ["1469", "I7N3G6G", "1469", 0, "no description", 60.2], ["1470", "I7N3G6G", "1470", 0, "no description", 60.2], ["1471", "I7N3G6G", "1471", 0, "no description", 60.2], ["1472", "I7N3G6G", "1472", 0, "no description", 60.2], ["1473", "I7N3G6G", "1473", 0, "no description", 60.2], ["1474", "I7N3G6G", "1474", 0, "no description", 60.2], ["1475", "I7N3G6G", "1475", 0, "no description", 60.2], ["1476", "I7N3G6G", "1476", 0, "no description", 60.2], ["1477", "I7N3G6G", "1477", 0, "no description", 60.2], ["1478", "I7N3G6G", "1478", 0, "no description", 60.2], ["1479", "I7N3G6G", "1479", 0, "no description", 60.2], ["1480", "I7N3G6G", "1480", 0, "no description", 60.2], ["1481", "I7N3G6G", "1481", 0, "no description", 60.2], ["1482", "I7N3G6G", "1482", 0, "no description", 60.2], ["1483", "I7N3G6G", "1483", 0, "no description", 60.2], ["1484", "I7N3G6G", "1484", 0, "no description", 60.2], ["1485", "I7N3G6G", "1485", 0, "no description", 60.2], ["1486", "I7N3G6G", "1486", 0, "no description", 60.2], ["1487", "I7N3G6G", "1487", 0, "no description", 60.2], ["1488", "I7N3G6G", "1488", 0, "no description", 60.2], ["1489", "I7N3G6G", "1489", 0, "no description", 60.2], ["1490", "I7N3G6G", "1490", 0, "no description", 60.2], ["1491", "I7N3G6G", "1491", 0, "no description", 60.2], ["1492", "I7N3G6G", "1492", 0, "no description", 60.2], ["1493", "I7N3G6G", "1493", 0, "no description", 60.2], ["1494", "I7N3G6G", "1494", 0, "no description", 60.2], ["1495", "I7N3G6G", "1495", 0, "no description", 60.2], ["1496", "I7N3G6G", "1496", 0, "no description", 60.2], ["1497", "I7N3G6G", "1497", 0, "no description", 60.2], ["1498", "I7N3G6G", "1498", 0, "no description", 60.2], ["1499", "I7N3G6G", "1499", 0, "no description", 60.2], ["1500", "I7N3G6G", "1500", 0, "no description", 60.2], ["1501", "I7N3G6G", "1501", 0, "no description", 60.2], ["1502", "I7N3G6G", "1502", 0, "no description", 60.2], ["1503", "I7N3G6G", "1503", 0, "no description", 60.2], ["1504", "I7N3G6G", "1504", 0, "no description", 60.2], ["1505", "I7N3G6G", "1505", 0, "no description", 60.2], ["1506", "I7N3G6G", "1506", 0, "no description", 60.2], ["1507", "I7N3G6G", "1507", 0, "no description", 60.2], ["1508", "I7N3G6G", "1508", 0, "no description", 60.2], ["1509", "I7N3G6G", "1509", 0, "no description", 60.2], ["1510", "I7N3G6G", "1510", 0, "no description", 60.2], ["1511", "I7N3G6G", "1511", 0, "no description", 60.2], ["1512", "I7N3G6G", "1512", 0, "no description", 60.2], ["1513", "I7N3G6G", "1513", 0, "no description", 60.2], ["1514", "I7N3G6G", "1514", 0, "no description", 60.2], ["1515", "I7N3G6G", "1515", 0, "no description", 60.2], ["1516", "I7N3G6G", "1516", 0, "no description", 60.2], ["1517", "I7N3G6G", "1517", 0, "no description", 60.2], ["1518", "I7N3G6G", "1518", 0, "no description", 60.2], ["1519", "I7N3G6G", "1519", 0, "no description", 60.2], ["1520", "I7N3G6G", "1520", 0, "no description", 60.2], ["1521", "I7N3G6G", "1521", 0, "no description", 60.2], ["1522", "I7N3G6G", "1522", 0, "no description", 60.2], ["1523", "I7N3G6G", "1523", 0, "no description", 60.2], ["1524", "I7N3G6G", "1524", 0, "no description", 60.2], ["1525", "I7N3G6G", "1525", 0, "no description", 60.2], ["1526", "I7N3G6G", "1526", 0, "no description", 60.2], ["1527", "I7N3G6G", "1527", 0, "no description", 60.2], ["1528", "I7N3G6G", "1528", 0, "no description", 60.2], ["1529", "I7N3G6G", "1529", 0, "no description", 60.2], ["1530", "I7N3G6G", "1530", 0, "no description", 60.2], ["1531", "I7N3G6G", "1531", 0, "no description", 60.2], ["1532", "I7N3G6G", "1532", 0, "no description", 60.2], ["1533", "I7N3G6G", "1533", 0, "no description", 60.2], ["1534", "I7N3G6G", "1534", 0, "no description", 60.2], ["1535", "I7N3G6G", "1535", 0, "no description", 60.2], ["1536", "I7N3G6G", "1536", 0, "no description", 60.2], ["1537", "I7N3G6G", "1537", 0, "no description", 60.2], ["1538", "I7N3G6G", "1538", 0, "no description", 60.2], ["1539", "I7N3G6G", "1539", 0, "no description", 60.2], ["1540", "I7N3G6G", "1540", 0, "no description", 60.2], ["1541", "I7N3G6G", "1541", 0, "no description", 60.2], ["1542", "I7N3G6G", "1542", 0, "no description", 60.2], ["1543", "I7N3G6G", "1543", 0, "no description", 60.2], ["1544", "I7N3G6G", "1544", 0, "no description", 60.2], ["1545", "I7N3G6G", "1545", 0, "no description", 60.2], ["1546", "I7N3G6G", "1546", 0, "no description", 60.2], ["1547", "I7N3G6G", "1547", 0, "no description", 60.2], ["1548", "I7N3G6G", "1548", 0, "no description", 60.2], ["1549", "I7N3G6G", "1549", 0, "no description", 60.2], ["1550", "I7N3G6G", "1550", 0, "no description", 60.2], ["1551", "I7N3G6G", "1551", 0, "no description", 60.2], ["1552", "I7N3G6G", "1552", 0, "no description", 60.2], ["1553", "I7N3G6G", "1553", 0, "no description", 60.2], ["1554", "I7N3G6G", "1554", 0, "no description", 60.2], ["1555", "I7N3G6G", "1555", 0, "no description", 60.2], ["1556", "I7N3G6G", "1556", 0, "no description", 60.2], ["1557", "I7N3G6G", "1557", 0, "no description", 60.2], ["1558", "I7N3G6G", "1558", 0, "no description", 60.2], ["1559", "I7N3G6G", "1559", 0, "no description", 60.2], ["1560", "I7N3G6G", "1560", 0, "no description", 60.2], ["1561", "I7N3G6G", "1561", 0, "no description", 60.2], ["1562", "I7N3G6G", "1562", 0, "no description", 60.2], ["1563", "I7N3G6G", "1563", 0, "no description", 60.2], ["1564", "I7N3G6G", "1564", 0, "no description", 60.2], ["1565", "I7N3G6G", "1565", 0, "no description", 60.2], ["1566", "I7N3G6G", "1566", 0, "no description", 60.2], ["1567", "I7N3G6G", "1567", 0, "no description", 60.2], ["1568", "I7N3G6G", "1568", 0, "no description", 60.2], ["1569", "I7N3G6G", "1569", 0, "no description", 60.2], ["1570", "I7N3G6G", "1570", 0, "no description", 60.2], ["1571", "I7N3G6G", "1571", 0, "no description", 60.2], ["1572", "I7N3G6G", "1572", 0, "no description", 60.2], ["1573", "I7N3G6G", "1573", 0, "no description", 60.2], ["1574", "I7N3G6G", "1574", 0, "no description", 60.2], ["1575", "I7N3G6G", "1575", 0, "no description", 60.2], ["1576", "I7N3G6G", "1576", 0, "no description", 60.2], ["1577", "I7N3G6G", "1577", 0, "no description", 60.2], ["1578", "I7N3G6G", "1578", 0, "no description", 60.2], ["1579", "I7N3G6G", "1579", 0, "no description", 60.2], ["1580", "I7N3G6G", "1580", 0, "no description", 60.2], ["1581", "I7N3G6G", "1581", 0, "no description", 60.2], ["1582", "I7N3G6G", "1582", 0, "no description", 60.2], ["1583", "I7N3G6G", "1583", 0, "no description", 60.2], ["1584", "I7N3G6G", "1584", 0, "no description", 60.2], ["1585", "I7N3G6G", "1585", 0, "no description", 60.2], ["1586", "I7N3G6G", "1586", 0, "no description", 60.2], ["1587", "I7N3G6G", "1587", 0, "no description", 60.2], ["1588", "I7N3G6G", "1588", 0, "no description", 60.2], ["1589", "I7N3G6G", "1589", 0, "no description", 60.2], ["1590", "I7N3G6G", "1590", 0, "no description", 60.2], ["1591", "I7N3G6G", "1591", 0, "no description", 60.2], ["1592", "I7N3G6G", "1592", 0, "no description", 60.2], ["1593", "I7N3G6G", "1593", 0, "no description", 60.2], ["1594", "I7N3G6G", "1594", 0, "no description", 60.2], ["1595", "I7N3G6G", "1595", 0, "no description", 60.2], ["1596", "I7N3G6G", "1596", 0, "no description", 60.2], ["1597", "I7N3G6G", "1597", 0, "no description", 60.2], ["1598", "I7N3G6G", "1598", 0, "no description", 60.2], ["1599", "I7N3G6G", "1599", 0, "no description", 60.2], ["1600", "I7N3G6G", "1600", 0, "no description", 60.2], ["1601", "I7N3G6G", "1601", 0, "no description", 60.2], ["1602", "I7N3G6G", "1602", 0, "no description", 60.2], ["1603", "I7N3G6G", "1603", 0, "no description", 60.2], ["1604", "I7N3G6G", "1604", 0, "no description", 60.2], ["1605", "I7N3G6G", "1605", 0, "no description", 60.2], ["1606", "I7N3G6G", "1606", 0, "no description", 60.2], ["1607", "I7N3G6G", "1607", 0, "no description", 60.2], ["1608", "I7N3G6G", "1608", 0, "no description", 60.2], ["1609", "I7N3G6G", "1609", 0, "no description", 60.2], ["1610", "I7N3G6G", "1610", 0, "no description", 60.2], ["1611", "I7N3G6G", "1611", 0, "no description", 60.2], ["1612", "I7N3G6G", "1612", 0, "no description", 60.2], ["1613", "I7N3G6G", "1613", 0, "no description", 60.2], ["1614", "I7N3G6G", "1614", 0, "no description", 60.2], ["1615", "I7N3G6G", "1615", 0, "no description", 60.2], ["1616", "I7N3G6G", "1616", 0, "no description", 60.2], ["1617", "I7N3G6G", "1617", 0, "no description", 60.2], ["1618", "I7N3G6G", "1618", 0, "no description", 60.2], ["1619", "I7N3G6G", "1619", 0, "no description", 60.2], ["1620", "I7N3G6G", "1620", 0, "no description", 60.2], ["1621", "I7N3G6G", "1621", 0, "no description", 60.2], ["1622", "I7N3G6G", "1622", 0, "no description", 60.2], ["1623", "I7N3G6G", "1623", 0, "no description", 60.2], ["1624", "I7N3G6G", "1624", 0, "no description", 60.2], ["1625", "I7N3G6G", "1625", 0, "no description", 60.2], ["1626", "I7N3G6G", "1626", 0, "no description", 60.2], ["1627", "I7N3G6G", "1627", 0, "no description", 60.2], ["1628", "I7N3G6G", "1628", 0, "no description", 60.2], ["1629", "I7N3G6G", "1629", 0, "no description", 60.2], ["1630", "I7N3G6G", "1630", 0, "no description", 60.2], ["1631", "I7N3G6G", "1631", 0, "no description", 60.2], ["1632", "I7N3G6G", "1632", 0, "no description", 60.2], ["1633", "I7N3G6G", "1633", 0, "no description", 60.2], ["1634", "I7N3G6G", "1634", 0, "no description", 60.2], ["1635", "I7N3G6G", "1635", 0, "no description", 60.2], ["1636", "I7N3G6G", "1636", 0, "no description", 60.2], ["1637", "I7N3G6G", "1637", 0, "no description", 60.2], ["1638", "I7N3G6G", "1638", 0, "no description", 60.2], ["1639", "I7N3G6G", "1639", 0, "no description", 60.2], ["1640", "I7N3G6G", "1640", 0, "no description", 60.2], ["1641", "I7N3G6G", "1641", 0, "no description", 60.2], ["1642", "I7N3G6G", "1642", 0, "no description", 60.2], ["1643", "I7N3G6G", "1643", 0, "no description", 60.2], ["1644", "I7N3G6G", "1644", 0, "no description", 60.2], ["1645", "I7N3G6G", "1645", 0, "no description", 60.2], ["1646", "I7N3G6G", "1646", 0, "no description", 60.2], ["1647", "I7N3G6G", "1647", 0, "no description", 60.2], ["1648", "I7N3G6G", "1648", 0, "no description", 60.2], ["1649", "I7N3G6G", "1649", 0, "no description", 60.2], ["1650", "I7N3G6G", "1650", 0, "no description", 60.2], ["1651", "I7N3G6G", "1651", 0, "no description", 60.2], ["1652", "I7N3G6G", "1652", 0, "no description", 60.2], ["1653", "I7N3G6G", "1653", 0, "no description", 60.2], ["1654", "I7N3G6G", "1654", 0, "no description", 60.2], ["1655", "I7N3G6G", "1655", 0, "no description", 60.2], ["1656", "I7N3G6G", "1656", 0, "no description", 60.2], ["1657", "I7N3G6G", "1657", 0, "no description", 60.2], ["1658", "I7N3G6G", "1658", 0, "no description", 60.2], ["1659", "I7N3G6G", "1659", 0, "no description", 60.2], ["1660", "I7N3G6G", "1660", 0, "no description", 60.2], ["1661", "I7N3G6G", "1661", 0, "no description", 60.2], ["1662", "I7N3G6G", "1662", 0, "no description", 60.2], ["1663", "I7N3G6G", "1663", 0, "no description", 60.2], ["1664", "I7N3G6G", "1664", 0, "no description", 60.2], ["1665", "I7N3G6G", "1665", 0, "no description", 60.2], ["1666", "I7N3G6G", "1666", 0, "no description", 60.2], ["1667", "I7N3G6G", "1667", 0, "no description", 60.2], ["1668", "I7N3G6G", "1668", 0, "no description", 60.2], ["1669", "I7N3G6G", "1669", 0, "no description", 60.2], ["1670", "I7N3G6G", "1670", 0, "no description", 60.2], ["1671", "I7N3G6G", "1671", 0, "no description", 60.2], ["1672", "I7N3G6G", "1672", 0, "no description", 60.2], ["1673", "I7N3G6G", "1673", 0, "no description", 60.2], ["1674", "I7N3G6G", "1674", 0, "no description", 60.2], ["1675", "I7N3G6G", "1675", 0, "no description", 60.2], ["1676", "I7N3G6G", "1676", 0, "no description", 60.2], ["1677", "I7N3G6G", "1677", 0, "no description", 60.2], ["1678", "I7N3G6G", "1678", 0, "no description", 60.2], ["1679", "I7N3G6G", "1679", 0, "no description", 60.2], ["1680", "I7N3G6G", "1680", 0, "no description", 60.2], ["1681", "I7N3G6G", "1681", 0, "no description", 60.2], ["1682", "I7N3G6G", "1682", 0, "no description", 60.2], ["1683", "I7N3G6G", "1683", 0, "no description", 60.2], ["1684", "I7N3G6G", "1684", 0, "no description", 60.2], ["1685", "I7N3G6G", "1685", 0, "no description", 60.2], ["1686", "I7N3G6G", "1686", 0, "no description", 60.2], ["1687", "I7N3G6G", "1687", 0, "no description", 60.2], ["1688", "I7N3G6G", "1688", 0, "no description", 60.2], ["1689", "I7N3G6G", "1689", 0, "no description", 60.2], ["1690", "I7N3G6G", "1690", 0, "no description", 60.2], ["1691", "I7N3G6G", "1691", 0, "no description", 60.2], ["1692", "I7N3G6G", "1692", 0, "no description", 60.2], ["1693", "I7N3G6G", "1693", 0, "no description", 60.2], ["1694", "I7N3G6G", "1694", 0, "no description", 60.2], ["1695", "I7N3G6G", "1695", 0, "no description", 60.2], ["1696", "I7N3G6G", "1696", 0, "no description", 60.2], ["1697", "I7N3G6G", "1697", 0, "no description", 60.2], ["1698", "I7N3G6G", "1698", 0, "no description", 60.2], ["1699", "I7N3G6G", "1699", 0, "no description", 60.2], ["1700", "I7N3G6G", "1700", 0, "no description", 60.2], ["1701", "I7N3G6G", "1701", 0, "no description", 60.2], ["1702", "I7N3G6G", "1702", 0, "no description", 60.2], ["1703", "I7N3G6G", "1703", 0, "no description", 60.2], ["1704", "I7N3G6G", "1704", 0, "no description", 60.2], ["1705", "I7N3G6G", "1705", 0, "no description", 60.2], ["1706", "I7N3G6G", "1706", 0, "no description", 60.2], ["1707", "I7N3G6G", "1707", 0, "no description", 60.2], ["1708", "I7N3G6G", "1708", 0, "no description", 60.2], ["1709", "I7N3G6G", "1709", 0, "no description", 60.2], ["1710", "I7N3G6G", "1710", 0, "no description", 60.2], ["1711", "I7N3G6G", "1711", 0, "no description", 60.2], ["1712", "I7N3G6G", "1712", 0, "no description", 60.2], ["1713", "I7N3G6G", "1713", 0, "no description", 60.2], ["1714", "I7N3G6G", "1714", 0, "no description", 60.2], ["1715", "I7N3G6G", "1715", 0, "no description", 60.2], ["1716", "I7N3G6G", "1716", 0, "no description", 60.2], ["1717", "I7N3G6G", "1717", 0, "no description", 60.2], ["1718", "I7N3G6G", "1718", 0, "no description", 60.2], ["1719", "I7N3G6G", "1719", 0, "no description", 60.2], ["1720", "I7N3G6G", "1720", 0, "no description", 60.2], ["1721", "I7N3G6G", "1721", 0, "no description", 60.2], ["1722", "I7N3G6G", "1722", 0, "no description", 60.2], ["1723", "I7N3G6G", "1723", 0, "no description", 60.2], ["1724", "I7N3G6G", "1724", 0, "no description", 60.2], ["1725", "I7N3G6G", "1725", 0, "no description", 60.2], ["1726", "I7N3G6G", "1726", 0, "no description", 60.2], ["1727", "I7N3G6G", "1727", 0, "no description", 60.2], ["1728", "I7N3G6G", "1728", 0, "no description", 60.2], ["1729", "I7N3G6G", "1729", 0, "no description", 60.2], ["1730", "I7N3G6G", "1730", 0, "no description", 60.2], ["1731", "I7N3G6G", "1731", 0, "no description", 60.2], ["1732", "I7N3G6G", "1732", 0, "no description", 60.2], ["1733", "I7N3G6G", "1733", 0, "no description", 60.2], ["1734", "I7N3G6G", "1734", 0, "no description", 60.2], ["1735", "I7N3G6G", "1735", 0, "no description", 60.2], ["1736", "I7N3G6G", "1736", 0, "no description", 60.2], ["1737", "I7N3G6G", "1737", 0, "no description", 60.2], ["1738", "I7N3G6G", "1738", 0, "no description", 60.2], ["1739", "I7N3G6G", "1739", 0, "no description", 60.2], ["1740", "I7N3G6G", "1740", 0, "no description", 60.2], ["1741", "I7N3G6G", "1741", 0, "no description", 60.2], ["1742", "I7N3G6G", "1742", 0, "no description", 60.2], ["1743", "I7N3G6G", "1743", 0, "no description", 60.2], ["1744", "I7N3G6G", "1744", 0, "no description", 60.2], ["1745", "I7N3G6G", "1745", 0, "no description", 60.2], ["1746", "I7N3G6G", "1746", 0, "no description", 60.2], ["1747", "I7N3G6G", "1747", 0, "no description", 60.2], ["1748", "I7N3G6G", "1748", 0, "no description", 60.2], ["1749", "I7N3G6G", "1749", 0, "no description", 60.2], ["1750", "I7N3G6G", "1750", 0, "no description", 60.2], ["1751", "I7N3G6G", "1751", 0, "no description", 60.2], ["1752", "I7N3G6G", "1752", 0, "no description", 60.2], ["1753", "I7N3G6G", "1753", 0, "no description", 60.2], ["1754", "I7N3G6G", "1754", 0, "no description", 60.2], ["1755", "I7N3G6G", "1755", 0, "no description", 60.2], ["1756", "I7N3G6G", "1756", 0, "no description", 60.2], ["1757", "I7N3G6G", "1757", 0, "no description", 60.2], ["1758", "I7N3G6G", "1758", 0, "no description", 60.2], ["1759", "I7N3G6G", "1759", 0, "no description", 60.2], ["1760", "I7N3G6G", "1760", 0, "no description", 60.2], ["1761", "I7N3G6G", "1761", 0, "no description", 60.2], ["1762", "I7N3G6G", "1762", 0, "no description", 60.2], ["1763", "I7N3G6G", "1763", 0, "no description", 60.2], ["1764", "I7N3G6G", "1764", 0, "no description", 60.2], ["1765", "I7N3G6G", "1765", 0, "no description", 60.2], ["1766", "I7N3G6G", "1766", 0, "no description", 60.2], ["1767", "I7N3G6G", "1767", 0, "no description", 60.2], ["1768", "I7N3G6G", "1768", 0, "no description", 60.2], ["1769", "I7N3G6G", "1769", 0, "no description", 60.2], ["1770", "I7N3G6G", "1770", 0, "no description", 60.2], ["1771", "I7N3G6G", "1771", 0, "no description", 60.2], ["1772", "I7N3G6G", "1772", 0, "no description", 60.2], ["1773", "I7N3G6G", "1773", 0, "no description", 60.2], ["1774", "I7N3G6G", "1774", 0, "no description", 60.2], ["1775", "I7N3G6G", "1775", 0, "no description", 60.2], ["1776", "I7N3G6G", "1776", 0, "no description", 60.2], ["1777", "I7N3G6G", "1777", 0, "no description", 60.2], ["1778", "I7N3G6G", "1778", 0, "no description", 60.2], ["1779", "I7N3G6G", "1779", 0, "no description", 60.2], ["1780", "I7N3G6G", "1780", 0, "no description", 60.2], ["1781", "I7N3G6G", "1781", 0, "no description", 60.2], ["1782", "I7N3G6G", "1782", 0, "no description", 60.2], ["1783", "I7N3G6G", "1783", 0, "no description", 60.2], ["1784", "I7N3G6G", "1784", 0, "no description", 60.2], ["1785", "I7N3G6G", "1785", 0, "no description", 60.2], ["1786", "I7N3G6G", "1786", 0, "no description", 60.2], ["1787", "I7N3G6G", "1787", 0, "no description", 60.2], ["1788", "I7N3G6G", "1788", 0, "no description", 60.2], ["1789", "I7N3G6G", "1789", 0, "no description", 60.2], ["1790", "I7N3G6G", "1790", 0, "no description", 60.2], ["1791", "I7N3G6G", "1791", 0, "no description", 60.2], ["1792", "I7N3G6G", "1792", 0, "no description", 60.2], ["1793", "I7N3G6G", "1793", 0, "no description", 60.2], ["1794", "I7N3G6G", "1794", 0, "no description", 60.2], ["1795", "I7N3G6G", "1795", 0, "no description", 60.2], ["1796", "I7N3G6G", "1796", 0, "no description", 60.2], ["1797", "I7N3G6G", "1797", 0, "no description", 60.2], ["1798", "I7N3G6G", "1798", 0, "no description", 60.2], ["1799", "I7N3G6G", "1799", 0, "no description", 60.2], ["1800", "I7N3G6G", "1800", 0, "no description", 60.2], ["1801", "I7N3G6G", "1801", 0, "no description", 60.2], ["1802", "I7N3G6G", "1802", 0, "no description", 60.2], ["1803", "I7N3G6G", "1803", 0, "no description", 60.2], ["1804", "I7N3G6G", "1804", 0, "no description", 60.2], ["1805", "I7N3G6G", "1805", 0, "no description", 60.2], ["1806", "I7N3G6G", "1806", 0, "no description", 60.2], ["1807", "I7N3G6G", "1807", 0, "no description", 60.2], ["1808", "I7N3G6G", "1808", 0, "no description", 60.2], ["1809", "I7N3G6G", "1809", 0, "no description", 60.2], ["1810", "I7N3G6G", "1810", 0, "no description", 60.2], ["1811", "I7N3G6G", "1811", 0, "no description", 60.2], ["1812", "I7N3G6G", "1812", 0, "no description", 60.2], ["1813", "I7N3G6G", "1813", 0, "no description", 60.2], ["1814", "I7N3G6G", "1814", 0, "no description", 60.2], ["1815", "I7N3G6G", "1815", 0, "no description", 60.2], ["1816", "I7N3G6G", "1816", 0, "no description", 60.2], ["1817", "I7N3G6G", "1817", 0, "no description", 60.2], ["1818", "I7N3G6G", "1818", 0, "no description", 60.2], ["1819", "I7N3G6G", "1819", 0, "no description", 60.2], ["1820", "I7N3G6G", "1820", 0, "no description", 60.2], ["1821", "I7N3G6G", "1821", 0, "no description", 60.2], ["1822", "I7N3G6G", "1822", 0, "no description", 60.2], ["1823", "I7N3G6G", "1823", 0, "no description", 60.2], ["1824", "I7N3G6G", "1824", 0, "no description", 60.2], ["1825", "I7N3G6G", "1825", 0, "no description", 60.2], ["1826", "I7N3G6G", "1826", 0, "no description", 60.2], ["1827", "I7N3G6G", "1827", 0, "no description", 60.2], ["1828", "I7N3G6G", "1828", 0, "no description", 60.2], ["1829", "I7N3G6G", "1829", 0, "no description", 60.2], ["1830", "I7N3G6G", "1830", 0, "no description", 60.2], ["1831", "I7N3G6G", "1831", 0, "no description", 60.2], ["1832", "I7N3G6G", "1832", 0, "no description", 60.2], ["1833", "I7N3G6G", "1833", 0, "no description", 60.2], ["1834", "I7N3G6G", "1834", 0, "no description", 60.2], ["1835", "I7N3G6G", "1835", 0, "no description", 60.2], ["1836", "I7N3G6G", "1836", 0, "no description", 60.2], ["1837", "I7N3G6G", "1837", 0, "no description", 60.2], ["1838", "I7N3G6G", "1838", 0, "no description", 60.2], ["1839", "I7N3G6G", "1839", 0, "no description", 60.2], ["1840", "I7N3G6G", "1840", 0, "no description", 60.2], ["1841", "I7N3G6G", "1841", 0, "no description", 60.2], ["1842", "I7N3G6G", "1842", 0, "no description", 60.2], ["1843", "I7N3G6G", "1843", 0, "no description", 60.2], ["1844", "I7N3G6G", "1844", 0, "no description", 60.2], ["1845", "I7N3G6G", "1845", 0, "no description", 60.2], ["1846", "I7N3G6G", "1846", 0, "no description", 60.2], ["1847", "I7N3G6G", "1847", 0, "no description", 60.2], ["1848", "I7N3G6G", "1848", 0, "no description", 60.2], ["1849", "I7N3G6G", "1849", 0, "no description", 60.2], ["1850", "I7N3G6G", "1850", 0, "no description", 60.2], ["1851", "I7N3G6G", "1851", 0, "no description", 60.2], ["1852", "I7N3G6G", "1852", 0, "no description", 60.2], ["1853", "I7N3G6G", "1853", 0, "no description", 60.2], ["1854", "I7N3G6G", "1854", 0, "no description", 60.2], ["1855", "I7N3G6G", "1855", 0, "no description", 60.2], ["1856", "I7N3G6G", "1856", 0, "no description", 60.2], ["1857", "I7N3G6G", "1857", 0, "no description", 60.2], ["1858", "I7N3G6G", "1858", 0, "no description", 60.2], ["1859", "I7N3G6G", "1859", 0, "no description", 60.2], ["1860", "I7N3G6G", "1860", 0, "no description", 60.2], ["1861", "I7N3G6G", "1861", 0, "no description", 60.2], ["1862", "I7N3G6G", "1862", 0, "no description", 60.2], ["1863", "I7N3G6G", "1863", 0, "no description", 60.2], ["1864", "I7N3G6G", "1864", 0, "no description", 60.2], ["1865", "I7N3G6G", "1865", 0, "no description", 60.2], ["1866", "I7N3G6G", "1866", 0, "no description", 60.2], ["1867", "I7N3G6G", "1867", 0, "no description", 60.2], ["1868", "I7N3G6G", "1868", 0, "no description", 60.2], ["1869", "I7N3G6G", "1869", 0, "no description", 60.2], ["1870", "I7N3G6G", "1870", 0, "no description", 60.2], ["1871", "I7N3G6G", "1871", 0, "no description", 60.2], ["1872", "I7N3G6G", "1872", 0, "no description", 60.2], ["1873", "I7N3G6G", "1873", 0, "no description", 60.2], ["1874", "I7N3G6G", "1874", 0, "no description", 60.2], ["1875", "I7N3G6G", "1875", 0, "no description", 60.2], ["1876", "I7N3G6G", "1876", 0, "no description", 60.2], ["1877", "I7N3G6G", "1877", 0, "no description", 60.2], ["1878", "I7N3G6G", "1878", 0, "no description", 60.2], ["1879", "I7N3G6G", "1879", 0, "no description", 60.2], ["1880", "I7N3G6G", "1880", 0, "no description", 60.2], ["1881", "I7N3G6G", "1881", 0, "no description", 60.2], ["1882", "I7N3G6G", "1882", 0, "no description", 60.2], ["1883", "I7N3G6G", "1883", 0, "no description", 60.2], ["1884", "I7N3G6G", "1884", 0, "no description", 60.2], ["1885", "I7N3G6G", "1885", 0, "no description", 60.2], ["1886", "I7N3G6G", "1886", 0, "no description", 60.2], ["1887", "I7N3G6G", "1887", 0, "no description", 60.2], ["1888", "I7N3G6G", "1888", 0, "no description", 60.2], ["1889", "I7N3G6G", "1889", 0, "no description", 60.2], ["1890", "I7N3G6G", "1890", 0, "no description", 60.2], ["1891", "I7N3G6G", "1891", 0, "no description", 60.2], ["1892", "I7N3G6G", "1892", 0, "no description", 60.2], ["1893", "I7N3G6G", "1893", 0, "no description", 60.2], ["1894", "I7N3G6G", "1894", 0, "no description", 60.2], ["1895", "I7N3G6G", "1895", 0, "no description", 60.2], ["1896", "I7N3G6G", "1896", 0, "no description", 60.2], ["1897", "I7N3G6G", "1897", 0, "no description", 60.2], ["1898", "I7N3G6G", "1898", 0, "no description", 60.2], ["1899", "I7N3G6G", "1899", 0, "no description", 60.2], ["1900", "I7N3G6G", "1900", 0, "no description", 60.2], ["1901", "I7N3G6G", "1901", 0, "no description", 60.2], ["1902", "I7N3G6G", "1902", 0, "no description", 60.2], ["1903", "I7N3G6G", "1903", 0, "no description", 60.2], ["1904", "I7N3G6G", "1904", 0, "no description", 60.2], ["1905", "I7N3G6G", "1905", 0, "no description", 60.2], ["1906", "I7N3G6G", "1906", 0, "no description", 60.2], ["1907", "I7N3G6G", "1907", 0, "no description", 60.2], ["1908", "I7N3G6G", "1908", 0, "no description", 60.2], ["1909", "I7N3G6G", "1909", 0, "no description", 60.2], ["1910", "I7N3G6G", "1910", 0, "no description", 60.2], ["1911", "I7N3G6G", "1911", 0, "no description", 60.2], ["1912", "I7N3G6G", "1912", 0, "no description", 60.2], ["1913", "I7N3G6G", "1913", 0, "no description", 60.2], ["1914", "I7N3G6G", "1914", 0, "no description", 60.2], ["1915", "I7N3G6G", "1915", 0, "no description", 60.2], ["1916", "I7N3G6G", "1916", 0, "no description", 60.2], ["1917", "I7N3G6G", "1917", 0, "no description", 60.2], ["1918", "I7N3G6G", "1918", 0, "no description", 60.2], ["1919", "I7N3G6G", "1919", 0, "no description", 60.2], ["1920", "I7N3G6G", "1920", 0, "no description", 60.2], ["1921", "I7N3G6G", "1921", 0, "no description", 60.2], ["1922", "I7N3G6G", "1922", 0, "no description", 60.2], ["1923", "I7N3G6G", "1923", 0, "no description", 60.2], ["1924", "I7N3G6G", "1924", 0, "no description", 60.2], ["1925", "I7N3G6G", "1925", 0, "no description", 60.2], ["1926", "I7N3G6G", "1926", 0, "no description", 60.2], ["1927", "I7N3G6G", "1927", 0, "no description", 60.2], ["1928", "I7N3G6G", "1928", 0, "no description", 60.2], ["1929", "I7N3G6G", "1929", 0, "no description", 60.2], ["1930", "I7N3G6G", "1930", 0, "no description", 60.2], ["1931", "I7N3G6G", "1931", 0, "no description", 60.2], ["1932", "I7N3G6G", "1932", 0, "no description", 60.2], ["1933", "I7N3G6G", "1933", 0, "no description", 60.2], ["1934", "I7N3G6G", "1934", 0, "no description", 60.2], ["1935", "I7N3G6G", "1935", 0, "no description", 60.2], ["1936", "I7N3G6G", "1936", 0, "no description", 60.2], ["1937", "I7N3G6G", "1937", 0, "no description", 60.2], ["1938", "I7N3G6G", "1938", 0, "no description", 60.2], ["1939", "I7N3G6G", "1939", 0, "no description", 60.2], ["1940", "I7N3G6G", "1940", 0, "no description", 60.2], ["1941", "I7N3G6G", "1941", 0, "no description", 60.2], ["1942", "I7N3G6G", "1942", 0, "no description", 60.2], ["1943", "I7N3G6G", "1943", 0, "no description", 60.2], ["1944", "I7N3G6G", "1944", 0, "no description", 60.2], ["1945", "I7N3G6G", "1945", 0, "no description", 60.2], ["1946", "I7N3G6G", "1946", 0, "no description", 60.2], ["1947", "I7N3G6G", "1947", 0, "no description", 60.2], ["1948", "I7N3G6G", "1948", 0, "no description", 60.2], ["1949", "I7N3G6G", "1949", 0, "no description", 60.2], ["1950", "I7N3G6G", "1950", 0, "no description", 60.2], ["1951", "I7N3G6G", "1951", 0, "no description", 60.2], ["1952", "I7N3G6G", "1952", 0, "no description", 60.2], ["1953", "I7N3G6G", "1953", 0, "no description", 60.2], ["1954", "I7N3G6G", "1954", 0, "no description", 60.2], ["1955", "I7N3G6G", "1955", 0, "no description", 60.2], ["1956", "I7N3G6G", "1956", 0, "no description", 60.2], ["1957", "I7N3G6G", "1957", 0, "no description", 60.2], ["1958", "I7N3G6G", "1958", 0, "no description", 60.2], ["1959", "I7N3G6G", "1959", 0, "no description", 60.2], ["1960", "I7N3G6G", "1960", 0, "no description", 60.2], ["1961", "I7N3G6G", "1961", 0, "no description", 60.2], ["1962", "I7N3G6G", "1962", 0, "no description", 60.2], ["1963", "I7N3G6G", "1963", 0, "no description", 60.2], ["1964", "I7N3G6G", "1964", 0, "no description", 60.2], ["1965", "I7N3G6G", "1965", 0, "no description", 60.2], ["1966", "I7N3G6G", "1966", 0, "no description", 60.2], ["1967", "I7N3G6G", "1967", 0, "no description", 60.2], ["1968", "I7N3G6G", "1968", 0, "no description", 60.2], ["1969", "I7N3G6G", "1969", 0, "no description", 60.2], ["1970", "I7N3G6G", "1970", 0, "no description", 60.2], ["1971", "I7N3G6G", "1971", 0, "no description", 60.2], ["1972", "I7N3G6G", "1972", 0, "no description", 60.2], ["1973", "I7N3G6G", "1973", 0, "no description", 60.2], ["1974", "I7N3G6G", "1974", 0, "no description", 60.2], ["1975", "I7N3G6G", "1975", 0, "no description", 60.2], ["1976", "I7N3G6G", "1976", 0, "no description", 60.2], ["1977", "I7N3G6G", "1977", 0, "no description", 60.2], ["1978", "I7N3G6G", "1978", 0, "no description", 60.2], ["1979", "I7N3G6G", "1979", 0, "no description", 60.2], ["1980", "I7N3G6G", "1980", 0, "no description", 60.2], ["1981", "I7N3G6G", "1981", 0, "no description", 60.2], ["1982", "I7N3G6G", "1982", 0, "no description", 60.2], ["1983", "I7N3G6G", "1983", 0, "no description", 60.2], ["1984", "I7N3G6G", "1984", 0, "no description", 60.2], ["1985", "I7N3G6G", "1985", 0, "no description", 60.2], ["1986", "I7N3G6G", "1986", 0, "no description", 60.2], ["1987", "I7N3G6G", "1987", 0, "no description", 60.2], ["1988", "I7N3G6G", "1988", 0, "no description", 60.2], ["1989", "I7N3G6G", "1989", 0, "no description", 60.2], ["1990", "I7N3G6G", "1990", 0, "no description", 60.2], ["1991", "I7N3G6G", "1991", 0, "no description", 60.2], ["1992", "I7N3G6G", "1992", 0, "no description", 60.2], ["1993", "I7N3G6G", "1993", 0, "no description", 60.2], ["1994", "I7N3G6G", "1994", 0, "no description", 60.2], ["1995", "I7N3G6G", "1995", 0, "no description", 60.2], ["1996", "I7N3G6G", "1996", 0, "no description", 60.2], ["1997", "I7N3G6G", "1997", 0, "no description", 60.2], ["1998", "I7N3G6G", "1998", 0, "no description", 60.2], ["1999", "I7N3G6G", "1999", 0, "no description", 60.2], ["2000", "I7N3G6G", "2000", 0, "no description", 60.2], ["2001", "I7N3G6G", "2001", 0, "no description", 60.2], ["2002", "I7N3G6G", "2002", 0, "no description", 60.2], ["2003", "I7N3G6G", "2003", 0, "no description", 60.2], ["2004", "I7N3G6G", "2004", 0, "no description", 60.2], ["2005", "I7N3G6G", "2005", 0, "no description", 60.2], ["2006", "I7N3G6G", "2006", 0, "no description", 60.2], ["2007", "I7N3G6G", "2007", 0, "no description", 60.2], ["2008", "I7N3G6G", "2008", 0, "no description", 60.2], ["2009", "I7N3G6G", "2009", 0, "no description", 60.2], ["2010", "I7N3G6G", "2010", 0, "no description", 60.2], ["2011", "I7N3G6G", "2011", 0, "no description", 60.2], ["2012", "I7N3G6G", "2012", 0, "no description", 60.2], ["2013", "I7N3G6G", "2013", 0, "no description", 60.2], ["2014", "I7N3G6G", "2014", 0, "no description", 60.2], ["2015", "I7N3G6G", "2015", 0, "no description", 60.2], ["2016", "I7N3G6G", "2016", 0, "no description", 60.2], ["2017", "I7N3G6G", "2017", 0, "no description", 60.2], ["2018", "I7N3G6G", "2018", 0, "no description", 60.2], ["2019", "I7N3G6G", "2019", 0, "no description", 60.2], ["2020", "I7N3G6G", "2020", 0, "no description", 60.2], ["2021", "I7N3G6G", "2021", 0, "no description", 60.2], ["2022", "I7N3G6G", "2022", 0, "no description", 60.2], ["2023", "I7N3G6G", "2023", 0, "no description", 60.2], ["2024", "I7N3G6G", "2024", 0, "no description", 60.2], ["2025", "I7N3G6G", "2025", 0, "no description", 60.2], ["2026", "I7N3G6G", "2026", 0, "no description", 60.2], ["2027", "I7N3G6G", "2027", 0, "no description", 60.2], ["2028", "I7N3G6G", "2028", 0, "no description", 60.2], ["2029", "I7N3G6G", "2029", 0, "no description", 60.2], ["2030", "I7N3G6G", "2030", 0, "no description", 60.2], ["2031", "I7N3G6G", "2031", 0, "no description", 60.2], ["2032", "I7N3G6G", "2032", 0, "no description", 60.2], ["2033", "I7N3G6G", "2033", 0, "no description", 60.2], ["2034", "I7N3G6G", "2034", 0, "no description", 60.2], ["2035", "I7N3G6G", "2035", 0, "no description", 60.2], ["2036", "I7N3G6G", "2036", 0, "no description", 60.2], ["2037", "I7N3G6G", "2037", 0, "no description", 60.2], ["2038", "I7N3G6G", "2038", 0, "no description", 60.2], ["2039", "I7N3G6G", "2039", 0, "no description", 60.2], ["2040", "I7N3G6G", "2040", 0, "no description", 60.2], ["2041", "I7N3G6G", "2041", 0, "no description", 60.2], ["2042", "I7N3G6G", "2042", 0, "no description", 60.2], ["2043", "I7N3G6G", "2043", 0, "no description", 60.2], ["2044", "I7N3G6G", "2044", 0, "no description", 60.2], ["2045", "I7N3G6G", "2045", 0, "no description", 60.2], ["2046", "I7N3G6G", "2046", 0, "no description", 60.2], ["2047", "I7N3G6G", "2047", 0, "no description", 60.2], ["2048", "I7N3G6G", "2048", 0, "no description", 60.2], ["2049", "I7N3G6G", "2049", 0, "no description", 60.2], ["2050", "I7N3G6G", "2050", 0, "no description", 60.2], ["2051", "I7N3G6G", "2051", 0, "no description", 60.2], ["2052", "I7N3G6G", "2052", 0, "no description", 60.2], ["2053", "I7N3G6G", "2053", 0, "no description", 60.2], ["2054", "I7N3G6G", "2054", 0, "no description", 60.2], ["2055", "I7N3G6G", "2055", 0, "no description", 60.2], ["2056", "I7N3G6G", "2056", 0, "no description", 60.2], ["2057", "I7N3G6G", "2057", 0, "no description", 60.2], ["2058", "I7N3G6G", "2058", 0, "no description", 60.2], ["2059", "I7N3G6G", "2059", 0, "no description", 60.2], ["2060", "I7N3G6G", "2060", 0, "no description", 60.2], ["2061", "I7N3G6G", "2061", 0, "no description", 60.2], ["2062", "I7N3G6G", "2062", 0, "no description", 60.2], ["2063", "I7N3G6G", "2063", 0, "no description", 60.2], ["2064", "I7N3G6G", "2064", 0, "no description", 60.2], ["2065", "I7N3G6G", "2065", 0, "no description", 60.2], ["2066", "I7N3G6G", "2066", 0, "no description", 60.2], ["2067", "I7N3G6G", "2067", 0, "no description", 60.2], ["2068", "I7N3G6G", "2068", 0, "no description", 60.2], ["2069", "I7N3G6G", "2069", 0, "no description", 60.2], ["2070", "I7N3G6G", "2070", 0, "no description", 60.2], ["2071", "I7N3G6G", "2071", 0, "no description", 60.2], ["2072", "I7N3G6G", "2072", 0, "no description", 60.2], ["2073", "I7N3G6G", "2073", 0, "no description", 60.2], ["2074", "I7N3G6G", "2074", 0, "no description", 60.2], ["2075", "I7N3G6G", "2075", 0, "no description", 60.2], ["2076", "I7N3G6G", "2076", 0, "no description", 60.2], ["2077", "I7N3G6G", "2077", 0, "no description", 60.2], ["2078", "I7N3G6G", "2078", 0, "no description", 60.2], ["2079", "I7N3G6G", "2079", 0, "no description", 60.2], ["2080", "I7N3G6G", "2080", 0, "no description", 60.2], ["2081", "I7N3G6G", "2081", 0, "no description", 60.2], ["2082", "I7N3G6G", "2082", 0, "no description", 60.2], ["2083", "I7N3G6G", "2083", 0, "no description", 60.2], ["2084", "I7N3G6G", "2084", 0, "no description", 60.2], ["2085", "I7N3G6G", "2085", 0, "no description", 60.2], ["2086", "I7N3G6G", "2086", 0, "no description", 60.2], ["2087", "I7N3G6G", "2087", 0, "no description", 60.2], ["2088", "I7N3G6G", "2088", 0, "no description", 60.2], ["2089", "I7N3G6G", "2089", 0, "no description", 60.2], ["2090", "I7N3G6G", "2090", 0, "no description", 60.2], ["2091", "I7N3G6G", "2091", 0, "no description", 60.2], ["2092", "I7N3G6G", "2092", 0, "no description", 60.2], ["2093", "I7N3G6G", "2093", 0, "no description", 60.2], ["2094", "I7N3G6G", "2094", 0, "no description", 60.2], ["2095", "I7N3G6G", "2095", 0, "no description", 60.2], ["2096", "I7N3G6G", "2096", 0, "no description", 60.2], ["2097", "I7N3G6G", "2097", 0, "no description", 60.2], ["2098", "I7N3G6G", "2098", 0, "no description", 60.2], ["2099", "I7N3G6G", "2099", 0, "no description", 60.2], ["2100", "I7N3G6G", "2100", 0, "no description", 60.2], ["2101", "I7N3G6G", "2101", 0, "no description", 60.2], ["2102", "I7N3G6G", "2102", 0, "no description", 60.2], ["2103", "I7N3G6G", "2103", 0, "no description", 60.2], ["2104", "I7N3G6G", "2104", 0, "no description", 60.2], ["2105", "I7N3G6G", "2105", 0, "no description", 60.2], ["2106", "I7N3G6G", "2106", 0, "no description", 60.2], ["2107", "I7N3G6G", "2107", 0, "no description", 60.2], ["2108", "I7N3G6G", "2108", 0, "no description", 60.2], ["2109", "I7N3G6G", "2109", 0, "no description", 60.2], ["2110", "I7N3G6G", "2110", 0, "no description", 60.2], ["2111", "I7N3G6G", "2111", 0, "no description", 60.2], ["2112", "I7N3G6G", "2112", 0, "no description", 60.2], ["2113", "I7N3G6G", "2113", 0, "no description", 60.2], ["2114", "I7N3G6G", "2114", 0, "no description", 60.2], ["2115", "I7N3G6G", "2115", 0, "no description", 60.2], ["2116", "I7N3G6G", "2116", 0, "no description", 60.2], ["2117", "I7N3G6G", "2117", 0, "no description", 60.2], ["2118", "I7N3G6G", "2118", 0, "no description", 60.2], ["2119", "I7N3G6G", "2119", 0, "no description", 60.2], ["2120", "I7N3G6G", "2120", 0, "no description", 60.2], ["2121", "I7N3G6G", "2121", 0, "no description", 60.2], ["2122", "I7N3G6G", "2122", 0, "no description", 60.2], ["2123", "I7N3G6G", "2123", 0, "no description", 60.2], ["2124", "I7N3G6G", "2124", 0, "no description", 60.2], ["2125", "I7N3G6G", "2125", 0, "no description", 60.2], ["2126", "I7N3G6G", "2126", 0, "no description", 60.2], ["2127", "I7N3G6G", "2127", 0, "no description", 60.2], ["2128", "I7N3G6G", "2128", 0, "no description", 60.2], ["2129", "I7N3G6G", "2129", 0, "no description", 60.2], ["2130", "I7N3G6G", "2130", 0, "no description", 60.2], ["2131", "I7N3G6G", "2131", 0, "no description", 60.2], ["2132", "I7N3G6G", "2132", 0, "no description", 60.2], ["2133", "I7N3G6G", "2133", 0, "no description", 60.2], ["2134", "I7N3G6G", "2134", 0, "no description", 60.2], ["2135", "I7N3G6G", "2135", 0, "no description", 60.2], ["2136", "I7N3G6G", "2136", 0, "no description", 60.2], ["2137", "I7N3G6G", "2137", 0, "no description", 60.2], ["2138", "I7N3G6G", "2138", 0, "no description", 60.2], ["2139", "I7N3G6G", "2139", 0, "no description", 60.2], ["2140", "I7N3G6G", "2140", 0, "no description", 60.2], ["2141", "I7N3G6G", "2141", 0, "no description", 60.2], ["2142", "I7N3G6G", "2142", 0, "no description", 60.2], ["2143", "I7N3G6G", "2143", 0, "no description", 60.2], ["2144", "I7N3G6G", "2144", 0, "no description", 60.2], ["2145", "I7N3G6G", "2145", 0, "no description", 60.2], ["2146", "I7N3G6G", "2146", 0, "no description", 60.2], ["2147", "I7N3G6G", "2147", 0, "no description", 60.2], ["2148", "I7N3G6G", "2148", 0, "no description", 60.2], ["2149", "I7N3G6G", "2149", 0, "no description", 60.2], ["2150", "I7N3G6G", "2150", 0, "no description", 60.2], ["2151", "I7N3G6G", "2151", 0, "no description", 60.2], ["2152", "I7N3G6G", "2152", 0, "no description", 60.2], ["2153", "I7N3G6G", "2153", 0, "no description", 60.2], ["2154", "I7N3G6G", "2154", 0, "no description", 60.2], ["2155", "I7N3G6G", "2155", 0, "no description", 60.2], ["2156", "I7N3G6G", "2156", 0, "no description", 60.2], ["2157", "I7N3G6G", "2157", 0, "no description", 60.2], ["2158", "I7N3G6G", "2158", 0, "no description", 60.2], ["2159", "I7N3G6G", "2159", 0, "no description", 60.2], ["2160", "I7N3G6G", "2160", 0, "no description", 60.2], ["2161", "I7N3G6G", "2161", 0, "no description", 60.2], ["2162", "I7N3G6G", "2162", 0, "no description", 60.2], ["2163", "I7N3G6G", "2163", 0, "no description", 60.2], ["2164", "I7N3G6G", "2164", 0, "no description", 60.2], ["2165", "I7N3G6G", "2165", 0, "no description", 60.2], ["2166", "I7N3G6G", "2166", 0, "no description", 60.2], ["2167", "I7N3G6G", "2167", 0, "no description", 60.2], ["2168", "I7N3G6G", "2168", 0, "no description", 60.2], ["2169", "I7N3G6G", "2169", 0, "no description", 60.2], ["2170", "I7N3G6G", "2170", 0, "no description", 60.2], ["2171", "I7N3G6G", "2171", 0, "no description", 60.2], ["2172", "I7N3G6G", "2172", 0, "no description", 60.2], ["2173", "I7N3G6G", "2173", 0, "no description", 60.2], ["2174", "I7N3G6G", "2174", 0, "no description", 60.2], ["2175", "I7N3G6G", "2175", 0, "no description", 60.2], ["2176", "I7N3G6G", "2176", 0, "no description", 60.2], ["2177", "I7N3G6G", "2177", 0, "no description", 60.2], ["2178", "I7N3G6G", "2178", 0, "no description", 60.2], ["2179", "I7N3G6G", "2179", 0, "no description", 60.2], ["2180", "I7N3G6G", "2180", 0, "no description", 60.2], ["2181", "I7N3G6G", "2181", 0, "no description", 60.2], ["2182", "I7N3G6G", "2182", 0, "no description", 60.2], ["2183", "I7N3G6G", "2183", 0, "no description", 60.2], ["2184", "I7N3G6G", "2184", 0, "no description", 60.2], ["2185", "I7N3G6G", "2185", 0, "no description", 60.2], ["2186", "I7N3G6G", "2186", 0, "no description", 60.2], ["2187", "I7N3G6G", "2187", 0, "no description", 60.2], ["2188", "I7N3G6G", "2188", 0, "no description", 60.2], ["2189", "I7N3G6G", "2189", 0, "no description", 60.2], ["2190", "I7N3G6G", "2190", 0, "no description", 60.2], ["2191", "I7N3G6G", "2191", 0, "no description", 60.2], ["2192", "I7N3G6G", "2192", 0, "no description", 60.2], ["2193", "I7N3G6G", "2193", 0, "no description", 60.2], ["2194", "I7N3G6G", "2194", 0, "no description", 60.2], ["2195", "I7N3G6G", "2195", 0, "no description", 60.2], ["2196", "I7N3G6G", "2196", 0, "no description", 60.2], ["2197", "I7N3G6G", "2197", 0, "no description", 60.2], ["2198", "I7N3G6G", "2198", 0, "no description", 60.2], ["2199", "I7N3G6G", "2199", 0, "no description", 60.2], ["2200", "I7N3G6G", "2200", 0, "no description", 60.2], ["2201", "I7N3G6G", "2201", 0, "no description", 60.2], ["2202", "I7N3G6G", "2202", 0, "no description", 60.2], ["2203", "I7N3G6G", "2203", 0, "no description", 60.2], ["2204", "I7N3G6G", "2204", 0, "no description", 60.2], ["2205", "I7N3G6G", "2205", 0, "no description", 60.2], ["2206", "I7N3G6G", "2206", 0, "no description", 60.2], ["2207", "I7N3G6G", "2207", 0, "no description", 60.2], ["2208", "I7N3G6G", "2208", 0, "no description", 60.2], ["2209", "I7N3G6G", "2209", 0, "no description", 60.2], ["2210", "I7N3G6G", "2210", 0, "no description", 60.2], ["2211", "I7N3G6G", "2211", 0, "no description", 60.2], ["2212", "I7N3G6G", "2212", 0, "no description", 60.2], ["2213", "I7N3G6G", "2213", 0, "no description", 60.2], ["2214", "I7N3G6G", "2214", 0, "no description", 60.2], ["2215", "I7N3G6G", "2215", 0, "no description", 60.2], ["2216", "I7N3G6G", "2216", 0, "no description", 60.2], ["2217", "I7N3G6G", "2217", 0, "no description", 60.2], ["2218", "I7N3G6G", "2218", 0, "no description", 60.2], ["2219", "I7N3G6G", "2219", 0, "no description", 60.2], ["2220", "I7N3G6G", "2220", 0, "no description", 60.2], ["2221", "I7N3G6G", "2221", 0, "no description", 60.2], ["2222", "I7N3G6G", "2222", 0, "no description", 60.2], ["2223", "I7N3G6G", "2223", 0, "no description", 60.2], ["2224", "I7N3G6G", "2224", 0, "no description", 60.2], ["2225", "I7N3G6G", "2225", 0, "no description", 60.2], ["2226", "I7N3G6G", "2226", 0, "no description", 60.2]] \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/JSONCurator_error1.json b/packages/itmat-job-executor/test/testFiles/JSONCurator_error1.json deleted file mode 100644 index e4c702f12..000000000 --- a/packages/itmat-job-executor/test/testFiles/JSONCurator_error1.json +++ /dev/null @@ -1 +0,0 @@ -[["ID", "SubjectID", "VisitID", "Sex", "Description", "Weight", "UNKNOWN"], ["1", "I7N3G6G", "1", 0, "no description", 60.2, "random"], ["2", "I7N3G6G", "2", 0, "no description", 60.2, "random"], ["3", "I7N3G6G", "3", 0, "no description", 60.2, "random"], ["4", "I7N3G6G", "4", 0, "no description", 60.2, "random"], ["5", "I7N3G6G", "5", 0, "no description", 60.2, "random"], ["6", "I7N3G6G", "6", 0, "no description", 60.2, "random"], ["7", "I7N3G6G", "7", 0, "no description", 60.2, "random"], ["8", "I7N3G6G", "8", 0, "no description", 60.2, "random"], ["9", "I7N3G6G", "9", 0, "no description", 60.2, "random"], ["10", "I7N3G6G", "10", 0, "no description", 60.2, "random"], ["11", "I7N3G6G", "11", 0, "no description", 60.2, "random"], ["12", "I7N3G6G", "12", 0, "no description", 60.2, "random"], ["13", "I7N3G6G", "13", 0, "no description", 60.2, "random"], ["14", "I7N3G6G", "14", 0, "no description", 60.2, "random"], ["15", "I7N3G6G", "15", 0, "no description", 60.2, "random"], ["16", "I7N3G6G", "16", 0, "no description", 60.2, "random"], ["17", "I7N3G6G", "17", 0, "no description", 60.2, "random"], ["18", "I7N3G6G", "18", 0, "no description", 60.2, "random"], ["19", "I7N3G6G", "19", 0, "no description", 60.2, "random"], ["20", "I7N3G6G", "20", 0, "no description", 60.2, "random"], ["21", "I7N3G6G", "21", 0, "no description", 60.2, "random"], ["22", "I7N3G6G", "22", 0, "no description", 60.2, "random"], ["23", "I7N3G6G", "23", 0, "no description", 60.2, "random"], ["24", "I7N3G6G", "24", 0, "no description", 60.2, "random"], ["25", "I7N3G6G", "25", 0, "no description", 60.2, "random"], ["26", "I7N3G6G", "26", 0, "no description", 60.2, "random"], ["27", "I7N3G6G", "27", 0, "no description", 60.2, "random"], ["28", "I7N3G6G", "28", 0, "no description", 60.2, "random"], ["29", "I7N3G6G", "29", 0, "no description", 60.2, "random"], ["30", "I7N3G6G", "30", 0, "no description", 60.2, "random"], ["31", "I7N3G6G", "31", 0, "no description", 60.2, "random"], ["32", "I7N3G6G", "32", 0, "no description", 60.2, "random"], ["33", "I7N3G6G", "33", 0, "no description", 60.2, "random"], ["34", "I7N3G6G", "34", 0, "no description", 60.2, "random"], ["35", "I7N3G6G", "35", 0, "no description", 60.2, "random"], ["36", "I7N3G6G", "36", 0, "no description", 60.2, "random"], ["37", "I7N3G6G", "37", 0, "no description", 60.2, "random"], ["38", "I7N3G6G", "38", 0, "no description", 60.2, "random"], ["39", "I7N3G6G", "39", 0, "no description", 60.2, "random"], ["40", "I7N3G6G", "40", 0, "no description", 60.2, "random"], ["41", "I7N3G6G", "41", 0, "no description", 60.2, "random"], ["42", "I7N3G6G", "42", 0, "no description", 60.2, "random"], ["43", "I7N3G6G", "43", 0, "no description", 60.2, "random"], ["44", "I7N3G6G", "44", 0, "no description", 60.2, "random"], ["45", "I7N3G6G", "45", 0, "no description", 60.2, "random"], ["46", "I7N3G6G", "46", 0, "no description", 60.2, "random"], ["47", "I7N3G6G", "47", 0, "no description", 60.2, "random"], ["48", "I7N3G6G", "48", 0, "no description", 60.2, "random"], ["49", "I7N3G6G", "49", 0, "no description", 60.2, "random"], ["50", "I7N3G6G", "50", 0, "no description", 60.2, "random"], ["51", "I7N3G6G", "51", 0, "no description", 60.2, "random"], ["52", "I7N3G6G", "52", 0, "no description", 60.2, "random"], ["53", "I7N3G6G", "53", 0, "no description", 60.2, "random"], ["54", "I7N3G6G", "54", 0, "no description", 60.2, "random"], ["55", "I7N3G6G", "55", 0, "no description", 60.2, "random"], ["56", "I7N3G6G", "56", 0, "no description", 60.2, "random"], ["57", "I7N3G6G", "57", 0, "no description", 60.2, "random"], ["58", "I7N3G6G", "58", 0, "no description", 60.2, "random"], ["59", "I7N3G6G", "59", 0, "no description", 60.2, "random"], ["60", "I7N3G6G", "60", 0, "no description", 60.2, "random"], ["61", "I7N3G6G", "61", 0, "no description", 60.2, "random"], ["62", "I7N3G6G", "62", 0, "no description", 60.2, "random"], ["63", "I7N3G6G", "63", 0, "no description", 60.2, "random"], ["64", "I7N3G6G", "64", 0, "no description", 60.2, "random"], ["65", "I7N3G6G", "65", 0, "no description", 60.2, "random"], ["66", "I7N3G6G", "66", 0, "no description", 60.2, "random"], ["67", "I7N3G6G", "67", 0, "no description", 60.2, "random"], ["68", "I7N3G6G", "68", 0, "no description", 60.2, "random"], ["69", "I7N3G6G", "69", 0, "no description", 60.2, "random"], ["70", "I7N3G6G", "70", 0, "no description", 60.2, "random"], ["71", "I7N3G6G", "71", 0, "no description", 60.2, "random"], ["72", "I7N3G6G", "72", 0, "no description", 60.2, "random"], ["73", "I7N3G6G", "73", 0, "no description", 60.2, "random"], ["74", "I7N3G6G", "74", 0, "no description", 60.2, "random"], ["75", "I7N3G6G", "75", 0, "no description", 60.2, "random"], ["76", "I7N3G6G", "76", 0, "no description", 60.2, "random"], ["77", "I7N3G6G", "77", 0, "no description", 60.2, "random"], ["78", "I7N3G6G", "78", 0, "no description", 60.2, "random"], ["79", "I7N3G6G", "79", 0, "no description", 60.2, "random"], ["80", "I7N3G6G", "80", 0, "no description", 60.2, "random"], ["81", "I7N3G6G", "81", 0, "no description", 60.2, "random"], ["82", "I7N3G6G", "82", 0, "no description", 60.2, "random"], ["83", "I7N3G6G", "83", 0, "no description", 60.2, "random"], ["84", "I7N3G6G", "84", 0, "no description", 60.2, "random"], ["85", "I7N3G6G", "85", 0, "no description", 60.2, "random"], ["86", "I7N3G6G", "86", 0, "no description", 60.2, "random"], ["87", "I7N3G6G", "87", 0, "no description", 60.2, "random"], ["88", "I7N3G6G", "88", 0, "no description", 60.2, "random"], ["89", "I7N3G6G", "89", 0, "no description", 60.2, "random"], ["90", "I7N3G6G", "90", 0, "no description", 60.2, "random"], ["91", "I7N3G6G", "91", 0, "no description", 60.2, "random"], ["92", "I7N3G6G", "92", 0, "no description", 60.2, "random"], ["93", "I7N3G6G", "93", 0, "no description", 60.2, "random"], ["94", "I7N3G6G", "94", 0, "no description", 60.2, "random"], ["95", "I7N3G6G", "95", 0, "no description", 60.2, "random"], ["96", "I7N3G6G", "96", 0, "no description", 60.2, "random"], ["97", "I7N3G6G", "97", 0, "no description", 60.2, "random"], ["98", "I7N3G6G", "98", 0, "no description", 60.2, "random"], ["99", "I7N3G6G", "99", 0, "no description", 60.2, "random"], ["100", "I7N3G6G", "100", 0, "no description", 60.2, "random"], ["101", "I7N3G6G", "101", 0, "no description", 60.2, "random"], ["102", "I7N3G6G", "102", 0, "no description", 60.2, "random"], ["103", "I7N3G6G", "103", 0, "no description", 60.2, "random"], ["104", "I7N3G6G", "104", 0, "no description", 60.2, "random"], ["105", "I7N3G6G", "105", 0, "no description", 60.2, "random"], ["106", "I7N3G6G", "106", 0, "no description", 60.2, "random"], ["107", "I7N3G6G", "107", 0, "no description", 60.2, "random"], ["108", "I7N3G6G", "108", 0, "no description", 60.2, "random"], ["109", "I7N3G6G", "109", 0, "no description", 60.2, "random"], ["110", "I7N3G6G", "110", 0, "no description", 60.2, "random"], ["111", "I7N3G6G", "111", 0, "no description", 60.2, "random"], ["112", "I7N3G6G", "112", 0, "no description", 60.2, "random"], ["113", "I7N3G6G", "113", 0, "no description", 60.2, "random"], ["114", "I7N3G6G", "114", 0, "no description", 60.2, "random"], ["115", "I7N3G6G", "115", 0, "no description", 60.2, "random"], ["116", "I7N3G6G", "116", 0, "no description", 60.2, "random"], ["117", "I7N3G6G", "117", 0, "no description", 60.2, "random"], ["118", "I7N3G6G", "118", 0, "no description", 60.2, "random"], ["119", "I7N3G6G", "119", 0, "no description", 60.2, "random"], ["120", "I7N3G6G", "120", 0, "no description", 60.2, "random"], ["121", "I7N3G6G", "121", 0, "no description", 60.2, "random"], ["122", "I7N3G6G", "122", 0, "no description", 60.2, "random"], ["123", "I7N3G6G", "123", 0, "no description", 60.2, "random"], ["124", "I7N3G6G", "124", 0, "no description", 60.2, "random"], ["125", "I7N3G6G", "125", 0, "no description", 60.2, "random"], ["126", "I7N3G6G", "126", 0, "no description", 60.2, "random"], ["127", "I7N3G6G", "127", 0, "no description", 60.2, "random"], ["128", "I7N3G6G", "128", 0, "no description", 60.2, "random"], ["129", "I7N3G6G", "129", 0, "no description", 60.2, "random"], ["130", "I7N3G6G", "130", 0, "no description", 60.2, "random"], ["131", "I7N3G6G", "131", 0, "no description", 60.2, "random"], ["132", "I7N3G6G", "132", 0, "no description", 60.2, "random"], ["133", "I7N3G6G", "133", 0, "no description", 60.2, "random"], ["134", "I7N3G6G", "134", 0, "no description", 60.2, "random"], ["135", "I7N3G6G", "135", 0, "no description", 60.2, "random"], ["136", "I7N3G6G", "136", 0, "no description", 60.2, "random"], ["137", "I7N3G6G", "137", 0, "no description", 60.2, "random"], ["138", "I7N3G6G", "138", 0, "no description", 60.2, "random"], ["139", "I7N3G6G", "139", 0, "no description", 60.2, "random"], ["140", "I7N3G6G", "140", 0, "no description", 60.2, "random"], ["141", "I7N3G6G", "141", 0, "no description", 60.2, "random"], ["142", "I7N3G6G", "142", 0, "no description", 60.2, "random"], ["143", "I7N3G6G", "143", 0, "no description", 60.2, "random"], ["144", "I7N3G6G", "144", 0, "no description", 60.2, "random"], ["145", "I7N3G6G", "145", 0, "no description", 60.2, "random"], ["146", "I7N3G6G", "146", 0, "no description", 60.2, "random"], ["147", "I7N3G6G", "147", 0, "no description", 60.2, "random"], ["148", "I7N3G6G", "148", 0, "no description", 60.2, "random"], ["149", "I7N3G6G", "149", 0, "no description", 60.2, "random"], ["150", "I7N3G6G", "150", 0, "no description", 60.2, "random"], ["151", "I7N3G6G", "151", 0, "no description", 60.2, "random"], ["152", "I7N3G6G", "152", 0, "no description", 60.2, "random"], ["153", "I7N3G6G", "153", 0, "no description", 60.2, "random"], ["154", "I7N3G6G", "154", 0, "no description", 60.2, "random"], ["155", "I7N3G6G", "155", 0, "no description", 60.2, "random"], ["156", "I7N3G6G", "156", 0, "no description", 60.2, "random"], ["157", "I7N3G6G", "157", 0, "no description", 60.2, "random"], ["158", "I7N3G6G", "158", 0, "no description", 60.2, "random"], ["159", "I7N3G6G", "159", 0, "no description", 60.2, "random"], ["160", "I7N3G6G", "160", 0, "no description", 60.2, "random"], ["161", "I7N3G6G", "161", 0, "no description", 60.2, "random"], ["162", "I7N3G6G", "162", 0, "no description", 60.2, "random"], ["163", "I7N3G6G", "163", 0, "no description", 60.2, "random"], ["164", "I7N3G6G", "164", 0, "no description", 60.2, "random"], ["165", "I7N3G6G", "165", 0, "no description", 60.2, "random"], ["166", "I7N3G6G", "166", 0, "no description", 60.2, "random"], ["167", "I7N3G6G", "167", 0, "no description", 60.2, "random"], ["168", "I7N3G6G", "168", 0, "no description", 60.2, "random"], ["169", "I7N3G6G", "169", 0, "no description", 60.2, "random"], ["170", "I7N3G6G", "170", 0, "no description", 60.2, "random"], ["171", "I7N3G6G", "171", 0, "no description", 60.2, "random"], ["172", "I7N3G6G", "172", 0, "no description", 60.2, "random"], ["173", "I7N3G6G", "173", 0, "no description", 60.2, "random"], ["174", "I7N3G6G", "174", 0, "no description", 60.2, "random"], ["175", "I7N3G6G", "175", 0, "no description", 60.2, "random"], ["176", "I7N3G6G", "176", 0, "no description", 60.2, "random"], ["177", "I7N3G6G", "177", 0, "no description", 60.2, "random"], ["178", "I7N3G6G", "178", 0, "no description", 60.2, "random"], ["179", "I7N3G6G", "179", 0, "no description", 60.2, "random"], ["180", "I7N3G6G", "180", 0, "no description", 60.2, "random"], ["181", "I7N3G6G", "181", 0, "no description", 60.2, "random"], ["182", "I7N3G6G", "182", 0, "no description", 60.2, "random"], ["183", "I7N3G6G", "183", 0, "no description", 60.2, "random"], ["184", "I7N3G6G", "184", 0, "no description", 60.2, "random"], ["185", "I7N3G6G", "185", 0, "no description", 60.2, "random"], ["186", "I7N3G6G", "186", 0, "no description", 60.2, "random"], ["187", "I7N3G6G", "187", 0, "no description", 60.2, "random"], ["188", "I7N3G6G", "188", 0, "no description", 60.2, "random"], ["189", "I7N3G6G", "189", 0, "no description", 60.2, "random"], ["190", "I7N3G6G", "190", 0, "no description", 60.2, "random"], ["191", "I7N3G6G", "191", 0, "no description", 60.2, "random"], ["192", "I7N3G6G", "192", 0, "no description", 60.2, "random"], ["193", "I7N3G6G", "193", 0, "no description", 60.2, "random"], ["194", "I7N3G6G", "194", 0, "no description", 60.2, "random"], ["195", "I7N3G6G", "195", 0, "no description", 60.2, "random"], ["196", "I7N3G6G", "196", 0, "no description", 60.2, "random"], ["197", "I7N3G6G", "197", 0, "no description", 60.2, "random"], ["198", "I7N3G6G", "198", 0, "no description", 60.2, "random"], ["199", "I7N3G6G", "199", 0, "no description", 60.2, "random"], ["200", "I7N3G6G", "200", 0, "no description", 60.2, "random"], ["201", "I7N3G6G", "201", 0, "no description", 60.2, "random"], ["202", "I7N3G6G", "202", 0, "no description", 60.2, "random"], ["203", "I7N3G6G", "203", 0, "no description", 60.2, "random"], ["204", "I7N3G6G", "204", 0, "no description", 60.2, "random"], ["205", "I7N3G6G", "205", 0, "no description", 60.2, "random"], ["206", "I7N3G6G", "206", 0, "no description", 60.2, "random"], ["207", "I7N3G6G", "207", 0, "no description", 60.2, "random"], ["208", "I7N3G6G", "208", 0, "no description", 60.2, "random"], ["209", "I7N3G6G", "209", 0, "no description", 60.2, "random"], ["210", "I7N3G6G", "210", 0, "no description", 60.2, "random"], ["211", "I7N3G6G", "211", 0, "no description", 60.2, "random"], ["212", "I7N3G6G", "212", 0, "no description", 60.2, "random"], ["213", "I7N3G6G", "213", 0, "no description", 60.2, "random"], ["214", "I7N3G6G", "214", 0, "no description", 60.2, "random"], ["215", "I7N3G6G", "215", 0, "no description", 60.2, "random"], ["216", "I7N3G6G", "216", 0, "no description", 60.2, "random"], ["217", "I7N3G6G", "217", 0, "no description", 60.2, "random"], ["218", "I7N3G6G", "218", 0, "no description", 60.2, "random"], ["219", "I7N3G6G", "219", 0, "no description", 60.2, "random"], ["220", "I7N3G6G", "220", 0, "no description", 60.2, "random"], ["221", "I7N3G6G", "221", 0, "no description", 60.2, "random"], ["222", "I7N3G6G", "222", 0, "no description", 60.2, "random"], ["223", "I7N3G6G", "223", 0, "no description", 60.2, "random"], ["224", "I7N3G6G", "224", 0, "no description", 60.2, "random"], ["225", "I7N3G6G", "225", 0, "no description", 60.2, "random"], ["226", "I7N3G6G", "226", 0, "no description", 60.2, "random"], ["227", "I7N3G6G", "227", 0, "no description", 60.2, "random"], ["228", "I7N3G6G", "228", 0, "no description", 60.2, "random"], ["229", "I7N3G6G", "229", 0, "no description", 60.2, "random"], ["230", "I7N3G6G", "230", 0, "no description", 60.2, "random"], ["231", "I7N3G6G", "231", 0, "no description", 60.2, "random"], ["232", "I7N3G6G", "232", 0, "no description", 60.2, "random"], ["233", "I7N3G6G", "233", 0, "no description", 60.2, "random"], ["234", "I7N3G6G", "234", 0, "no description", 60.2, "random"], ["235", "I7N3G6G", "235", 0, "no description", 60.2, "random"], ["236", "I7N3G6G", "236", 0, "no description", 60.2, "random"], ["237", "I7N3G6G", "237", 0, "no description", 60.2, "random"], ["238", "I7N3G6G", "238", 0, "no description", 60.2, "random"], ["239", "I7N3G6G", "239", 0, "no description", 60.2, "random"], ["240", "I7N3G6G", "240", 0, "no description", 60.2, "random"], ["241", "I7N3G6G", "241", 0, "no description", 60.2, "random"], ["242", "I7N3G6G", "242", 0, "no description", 60.2, "random"], ["243", "I7N3G6G", "243", 0, "no description", 60.2, "random"], ["244", "I7N3G6G", "244", 0, "no description", 60.2, "random"], ["245", "I7N3G6G", "245", 0, "no description", 60.2, "random"], ["246", "I7N3G6G", "246", 0, "no description", 60.2, "random"], ["247", "I7N3G6G", "247", 0, "no description", 60.2, "random"], ["248", "I7N3G6G", "248", 0, "no description", 60.2, "random"], ["249", "I7N3G6G", "249", 0, "no description", 60.2, "random"], ["250", "I7N3G6G", "250", 0, "no description", 60.2, "random"], ["251", "I7N3G6G", "251", 0, "no description", 60.2, "random"], ["252", "I7N3G6G", "252", 0, "no description", 60.2, "random"], ["253", "I7N3G6G", "253", 0, "no description", 60.2, "random"], ["254", "I7N3G6G", "254", 0, "no description", 60.2, "random"], ["255", "I7N3G6G", "255", 0, "no description", 60.2, "random"], ["256", "I7N3G6G", "256", 0, "no description", 60.2, "random"], ["257", "I7N3G6G", "257", 0, "no description", 60.2, "random"], ["258", "I7N3G6G", "258", 0, "no description", 60.2, "random"], ["259", "I7N3G6G", "259", 0, "no description", 60.2, "random"], ["260", "I7N3G6G", "260", 0, "no description", 60.2, "random"], ["261", "I7N3G6G", "261", 0, "no description", 60.2, "random"], ["262", "I7N3G6G", "262", 0, "no description", 60.2, "random"], ["263", "I7N3G6G", "263", 0, "no description", 60.2, "random"], ["264", "I7N3G6G", "264", 0, "no description", 60.2, "random"], ["265", "I7N3G6G", "265", 0, "no description", 60.2, "random"], ["266", "I7N3G6G", "266", 0, "no description", 60.2, "random"], ["267", "I7N3G6G", "267", 0, "no description", 60.2, "random"], ["268", "I7N3G6G", "268", 0, "no description", 60.2, "random"], ["269", "I7N3G6G", "269", 0, "no description", 60.2, "random"], ["270", "I7N3G6G", "270", 0, "no description", 60.2, "random"], ["271", "I7N3G6G", "271", 0, "no description", 60.2, "random"], ["272", "I7N3G6G", "272", 0, "no description", 60.2, "random"], ["273", "I7N3G6G", "273", 0, "no description", 60.2, "random"], ["274", "I7N3G6G", "274", 0, "no description", 60.2, "random"], ["275", "I7N3G6G", "275", 0, "no description", 60.2, "random"], ["276", "I7N3G6G", "276", 0, "no description", 60.2, "random"], ["277", "I7N3G6G", "277", 0, "no description", 60.2, "random"], ["278", "I7N3G6G", "278", 0, "no description", 60.2, "random"], ["279", "I7N3G6G", "279", 0, "no description", 60.2, "random"], ["280", "I7N3G6G", "280", 0, "no description", 60.2, "random"], ["281", "I7N3G6G", "281", 0, "no description", 60.2, "random"], ["282", "I7N3G6G", "282", 0, "no description", 60.2, "random"], ["283", "I7N3G6G", "283", 0, "no description", 60.2, "random"], ["284", "I7N3G6G", "284", 0, "no description", 60.2, "random"], ["285", "I7N3G6G", "285", 0, "no description", 60.2, "random"], ["286", "I7N3G6G", "286", 0, "no description", 60.2, "random"], ["287", "I7N3G6G", "287", 0, "no description", 60.2, "random"], ["288", "I7N3G6G", "288", 0, "no description", 60.2, "random"], ["289", "I7N3G6G", "289", 0, "no description", 60.2, "random"], ["290", "I7N3G6G", "290", 0, "no description", 60.2, "random"], ["291", "I7N3G6G", "291", 0, "no description", 60.2, "random"], ["292", "I7N3G6G", "292", 0, "no description", 60.2, "random"], ["293", "I7N3G6G", "293", 0, "no description", 60.2, "random"], ["294", "I7N3G6G", "294", 0, "no description", 60.2, "random"], ["295", "I7N3G6G", "295", 0, "no description", 60.2, "random"], ["296", "I7N3G6G", "296", 0, "no description", 60.2, "random"], ["297", "I7N3G6G", "297", 0, "no description", 60.2, "random"], ["298", "I7N3G6G", "298", 0, "no description", 60.2, "random"], ["299", "I7N3G6G", "299", 0, "no description", 60.2, "random"], ["300", "I7N3G6G", "300", 0, "no description", 60.2, "random"], ["301", "I7N3G6G", "301", 0, "no description", 60.2, "random"], ["302", "I7N3G6G", "302", 0, "no description", 60.2, "random"], ["303", "I7N3G6G", "303", 0, "no description", 60.2, "random"], ["304", "I7N3G6G", "304", 0, "no description", 60.2, "random"], ["305", "I7N3G6G", "305", 0, "no description", 60.2, "random"], ["306", "I7N3G6G", "306", 0, "no description", 60.2, "random"], ["307", "I7N3G6G", "307", 0, "no description", 60.2, "random"], ["308", "I7N3G6G", "308", 0, "no description", 60.2, "random"], ["309", "I7N3G6G", "309", 0, "no description", 60.2, "random"], ["310", "I7N3G6G", "310", 0, "no description", 60.2, "random"], ["311", "I7N3G6G", "311", 0, "no description", 60.2, "random"], ["312", "I7N3G6G", "312", 0, "no description", 60.2, "random"], ["313", "I7N3G6G", "313", 0, "no description", 60.2, "random"], ["314", "I7N3G6G", "314", 0, "no description", 60.2, "random"], ["315", "I7N3G6G", "315", 0, "no description", 60.2, "random"], ["316", "I7N3G6G", "316", 0, "no description", 60.2, "random"], ["317", "I7N3G6G", "317", 0, "no description", 60.2, "random"], ["318", "I7N3G6G", "318", 0, "no description", 60.2, "random"], ["319", "I7N3G6G", "319", 0, "no description", 60.2, "random"], ["320", "I7N3G6G", "320", 0, "no description", 60.2, "random"], ["321", "I7N3G6G", "321", 0, "no description", 60.2, "random"], ["322", "I7N3G6G", "322", 0, "no description", 60.2, "random"], ["323", "I7N3G6G", "323", 0, "no description", 60.2, "random"], ["324", "I7N3G6G", "324", 0, "no description", 60.2, "random"], ["325", "I7N3G6G", "325", 0, "no description", 60.2, "random"], ["326", "I7N3G6G", "326", 0, "no description", 60.2, "random"], ["327", "I7N3G6G", "327", 0, "no description", 60.2, "random"], ["328", "I7N3G6G", "328", 0, "no description", 60.2, "random"], ["329", "I7N3G6G", "329", 0, "no description", 60.2, "random"], ["330", "I7N3G6G", "330", 0, "no description", 60.2, "random"], ["331", "I7N3G6G", "331", 0, "no description", 60.2, "random"], ["332", "I7N3G6G", "332", 0, "no description", 60.2, "random"], ["333", "I7N3G6G", "333", 0, "no description", 60.2, "random"], ["334", "I7N3G6G", "334", 0, "no description", 60.2, "random"], ["335", "I7N3G6G", "335", 0, "no description", 60.2, "random"], ["336", "I7N3G6G", "336", 0, "no description", 60.2, "random"], ["337", "I7N3G6G", "337", 0, "no description", 60.2, "random"], ["338", "I7N3G6G", "338", 0, "no description", 60.2, "random"], ["339", "I7N3G6G", "339", 0, "no description", 60.2, "random"], ["340", "I7N3G6G", "340", 0, "no description", 60.2, "random"], ["341", "I7N3G6G", "341", 0, "no description", 60.2, "random"], ["342", "I7N3G6G", "342", 0, "no description", 60.2, "random"], ["343", "I7N3G6G", "343", 0, "no description", 60.2, "random"], ["344", "I7N3G6G", "344", 0, "no description", 60.2, "random"], ["345", "I7N3G6G", "345", 0, "no description", 60.2, "random"], ["346", "I7N3G6G", "346", 0, "no description", 60.2, "random"], ["347", "I7N3G6G", "347", 0, "no description", 60.2, "random"], ["348", "I7N3G6G", "348", 0, "no description", 60.2, "random"], ["349", "I7N3G6G", "349", 0, "no description", 60.2, "random"], ["350", "I7N3G6G", "350", 0, "no description", 60.2, "random"], ["351", "I7N3G6G", "351", 0, "no description", 60.2, "random"], ["352", "I7N3G6G", "352", 0, "no description", 60.2, "random"], ["353", "I7N3G6G", "353", 0, "no description", 60.2, "random"], ["354", "I7N3G6G", "354", 0, "no description", 60.2, "random"], ["355", "I7N3G6G", "355", 0, "no description", 60.2, "random"], ["356", "I7N3G6G", "356", 0, "no description", 60.2, "random"], ["357", "I7N3G6G", "357", 0, "no description", 60.2, "random"], ["358", "I7N3G6G", "358", 0, "no description", 60.2, "random"], ["359", "I7N3G6G", "359", 0, "no description", 60.2, "random"], ["360", "I7N3G6G", "360", 0, "no description", 60.2, "random"], ["361", "I7N3G6G", "361", 0, "no description", 60.2, "random"], ["362", "I7N3G6G", "362", 0, "no description", 60.2, "random"], ["363", "I7N3G6G", "363", 0, "no description", 60.2, "random"], ["364", "I7N3G6G", "364", 0, "no description", 60.2, "random"], ["365", "I7N3G6G", "365", 0, "no description", 60.2, "random"], ["366", "I7N3G6G", "366", 0, "no description", 60.2, "random"], ["367", "I7N3G6G", "367", 0, "no description", 60.2, "random"], ["368", "I7N3G6G", "368", 0, "no description", 60.2, "random"], ["369", "I7N3G6G", "369", 0, "no description", 60.2, "random"], ["370", "I7N3G6G", "370", 0, "no description", 60.2, "random"], ["371", "I7N3G6G", "371", 0, "no description", 60.2, "random"], ["372", "I7N3G6G", "372", 0, "no description", 60.2, "random"], ["373", "I7N3G6G", "373", 0, "no description", 60.2, "random"], ["374", "I7N3G6G", "374", 0, "no description", 60.2, "random"], ["375", "I7N3G6G", "375", 0, "no description", 60.2, "random"], ["376", "I7N3G6G", "376", 0, "no description", 60.2, "random"], ["377", "I7N3G6G", "377", 0, "no description", 60.2, "random"], ["378", "I7N3G6G", "378", 0, "no description", 60.2, "random"], ["379", "I7N3G6G", "379", 0, "no description", 60.2, "random"], ["380", "I7N3G6G", "380", 0, "no description", 60.2, "random"], ["381", "I7N3G6G", "381", 0, "no description", 60.2, "random"], ["382", "I7N3G6G", "382", 0, "no description", 60.2, "random"], ["383", "I7N3G6G", "383", 0, "no description", 60.2, "random"], ["384", "I7N3G6G", "384", 0, "no description", 60.2, "random"], ["385", "I7N3G6G", "385", 0, "no description", 60.2, "random"], ["386", "I7N3G6G", "386", 0, "no description", 60.2, "random"], ["387", "I7N3G6G", "387", 0, "no description", 60.2, "random"], ["388", "I7N3G6G", "388", 0, "no description", 60.2, "random"], ["389", "I7N3G6G", "389", 0, "no description", 60.2, "random"], ["390", "I7N3G6G", "390", 0, "no description", 60.2, "random"], ["391", "I7N3G6G", "391", 0, "no description", 60.2, "random"], ["392", "I7N3G6G", "392", 0, "no description", 60.2, "random"], ["393", "I7N3G6G", "393", 0, "no description", 60.2, "random"], ["394", "I7N3G6G", "394", 0, "no description", 60.2, "random"], ["395", "I7N3G6G", "395", 0, "no description", 60.2, "random"], ["396", "I7N3G6G", "396", 0, "no description", 60.2, "random"], ["397", "I7N3G6G", "397", 0, "no description", 60.2, "random"], ["398", "I7N3G6G", "398", 0, "no description", 60.2, "random"], ["399", "I7N3G6G", "399", 0, "no description", 60.2, "random"], ["400", "I7N3G6G", "400", 0, "no description", 60.2, "random"], ["401", "I7N3G6G", "401", 0, "no description", 60.2, "random"], ["402", "I7N3G6G", "402", 0, "no description", 60.2, "random"], ["403", "I7N3G6G", "403", 0, "no description", 60.2, "random"], ["404", "I7N3G6G", "404", 0, "no description", 60.2, "random"], ["405", "I7N3G6G", "405", 0, "no description", 60.2, "random"], ["406", "I7N3G6G", "406", 0, "no description", 60.2, "random"], ["407", "I7N3G6G", "407", 0, "no description", 60.2, "random"], ["408", "I7N3G6G", "408", 0, "no description", 60.2, "random"], ["409", "I7N3G6G", "409", 0, "no description", 60.2, "random"], ["410", "I7N3G6G", "410", 0, "no description", 60.2, "random"], ["411", "I7N3G6G", "411", 0, "no description", 60.2, "random"], ["412", "I7N3G6G", "412", 0, "no description", 60.2, "random"], ["413", "I7N3G6G", "413", 0, "no description", 60.2, "random"], ["414", "I7N3G6G", "414", 0, "no description", 60.2, "random"], ["415", "I7N3G6G", "415", 0, "no description", 60.2, "random"], ["416", "I7N3G6G", "416", 0, "no description", 60.2, "random"], ["417", "I7N3G6G", "417", 0, "no description", 60.2, "random"], ["418", "I7N3G6G", "418", 0, "no description", 60.2, "random"], ["419", "I7N3G6G", "419", 0, "no description", 60.2, "random"], ["420", "I7N3G6G", "420", 0, "no description", 60.2, "random"], ["421", "I7N3G6G", "421", 0, "no description", 60.2, "random"], ["422", "I7N3G6G", "422", 0, "no description", 60.2, "random"], ["423", "I7N3G6G", "423", 0, "no description", 60.2, "random"], ["424", "I7N3G6G", "424", 0, "no description", 60.2, "random"], ["425", "I7N3G6G", "425", 0, "no description", 60.2, "random"], ["426", "I7N3G6G", "426", 0, "no description", 60.2, "random"], ["427", "I7N3G6G", "427", 0, "no description", 60.2, "random"], ["428", "I7N3G6G", "428", 0, "no description", 60.2, "random"], ["429", "I7N3G6G", "429", 0, "no description", 60.2, "random"], ["430", "I7N3G6G", "430", 0, "no description", 60.2, "random"], ["431", "I7N3G6G", "431", 0, "no description", 60.2, "random"], ["432", "I7N3G6G", "432", 0, "no description", 60.2, "random"], ["433", "I7N3G6G", "433", 0, "no description", 60.2, "random"], ["434", "I7N3G6G", "434", 0, "no description", 60.2, "random"], ["435", "I7N3G6G", "435", 0, "no description", 60.2, "random"], ["436", "I7N3G6G", "436", 0, "no description", 60.2, "random"], ["437", "I7N3G6G", "437", 0, "no description", 60.2, "random"], ["438", "I7N3G6G", "438", 0, "no description", 60.2, "random"], ["439", "I7N3G6G", "439", 0, "no description", 60.2, "random"], ["440", "I7N3G6G", "440", 0, "no description", 60.2, "random"], ["441", "I7N3G6G", "441", 0, "no description", 60.2, "random"], ["442", "I7N3G6G", "442", 0, "no description", 60.2, "random"], ["443", "I7N3G6G", "443", 0, "no description", 60.2, "random"], ["444", "I7N3G6G", "444", 0, "no description", 60.2, "random"], ["445", "I7N3G6G", "445", 0, "no description", 60.2, "random"], ["446", "I7N3G6G", "446", 0, "no description", 60.2, "random"], ["447", "I7N3G6G", "447", 0, "no description", 60.2, "random"], ["448", "I7N3G6G", "448", 0, "no description", 60.2, "random"], ["449", "I7N3G6G", "449", 0, "no description", 60.2, "random"], ["450", "I7N3G6G", "450", 0, "no description", 60.2, "random"], ["451", "I7N3G6G", "451", 0, "no description", 60.2, "random"], ["452", "I7N3G6G", "452", 0, "no description", 60.2, "random"], ["453", "I7N3G6G", "453", 0, "no description", 60.2, "random"], ["454", "I7N3G6G", "454", 0, "no description", 60.2, "random"], ["455", "I7N3G6G", "455", 0, "no description", 60.2, "random"], ["456", "I7N3G6G", "456", 0, "no description", 60.2, "random"], ["457", "I7N3G6G", "457", 0, "no description", 60.2, "random"], ["458", "I7N3G6G", "458", 0, "no description", 60.2, "random"], ["459", "I7N3G6G", "459", 0, "no description", 60.2, "random"], ["460", "I7N3G6G", "460", 0, "no description", 60.2, "random"], ["461", "I7N3G6G", "461", 0, "no description", 60.2, "random"], ["462", "I7N3G6G", "462", 0, "no description", 60.2, "random"], ["463", "I7N3G6G", "463", 0, "no description", 60.2, "random"], ["464", "I7N3G6G", "464", 0, "no description", 60.2, "random"], ["465", "I7N3G6G", "465", 0, "no description", 60.2, "random"], ["466", "I7N3G6G", "466", 0, "no description", 60.2, "random"], ["467", "I7N3G6G", "467", 0, "no description", 60.2, "random"], ["468", "I7N3G6G", "468", 0, "no description", 60.2, "random"], ["469", "I7N3G6G", "469", 0, "no description", 60.2, "random"], ["470", "I7N3G6G", "470", 0, "no description", 60.2, "random"], ["471", "I7N3G6G", "471", 0, "no description", 60.2, "random"], ["472", "I7N3G6G", "472", 0, "no description", 60.2, "random"], ["473", "I7N3G6G", "473", 0, "no description", 60.2, "random"], ["474", "I7N3G6G", "474", 0, "no description", 60.2, "random"], ["475", "I7N3G6G", "475", 0, "no description", 60.2, "random"], ["476", "I7N3G6G", "476", 0, "no description", 60.2, "random"], ["477", "I7N3G6G", "477", 0, "no description", 60.2, "random"], ["478", "I7N3G6G", "478", 0, "no description", 60.2, "random"], ["479", "I7N3G6G", "479", 0, "no description", 60.2, "random"], ["480", "I7N3G6G", "480", 0, "no description", 60.2, "random"], ["481", "I7N3G6G", "481", 0, "no description", 60.2, "random"], ["482", "I7N3G6G", "482", 0, "no description", 60.2, "random"], ["483", "I7N3G6G", "483", 0, "no description", 60.2, "random"], ["484", "I7N3G6G", "484", 0, "no description", 60.2, "random"], ["485", "I7N3G6G", "485", 0, "no description", 60.2, "random"], ["486", "I7N3G6G", "486", 0, "no description", 60.2, "random"], ["487", "I7N3G6G", "487", 0, "no description", 60.2, "random"], ["488", "I7N3G6G", "488", 0, "no description", 60.2, "random"], ["489", "I7N3G6G", "489", 0, "no description", 60.2, "random"], ["490", "I7N3G6G", "490", 0, "no description", 60.2, "random"], ["491", "I7N3G6G", "491", 0, "no description", 60.2, "random"], ["492", "I7N3G6G", "492", 0, "no description", 60.2, "random"], ["493", "I7N3G6G", "493", 0, "no description", 60.2, "random"], ["494", "I7N3G6G", "494", 0, "no description", 60.2, "random"], ["495", "I7N3G6G", "495", 0, "no description", 60.2, "random"], ["496", "I7N3G6G", "496", 0, "no description", 60.2, "random"], ["497", "I7N3G6G", "497", 0, "no description", 60.2, "random"], ["498", "I7N3G6G", "498", 0, "no description", 60.2, "random"], ["499", "I7N3G6G", "499", 0, "no description", 60.2, "random"], ["500", "I7N3G6G", "500", 0, "no description", 60.2, "random"], ["501", "I7N3G6G", "501", 0, "no description", 60.2, "random"], ["502", "I7N3G6G", "502", 0, "no description", 60.2, "random"], ["503", "I7N3G6G", "503", 0, "no description", 60.2, "random"], ["504", "I7N3G6G", "504", 0, "no description", 60.2, "random"], ["505", "I7N3G6G", "505", 0, "no description", 60.2, "random"], ["506", "I7N3G6G", "506", 0, "no description", 60.2, "random"], ["507", "I7N3G6G", "507", 0, "no description", 60.2, "random"], ["508", "I7N3G6G", "508", 0, "no description", 60.2, "random"], ["509", "I7N3G6G", "509", 0, "no description", 60.2, "random"], ["510", "I7N3G6G", "510", 0, "no description", 60.2, "random"], ["511", "I7N3G6G", "511", 0, "no description", 60.2, "random"], ["512", "I7N3G6G", "512", 0, "no description", 60.2, "random"], ["513", "I7N3G6G", "513", 0, "no description", 60.2, "random"], ["514", "I7N3G6G", "514", 0, "no description", 60.2, "random"], ["515", "I7N3G6G", "515", 0, "no description", 60.2, "random"], ["516", "I7N3G6G", "516", 0, "no description", 60.2, "random"], ["517", "I7N3G6G", "517", 0, "no description", 60.2, "random"], ["518", "I7N3G6G", "518", 0, "no description", 60.2, "random"], ["519", "I7N3G6G", "519", 0, "no description", 60.2, "random"], ["520", "I7N3G6G", "520", 0, "no description", 60.2, "random"], ["521", "I7N3G6G", "521", 0, "no description", 60.2, "random"], ["522", "I7N3G6G", "522", 0, "no description", 60.2, "random"], ["523", "I7N3G6G", "523", 0, "no description", 60.2, "random"], ["524", "I7N3G6G", "524", 0, "no description", 60.2, "random"], ["525", "I7N3G6G", "525", 0, "no description", 60.2, "random"], ["526", "I7N3G6G", "526", 0, "no description", 60.2, "random"], ["527", "I7N3G6G", "527", 0, "no description", 60.2, "random"], ["528", "I7N3G6G", "528", 0, "no description", 60.2, "random"], ["529", "I7N3G6G", "529", 0, "no description", 60.2, "random"], ["530", "I7N3G6G", "530", 0, "no description", 60.2, "random"], ["531", "I7N3G6G", "531", 0, "no description", 60.2, "random"], ["532", "I7N3G6G", "532", 0, "no description", 60.2, "random"], ["533", "I7N3G6G", "533", 0, "no description", 60.2, "random"], ["534", "I7N3G6G", "534", 0, "no description", 60.2, "random"], ["535", "I7N3G6G", "535", 0, "no description", 60.2, "random"], ["536", "I7N3G6G", "536", 0, "no description", 60.2, "random"], ["537", "I7N3G6G", "537", 0, "no description", 60.2, "random"], ["538", "I7N3G6G", "538", 0, "no description", 60.2, "random"], ["539", "I7N3G6G", "539", 0, "no description", 60.2, "random"], ["540", "I7N3G6G", "540", 0, "no description", 60.2, "random"], ["541", "I7N3G6G", "541", 0, "no description", 60.2, "random"], ["542", "I7N3G6G", "542", 0, "no description", 60.2, "random"], ["543", "I7N3G6G", "543", 0, "no description", 60.2, "random"], ["544", "I7N3G6G", "544", 0, "no description", 60.2, "random"], ["545", "I7N3G6G", "545", 0, "no description", 60.2, "random"], ["546", "I7N3G6G", "546", 0, "no description", 60.2, "random"], ["547", "I7N3G6G", "547", 0, "no description", 60.2, "random"], ["548", "I7N3G6G", "548", 0, "no description", 60.2, "random"], ["549", "I7N3G6G", "549", 0, "no description", 60.2, "random"], ["550", "I7N3G6G", "550", 0, "no description", 60.2, "random"], ["551", "I7N3G6G", "551", 0, "no description", 60.2, "random"], ["552", "I7N3G6G", "552", 0, "no description", 60.2, "random"], ["553", "I7N3G6G", "553", 0, "no description", 60.2, "random"], ["554", "I7N3G6G", "554", 0, "no description", 60.2, "random"], ["555", "I7N3G6G", "555", 0, "no description", 60.2, "random"], ["556", "I7N3G6G", "556", 0, "no description", 60.2, "random"], ["557", "I7N3G6G", "557", 0, "no description", 60.2, "random"], ["558", "I7N3G6G", "558", 0, "no description", 60.2, "random"], ["559", "I7N3G6G", "559", 0, "no description", 60.2, "random"], ["560", "I7N3G6G", "560", 0, "no description", 60.2, "random"], ["561", "I7N3G6G", "561", 0, "no description", 60.2, "random"], ["562", "I7N3G6G", "562", 0, "no description", 60.2, "random"], ["563", "I7N3G6G", "563", 0, "no description", 60.2, "random"], ["564", "I7N3G6G", "564", 0, "no description", 60.2, "random"], ["565", "I7N3G6G", "565", 0, "no description", 60.2, "random"], ["566", "I7N3G6G", "566", 0, "no description", 60.2, "random"], ["567", "I7N3G6G", "567", 0, "no description", 60.2, "random"], ["568", "I7N3G6G", "568", 0, "no description", 60.2, "random"], ["569", "I7N3G6G", "569", 0, "no description", 60.2, "random"], ["570", "I7N3G6G", "570", 0, "no description", 60.2, "random"], ["571", "I7N3G6G", "571", 0, "no description", 60.2, "random"], ["572", "I7N3G6G", "572", 0, "no description", 60.2, "random"], ["573", "I7N3G6G", "573", 0, "no description", 60.2, "random"], ["574", "I7N3G6G", "574", 0, "no description", 60.2, "random"], ["575", "I7N3G6G", "575", 0, "no description", 60.2, "random"], ["576", "I7N3G6G", "576", 0, "no description", 60.2, "random"], ["577", "I7N3G6G", "577", 0, "no description", 60.2, "random"], ["578", "I7N3G6G", "578", 0, "no description", 60.2, "random"], ["579", "I7N3G6G", "579", 0, "no description", 60.2, "random"], ["580", "I7N3G6G", "580", 0, "no description", 60.2, "random"], ["581", "I7N3G6G", "581", 0, "no description", 60.2, "random"], ["582", "I7N3G6G", "582", 0, "no description", 60.2, "random"], ["583", "I7N3G6G", "583", 0, "no description", 60.2, "random"], ["584", "I7N3G6G", "584", 0, "no description", 60.2, "random"], ["585", "I7N3G6G", "585", 0, "no description", 60.2, "random"], ["586", "I7N3G6G", "586", 0, "no description", 60.2, "random"], ["587", "I7N3G6G", "587", 0, "no description", 60.2, "random"], ["588", "I7N3G6G", "588", 0, "no description", 60.2, "random"], ["589", "I7N3G6G", "589", 0, "no description", 60.2, "random"], ["590", "I7N3G6G", "590", 0, "no description", 60.2, "random"], ["591", "I7N3G6G", "591", 0, "no description", 60.2, "random"], ["592", "I7N3G6G", "592", 0, "no description", 60.2, "random"], ["593", "I7N3G6G", "593", 0, "no description", 60.2, "random"], ["594", "I7N3G6G", "594", 0, "no description", 60.2, "random"], ["595", "I7N3G6G", "595", 0, "no description", 60.2, "random"], ["596", "I7N3G6G", "596", 0, "no description", 60.2, "random"], ["597", "I7N3G6G", "597", 0, "no description", 60.2, "random"], ["598", "I7N3G6G", "598", 0, "no description", 60.2, "random"], ["599", "I7N3G6G", "599", 0, "no description", 60.2, "random"], ["600", "I7N3G6G", "600", 0, "no description", 60.2, "random"], ["601", "I7N3G6G", "601", 0, "no description", 60.2, "random"], ["602", "I7N3G6G", "602", 0, "no description", 60.2, "random"], ["603", "I7N3G6G", "603", 0, "no description", 60.2, "random"], ["604", "I7N3G6G", "604", 0, "no description", 60.2, "random"], ["605", "I7N3G6G", "605", 0, "no description", 60.2, "random"], ["606", "I7N3G6G", "606", 0, "no description", 60.2, "random"], ["607", "I7N3G6G", "607", 0, "no description", 60.2, "random"], ["608", "I7N3G6G", "608", 0, "no description", 60.2, "random"], ["609", "I7N3G6G", "609", 0, "no description", 60.2, "random"], ["610", "I7N3G6G", "610", 0, "no description", 60.2, "random"], ["611", "I7N3G6G", "611", 0, "no description", 60.2, "random"], ["612", "I7N3G6G", "612", 0, "no description", 60.2, "random"], ["613", "I7N3G6G", "613", 0, "no description", 60.2, "random"], ["614", "I7N3G6G", "614", 0, "no description", 60.2, "random"], ["615", "I7N3G6G", "615", 0, "no description", 60.2, "random"], ["616", "I7N3G6G", "616", 0, "no description", 60.2, "random"], ["617", "I7N3G6G", "617", 0, "no description", 60.2, "random"], ["618", "I7N3G6G", "618", 0, "no description", 60.2, "random"], ["619", "I7N3G6G", "619", 0, "no description", 60.2, "random"], ["620", "I7N3G6G", "620", 0, "no description", 60.2, "random"], ["621", "I7N3G6G", "621", 0, "no description", 60.2, "random"], ["622", "I7N3G6G", "622", 0, "no description", 60.2, "random"], ["623", "I7N3G6G", "623", 0, "no description", 60.2, "random"], ["624", "I7N3G6G", "624", 0, "no description", 60.2, "random"], ["625", "I7N3G6G", "625", 0, "no description", 60.2, "random"], ["626", "I7N3G6G", "626", 0, "no description", 60.2, "random"], ["627", "I7N3G6G", "627", 0, "no description", 60.2, "random"], ["628", "I7N3G6G", "628", 0, "no description", 60.2, "random"], ["629", "I7N3G6G", "629", 0, "no description", 60.2, "random"], ["630", "I7N3G6G", "630", 0, "no description", 60.2, "random"], ["631", "I7N3G6G", "631", 0, "no description", 60.2, "random"], ["632", "I7N3G6G", "632", 0, "no description", 60.2, "random"], ["633", "I7N3G6G", "633", 0, "no description", 60.2, "random"], ["634", "I7N3G6G", "634", 0, "no description", 60.2, "random"], ["635", "I7N3G6G", "635", 0, "no description", 60.2, "random"], ["636", "I7N3G6G", "636", 0, "no description", 60.2, "random"], ["637", "I7N3G6G", "637", 0, "no description", 60.2, "random"], ["638", "I7N3G6G", "638", 0, "no description", 60.2, "random"], ["639", "I7N3G6G", "639", 0, "no description", 60.2, "random"], ["640", "I7N3G6G", "640", 0, "no description", 60.2, "random"], ["641", "I7N3G6G", "641", 0, "no description", 60.2, "random"], ["642", "I7N3G6G", "642", 0, "no description", 60.2, "random"], ["643", "I7N3G6G", "643", 0, "no description", 60.2, "random"], ["644", "I7N3G6G", "644", 0, "no description", 60.2, "random"], ["645", "I7N3G6G", "645", 0, "no description", 60.2, "random"], ["646", "I7N3G6G", "646", 0, "no description", 60.2, "random"], ["647", "I7N3G6G", "647", 0, "no description", 60.2, "random"], ["648", "I7N3G6G", "648", 0, "no description", 60.2, "random"], ["649", "I7N3G6G", "649", 0, "no description", 60.2, "random"], ["650", "I7N3G6G", "650", 0, "no description", 60.2, "random"], ["651", "I7N3G6G", "651", 0, "no description", 60.2, "random"], ["652", "I7N3G6G", "652", 0, "no description", 60.2, "random"], ["653", "I7N3G6G", "653", 0, "no description", 60.2, "random"], ["654", "I7N3G6G", "654", 0, "no description", 60.2, "random"], ["655", "I7N3G6G", "655", 0, "no description", 60.2, "random"], ["656", "I7N3G6G", "656", 0, "no description", 60.2, "random"], ["657", "I7N3G6G", "657", 0, "no description", 60.2, "random"], ["658", "I7N3G6G", "658", 0, "no description", 60.2, "random"], ["659", "I7N3G6G", "659", 0, "no description", 60.2, "random"], ["660", "I7N3G6G", "660", 0, "no description", 60.2, "random"], ["661", "I7N3G6G", "661", 0, "no description", 60.2, "random"], ["662", "I7N3G6G", "662", 0, "no description", 60.2, "random"], ["663", "I7N3G6G", "663", 0, "no description", 60.2, "random"], ["664", "I7N3G6G", "664", 0, "no description", 60.2, "random"], ["665", "I7N3G6G", "665", 0, "no description", 60.2, "random"], ["666", "I7N3G6G", "666", 0, "no description", 60.2, "random"], ["667", "I7N3G6G", "667", 0, "no description", 60.2, "random"], ["668", "I7N3G6G", "668", 0, "no description", 60.2, "random"], ["669", "I7N3G6G", "669", 0, "no description", 60.2, "random"], ["670", "I7N3G6G", "670", 0, "no description", 60.2, "random"], ["671", "I7N3G6G", "671", 0, "no description", 60.2, "random"], ["672", "I7N3G6G", "672", 0, "no description", 60.2, "random"], ["673", "I7N3G6G", "673", 0, "no description", 60.2, "random"], ["674", "I7N3G6G", "674", 0, "no description", 60.2, "random"], ["675", "I7N3G6G", "675", 0, "no description", 60.2, "random"], ["676", "I7N3G6G", "676", 0, "no description", 60.2, "random"], ["677", "I7N3G6G", "677", 0, "no description", 60.2, "random"], ["678", "I7N3G6G", "678", 0, "no description", 60.2, "random"], ["679", "I7N3G6G", "679", 0, "no description", 60.2, "random"], ["680", "I7N3G6G", "680", 0, "no description", 60.2, "random"], ["681", "I7N3G6G", "681", 0, "no description", 60.2, "random"], ["682", "I7N3G6G", "682", 0, "no description", 60.2, "random"], ["683", "I7N3G6G", "683", 0, "no description", 60.2, "random"], ["684", "I7N3G6G", "684", 0, "no description", 60.2, "random"], ["685", "I7N3G6G", "685", 0, "no description", 60.2, "random"], ["686", "I7N3G6G", "686", 0, "no description", 60.2, "random"], ["687", "I7N3G6G", "687", 0, "no description", 60.2, "random"], ["688", "I7N3G6G", "688", 0, "no description", 60.2, "random"], ["689", "I7N3G6G", "689", 0, "no description", 60.2, "random"], ["690", "I7N3G6G", "690", 0, "no description", 60.2, "random"], ["691", "I7N3G6G", "691", 0, "no description", 60.2, "random"], ["692", "I7N3G6G", "692", 0, "no description", 60.2, "random"], ["693", "I7N3G6G", "693", 0, "no description", 60.2, "random"], ["694", "I7N3G6G", "694", 0, "no description", 60.2, "random"], ["695", "I7N3G6G", "695", 0, "no description", 60.2, "random"], ["696", "I7N3G6G", "696", 0, "no description", 60.2, "random"], ["697", "I7N3G6G", "697", 0, "no description", 60.2, "random"], ["698", "I7N3G6G", "698", 0, "no description", 60.2, "random"], ["699", "I7N3G6G", "699", 0, "no description", 60.2, "random"], ["700", "I7N3G6G", "700", 0, "no description", 60.2, "random"], ["701", "I7N3G6G", "701", 0, "no description", 60.2, "random"], ["702", "I7N3G6G", "702", 0, "no description", 60.2, "random"], ["703", "I7N3G6G", "703", 0, "no description", 60.2, "random"], ["704", "I7N3G6G", "704", 0, "no description", 60.2, "random"], ["705", "I7N3G6G", "705", 0, "no description", 60.2, "random"], ["706", "I7N3G6G", "706", 0, "no description", 60.2, "random"], ["707", "I7N3G6G", "707", 0, "no description", 60.2, "random"], ["708", "I7N3G6G", "708", 0, "no description", 60.2, "random"], ["709", "I7N3G6G", "709", 0, "no description", 60.2, "random"], ["710", "I7N3G6G", "710", 0, "no description", 60.2, "random"], ["711", "I7N3G6G", "711", 0, "no description", 60.2, "random"], ["712", "I7N3G6G", "712", 0, "no description", 60.2, "random"], ["713", "I7N3G6G", "713", 0, "no description", 60.2, "random"], ["714", "I7N3G6G", "714", 0, "no description", 60.2, "random"], ["715", "I7N3G6G", "715", 0, "no description", 60.2, "random"], ["716", "I7N3G6G", "716", 0, "no description", 60.2, "random"], ["717", "I7N3G6G", "717", 0, "no description", 60.2, "random"], ["718", "I7N3G6G", "718", 0, "no description", 60.2, "random"], ["719", "I7N3G6G", "719", 0, "no description", 60.2, "random"], ["720", "I7N3G6G", "720", 0, "no description", 60.2, "random"], ["721", "I7N3G6G", "721", 0, "no description", 60.2, "random"], ["722", "I7N3G6G", "722", 0, "no description", 60.2, "random"], ["723", "I7N3G6G", "723", 0, "no description", 60.2, "random"], ["724", "I7N3G6G", "724", 0, "no description", 60.2, "random"], ["725", "I7N3G6G", "725", 0, "no description", 60.2, "random"], ["726", "I7N3G6G", "726", 0, "no description", 60.2, "random"], ["727", "I7N3G6G", "727", 0, "no description", 60.2, "random"], ["728", "I7N3G6G", "728", 0, "no description", 60.2, "random"], ["729", "I7N3G6G", "729", 0, "no description", 60.2, "random"], ["730", "I7N3G6G", "730", 0, "no description", 60.2, "random"], ["731", "I7N3G6G", "731", 0, "no description", 60.2, "random"], ["732", "I7N3G6G", "732", 0, "no description", 60.2, "random"], ["733", "I7N3G6G", "733", 0, "no description", 60.2, "random"], ["734", "I7N3G6G", "734", 0, "no description", 60.2, "random"], ["735", "I7N3G6G", "735", 0, "no description", 60.2, "random"], ["736", "I7N3G6G", "736", 0, "no description", 60.2, "random"], ["737", "I7N3G6G", "737", 0, "no description", 60.2, "random"], ["738", "I7N3G6G", "738", 0, "no description", 60.2, "random"], ["739", "I7N3G6G", "739", 0, "no description", 60.2, "random"], ["740", "I7N3G6G", "740", 0, "no description", 60.2, "random"], ["741", "I7N3G6G", "741", 0, "no description", 60.2, "random"], ["742", "I7N3G6G", "742", 0, "no description", 60.2, "random"], ["743", "I7N3G6G", "743", 0, "no description", 60.2, "random"], ["744", "I7N3G6G", "744", 0, "no description", 60.2, "random"], ["745", "I7N3G6G", "745", 0, "no description", 60.2, "random"], ["746", "I7N3G6G", "746", 0, "no description", 60.2, "random"], ["747", "I7N3G6G", "747", 0, "no description", 60.2, "random"], ["748", "I7N3G6G", "748", 0, "no description", 60.2, "random"], ["749", "I7N3G6G", "749", 0, "no description", 60.2, "random"], ["750", "I7N3G6G", "750", 0, "no description", 60.2, "random"], ["751", "I7N3G6G", "751", 0, "no description", 60.2, "random"], ["752", "I7N3G6G", "752", 0, "no description", 60.2, "random"], ["753", "I7N3G6G", "753", 0, "no description", 60.2, "random"], ["754", "I7N3G6G", "754", 0, "no description", 60.2, "random"], ["755", "I7N3G6G", "755", 0, "no description", 60.2, "random"], ["756", "I7N3G6G", "756", 0, "no description", 60.2, "random"], ["757", "I7N3G6G", "757", 0, "no description", 60.2, "random"], ["758", "I7N3G6G", "758", 0, "no description", 60.2, "random"], ["759", "I7N3G6G", "759", 0, "no description", 60.2, "random"], ["760", "I7N3G6G", "760", 0, "no description", 60.2, "random"], ["761", "I7N3G6G", "761", 0, "no description", 60.2, "random"], ["762", "I7N3G6G", "762", 0, "no description", 60.2, "random"], ["763", "I7N3G6G", "763", 0, "no description", 60.2, "random"], ["764", "I7N3G6G", "764", 0, "no description", 60.2, "random"], ["765", "I7N3G6G", "765", 0, "no description", 60.2, "random"], ["766", "I7N3G6G", "766", 0, "no description", 60.2, "random"], ["767", "I7N3G6G", "767", 0, "no description", 60.2, "random"], ["768", "I7N3G6G", "768", 0, "no description", 60.2, "random"], ["769", "I7N3G6G", "769", 0, "no description", 60.2, "random"], ["770", "I7N3G6G", "770", 0, "no description", 60.2, "random"], ["771", "I7N3G6G", "771", 0, "no description", 60.2, "random"], ["772", "I7N3G6G", "772", 0, "no description", 60.2, "random"], ["773", "I7N3G6G", "773", 0, "no description", 60.2, "random"], ["774", "I7N3G6G", "774", 0, "no description", 60.2, "random"], ["775", "I7N3G6G", "775", 0, "no description", 60.2, "random"], ["776", "I7N3G6G", "776", 0, "no description", 60.2, "random"], ["777", "I7N3G6G", "777", 0, "no description", 60.2, "random"], ["778", "I7N3G6G", "778", 0, "no description", 60.2, "random"], ["779", "I7N3G6G", "779", 0, "no description", 60.2, "random"], ["780", "I7N3G6G", "780", 0, "no description", 60.2, "random"], ["781", "I7N3G6G", "781", 0, "no description", 60.2, "random"], ["782", "I7N3G6G", "782", 0, "no description", 60.2, "random"], ["783", "I7N3G6G", "783", 0, "no description", 60.2, "random"], ["784", "I7N3G6G", "784", 0, "no description", 60.2, "random"], ["785", "I7N3G6G", "785", 0, "no description", 60.2, "random"], ["786", "I7N3G6G", "786", 0, "no description", 60.2, "random"], ["787", "I7N3G6G", "787", 0, "no description", 60.2, "random"], ["788", "I7N3G6G", "788", 0, "no description", 60.2, "random"], ["789", "I7N3G6G", "789", 0, "no description", 60.2, "random"], ["790", "I7N3G6G", "790", 0, "no description", 60.2, "random"], ["791", "I7N3G6G", "791", 0, "no description", 60.2, "random"], ["792", "I7N3G6G", "792", 0, "no description", 60.2, "random"], ["793", "I7N3G6G", "793", 0, "no description", 60.2, "random"], ["794", "I7N3G6G", "794", 0, "no description", 60.2, "random"], ["795", "I7N3G6G", "795", 0, "no description", 60.2, "random"], ["796", "I7N3G6G", "796", 0, "no description", 60.2, "random"], ["797", "I7N3G6G", "797", 0, "no description", 60.2, "random"], ["798", "I7N3G6G", "798", 0, "no description", 60.2, "random"], ["799", "I7N3G6G", "799", 0, "no description", 60.2, "random"], ["800", "I7N3G6G", "800", 0, "no description", 60.2, "random"], ["801", "I7N3G6G", "801", 0, "no description", 60.2, "random"], ["802", "I7N3G6G", "802", 0, "no description", 60.2, "random"], ["803", "I7N3G6G", "803", 0, "no description", 60.2, "random"], ["804", "I7N3G6G", "804", 0, "no description", 60.2, "random"], ["805", "I7N3G6G", "805", 0, "no description", 60.2, "random"], ["806", "I7N3G6G", "806", 0, "no description", 60.2, "random"], ["807", "I7N3G6G", "807", 0, "no description", 60.2, "random"], ["808", "I7N3G6G", "808", 0, "no description", 60.2, "random"], ["809", "I7N3G6G", "809", 0, "no description", 60.2, "random"], ["810", "I7N3G6G", "810", 0, "no description", 60.2, "random"], ["811", "I7N3G6G", "811", 0, "no description", 60.2, "random"], ["812", "I7N3G6G", "812", 0, "no description", 60.2, "random"], ["813", "I7N3G6G", "813", 0, "no description", 60.2, "random"], ["814", "I7N3G6G", "814", 0, "no description", 60.2, "random"], ["815", "I7N3G6G", "815", 0, "no description", 60.2, "random"], ["816", "I7N3G6G", "816", 0, "no description", 60.2, "random"], ["817", "I7N3G6G", "817", 0, "no description", 60.2, "random"], ["818", "I7N3G6G", "818", 0, "no description", 60.2, "random"], ["819", "I7N3G6G", "819", 0, "no description", 60.2, "random"], ["820", "I7N3G6G", "820", 0, "no description", 60.2, "random"], ["821", "I7N3G6G", "821", 0, "no description", 60.2, "random"], ["822", "I7N3G6G", "822", 0, "no description", 60.2, "random"], ["823", "I7N3G6G", "823", 0, "no description", 60.2, "random"], ["824", "I7N3G6G", "824", 0, "no description", 60.2, "random"], ["825", "I7N3G6G", "825", 0, "no description", 60.2, "random"], ["826", "I7N3G6G", "826", 0, "no description", 60.2, "random"], ["827", "I7N3G6G", "827", 0, "no description", 60.2, "random"], ["828", "I7N3G6G", "828", 0, "no description", 60.2, "random"], ["829", "I7N3G6G", "829", 0, "no description", 60.2, "random"], ["830", "I7N3G6G", "830", 0, "no description", 60.2, "random"], ["831", "I7N3G6G", "831", 0, "no description", 60.2, "random"], ["832", "I7N3G6G", "832", 0, "no description", 60.2, "random"], ["833", "I7N3G6G", "833", 0, "no description", 60.2, "random"], ["834", "I7N3G6G", "834", 0, "no description", 60.2, "random"], ["835", "I7N3G6G", "835", 0, "no description", 60.2, "random"], ["836", "I7N3G6G", "836", 0, "no description", 60.2, "random"], ["837", "I7N3G6G", "837", 0, "no description", 60.2, "random"], ["838", "I7N3G6G", "838", 0, "no description", 60.2, "random"], ["839", "I7N3G6G", "839", 0, "no description", 60.2, "random"], ["840", "I7N3G6G", "840", 0, "no description", 60.2, "random"], ["841", "I7N3G6G", "841", 0, "no description", 60.2, "random"], ["842", "I7N3G6G", "842", 0, "no description", 60.2, "random"], ["843", "I7N3G6G", "843", 0, "no description", 60.2, "random"], ["844", "I7N3G6G", "844", 0, "no description", 60.2, "random"], ["845", "I7N3G6G", "845", 0, "no description", 60.2, "random"], ["846", "I7N3G6G", "846", 0, "no description", 60.2, "random"], ["847", "I7N3G6G", "847", 0, "no description", 60.2, "random"], ["848", "I7N3G6G", "848", 0, "no description", 60.2, "random"], ["849", "I7N3G6G", "849", 0, "no description", 60.2, "random"], ["850", "I7N3G6G", "850", 0, "no description", 60.2, "random"], ["851", "I7N3G6G", "851", 0, "no description", 60.2, "random"], ["852", "I7N3G6G", "852", 0, "no description", 60.2, "random"], ["853", "I7N3G6G", "853", 0, "no description", 60.2, "random"], ["854", "I7N3G6G", "854", 0, "no description", 60.2, "random"], ["855", "I7N3G6G", "855", 0, "no description", 60.2, "random"], ["856", "I7N3G6G", "856", 0, "no description", 60.2, "random"], ["857", "I7N3G6G", "857", 0, "no description", 60.2, "random"], ["858", "I7N3G6G", "858", 0, "no description", 60.2, "random"], ["859", "I7N3G6G", "859", 0, "no description", 60.2, "random"], ["860", "I7N3G6G", "860", 0, "no description", 60.2, "random"], ["861", "I7N3G6G", "861", 0, "no description", 60.2, "random"], ["862", "I7N3G6G", "862", 0, "no description", 60.2, "random"], ["863", "I7N3G6G", "863", 0, "no description", 60.2, "random"], ["864", "I7N3G6G", "864", 0, "no description", 60.2, "random"], ["865", "I7N3G6G", "865", 0, "no description", 60.2, "random"], ["866", "I7N3G6G", "866", 0, "no description", 60.2, "random"], ["867", "I7N3G6G", "867", 0, "no description", 60.2, "random"], ["868", "I7N3G6G", "868", 0, "no description", 60.2, "random"], ["869", "I7N3G6G", "869", 0, "no description", 60.2, "random"], ["870", "I7N3G6G", "870", 0, "no description", 60.2, "random"], ["871", "I7N3G6G", "871", 0, "no description", 60.2, "random"], ["872", "I7N3G6G", "872", 0, "no description", 60.2, "random"], ["873", "I7N3G6G", "873", 0, "no description", 60.2, "random"], ["874", "I7N3G6G", "874", 0, "no description", 60.2, "random"], ["875", "I7N3G6G", "875", 0, "no description", 60.2, "random"], ["876", "I7N3G6G", "876", 0, "no description", 60.2, "random"], ["877", "I7N3G6G", "877", 0, "no description", 60.2, "random"], ["878", "I7N3G6G", "878", 0, "no description", 60.2, "random"], ["879", "I7N3G6G", "879", 0, "no description", 60.2, "random"], ["880", "I7N3G6G", "880", 0, "no description", 60.2, "random"], ["881", "I7N3G6G", "881", 0, "no description", 60.2, "random"], ["882", "I7N3G6G", "882", 0, "no description", 60.2, "random"], ["883", "I7N3G6G", "883", 0, "no description", 60.2, "random"], ["884", "I7N3G6G", "884", 0, "no description", 60.2, "random"], ["885", "I7N3G6G", "885", 0, "no description", 60.2, "random"], ["886", "I7N3G6G", "886", 0, "no description", 60.2, "random"], ["887", "I7N3G6G", "887", 0, "no description", 60.2, "random"], ["888", "I7N3G6G", "888", 0, "no description", 60.2, "random"], ["889", "I7N3G6G", "889", 0, "no description", 60.2, "random"], ["890", "I7N3G6G", "890", 0, "no description", 60.2, "random"], ["891", "I7N3G6G", "891", 0, "no description", 60.2, "random"], ["892", "I7N3G6G", "892", 0, "no description", 60.2, "random"], ["893", "I7N3G6G", "893", 0, "no description", 60.2, "random"], ["894", "I7N3G6G", "894", 0, "no description", 60.2, "random"], ["895", "I7N3G6G", "895", 0, "no description", 60.2, "random"], ["896", "I7N3G6G", "896", 0, "no description", 60.2, "random"], ["897", "I7N3G6G", "897", 0, "no description", 60.2, "random"], ["898", "I7N3G6G", "898", 0, "no description", 60.2, "random"], ["899", "I7N3G6G", "899", 0, "no description", 60.2, "random"], ["900", "I7N3G6G", "900", 0, "no description", 60.2, "random"], ["901", "I7N3G6G", "901", 0, "no description", 60.2, "random"], ["902", "I7N3G6G", "902", 0, "no description", 60.2, "random"], ["903", "I7N3G6G", "903", 0, "no description", 60.2, "random"], ["904", "I7N3G6G", "904", 0, "no description", 60.2, "random"], ["905", "I7N3G6G", "905", 0, "no description", 60.2, "random"], ["906", "I7N3G6G", "906", 0, "no description", 60.2, "random"], ["907", "I7N3G6G", "907", 0, "no description", 60.2, "random"], ["908", "I7N3G6G", "908", 0, "no description", 60.2, "random"], ["909", "I7N3G6G", "909", 0, "no description", 60.2, "random"], ["910", "I7N3G6G", "910", 0, "no description", 60.2, "random"], ["911", "I7N3G6G", "911", 0, "no description", 60.2, "random"], ["912", "I7N3G6G", "912", 0, "no description", 60.2, "random"], ["913", "I7N3G6G", "913", 0, "no description", 60.2, "random"], ["914", "I7N3G6G", "914", 0, "no description", 60.2, "random"], ["915", "I7N3G6G", "915", 0, "no description", 60.2, "random"], ["916", "I7N3G6G", "916", 0, "no description", 60.2, "random"], ["917", "I7N3G6G", "917", 0, "no description", 60.2, "random"], ["918", "I7N3G6G", "918", 0, "no description", 60.2, "random"], ["919", "I7N3G6G", "919", 0, "no description", 60.2, "random"], ["920", "I7N3G6G", "920", 0, "no description", 60.2, "random"], ["921", "I7N3G6G", "921", 0, "no description", 60.2, "random"], ["922", "I7N3G6G", "922", 0, "no description", 60.2, "random"], ["923", "I7N3G6G", "923", 0, "no description", 60.2, "random"], ["924", "I7N3G6G", "924", 0, "no description", 60.2, "random"], ["925", "I7N3G6G", "925", 0, "no description", 60.2, "random"], ["926", "I7N3G6G", "926", 0, "no description", 60.2, "random"], ["927", "I7N3G6G", "927", 0, "no description", 60.2, "random"], ["928", "I7N3G6G", "928", 0, "no description", 60.2, "random"], ["929", "I7N3G6G", "929", 0, "no description", 60.2, "random"], ["930", "I7N3G6G", "930", 0, "no description", 60.2, "random"], ["931", "I7N3G6G", "931", 0, "no description", 60.2, "random"], ["932", "I7N3G6G", "932", 0, "no description", 60.2, "random"], ["933", "I7N3G6G", "933", 0, "no description", 60.2, "random"], ["934", "I7N3G6G", "934", 0, "no description", 60.2, "random"], ["935", "I7N3G6G", "935", 0, "no description", 60.2, "random"], ["936", "I7N3G6G", "936", 0, "no description", 60.2, "random"], ["937", "I7N3G6G", "937", 0, "no description", 60.2, "random"], ["938", "I7N3G6G", "938", 0, "no description", 60.2, "random"], ["939", "I7N3G6G", "939", 0, "no description", 60.2, "random"], ["940", "I7N3G6G", "940", 0, "no description", 60.2, "random"], ["941", "I7N3G6G", "941", 0, "no description", 60.2, "random"], ["942", "I7N3G6G", "942", 0, "no description", 60.2, "random"], ["943", "I7N3G6G", "943", 0, "no description", 60.2, "random"], ["944", "I7N3G6G", "944", 0, "no description", 60.2, "random"], ["945", "I7N3G6G", "945", 0, "no description", 60.2, "random"], ["946", "I7N3G6G", "946", 0, "no description", 60.2, "random"], ["947", "I7N3G6G", "947", 0, "no description", 60.2, "random"], ["948", "I7N3G6G", "948", 0, "no description", 60.2, "random"], ["949", "I7N3G6G", "949", 0, "no description", 60.2, "random"], ["950", "I7N3G6G", "950", 0, "no description", 60.2, "random"], ["951", "I7N3G6G", "951", 0, "no description", 60.2, "random"], ["952", "I7N3G6G", "952", 0, "no description", 60.2, "random"], ["953", "I7N3G6G", "953", 0, "no description", 60.2, "random"], ["954", "I7N3G6G", "954", 0, "no description", 60.2, "random"], ["955", "I7N3G6G", "955", 0, "no description", 60.2, "random"], ["956", "I7N3G6G", "956", 0, "no description", 60.2, "random"], ["957", "I7N3G6G", "957", 0, "no description", 60.2, "random"], ["958", "I7N3G6G", "958", 0, "no description", 60.2, "random"], ["959", "I7N3G6G", "959", 0, "no description", 60.2, "random"], ["960", "I7N3G6G", "960", 0, "no description", 60.2, "random"], ["961", "I7N3G6G", "961", 0, "no description", 60.2, "random"], ["962", "I7N3G6G", "962", 0, "no description", 60.2, "random"], ["963", "I7N3G6G", "963", 0, "no description", 60.2, "random"], ["964", "I7N3G6G", "964", 0, "no description", 60.2, "random"], ["965", "I7N3G6G", "965", 0, "no description", 60.2, "random"], ["966", "I7N3G6G", "966", 0, "no description", 60.2, "random"], ["967", "I7N3G6G", "967", 0, "no description", 60.2, "random"], ["968", "I7N3G6G", "968", 0, "no description", 60.2, "random"], ["969", "I7N3G6G", "969", 0, "no description", 60.2, "random"], ["970", "I7N3G6G", "970", 0, "no description", 60.2, "random"], ["971", "I7N3G6G", "971", 0, "no description", 60.2, "random"], ["972", "I7N3G6G", "972", 0, "no description", 60.2, "random"], ["973", "I7N3G6G", "973", 0, "no description", 60.2, "random"], ["974", "I7N3G6G", "974", 0, "no description", 60.2, "random"], ["975", "I7N3G6G", "975", 0, "no description", 60.2, "random"], ["976", "I7N3G6G", "976", 0, "no description", 60.2, "random"], ["977", "I7N3G6G", "977", 0, "no description", 60.2, "random"], ["978", "I7N3G6G", "978", 0, "no description", 60.2, "random"], ["979", "I7N3G6G", "979", 0, "no description", 60.2, "random"], ["980", "I7N3G6G", "980", 0, "no description", 60.2, "random"], ["981", "I7N3G6G", "981", 0, "no description", 60.2, "random"], ["982", "I7N3G6G", "982", 0, "no description", 60.2, "random"], ["983", "I7N3G6G", "983", 0, "no description", 60.2, "random"], ["984", "I7N3G6G", "984", 0, "no description", 60.2, "random"], ["985", "I7N3G6G", "985", 0, "no description", 60.2, "random"], ["986", "I7N3G6G", "986", 0, "no description", 60.2, "random"], ["987", "I7N3G6G", "987", 0, "no description", 60.2, "random"], ["988", "I7N3G6G", "988", 0, "no description", 60.2, "random"], ["989", "I7N3G6G", "989", 0, "no description", 60.2, "random"], ["990", "I7N3G6G", "990", 0, "no description", 60.2, "random"], ["991", "I7N3G6G", "991", 0, "no description", 60.2, "random"], ["992", "I7N3G6G", "992", 0, "no description", 60.2, "random"], ["993", "I7N3G6G", "993", 0, "no description", 60.2, "random"], ["994", "I7N3G6G", "994", 0, "no description", 60.2, "random"], ["995", "I7N3G6G", "995", 0, "no description", 60.2, "random"], ["996", "I7N3G6G", "996", 0, "no description", 60.2, "random"], ["997", "I7N3G6G", "997", 0, "no description", 60.2, "random"], ["998", "I7N3G6G", "998", 0, "no description", 60.2, "random"], ["999", "I7N3G6G", "999", 0, "no description", 60.2, "random"], ["1000", "I7N3G6G", "1000", 0, "no description", 60.2, "random"], ["1001", "I7N3G6G", "1001", 0, "no description", 60.2, "random"], ["1002", "I7N3G6G", "1002", 0, "no description", 60.2, "random"], ["1003", "I7N3G6G", "1003", 0, "no description", 60.2, "random"], ["1004", "I7N3G6G", "1004", 0, "no description", 60.2, "random"], ["1005", "I7N3G6G", "1005", 0, "no description", 60.2, "random"], ["1006", "I7N3G6G", "1006", 0, "no description", 60.2, "random"], ["1007", "I7N3G6G", "1007", 0, "no description", 60.2, "random"], ["1008", "I7N3G6G", "1008", 0, "no description", 60.2, "random"], ["1009", "I7N3G6G", "1009", 0, "no description", 60.2, "random"], ["1010", "I7N3G6G", "1010", 0, "no description", 60.2, "random"], ["1011", "I7N3G6G", "1011", 0, "no description", 60.2, "random"], ["1012", "I7N3G6G", "1012", 0, "no description", 60.2, "random"], ["1013", "I7N3G6G", "1013", 0, "no description", 60.2, "random"], ["1014", "I7N3G6G", "1014", 0, "no description", 60.2, "random"], ["1015", "I7N3G6G", "1015", 0, "no description", 60.2, "random"], ["1016", "I7N3G6G", "1016", 0, "no description", 60.2, "random"], ["1017", "I7N3G6G", "1017", 0, "no description", 60.2, "random"], ["1018", "I7N3G6G", "1018", 0, "no description", 60.2, "random"], ["1019", "I7N3G6G", "1019", 0, "no description", 60.2, "random"], ["1020", "I7N3G6G", "1020", 0, "no description", 60.2, "random"], ["1021", "I7N3G6G", "1021", 0, "no description", 60.2, "random"], ["1022", "I7N3G6G", "1022", 0, "no description", 60.2, "random"], ["1023", "I7N3G6G", "1023", 0, "no description", 60.2, "random"], ["1024", "I7N3G6G", "1024", 0, "no description", 60.2, "random"], ["1025", "I7N3G6G", "1025", 0, "no description", 60.2, "random"], ["1026", "I7N3G6G", "1026", 0, "no description", 60.2, "random"], ["1027", "I7N3G6G", "1027", 0, "no description", 60.2, "random"], ["1028", "I7N3G6G", "1028", 0, "no description", 60.2, "random"], ["1029", "I7N3G6G", "1029", 0, "no description", 60.2, "random"], ["1030", "I7N3G6G", "1030", 0, "no description", 60.2, "random"], ["1031", "I7N3G6G", "1031", 0, "no description", 60.2, "random"], ["1032", "I7N3G6G", "1032", 0, "no description", 60.2, "random"], ["1033", "I7N3G6G", "1033", 0, "no description", 60.2, "random"], ["1034", "I7N3G6G", "1034", 0, "no description", 60.2, "random"], ["1035", "I7N3G6G", "1035", 0, "no description", 60.2, "random"], ["1036", "I7N3G6G", "1036", 0, "no description", 60.2, "random"], ["1037", "I7N3G6G", "1037", 0, "no description", 60.2, "random"], ["1038", "I7N3G6G", "1038", 0, "no description", 60.2, "random"], ["1039", "I7N3G6G", "1039", 0, "no description", 60.2, "random"], ["1040", "I7N3G6G", "1040", 0, "no description", 60.2, "random"], ["1041", "I7N3G6G", "1041", 0, "no description", 60.2, "random"], ["1042", "I7N3G6G", "1042", 0, "no description", 60.2, "random"], ["1043", "I7N3G6G", "1043", 0, "no description", 60.2, "random"], ["1044", "I7N3G6G", "1044", 0, "no description", 60.2, "random"], ["1045", "I7N3G6G", "1045", 0, "no description", 60.2, "random"], ["1046", "I7N3G6G", "1046", 0, "no description", 60.2, "random"], ["1047", "I7N3G6G", "1047", 0, "no description", 60.2, "random"], ["1048", "I7N3G6G", "1048", 0, "no description", 60.2, "random"], ["1049", "I7N3G6G", "1049", 0, "no description", 60.2, "random"], ["1050", "I7N3G6G", "1050", 0, "no description", 60.2, "random"], ["1051", "I7N3G6G", "1051", 0, "no description", 60.2, "random"], ["1052", "I7N3G6G", "1052", 0, "no description", 60.2, "random"], ["1053", "I7N3G6G", "1053", 0, "no description", 60.2, "random"], ["1054", "I7N3G6G", "1054", 0, "no description", 60.2, "random"], ["1055", "I7N3G6G", "1055", 0, "no description", 60.2, "random"], ["1056", "I7N3G6G", "1056", 0, "no description", 60.2, "random"], ["1057", "I7N3G6G", "1057", 0, "no description", 60.2, "random"], ["1058", "I7N3G6G", "1058", 0, "no description", 60.2, "random"], ["1059", "I7N3G6G", "1059", 0, "no description", 60.2, "random"], ["1060", "I7N3G6G", "1060", 0, "no description", 60.2, "random"], ["1061", "I7N3G6G", "1061", 0, "no description", 60.2, "random"], ["1062", "I7N3G6G", "1062", 0, "no description", 60.2, "random"], ["1063", "I7N3G6G", "1063", 0, "no description", 60.2, "random"], ["1064", "I7N3G6G", "1064", 0, "no description", 60.2, "random"], ["1065", "I7N3G6G", "1065", 0, "no description", 60.2, "random"], ["1066", "I7N3G6G", "1066", 0, "no description", 60.2, "random"], ["1067", "I7N3G6G", "1067", 0, "no description", 60.2, "random"], ["1068", "I7N3G6G", "1068", 0, "no description", 60.2, "random"], ["1069", "I7N3G6G", "1069", 0, "no description", 60.2, "random"], ["1070", "I7N3G6G", "1070", 0, "no description", 60.2, "random"], ["1071", "I7N3G6G", "1071", 0, "no description", 60.2, "random"], ["1072", "I7N3G6G", "1072", 0, "no description", 60.2, "random"], ["1073", "I7N3G6G", "1073", 0, "no description", 60.2, "random"], ["1074", "I7N3G6G", "1074", 0, "no description", 60.2, "random"], ["1075", "I7N3G6G", "1075", 0, "no description", 60.2, "random"], ["1076", "I7N3G6G", "1076", 0, "no description", 60.2, "random"], ["1077", "I7N3G6G", "1077", 0, "no description", 60.2, "random"], ["1078", "I7N3G6G", "1078", 0, "no description", 60.2, "random"], ["1079", "I7N3G6G", "1079", 0, "no description", 60.2, "random"], ["1080", "I7N3G6G", "1080", 0, "no description", 60.2, "random"], ["1081", "I7N3G6G", "1081", 0, "no description", 60.2, "random"], ["1082", "I7N3G6G", "1082", 0, "no description", 60.2, "random"], ["1083", "I7N3G6G", "1083", 0, "no description", 60.2, "random"], ["1084", "I7N3G6G", "1084", 0, "no description", 60.2, "random"], ["1085", "I7N3G6G", "1085", 0, "no description", 60.2, "random"], ["1086", "I7N3G6G", "1086", 0, "no description", 60.2, "random"], ["1087", "I7N3G6G", "1087", 0, "no description", 60.2, "random"], ["1088", "I7N3G6G", "1088", 0, "no description", 60.2, "random"], ["1089", "I7N3G6G", "1089", 0, "no description", 60.2, "random"], ["1090", "I7N3G6G", "1090", 0, "no description", 60.2, "random"], ["1091", "I7N3G6G", "1091", 0, "no description", 60.2, "random"], ["1092", "I7N3G6G", "1092", 0, "no description", 60.2, "random"], ["1093", "I7N3G6G", "1093", 0, "no description", 60.2, "random"], ["1094", "I7N3G6G", "1094", 0, "no description", 60.2, "random"], ["1095", "I7N3G6G", "1095", 0, "no description", 60.2, "random"], ["1096", "I7N3G6G", "1096", 0, "no description", 60.2, "random"], ["1097", "I7N3G6G", "1097", 0, "no description", 60.2, "random"], ["1098", "I7N3G6G", "1098", 0, "no description", 60.2, "random"], ["1099", "I7N3G6G", "1099", 0, "no description", 60.2, "random"], ["1100", "I7N3G6G", "1100", 0, "no description", 60.2, "random"], ["1101", "I7N3G6G", "1101", 0, "no description", 60.2, "random"], ["1102", "I7N3G6G", "1102", 0, "no description", 60.2, "random"], ["1103", "I7N3G6G", "1103", 0, "no description", 60.2, "random"], ["1104", "I7N3G6G", "1104", 0, "no description", 60.2, "random"], ["1105", "I7N3G6G", "1105", 0, "no description", 60.2, "random"], ["1106", "I7N3G6G", "1106", 0, "no description", 60.2, "random"], ["1107", "I7N3G6G", "1107", 0, "no description", 60.2, "random"], ["1108", "I7N3G6G", "1108", 0, "no description", 60.2, "random"], ["1109", "I7N3G6G", "1109", 0, "no description", 60.2, "random"], ["1110", "I7N3G6G", "1110", 0, "no description", 60.2, "random"], ["1111", "I7N3G6G", "1111", 0, "no description", 60.2, "random"], ["1112", "I7N3G6G", "1112", 0, "no description", 60.2, "random"], ["1113", "I7N3G6G", "1113", 0, "no description", 60.2, "random"], ["1114", "I7N3G6G", "1114", 0, "no description", 60.2, "random"], ["1115", "I7N3G6G", "1115", 0, "no description", 60.2, "random"], ["1116", "I7N3G6G", "1116", 0, "no description", 60.2, "random"], ["1117", "I7N3G6G", "1117", 0, "no description", 60.2, "random"], ["1118", "I7N3G6G", "1118", 0, "no description", 60.2, "random"], ["1119", "I7N3G6G", "1119", 0, "no description", 60.2, "random"], ["1120", "I7N3G6G", "1120", 0, "no description", 60.2, "random"], ["1121", "I7N3G6G", "1121", 0, "no description", 60.2, "random"], ["1122", "I7N3G6G", "1122", 0, "no description", 60.2, "random"], ["1123", "I7N3G6G", "1123", 0, "no description", 60.2, "random"], ["1124", "I7N3G6G", "1124", 0, "no description", 60.2, "random"], ["1125", "I7N3G6G", "1125", 0, "no description", 60.2, "random"], ["1126", "I7N3G6G", "1126", 0, "no description", 60.2, "random"], ["1127", "I7N3G6G", "1127", 0, "no description", 60.2, "random"], ["1128", "I7N3G6G", "1128", 0, "no description", 60.2, "random"], ["1129", "I7N3G6G", "1129", 0, "no description", 60.2, "random"], ["1130", "I7N3G6G", "1130", 0, "no description", 60.2, "random"], ["1131", "I7N3G6G", "1131", 0, "no description", 60.2, "random"], ["1132", "I7N3G6G", "1132", 0, "no description", 60.2, "random"], ["1133", "I7N3G6G", "1133", 0, "no description", 60.2, "random"], ["1134", "I7N3G6G", "1134", 0, "no description", 60.2, "random"], ["1135", "I7N3G6G", "1135", 0, "no description", 60.2, "random"], ["1136", "I7N3G6G", "1136", 0, "no description", 60.2, "random"], ["1137", "I7N3G6G", "1137", 0, "no description", 60.2, "random"], ["1138", "I7N3G6G", "1138", 0, "no description", 60.2, "random"], ["1139", "I7N3G6G", "1139", 0, "no description", 60.2, "random"], ["1140", "I7N3G6G", "1140", 0, "no description", 60.2, "random"], ["1141", "I7N3G6G", "1141", 0, "no description", 60.2, "random"], ["1142", "I7N3G6G", "1142", 0, "no description", 60.2, "random"], ["1143", "I7N3G6G", "1143", 0, "no description", 60.2, "random"], ["1144", "I7N3G6G", "1144", 0, "no description", 60.2, "random"], ["1145", "I7N3G6G", "1145", 0, "no description", 60.2, "random"], ["1146", "I7N3G6G", "1146", 0, "no description", 60.2, "random"], ["1147", "I7N3G6G", "1147", 0, "no description", 60.2, "random"], ["1148", "I7N3G6G", "1148", 0, "no description", 60.2, "random"], ["1149", "I7N3G6G", "1149", 0, "no description", 60.2, "random"], ["1150", "I7N3G6G", "1150", 0, "no description", 60.2, "random"], ["1151", "I7N3G6G", "1151", 0, "no description", 60.2, "random"], ["1152", "I7N3G6G", "1152", 0, "no description", 60.2, "random"], ["1153", "I7N3G6G", "1153", 0, "no description", 60.2, "random"], ["1154", "I7N3G6G", "1154", 0, "no description", 60.2, "random"], ["1155", "I7N3G6G", "1155", 0, "no description", 60.2, "random"], ["1156", "I7N3G6G", "1156", 0, "no description", 60.2, "random"], ["1157", "I7N3G6G", "1157", 0, "no description", 60.2, "random"], ["1158", "I7N3G6G", "1158", 0, "no description", 60.2, "random"], ["1159", "I7N3G6G", "1159", 0, "no description", 60.2, "random"], ["1160", "I7N3G6G", "1160", 0, "no description", 60.2, "random"], ["1161", "I7N3G6G", "1161", 0, "no description", 60.2, "random"], ["1162", "I7N3G6G", "1162", 0, "no description", 60.2, "random"], ["1163", "I7N3G6G", "1163", 0, "no description", 60.2, "random"], ["1164", "I7N3G6G", "1164", 0, "no description", 60.2, "random"], ["1165", "I7N3G6G", "1165", 0, "no description", 60.2, "random"], ["1166", "I7N3G6G", "1166", 0, "no description", 60.2, "random"], ["1167", "I7N3G6G", "1167", 0, "no description", 60.2, "random"], ["1168", "I7N3G6G", "1168", 0, "no description", 60.2, "random"], ["1169", "I7N3G6G", "1169", 0, "no description", 60.2, "random"], ["1170", "I7N3G6G", "1170", 0, "no description", 60.2, "random"], ["1171", "I7N3G6G", "1171", 0, "no description", 60.2, "random"], ["1172", "I7N3G6G", "1172", 0, "no description", 60.2, "random"], ["1173", "I7N3G6G", "1173", 0, "no description", 60.2, "random"], ["1174", "I7N3G6G", "1174", 0, "no description", 60.2, "random"], ["1175", "I7N3G6G", "1175", 0, "no description", 60.2, "random"], ["1176", "I7N3G6G", "1176", 0, "no description", 60.2, "random"], ["1177", "I7N3G6G", "1177", 0, "no description", 60.2, "random"], ["1178", "I7N3G6G", "1178", 0, "no description", 60.2, "random"], ["1179", "I7N3G6G", "1179", 0, "no description", 60.2, "random"], ["1180", "I7N3G6G", "1180", 0, "no description", 60.2, "random"], ["1181", "I7N3G6G", "1181", 0, "no description", 60.2, "random"], ["1182", "I7N3G6G", "1182", 0, "no description", 60.2, "random"], ["1183", "I7N3G6G", "1183", 0, "no description", 60.2, "random"], ["1184", "I7N3G6G", "1184", 0, "no description", 60.2, "random"], ["1185", "I7N3G6G", "1185", 0, "no description", 60.2, "random"], ["1186", "I7N3G6G", "1186", 0, "no description", 60.2, "random"], ["1187", "I7N3G6G", "1187", 0, "no description", 60.2, "random"], ["1188", "I7N3G6G", "1188", 0, "no description", 60.2, "random"], ["1189", "I7N3G6G", "1189", 0, "no description", 60.2, "random"], ["1190", "I7N3G6G", "1190", 0, "no description", 60.2, "random"], ["1191", "I7N3G6G", "1191", 0, "no description", 60.2, "random"], ["1192", "I7N3G6G", "1192", 0, "no description", 60.2, "random"], ["1193", "I7N3G6G", "1193", 0, "no description", 60.2, "random"], ["1194", "I7N3G6G", "1194", 0, "no description", 60.2, "random"], ["1195", "I7N3G6G", "1195", 0, "no description", 60.2, "random"], ["1196", "I7N3G6G", "1196", 0, "no description", 60.2, "random"], ["1197", "I7N3G6G", "1197", 0, "no description", 60.2, "random"], ["1198", "I7N3G6G", "1198", 0, "no description", 60.2, "random"], ["1199", "I7N3G6G", "1199", 0, "no description", 60.2, "random"], ["1200", "I7N3G6G", "1200", 0, "no description", 60.2, "random"], ["1201", "I7N3G6G", "1201", 0, "no description", 60.2, "random"], ["1202", "I7N3G6G", "1202", 0, "no description", 60.2, "random"], ["1203", "I7N3G6G", "1203", 0, "no description", 60.2, "random"], ["1204", "I7N3G6G", "1204", 0, "no description", 60.2, "random"], ["1205", "I7N3G6G", "1205", 0, "no description", 60.2, "random"], ["1206", "I7N3G6G", "1206", 0, "no description", 60.2, "random"], ["1207", "I7N3G6G", "1207", 0, "no description", 60.2, "random"], ["1208", "I7N3G6G", "1208", 0, "no description", 60.2, "random"], ["1209", "I7N3G6G", "1209", 0, "no description", 60.2, "random"], ["1210", "I7N3G6G", "1210", 0, "no description", 60.2, "random"], ["1211", "I7N3G6G", "1211", 0, "no description", 60.2, "random"], ["1212", "I7N3G6G", "1212", 0, "no description", 60.2, "random"], ["1213", "I7N3G6G", "1213", 0, "no description", 60.2, "random"], ["1214", "I7N3G6G", "1214", 0, "no description", 60.2, "random"], ["1215", "I7N3G6G", "1215", 0, "no description", 60.2, "random"], ["1216", "I7N3G6G", "1216", 0, "no description", 60.2, "random"], ["1217", "I7N3G6G", "1217", 0, "no description", 60.2, "random"], ["1218", "I7N3G6G", "1218", 0, "no description", 60.2, "random"], ["1219", "I7N3G6G", "1219", 0, "no description", 60.2, "random"], ["1220", "I7N3G6G", "1220", 0, "no description", 60.2, "random"], ["1221", "I7N3G6G", "1221", 0, "no description", 60.2, "random"], ["1222", "I7N3G6G", "1222", 0, "no description", 60.2, "random"], ["1223", "I7N3G6G", "1223", 0, "no description", 60.2, "random"], ["1224", "I7N3G6G", "1224", 0, "no description", 60.2, "random"], ["1225", "I7N3G6G", "1225", 0, "no description", 60.2, "random"], ["1226", "I7N3G6G", "1226", 0, "no description", 60.2, "random"], ["1227", "I7N3G6G", "1227", 0, "no description", 60.2, "random"], ["1228", "I7N3G6G", "1228", 0, "no description", 60.2, "random"], ["1229", "I7N3G6G", "1229", 0, "no description", 60.2, "random"], ["1230", "I7N3G6G", "1230", 0, "no description", 60.2, "random"], ["1231", "I7N3G6G", "1231", 0, "no description", 60.2, "random"], ["1232", "I7N3G6G", "1232", 0, "no description", 60.2, "random"], ["1233", "I7N3G6G", "1233", 0, "no description", 60.2, "random"], ["1234", "I7N3G6G", "1234", 0, "no description", 60.2, "random"], ["1235", "I7N3G6G", "1235", 0, "no description", 60.2, "random"], ["1236", "I7N3G6G", "1236", 0, "no description", 60.2, "random"], ["1237", "I7N3G6G", "1237", 0, "no description", 60.2, "random"], ["1238", "I7N3G6G", "1238", 0, "no description", 60.2, "random"], ["1239", "I7N3G6G", "1239", 0, "no description", 60.2, "random"], ["1240", "I7N3G6G", "1240", 0, "no description", 60.2, "random"], ["1241", "I7N3G6G", "1241", 0, "no description", 60.2, "random"], ["1242", "I7N3G6G", "1242", 0, "no description", 60.2, "random"], ["1243", "I7N3G6G", "1243", 0, "no description", 60.2, "random"], ["1244", "I7N3G6G", "1244", 0, "no description", 60.2, "random"], ["1245", "I7N3G6G", "1245", 0, "no description", 60.2, "random"], ["1246", "I7N3G6G", "1246", 0, "no description", 60.2, "random"], ["1247", "I7N3G6G", "1247", 0, "no description", 60.2, "random"], ["1248", "I7N3G6G", "1248", 0, "no description", 60.2, "random"], ["1249", "I7N3G6G", "1249", 0, "no description", 60.2, "random"], ["1250", "I7N3G6G", "1250", 0, "no description", 60.2, "random"], ["1251", "I7N3G6G", "1251", 0, "no description", 60.2, "random"], ["1252", "I7N3G6G", "1252", 0, "no description", 60.2, "random"], ["1253", "I7N3G6G", "1253", 0, "no description", 60.2, "random"], ["1254", "I7N3G6G", "1254", 0, "no description", 60.2, "random"], ["1255", "I7N3G6G", "1255", 0, "no description", 60.2, "random"], ["1256", "I7N3G6G", "1256", 0, "no description", 60.2, "random"], ["1257", "I7N3G6G", "1257", 0, "no description", 60.2, "random"], ["1258", "I7N3G6G", "1258", 0, "no description", 60.2, "random"], ["1259", "I7N3G6G", "1259", 0, "no description", 60.2, "random"], ["1260", "I7N3G6G", "1260", 0, "no description", 60.2, "random"], ["1261", "I7N3G6G", "1261", 0, "no description", 60.2, "random"], ["1262", "I7N3G6G", "1262", 0, "no description", 60.2, "random"], ["1263", "I7N3G6G", "1263", 0, "no description", 60.2, "random"], ["1264", "I7N3G6G", "1264", 0, "no description", 60.2, "random"], ["1265", "I7N3G6G", "1265", 0, "no description", 60.2, "random"], ["1266", "I7N3G6G", "1266", 0, "no description", 60.2, "random"], ["1267", "I7N3G6G", "1267", 0, "no description", 60.2, "random"], ["1268", "I7N3G6G", "1268", 0, "no description", 60.2, "random"], ["1269", "I7N3G6G", "1269", 0, "no description", 60.2, "random"], ["1270", "I7N3G6G", "1270", 0, "no description", 60.2, "random"], ["1271", "I7N3G6G", "1271", 0, "no description", 60.2, "random"], ["1272", "I7N3G6G", "1272", 0, "no description", 60.2, "random"], ["1273", "I7N3G6G", "1273", 0, "no description", 60.2, "random"], ["1274", "I7N3G6G", "1274", 0, "no description", 60.2, "random"], ["1275", "I7N3G6G", "1275", 0, "no description", 60.2, "random"], ["1276", "I7N3G6G", "1276", 0, "no description", 60.2, "random"], ["1277", "I7N3G6G", "1277", 0, "no description", 60.2, "random"], ["1278", "I7N3G6G", "1278", 0, "no description", 60.2, "random"], ["1279", "I7N3G6G", "1279", 0, "no description", 60.2, "random"], ["1280", "I7N3G6G", "1280", 0, "no description", 60.2, "random"], ["1281", "I7N3G6G", "1281", 0, "no description", 60.2, "random"], ["1282", "I7N3G6G", "1282", 0, "no description", 60.2, "random"], ["1283", "I7N3G6G", "1283", 0, "no description", 60.2, "random"], ["1284", "I7N3G6G", "1284", 0, "no description", 60.2, "random"], ["1285", "I7N3G6G", "1285", 0, "no description", 60.2, "random"], ["1286", "I7N3G6G", "1286", 0, "no description", 60.2, "random"], ["1287", "I7N3G6G", "1287", 0, "no description", 60.2, "random"], ["1288", "I7N3G6G", "1288", 0, "no description", 60.2, "random"], ["1289", "I7N3G6G", "1289", 0, "no description", 60.2, "random"], ["1290", "I7N3G6G", "1290", 0, "no description", 60.2, "random"], ["1291", "I7N3G6G", "1291", 0, "no description", 60.2, "random"], ["1292", "I7N3G6G", "1292", 0, "no description", 60.2, "random"], ["1293", "I7N3G6G", "1293", 0, "no description", 60.2, "random"], ["1294", "I7N3G6G", "1294", 0, "no description", 60.2, "random"], ["1295", "I7N3G6G", "1295", 0, "no description", 60.2, "random"], ["1296", "I7N3G6G", "1296", 0, "no description", 60.2, "random"], ["1297", "I7N3G6G", "1297", 0, "no description", 60.2, "random"], ["1298", "I7N3G6G", "1298", 0, "no description", 60.2, "random"], ["1299", "I7N3G6G", "1299", 0, "no description", 60.2, "random"], ["1300", "I7N3G6G", "1300", 0, "no description", 60.2, "random"], ["1301", "I7N3G6G", "1301", 0, "no description", 60.2, "random"], ["1302", "I7N3G6G", "1302", 0, "no description", 60.2, "random"], ["1303", "I7N3G6G", "1303", 0, "no description", 60.2, "random"], ["1304", "I7N3G6G", "1304", 0, "no description", 60.2, "random"], ["1305", "I7N3G6G", "1305", 0, "no description", 60.2, "random"], ["1306", "I7N3G6G", "1306", 0, "no description", 60.2, "random"], ["1307", "I7N3G6G", "1307", 0, "no description", 60.2, "random"], ["1308", "I7N3G6G", "1308", 0, "no description", 60.2, "random"], ["1309", "I7N3G6G", "1309", 0, "no description", 60.2, "random"], ["1310", "I7N3G6G", "1310", 0, "no description", 60.2, "random"], ["1311", "I7N3G6G", "1311", 0, "no description", 60.2, "random"], ["1312", "I7N3G6G", "1312", 0, "no description", 60.2, "random"], ["1313", "I7N3G6G", "1313", 0, "no description", 60.2, "random"], ["1314", "I7N3G6G", "1314", 0, "no description", 60.2, "random"], ["1315", "I7N3G6G", "1315", 0, "no description", 60.2, "random"], ["1316", "I7N3G6G", "1316", 0, "no description", 60.2, "random"], ["1317", "I7N3G6G", "1317", 0, "no description", 60.2, "random"], ["1318", "I7N3G6G", "1318", 0, "no description", 60.2, "random"], ["1319", "I7N3G6G", "1319", 0, "no description", 60.2, "random"], ["1320", "I7N3G6G", "1320", 0, "no description", 60.2, "random"], ["1321", "I7N3G6G", "1321", 0, "no description", 60.2, "random"], ["1322", "I7N3G6G", "1322", 0, "no description", 60.2, "random"], ["1323", "I7N3G6G", "1323", 0, "no description", 60.2, "random"], ["1324", "I7N3G6G", "1324", 0, "no description", 60.2, "random"], ["1325", "I7N3G6G", "1325", 0, "no description", 60.2, "random"], ["1326", "I7N3G6G", "1326", 0, "no description", 60.2, "random"], ["1327", "I7N3G6G", "1327", 0, "no description", 60.2, "random"], ["1328", "I7N3G6G", "1328", 0, "no description", 60.2, "random"], ["1329", "I7N3G6G", "1329", 0, "no description", 60.2, "random"], ["1330", "I7N3G6G", "1330", 0, "no description", 60.2, "random"], ["1331", "I7N3G6G", "1331", 0, "no description", 60.2, "random"], ["1332", "I7N3G6G", "1332", 0, "no description", 60.2, "random"], ["1333", "I7N3G6G", "1333", 0, "no description", 60.2, "random"], ["1334", "I7N3G6G", "1334", 0, "no description", 60.2, "random"], ["1335", "I7N3G6G", "1335", 0, "no description", 60.2, "random"], ["1336", "I7N3G6G", "1336", 0, "no description", 60.2, "random"], ["1337", "I7N3G6G", "1337", 0, "no description", 60.2, "random"], ["1338", "I7N3G6G", "1338", 0, "no description", 60.2, "random"], ["1339", "I7N3G6G", "1339", 0, "no description", 60.2, "random"], ["1340", "I7N3G6G", "1340", 0, "no description", 60.2, "random"], ["1341", "I7N3G6G", "1341", 0, "no description", 60.2, "random"], ["1342", "I7N3G6G", "1342", 0, "no description", 60.2, "random"], ["1343", "I7N3G6G", "1343", 0, "no description", 60.2, "random"], ["1344", "I7N3G6G", "1344", 0, "no description", 60.2, "random"], ["1345", "I7N3G6G", "1345", 0, "no description", 60.2, "random"], ["1346", "I7N3G6G", "1346", 0, "no description", 60.2, "random"], ["1347", "I7N3G6G", "1347", 0, "no description", 60.2, "random"], ["1348", "I7N3G6G", "1348", 0, "no description", 60.2, "random"], ["1349", "I7N3G6G", "1349", 0, "no description", 60.2, "random"], ["1350", "I7N3G6G", "1350", 0, "no description", 60.2, "random"], ["1351", "I7N3G6G", "1351", 0, "no description", 60.2, "random"], ["1352", "I7N3G6G", "1352", 0, "no description", 60.2, "random"], ["1353", "I7N3G6G", "1353", 0, "no description", 60.2, "random"], ["1354", "I7N3G6G", "1354", 0, "no description", 60.2, "random"], ["1355", "I7N3G6G", "1355", 0, "no description", 60.2, "random"], ["1356", "I7N3G6G", "1356", 0, "no description", 60.2, "random"], ["1357", "I7N3G6G", "1357", 0, "no description", 60.2, "random"], ["1358", "I7N3G6G", "1358", 0, "no description", 60.2, "random"], ["1359", "I7N3G6G", "1359", 0, "no description", 60.2, "random"], ["1360", "I7N3G6G", "1360", 0, "no description", 60.2, "random"], ["1361", "I7N3G6G", "1361", 0, "no description", 60.2, "random"], ["1362", "I7N3G6G", "1362", 0, "no description", 60.2, "random"], ["1363", "I7N3G6G", "1363", 0, "no description", 60.2, "random"], ["1364", "I7N3G6G", "1364", 0, "no description", 60.2, "random"], ["1365", "I7N3G6G", "1365", 0, "no description", 60.2, "random"], ["1366", "I7N3G6G", "1366", 0, "no description", 60.2, "random"], ["1367", "I7N3G6G", "1367", 0, "no description", 60.2, "random"], ["1368", "I7N3G6G", "1368", 0, "no description", 60.2, "random"], ["1369", "I7N3G6G", "1369", 0, "no description", 60.2, "random"], ["1370", "I7N3G6G", "1370", 0, "no description", 60.2, "random"], ["1371", "I7N3G6G", "1371", 0, "no description", 60.2, "random"], ["1372", "I7N3G6G", "1372", 0, "no description", 60.2, "random"], ["1373", "I7N3G6G", "1373", 0, "no description", 60.2, "random"], ["1374", "I7N3G6G", "1374", 0, "no description", 60.2, "random"], ["1375", "I7N3G6G", "1375", 0, "no description", 60.2, "random"], ["1376", "I7N3G6G", "1376", 0, "no description", 60.2, "random"], ["1377", "I7N3G6G", "1377", 0, "no description", 60.2, "random"], ["1378", "I7N3G6G", "1378", 0, "no description", 60.2, "random"], ["1379", "I7N3G6G", "1379", 0, "no description", 60.2, "random"], ["1380", "I7N3G6G", "1380", 0, "no description", 60.2, "random"], ["1381", "I7N3G6G", "1381", 0, "no description", 60.2, "random"], ["1382", "I7N3G6G", "1382", 0, "no description", 60.2, "random"], ["1383", "I7N3G6G", "1383", 0, "no description", 60.2, "random"], ["1384", "I7N3G6G", "1384", 0, "no description", 60.2, "random"], ["1385", "I7N3G6G", "1385", 0, "no description", 60.2, "random"], ["1386", "I7N3G6G", "1386", 0, "no description", 60.2, "random"], ["1387", "I7N3G6G", "1387", 0, "no description", 60.2, "random"], ["1388", "I7N3G6G", "1388", 0, "no description", 60.2, "random"], ["1389", "I7N3G6G", "1389", 0, "no description", 60.2, "random"], ["1390", "I7N3G6G", "1390", 0, "no description", 60.2, "random"], ["1391", "I7N3G6G", "1391", 0, "no description", 60.2, "random"], ["1392", "I7N3G6G", "1392", 0, "no description", 60.2, "random"], ["1393", "I7N3G6G", "1393", 0, "no description", 60.2, "random"], ["1394", "I7N3G6G", "1394", 0, "no description", 60.2, "random"], ["1395", "I7N3G6G", "1395", 0, "no description", 60.2, "random"], ["1396", "I7N3G6G", "1396", 0, "no description", 60.2, "random"], ["1397", "I7N3G6G", "1397", 0, "no description", 60.2, "random"], ["1398", "I7N3G6G", "1398", 0, "no description", 60.2, "random"], ["1399", "I7N3G6G", "1399", 0, "no description", 60.2, "random"], ["1400", "I7N3G6G", "1400", 0, "no description", 60.2, "random"], ["1401", "I7N3G6G", "1401", 0, "no description", 60.2, "random"], ["1402", "I7N3G6G", "1402", 0, "no description", 60.2, "random"], ["1403", "I7N3G6G", "1403", 0, "no description", 60.2, "random"], ["1404", "I7N3G6G", "1404", 0, "no description", 60.2, "random"], ["1405", "I7N3G6G", "1405", 0, "no description", 60.2, "random"], ["1406", "I7N3G6G", "1406", 0, "no description", 60.2, "random"], ["1407", "I7N3G6G", "1407", 0, "no description", 60.2, "random"], ["1408", "I7N3G6G", "1408", 0, "no description", 60.2, "random"], ["1409", "I7N3G6G", "1409", 0, "no description", 60.2, "random"], ["1410", "I7N3G6G", "1410", 0, "no description", 60.2, "random"], ["1411", "I7N3G6G", "1411", 0, "no description", 60.2, "random"], ["1412", "I7N3G6G", "1412", 0, "no description", 60.2, "random"], ["1413", "I7N3G6G", "1413", 0, "no description", 60.2, "random"], ["1414", "I7N3G6G", "1414", 0, "no description", 60.2, "random"], ["1415", "I7N3G6G", "1415", 0, "no description", 60.2, "random"], ["1416", "I7N3G6G", "1416", 0, "no description", 60.2, "random"], ["1417", "I7N3G6G", "1417", 0, "no description", 60.2, "random"], ["1418", "I7N3G6G", "1418", 0, "no description", 60.2, "random"], ["1419", "I7N3G6G", "1419", 0, "no description", 60.2, "random"], ["1420", "I7N3G6G", "1420", 0, "no description", 60.2, "random"], ["1421", "I7N3G6G", "1421", 0, "no description", 60.2, "random"], ["1422", "I7N3G6G", "1422", 0, "no description", 60.2, "random"], ["1423", "I7N3G6G", "1423", 0, "no description", 60.2, "random"], ["1424", "I7N3G6G", "1424", 0, "no description", 60.2, "random"], ["1425", "I7N3G6G", "1425", 0, "no description", 60.2, "random"], ["1426", "I7N3G6G", "1426", 0, "no description", 60.2, "random"], ["1427", "I7N3G6G", "1427", 0, "no description", 60.2, "random"], ["1428", "I7N3G6G", "1428", 0, "no description", 60.2, "random"], ["1429", "I7N3G6G", "1429", 0, "no description", 60.2, "random"], ["1430", "I7N3G6G", "1430", 0, "no description", 60.2, "random"], ["1431", "I7N3G6G", "1431", 0, "no description", 60.2, "random"], ["1432", "I7N3G6G", "1432", 0, "no description", 60.2, "random"], ["1433", "I7N3G6G", "1433", 0, "no description", 60.2, "random"], ["1434", "I7N3G6G", "1434", 0, "no description", 60.2, "random"], ["1435", "I7N3G6G", "1435", 0, "no description", 60.2, "random"], ["1436", "I7N3G6G", "1436", 0, "no description", 60.2, "random"], ["1437", "I7N3G6G", "1437", 0, "no description", 60.2, "random"], ["1438", "I7N3G6G", "1438", 0, "no description", 60.2, "random"], ["1439", "I7N3G6G", "1439", 0, "no description", 60.2, "random"], ["1440", "I7N3G6G", "1440", 0, "no description", 60.2, "random"], ["1441", "I7N3G6G", "1441", 0, "no description", 60.2, "random"], ["1442", "I7N3G6G", "1442", 0, "no description", 60.2, "random"], ["1443", "I7N3G6G", "1443", 0, "no description", 60.2, "random"], ["1444", "I7N3G6G", "1444", 0, "no description", 60.2, "random"], ["1445", "I7N3G6G", "1445", 0, "no description", 60.2, "random"], ["1446", "I7N3G6G", "1446", 0, "no description", 60.2, "random"], ["1447", "I7N3G6G", "1447", 0, "no description", 60.2, "random"], ["1448", "I7N3G6G", "1448", 0, "no description", 60.2, "random"], ["1449", "I7N3G6G", "1449", 0, "no description", 60.2, "random"], ["1450", "I7N3G6G", "1450", 0, "no description", 60.2, "random"], ["1451", "I7N3G6G", "1451", 0, "no description", 60.2, "random"], ["1452", "I7N3G6G", "1452", 0, "no description", 60.2, "random"], ["1453", "I7N3G6G", "1453", 0, "no description", 60.2, "random"], ["1454", "I7N3G6G", "1454", 0, "no description", 60.2, "random"], ["1455", "I7N3G6G", "1455", 0, "no description", 60.2, "random"], ["1456", "I7N3G6G", "1456", 0, "no description", 60.2, "random"], ["1457", "I7N3G6G", "1457", 0, "no description", 60.2, "random"], ["1458", "I7N3G6G", "1458", 0, "no description", 60.2, "random"], ["1459", "I7N3G6G", "1459", 0, "no description", 60.2, "random"], ["1460", "I7N3G6G", "1460", 0, "no description", 60.2, "random"], ["1461", "I7N3G6G", "1461", 0, "no description", 60.2, "random"], ["1462", "I7N3G6G", "1462", 0, "no description", 60.2, "random"], ["1463", "I7N3G6G", "1463", 0, "no description", 60.2, "random"], ["1464", "I7N3G6G", "1464", 0, "no description", 60.2, "random"], ["1465", "I7N3G6G", "1465", 0, "no description", 60.2, "random"], ["1466", "I7N3G6G", "1466", 0, "no description", 60.2, "random"], ["1467", "I7N3G6G", "1467", 0, "no description", 60.2, "random"], ["1468", "I7N3G6G", "1468", 0, "no description", 60.2, "random"], ["1469", "I7N3G6G", "1469", 0, "no description", 60.2, "random"], ["1470", "I7N3G6G", "1470", 0, "no description", 60.2, "random"], ["1471", "I7N3G6G", "1471", 0, "no description", 60.2, "random"], ["1472", "I7N3G6G", "1472", 0, "no description", 60.2, "random"], ["1473", "I7N3G6G", "1473", 0, "no description", 60.2, "random"], ["1474", "I7N3G6G", "1474", 0, "no description", 60.2, "random"], ["1475", "I7N3G6G", "1475", 0, "no description", 60.2, "random"], ["1476", "I7N3G6G", "1476", 0, "no description", 60.2, "random"], ["1477", "I7N3G6G", "1477", 0, "no description", 60.2, "random"], ["1478", "I7N3G6G", "1478", 0, "no description", 60.2, "random"], ["1479", "I7N3G6G", "1479", 0, "no description", 60.2, "random"], ["1480", "I7N3G6G", "1480", 0, "no description", 60.2, "random"], ["1481", "I7N3G6G", "1481", 0, "no description", 60.2, "random"], ["1482", "I7N3G6G", "1482", 0, "no description", 60.2, "random"], ["1483", "I7N3G6G", "1483", 0, "no description", 60.2, "random"], ["1484", "I7N3G6G", "1484", 0, "no description", 60.2, "random"], ["1485", "I7N3G6G", "1485", 0, "no description", 60.2, "random"], ["1486", "I7N3G6G", "1486", 0, "no description", 60.2, "random"], ["1487", "I7N3G6G", "1487", 0, "no description", 60.2, "random"], ["1488", "I7N3G6G", "1488", 0, "no description", 60.2, "random"], ["1489", "I7N3G6G", "1489", 0, "no description", 60.2, "random"], ["1490", "I7N3G6G", "1490", 0, "no description", 60.2, "random"], ["1491", "I7N3G6G", "1491", 0, "no description", 60.2, "random"], ["1492", "I7N3G6G", "1492", 0, "no description", 60.2, "random"], ["1493", "I7N3G6G", "1493", 0, "no description", 60.2, "random"], ["1494", "I7N3G6G", "1494", 0, "no description", 60.2, "random"], ["1495", "I7N3G6G", "1495", 0, "no description", 60.2, "random"], ["1496", "I7N3G6G", "1496", 0, "no description", 60.2, "random"], ["1497", "I7N3G6G", "1497", 0, "no description", 60.2, "random"], ["1498", "I7N3G6G", "1498", 0, "no description", 60.2, "random"], ["1499", "I7N3G6G", "1499", 0, "no description", 60.2, "random"], ["1500", "I7N3G6G", "1500", 0, "no description", 60.2, "random"], ["1501", "I7N3G6G", "1501", 0, "no description", 60.2, "random"], ["1502", "I7N3G6G", "1502", 0, "no description", 60.2, "random"], ["1503", "I7N3G6G", "1503", 0, "no description", 60.2, "random"], ["1504", "I7N3G6G", "1504", 0, "no description", 60.2, "random"], ["1505", "I7N3G6G", "1505", 0, "no description", 60.2, "random"], ["1506", "I7N3G6G", "1506", 0, "no description", 60.2, "random"], ["1507", "I7N3G6G", "1507", 0, "no description", 60.2, "random"], ["1508", "I7N3G6G", "1508", 0, "no description", 60.2, "random"], ["1509", "I7N3G6G", "1509", 0, "no description", 60.2, "random"], ["1510", "I7N3G6G", "1510", 0, "no description", 60.2, "random"], ["1511", "I7N3G6G", "1511", 0, "no description", 60.2, "random"], ["1512", "I7N3G6G", "1512", 0, "no description", 60.2, "random"], ["1513", "I7N3G6G", "1513", 0, "no description", 60.2, "random"], ["1514", "I7N3G6G", "1514", 0, "no description", 60.2, "random"], ["1515", "I7N3G6G", "1515", 0, "no description", 60.2, "random"], ["1516", "I7N3G6G", "1516", 0, "no description", 60.2, "random"], ["1517", "I7N3G6G", "1517", 0, "no description", 60.2, "random"], ["1518", "I7N3G6G", "1518", 0, "no description", 60.2, "random"], ["1519", "I7N3G6G", "1519", 0, "no description", 60.2, "random"], ["1520", "I7N3G6G", "1520", 0, "no description", 60.2, "random"], ["1521", "I7N3G6G", "1521", 0, "no description", 60.2, "random"], ["1522", "I7N3G6G", "1522", 0, "no description", 60.2, "random"], ["1523", "I7N3G6G", "1523", 0, "no description", 60.2, "random"], ["1524", "I7N3G6G", "1524", 0, "no description", 60.2, "random"], ["1525", "I7N3G6G", "1525", 0, "no description", 60.2, "random"], ["1526", "I7N3G6G", "1526", 0, "no description", 60.2, "random"], ["1527", "I7N3G6G", "1527", 0, "no description", 60.2, "random"], ["1528", "I7N3G6G", "1528", 0, "no description", 60.2, "random"], ["1529", "I7N3G6G", "1529", 0, "no description", 60.2, "random"], ["1530", "I7N3G6G", "1530", 0, "no description", 60.2, "random"], ["1531", "I7N3G6G", "1531", 0, "no description", 60.2, "random"], ["1532", "I7N3G6G", "1532", 0, "no description", 60.2, "random"], ["1533", "I7N3G6G", "1533", 0, "no description", 60.2, "random"], ["1534", "I7N3G6G", "1534", 0, "no description", 60.2, "random"], ["1535", "I7N3G6G", "1535", 0, "no description", 60.2, "random"], ["1536", "I7N3G6G", "1536", 0, "no description", 60.2, "random"], ["1537", "I7N3G6G", "1537", 0, "no description", 60.2, "random"], ["1538", "I7N3G6G", "1538", 0, "no description", 60.2, "random"], ["1539", "I7N3G6G", "1539", 0, "no description", 60.2, "random"], ["1540", "I7N3G6G", "1540", 0, "no description", 60.2, "random"], ["1541", "I7N3G6G", "1541", 0, "no description", 60.2, "random"], ["1542", "I7N3G6G", "1542", 0, "no description", 60.2, "random"], ["1543", "I7N3G6G", "1543", 0, "no description", 60.2, "random"], ["1544", "I7N3G6G", "1544", 0, "no description", 60.2, "random"], ["1545", "I7N3G6G", "1545", 0, "no description", 60.2, "random"], ["1546", "I7N3G6G", "1546", 0, "no description", 60.2, "random"], ["1547", "I7N3G6G", "1547", 0, "no description", 60.2, "random"], ["1548", "I7N3G6G", "1548", 0, "no description", 60.2, "random"], ["1549", "I7N3G6G", "1549", 0, "no description", 60.2, "random"], ["1550", "I7N3G6G", "1550", 0, "no description", 60.2, "random"], ["1551", "I7N3G6G", "1551", 0, "no description", 60.2, "random"], ["1552", "I7N3G6G", "1552", 0, "no description", 60.2, "random"], ["1553", "I7N3G6G", "1553", 0, "no description", 60.2, "random"], ["1554", "I7N3G6G", "1554", 0, "no description", 60.2, "random"], ["1555", "I7N3G6G", "1555", 0, "no description", 60.2, "random"], ["1556", "I7N3G6G", "1556", 0, "no description", 60.2, "random"], ["1557", "I7N3G6G", "1557", 0, "no description", 60.2, "random"], ["1558", "I7N3G6G", "1558", 0, "no description", 60.2, "random"], ["1559", "I7N3G6G", "1559", 0, "no description", 60.2, "random"], ["1560", "I7N3G6G", "1560", 0, "no description", 60.2, "random"], ["1561", "I7N3G6G", "1561", 0, "no description", 60.2, "random"], ["1562", "I7N3G6G", "1562", 0, "no description", 60.2, "random"], ["1563", "I7N3G6G", "1563", 0, "no description", 60.2, "random"], ["1564", "I7N3G6G", "1564", 0, "no description", 60.2, "random"], ["1565", "I7N3G6G", "1565", 0, "no description", 60.2, "random"], ["1566", "I7N3G6G", "1566", 0, "no description", 60.2, "random"], ["1567", "I7N3G6G", "1567", 0, "no description", 60.2, "random"], ["1568", "I7N3G6G", "1568", 0, "no description", 60.2, "random"], ["1569", "I7N3G6G", "1569", 0, "no description", 60.2, "random"], ["1570", "I7N3G6G", "1570", 0, "no description", 60.2, "random"], ["1571", "I7N3G6G", "1571", 0, "no description", 60.2, "random"], ["1572", "I7N3G6G", "1572", 0, "no description", 60.2, "random"], ["1573", "I7N3G6G", "1573", 0, "no description", 60.2, "random"], ["1574", "I7N3G6G", "1574", 0, "no description", 60.2, "random"], ["1575", "I7N3G6G", "1575", 0, "no description", 60.2, "random"], ["1576", "I7N3G6G", "1576", 0, "no description", 60.2, "random"], ["1577", "I7N3G6G", "1577", 0, "no description", 60.2, "random"], ["1578", "I7N3G6G", "1578", 0, "no description", 60.2, "random"], ["1579", "I7N3G6G", "1579", 0, "no description", 60.2, "random"], ["1580", "I7N3G6G", "1580", 0, "no description", 60.2, "random"], ["1581", "I7N3G6G", "1581", 0, "no description", 60.2, "random"], ["1582", "I7N3G6G", "1582", 0, "no description", 60.2, "random"], ["1583", "I7N3G6G", "1583", 0, "no description", 60.2, "random"], ["1584", "I7N3G6G", "1584", 0, "no description", 60.2, "random"], ["1585", "I7N3G6G", "1585", 0, "no description", 60.2, "random"], ["1586", "I7N3G6G", "1586", 0, "no description", 60.2, "random"], ["1587", "I7N3G6G", "1587", 0, "no description", 60.2, "random"], ["1588", "I7N3G6G", "1588", 0, "no description", 60.2, "random"], ["1589", "I7N3G6G", "1589", 0, "no description", 60.2, "random"], ["1590", "I7N3G6G", "1590", 0, "no description", 60.2, "random"], ["1591", "I7N3G6G", "1591", 0, "no description", 60.2, "random"], ["1592", "I7N3G6G", "1592", 0, "no description", 60.2, "random"], ["1593", "I7N3G6G", "1593", 0, "no description", 60.2, "random"], ["1594", "I7N3G6G", "1594", 0, "no description", 60.2, "random"], ["1595", "I7N3G6G", "1595", 0, "no description", 60.2, "random"], ["1596", "I7N3G6G", "1596", 0, "no description", 60.2, "random"], ["1597", "I7N3G6G", "1597", 0, "no description", 60.2, "random"], ["1598", "I7N3G6G", "1598", 0, "no description", 60.2, "random"], ["1599", "I7N3G6G", "1599", 0, "no description", 60.2, "random"], ["1600", "I7N3G6G", "1600", 0, "no description", 60.2, "random"], ["1601", "I7N3G6G", "1601", 0, "no description", 60.2, "random"], ["1602", "I7N3G6G", "1602", 0, "no description", 60.2, "random"], ["1603", "I7N3G6G", "1603", 0, "no description", 60.2, "random"], ["1604", "I7N3G6G", "1604", 0, "no description", 60.2, "random"], ["1605", "I7N3G6G", "1605", 0, "no description", 60.2, "random"], ["1606", "I7N3G6G", "1606", 0, "no description", 60.2, "random"], ["1607", "I7N3G6G", "1607", 0, "no description", 60.2, "random"], ["1608", "I7N3G6G", "1608", 0, "no description", 60.2, "random"], ["1609", "I7N3G6G", "1609", 0, "no description", 60.2, "random"], ["1610", "I7N3G6G", "1610", 0, "no description", 60.2, "random"], ["1611", "I7N3G6G", "1611", 0, "no description", 60.2, "random"], ["1612", "I7N3G6G", "1612", 0, "no description", 60.2, "random"], ["1613", "I7N3G6G", "1613", 0, "no description", 60.2, "random"], ["1614", "I7N3G6G", "1614", 0, "no description", 60.2, "random"], ["1615", "I7N3G6G", "1615", 0, "no description", 60.2, "random"], ["1616", "I7N3G6G", "1616", 0, "no description", 60.2, "random"], ["1617", "I7N3G6G", "1617", 0, "no description", 60.2, "random"], ["1618", "I7N3G6G", "1618", 0, "no description", 60.2, "random"], ["1619", "I7N3G6G", "1619", 0, "no description", 60.2, "random"], ["1620", "I7N3G6G", "1620", 0, "no description", 60.2, "random"], ["1621", "I7N3G6G", "1621", 0, "no description", 60.2, "random"], ["1622", "I7N3G6G", "1622", 0, "no description", 60.2, "random"], ["1623", "I7N3G6G", "1623", 0, "no description", 60.2, "random"], ["1624", "I7N3G6G", "1624", 0, "no description", 60.2, "random"], ["1625", "I7N3G6G", "1625", 0, "no description", 60.2, "random"], ["1626", "I7N3G6G", "1626", 0, "no description", 60.2, "random"], ["1627", "I7N3G6G", "1627", 0, "no description", 60.2, "random"], ["1628", "I7N3G6G", "1628", 0, "no description", 60.2, "random"], ["1629", "I7N3G6G", "1629", 0, "no description", 60.2, "random"], ["1630", "I7N3G6G", "1630", 0, "no description", 60.2, "random"], ["1631", "I7N3G6G", "1631", 0, "no description", 60.2, "random"], ["1632", "I7N3G6G", "1632", 0, "no description", 60.2, "random"], ["1633", "I7N3G6G", "1633", 0, "no description", 60.2, "random"], ["1634", "I7N3G6G", "1634", 0, "no description", 60.2, "random"], ["1635", "I7N3G6G", "1635", 0, "no description", 60.2, "random"], ["1636", "I7N3G6G", "1636", 0, "no description", 60.2, "random"], ["1637", "I7N3G6G", "1637", 0, "no description", 60.2, "random"], ["1638", "I7N3G6G", "1638", 0, "no description", 60.2, "random"], ["1639", "I7N3G6G", "1639", 0, "no description", 60.2, "random"], ["1640", "I7N3G6G", "1640", 0, "no description", 60.2, "random"], ["1641", "I7N3G6G", "1641", 0, "no description", 60.2, "random"], ["1642", "I7N3G6G", "1642", 0, "no description", 60.2, "random"], ["1643", "I7N3G6G", "1643", 0, "no description", 60.2, "random"], ["1644", "I7N3G6G", "1644", 0, "no description", 60.2, "random"], ["1645", "I7N3G6G", "1645", 0, "no description", 60.2, "random"], ["1646", "I7N3G6G", "1646", 0, "no description", 60.2, "random"], ["1647", "I7N3G6G", "1647", 0, "no description", 60.2, "random"], ["1648", "I7N3G6G", "1648", 0, "no description", 60.2, "random"], ["1649", "I7N3G6G", "1649", 0, "no description", 60.2, "random"], ["1650", "I7N3G6G", "1650", 0, "no description", 60.2, "random"], ["1651", "I7N3G6G", "1651", 0, "no description", 60.2, "random"], ["1652", "I7N3G6G", "1652", 0, "no description", 60.2, "random"], ["1653", "I7N3G6G", "1653", 0, "no description", 60.2, "random"], ["1654", "I7N3G6G", "1654", 0, "no description", 60.2, "random"], ["1655", "I7N3G6G", "1655", 0, "no description", 60.2, "random"], ["1656", "I7N3G6G", "1656", 0, "no description", 60.2, "random"], ["1657", "I7N3G6G", "1657", 0, "no description", 60.2, "random"], ["1658", "I7N3G6G", "1658", 0, "no description", 60.2, "random"], ["1659", "I7N3G6G", "1659", 0, "no description", 60.2, "random"], ["1660", "I7N3G6G", "1660", 0, "no description", 60.2, "random"], ["1661", "I7N3G6G", "1661", 0, "no description", 60.2, "random"], ["1662", "I7N3G6G", "1662", 0, "no description", 60.2, "random"], ["1663", "I7N3G6G", "1663", 0, "no description", 60.2, "random"], ["1664", "I7N3G6G", "1664", 0, "no description", 60.2, "random"], ["1665", "I7N3G6G", "1665", 0, "no description", 60.2, "random"], ["1666", "I7N3G6G", "1666", 0, "no description", 60.2, "random"], ["1667", "I7N3G6G", "1667", 0, "no description", 60.2, "random"], ["1668", "I7N3G6G", "1668", 0, "no description", 60.2, "random"], ["1669", "I7N3G6G", "1669", 0, "no description", 60.2, "random"], ["1670", "I7N3G6G", "1670", 0, "no description", 60.2, "random"], ["1671", "I7N3G6G", "1671", 0, "no description", 60.2, "random"], ["1672", "I7N3G6G", "1672", 0, "no description", 60.2, "random"], ["1673", "I7N3G6G", "1673", 0, "no description", 60.2, "random"], ["1674", "I7N3G6G", "1674", 0, "no description", 60.2, "random"], ["1675", "I7N3G6G", "1675", 0, "no description", 60.2, "random"], ["1676", "I7N3G6G", "1676", 0, "no description", 60.2, "random"], ["1677", "I7N3G6G", "1677", 0, "no description", 60.2, "random"], ["1678", "I7N3G6G", "1678", 0, "no description", 60.2, "random"], ["1679", "I7N3G6G", "1679", 0, "no description", 60.2, "random"], ["1680", "I7N3G6G", "1680", 0, "no description", 60.2, "random"], ["1681", "I7N3G6G", "1681", 0, "no description", 60.2, "random"], ["1682", "I7N3G6G", "1682", 0, "no description", 60.2, "random"], ["1683", "I7N3G6G", "1683", 0, "no description", 60.2, "random"], ["1684", "I7N3G6G", "1684", 0, "no description", 60.2, "random"], ["1685", "I7N3G6G", "1685", 0, "no description", 60.2, "random"], ["1686", "I7N3G6G", "1686", 0, "no description", 60.2, "random"], ["1687", "I7N3G6G", "1687", 0, "no description", 60.2, "random"], ["1688", "I7N3G6G", "1688", 0, "no description", 60.2, "random"], ["1689", "I7N3G6G", "1689", 0, "no description", 60.2, "random"], ["1690", "I7N3G6G", "1690", 0, "no description", 60.2, "random"], ["1691", "I7N3G6G", "1691", 0, "no description", 60.2, "random"], ["1692", "I7N3G6G", "1692", 0, "no description", 60.2, "random"], ["1693", "I7N3G6G", "1693", 0, "no description", 60.2, "random"], ["1694", "I7N3G6G", "1694", 0, "no description", 60.2, "random"], ["1695", "I7N3G6G", "1695", 0, "no description", 60.2, "random"], ["1696", "I7N3G6G", "1696", 0, "no description", 60.2, "random"], ["1697", "I7N3G6G", "1697", 0, "no description", 60.2, "random"], ["1698", "I7N3G6G", "1698", 0, "no description", 60.2, "random"], ["1699", "I7N3G6G", "1699", 0, "no description", 60.2, "random"], ["1700", "I7N3G6G", "1700", 0, "no description", 60.2, "random"], ["1701", "I7N3G6G", "1701", 0, "no description", 60.2, "random"], ["1702", "I7N3G6G", "1702", 0, "no description", 60.2, "random"], ["1703", "I7N3G6G", "1703", 0, "no description", 60.2, "random"], ["1704", "I7N3G6G", "1704", 0, "no description", 60.2, "random"], ["1705", "I7N3G6G", "1705", 0, "no description", 60.2, "random"], ["1706", "I7N3G6G", "1706", 0, "no description", 60.2, "random"], ["1707", "I7N3G6G", "1707", 0, "no description", 60.2, "random"], ["1708", "I7N3G6G", "1708", 0, "no description", 60.2, "random"], ["1709", "I7N3G6G", "1709", 0, "no description", 60.2, "random"], ["1710", "I7N3G6G", "1710", 0, "no description", 60.2, "random"], ["1711", "I7N3G6G", "1711", 0, "no description", 60.2, "random"], ["1712", "I7N3G6G", "1712", 0, "no description", 60.2, "random"], ["1713", "I7N3G6G", "1713", 0, "no description", 60.2, "random"], ["1714", "I7N3G6G", "1714", 0, "no description", 60.2, "random"], ["1715", "I7N3G6G", "1715", 0, "no description", 60.2, "random"], ["1716", "I7N3G6G", "1716", 0, "no description", 60.2, "random"], ["1717", "I7N3G6G", "1717", 0, "no description", 60.2, "random"], ["1718", "I7N3G6G", "1718", 0, "no description", 60.2, "random"], ["1719", "I7N3G6G", "1719", 0, "no description", 60.2, "random"], ["1720", "I7N3G6G", "1720", 0, "no description", 60.2, "random"], ["1721", "I7N3G6G", "1721", 0, "no description", 60.2, "random"], ["1722", "I7N3G6G", "1722", 0, "no description", 60.2, "random"], ["1723", "I7N3G6G", "1723", 0, "no description", 60.2, "random"], ["1724", "I7N3G6G", "1724", 0, "no description", 60.2, "random"], ["1725", "I7N3G6G", "1725", 0, "no description", 60.2, "random"], ["1726", "I7N3G6G", "1726", 0, "no description", 60.2, "random"], ["1727", "I7N3G6G", "1727", 0, "no description", 60.2, "random"], ["1728", "I7N3G6G", "1728", 0, "no description", 60.2, "random"], ["1729", "I7N3G6G", "1729", 0, "no description", 60.2, "random"], ["1730", "I7N3G6G", "1730", 0, "no description", 60.2, "random"], ["1731", "I7N3G6G", "1731", 0, "no description", 60.2, "random"], ["1732", "I7N3G6G", "1732", 0, "no description", 60.2, "random"], ["1733", "I7N3G6G", "1733", 0, "no description", 60.2, "random"], ["1734", "I7N3G6G", "1734", 0, "no description", 60.2, "random"], ["1735", "I7N3G6G", "1735", 0, "no description", 60.2, "random"], ["1736", "I7N3G6G", "1736", 0, "no description", 60.2, "random"], ["1737", "I7N3G6G", "1737", 0, "no description", 60.2, "random"], ["1738", "I7N3G6G", "1738", 0, "no description", 60.2, "random"], ["1739", "I7N3G6G", "1739", 0, "no description", 60.2, "random"], ["1740", "I7N3G6G", "1740", 0, "no description", 60.2, "random"], ["1741", "I7N3G6G", "1741", 0, "no description", 60.2, "random"], ["1742", "I7N3G6G", "1742", 0, "no description", 60.2, "random"], ["1743", "I7N3G6G", "1743", 0, "no description", 60.2, "random"], ["1744", "I7N3G6G", "1744", 0, "no description", 60.2, "random"], ["1745", "I7N3G6G", "1745", 0, "no description", 60.2, "random"], ["1746", "I7N3G6G", "1746", 0, "no description", 60.2, "random"], ["1747", "I7N3G6G", "1747", 0, "no description", 60.2, "random"], ["1748", "I7N3G6G", "1748", 0, "no description", 60.2, "random"], ["1749", "I7N3G6G", "1749", 0, "no description", 60.2, "random"], ["1750", "I7N3G6G", "1750", 0, "no description", 60.2, "random"], ["1751", "I7N3G6G", "1751", 0, "no description", 60.2, "random"], ["1752", "I7N3G6G", "1752", 0, "no description", 60.2, "random"], ["1753", "I7N3G6G", "1753", 0, "no description", 60.2, "random"], ["1754", "I7N3G6G", "1754", 0, "no description", 60.2, "random"], ["1755", "I7N3G6G", "1755", 0, "no description", 60.2, "random"], ["1756", "I7N3G6G", "1756", 0, "no description", 60.2, "random"], ["1757", "I7N3G6G", "1757", 0, "no description", 60.2, "random"], ["1758", "I7N3G6G", "1758", 0, "no description", 60.2, "random"], ["1759", "I7N3G6G", "1759", 0, "no description", 60.2, "random"], ["1760", "I7N3G6G", "1760", 0, "no description", 60.2, "random"], ["1761", "I7N3G6G", "1761", 0, "no description", 60.2, "random"], ["1762", "I7N3G6G", "1762", 0, "no description", 60.2, "random"], ["1763", "I7N3G6G", "1763", 0, "no description", 60.2, "random"], ["1764", "I7N3G6G", "1764", 0, "no description", 60.2, "random"], ["1765", "I7N3G6G", "1765", 0, "no description", 60.2, "random"], ["1766", "I7N3G6G", "1766", 0, "no description", 60.2, "random"], ["1767", "I7N3G6G", "1767", 0, "no description", 60.2, "random"], ["1768", "I7N3G6G", "1768", 0, "no description", 60.2, "random"], ["1769", "I7N3G6G", "1769", 0, "no description", 60.2, "random"], ["1770", "I7N3G6G", "1770", 0, "no description", 60.2, "random"], ["1771", "I7N3G6G", "1771", 0, "no description", 60.2, "random"], ["1772", "I7N3G6G", "1772", 0, "no description", 60.2, "random"], ["1773", "I7N3G6G", "1773", 0, "no description", 60.2, "random"], ["1774", "I7N3G6G", "1774", 0, "no description", 60.2, "random"], ["1775", "I7N3G6G", "1775", 0, "no description", 60.2, "random"], ["1776", "I7N3G6G", "1776", 0, "no description", 60.2, "random"], ["1777", "I7N3G6G", "1777", 0, "no description", 60.2, "random"], ["1778", "I7N3G6G", "1778", 0, "no description", 60.2, "random"], ["1779", "I7N3G6G", "1779", 0, "no description", 60.2, "random"], ["1780", "I7N3G6G", "1780", 0, "no description", 60.2, "random"], ["1781", "I7N3G6G", "1781", 0, "no description", 60.2, "random"], ["1782", "I7N3G6G", "1782", 0, "no description", 60.2, "random"], ["1783", "I7N3G6G", "1783", 0, "no description", 60.2, "random"], ["1784", "I7N3G6G", "1784", 0, "no description", 60.2, "random"], ["1785", "I7N3G6G", "1785", 0, "no description", 60.2, "random"], ["1786", "I7N3G6G", "1786", 0, "no description", 60.2, "random"], ["1787", "I7N3G6G", "1787", 0, "no description", 60.2, "random"], ["1788", "I7N3G6G", "1788", 0, "no description", 60.2, "random"], ["1789", "I7N3G6G", "1789", 0, "no description", 60.2, "random"], ["1790", "I7N3G6G", "1790", 0, "no description", 60.2, "random"], ["1791", "I7N3G6G", "1791", 0, "no description", 60.2, "random"], ["1792", "I7N3G6G", "1792", 0, "no description", 60.2, "random"], ["1793", "I7N3G6G", "1793", 0, "no description", 60.2, "random"], ["1794", "I7N3G6G", "1794", 0, "no description", 60.2, "random"], ["1795", "I7N3G6G", "1795", 0, "no description", 60.2, "random"], ["1796", "I7N3G6G", "1796", 0, "no description", 60.2, "random"], ["1797", "I7N3G6G", "1797", 0, "no description", 60.2, "random"], ["1798", "I7N3G6G", "1798", 0, "no description", 60.2, "random"], ["1799", "I7N3G6G", "1799", 0, "no description", 60.2, "random"], ["1800", "I7N3G6G", "1800", 0, "no description", 60.2, "random"], ["1801", "I7N3G6G", "1801", 0, "no description", 60.2, "random"], ["1802", "I7N3G6G", "1802", 0, "no description", 60.2, "random"], ["1803", "I7N3G6G", "1803", 0, "no description", 60.2, "random"], ["1804", "I7N3G6G", "1804", 0, "no description", 60.2, "random"], ["1805", "I7N3G6G", "1805", 0, "no description", 60.2, "random"], ["1806", "I7N3G6G", "1806", 0, "no description", 60.2, "random"], ["1807", "I7N3G6G", "1807", 0, "no description", 60.2, "random"], ["1808", "I7N3G6G", "1808", 0, "no description", 60.2, "random"], ["1809", "I7N3G6G", "1809", 0, "no description", 60.2, "random"], ["1810", "I7N3G6G", "1810", 0, "no description", 60.2, "random"], ["1811", "I7N3G6G", "1811", 0, "no description", 60.2, "random"], ["1812", "I7N3G6G", "1812", 0, "no description", 60.2, "random"], ["1813", "I7N3G6G", "1813", 0, "no description", 60.2, "random"], ["1814", "I7N3G6G", "1814", 0, "no description", 60.2, "random"], ["1815", "I7N3G6G", "1815", 0, "no description", 60.2, "random"], ["1816", "I7N3G6G", "1816", 0, "no description", 60.2, "random"], ["1817", "I7N3G6G", "1817", 0, "no description", 60.2, "random"], ["1818", "I7N3G6G", "1818", 0, "no description", 60.2, "random"], ["1819", "I7N3G6G", "1819", 0, "no description", 60.2, "random"], ["1820", "I7N3G6G", "1820", 0, "no description", 60.2, "random"], ["1821", "I7N3G6G", "1821", 0, "no description", 60.2, "random"], ["1822", "I7N3G6G", "1822", 0, "no description", 60.2, "random"], ["1823", "I7N3G6G", "1823", 0, "no description", 60.2, "random"], ["1824", "I7N3G6G", "1824", 0, "no description", 60.2, "random"], ["1825", "I7N3G6G", "1825", 0, "no description", 60.2, "random"], ["1826", "I7N3G6G", "1826", 0, "no description", 60.2, "random"], ["1827", "I7N3G6G", "1827", 0, "no description", 60.2, "random"], ["1828", "I7N3G6G", "1828", 0, "no description", 60.2, "random"], ["1829", "I7N3G6G", "1829", 0, "no description", 60.2, "random"], ["1830", "I7N3G6G", "1830", 0, "no description", 60.2, "random"], ["1831", "I7N3G6G", "1831", 0, "no description", 60.2, "random"], ["1832", "I7N3G6G", "1832", 0, "no description", 60.2, "random"], ["1833", "I7N3G6G", "1833", 0, "no description", 60.2, "random"], ["1834", "I7N3G6G", "1834", 0, "no description", 60.2, "random"], ["1835", "I7N3G6G", "1835", 0, "no description", 60.2, "random"], ["1836", "I7N3G6G", "1836", 0, "no description", 60.2, "random"], ["1837", "I7N3G6G", "1837", 0, "no description", 60.2, "random"], ["1838", "I7N3G6G", "1838", 0, "no description", 60.2, "random"], ["1839", "I7N3G6G", "1839", 0, "no description", 60.2, "random"], ["1840", "I7N3G6G", "1840", 0, "no description", 60.2, "random"], ["1841", "I7N3G6G", "1841", 0, "no description", 60.2, "random"], ["1842", "I7N3G6G", "1842", 0, "no description", 60.2, "random"], ["1843", "I7N3G6G", "1843", 0, "no description", 60.2, "random"], ["1844", "I7N3G6G", "1844", 0, "no description", 60.2, "random"], ["1845", "I7N3G6G", "1845", 0, "no description", 60.2, "random"], ["1846", "I7N3G6G", "1846", 0, "no description", 60.2, "random"], ["1847", "I7N3G6G", "1847", 0, "no description", 60.2, "random"], ["1848", "I7N3G6G", "1848", 0, "no description", 60.2, "random"], ["1849", "I7N3G6G", "1849", 0, "no description", 60.2, "random"], ["1850", "I7N3G6G", "1850", 0, "no description", 60.2, "random"], ["1851", "I7N3G6G", "1851", 0, "no description", 60.2, "random"], ["1852", "I7N3G6G", "1852", 0, "no description", 60.2, "random"], ["1853", "I7N3G6G", "1853", 0, "no description", 60.2, "random"], ["1854", "I7N3G6G", "1854", 0, "no description", 60.2, "random"], ["1855", "I7N3G6G", "1855", 0, "no description", 60.2, "random"], ["1856", "I7N3G6G", "1856", 0, "no description", 60.2, "random"], ["1857", "I7N3G6G", "1857", 0, "no description", 60.2, "random"], ["1858", "I7N3G6G", "1858", 0, "no description", 60.2, "random"], ["1859", "I7N3G6G", "1859", 0, "no description", 60.2, "random"], ["1860", "I7N3G6G", "1860", 0, "no description", 60.2, "random"], ["1861", "I7N3G6G", "1861", 0, "no description", 60.2, "random"], ["1862", "I7N3G6G", "1862", 0, "no description", 60.2, "random"], ["1863", "I7N3G6G", "1863", 0, "no description", 60.2, "random"], ["1864", "I7N3G6G", "1864", 0, "no description", 60.2, "random"], ["1865", "I7N3G6G", "1865", 0, "no description", 60.2, "random"], ["1866", "I7N3G6G", "1866", 0, "no description", 60.2, "random"], ["1867", "I7N3G6G", "1867", 0, "no description", 60.2, "random"], ["1868", "I7N3G6G", "1868", 0, "no description", 60.2, "random"], ["1869", "I7N3G6G", "1869", 0, "no description", 60.2, "random"], ["1870", "I7N3G6G", "1870", 0, "no description", 60.2, "random"], ["1871", "I7N3G6G", "1871", 0, "no description", 60.2, "random"], ["1872", "I7N3G6G", "1872", 0, "no description", 60.2, "random"], ["1873", "I7N3G6G", "1873", 0, "no description", 60.2, "random"], ["1874", "I7N3G6G", "1874", 0, "no description", 60.2, "random"], ["1875", "I7N3G6G", "1875", 0, "no description", 60.2, "random"], ["1876", "I7N3G6G", "1876", 0, "no description", 60.2, "random"], ["1877", "I7N3G6G", "1877", 0, "no description", 60.2, "random"], ["1878", "I7N3G6G", "1878", 0, "no description", 60.2, "random"], ["1879", "I7N3G6G", "1879", 0, "no description", 60.2, "random"], ["1880", "I7N3G6G", "1880", 0, "no description", 60.2, "random"], ["1881", "I7N3G6G", "1881", 0, "no description", 60.2, "random"], ["1882", "I7N3G6G", "1882", 0, "no description", 60.2, "random"], ["1883", "I7N3G6G", "1883", 0, "no description", 60.2, "random"], ["1884", "I7N3G6G", "1884", 0, "no description", 60.2, "random"], ["1885", "I7N3G6G", "1885", 0, "no description", 60.2, "random"], ["1886", "I7N3G6G", "1886", 0, "no description", 60.2, "random"], ["1887", "I7N3G6G", "1887", 0, "no description", 60.2, "random"], ["1888", "I7N3G6G", "1888", 0, "no description", 60.2, "random"], ["1889", "I7N3G6G", "1889", 0, "no description", 60.2, "random"], ["1890", "I7N3G6G", "1890", 0, "no description", 60.2, "random"], ["1891", "I7N3G6G", "1891", 0, "no description", 60.2, "random"], ["1892", "I7N3G6G", "1892", 0, "no description", 60.2, "random"], ["1893", "I7N3G6G", "1893", 0, "no description", 60.2, "random"], ["1894", "I7N3G6G", "1894", 0, "no description", 60.2, "random"], ["1895", "I7N3G6G", "1895", 0, "no description", 60.2, "random"], ["1896", "I7N3G6G", "1896", 0, "no description", 60.2, "random"], ["1897", "I7N3G6G", "1897", 0, "no description", 60.2, "random"], ["1898", "I7N3G6G", "1898", 0, "no description", 60.2, "random"], ["1899", "I7N3G6G", "1899", 0, "no description", 60.2, "random"], ["1900", "I7N3G6G", "1900", 0, "no description", 60.2, "random"], ["1901", "I7N3G6G", "1901", 0, "no description", 60.2, "random"], ["1902", "I7N3G6G", "1902", 0, "no description", 60.2, "random"], ["1903", "I7N3G6G", "1903", 0, "no description", 60.2, "random"], ["1904", "I7N3G6G", "1904", 0, "no description", 60.2, "random"], ["1905", "I7N3G6G", "1905", 0, "no description", 60.2, "random"], ["1906", "I7N3G6G", "1906", 0, "no description", 60.2, "random"], ["1907", "I7N3G6G", "1907", 0, "no description", 60.2, "random"], ["1908", "I7N3G6G", "1908", 0, "no description", 60.2, "random"], ["1909", "I7N3G6G", "1909", 0, "no description", 60.2, "random"], ["1910", "I7N3G6G", "1910", 0, "no description", 60.2, "random"], ["1911", "I7N3G6G", "1911", 0, "no description", 60.2, "random"], ["1912", "I7N3G6G", "1912", 0, "no description", 60.2, "random"], ["1913", "I7N3G6G", "1913", 0, "no description", 60.2, "random"], ["1914", "I7N3G6G", "1914", 0, "no description", 60.2, "random"], ["1915", "I7N3G6G", "1915", 0, "no description", 60.2, "random"], ["1916", "I7N3G6G", "1916", 0, "no description", 60.2, "random"], ["1917", "I7N3G6G", "1917", 0, "no description", 60.2, "random"], ["1918", "I7N3G6G", "1918", 0, "no description", 60.2, "random"], ["1919", "I7N3G6G", "1919", 0, "no description", 60.2, "random"], ["1920", "I7N3G6G", "1920", 0, "no description", 60.2, "random"], ["1921", "I7N3G6G", "1921", 0, "no description", 60.2, "random"], ["1922", "I7N3G6G", "1922", 0, "no description", 60.2, "random"], ["1923", "I7N3G6G", "1923", 0, "no description", 60.2, "random"], ["1924", "I7N3G6G", "1924", 0, "no description", 60.2, "random"], ["1925", "I7N3G6G", "1925", 0, "no description", 60.2, "random"], ["1926", "I7N3G6G", "1926", 0, "no description", 60.2, "random"], ["1927", "I7N3G6G", "1927", 0, "no description", 60.2, "random"], ["1928", "I7N3G6G", "1928", 0, "no description", 60.2, "random"], ["1929", "I7N3G6G", "1929", 0, "no description", 60.2, "random"], ["1930", "I7N3G6G", "1930", 0, "no description", 60.2, "random"], ["1931", "I7N3G6G", "1931", 0, "no description", 60.2, "random"], ["1932", "I7N3G6G", "1932", 0, "no description", 60.2, "random"], ["1933", "I7N3G6G", "1933", 0, "no description", 60.2, "random"], ["1934", "I7N3G6G", "1934", 0, "no description", 60.2, "random"], ["1935", "I7N3G6G", "1935", 0, "no description", 60.2, "random"], ["1936", "I7N3G6G", "1936", 0, "no description", 60.2, "random"], ["1937", "I7N3G6G", "1937", 0, "no description", 60.2, "random"], ["1938", "I7N3G6G", "1938", 0, "no description", 60.2, "random"], ["1939", "I7N3G6G", "1939", 0, "no description", 60.2, "random"], ["1940", "I7N3G6G", "1940", 0, "no description", 60.2, "random"], ["1941", "I7N3G6G", "1941", 0, "no description", 60.2, "random"], ["1942", "I7N3G6G", "1942", 0, "no description", 60.2, "random"], ["1943", "I7N3G6G", "1943", 0, "no description", 60.2, "random"], ["1944", "I7N3G6G", "1944", 0, "no description", 60.2, "random"], ["1945", "I7N3G6G", "1945", 0, "no description", 60.2, "random"], ["1946", "I7N3G6G", "1946", 0, "no description", 60.2, "random"], ["1947", "I7N3G6G", "1947", 0, "no description", 60.2, "random"], ["1948", "I7N3G6G", "1948", 0, "no description", 60.2, "random"], ["1949", "I7N3G6G", "1949", 0, "no description", 60.2, "random"], ["1950", "I7N3G6G", "1950", 0, "no description", 60.2, "random"], ["1951", "I7N3G6G", "1951", 0, "no description", 60.2, "random"], ["1952", "I7N3G6G", "1952", 0, "no description", 60.2, "random"], ["1953", "I7N3G6G", "1953", 0, "no description", 60.2, "random"], ["1954", "I7N3G6G", "1954", 0, "no description", 60.2, "random"], ["1955", "I7N3G6G", "1955", 0, "no description", 60.2, "random"], ["1956", "I7N3G6G", "1956", 0, "no description", 60.2, "random"], ["1957", "I7N3G6G", "1957", 0, "no description", 60.2, "random"], ["1958", "I7N3G6G", "1958", 0, "no description", 60.2, "random"], ["1959", "I7N3G6G", "1959", 0, "no description", 60.2, "random"], ["1960", "I7N3G6G", "1960", 0, "no description", 60.2, "random"], ["1961", "I7N3G6G", "1961", 0, "no description", 60.2, "random"], ["1962", "I7N3G6G", "1962", 0, "no description", 60.2, "random"], ["1963", "I7N3G6G", "1963", 0, "no description", 60.2, "random"], ["1964", "I7N3G6G", "1964", 0, "no description", 60.2, "random"], ["1965", "I7N3G6G", "1965", 0, "no description", 60.2, "random"], ["1966", "I7N3G6G", "1966", 0, "no description", 60.2, "random"], ["1967", "I7N3G6G", "1967", 0, "no description", 60.2, "random"], ["1968", "I7N3G6G", "1968", 0, "no description", 60.2, "random"], ["1969", "I7N3G6G", "1969", 0, "no description", 60.2, "random"], ["1970", "I7N3G6G", "1970", 0, "no description", 60.2, "random"], ["1971", "I7N3G6G", "1971", 0, "no description", 60.2, "random"], ["1972", "I7N3G6G", "1972", 0, "no description", 60.2, "random"], ["1973", "I7N3G6G", "1973", 0, "no description", 60.2, "random"], ["1974", "I7N3G6G", "1974", 0, "no description", 60.2, "random"], ["1975", "I7N3G6G", "1975", 0, "no description", 60.2, "random"], ["1976", "I7N3G6G", "1976", 0, "no description", 60.2, "random"], ["1977", "I7N3G6G", "1977", 0, "no description", 60.2, "random"], ["1978", "I7N3G6G", "1978", 0, "no description", 60.2, "random"], ["1979", "I7N3G6G", "1979", 0, "no description", 60.2, "random"], ["1980", "I7N3G6G", "1980", 0, "no description", 60.2, "random"], ["1981", "I7N3G6G", "1981", 0, "no description", 60.2, "random"], ["1982", "I7N3G6G", "1982", 0, "no description", 60.2, "random"], ["1983", "I7N3G6G", "1983", 0, "no description", 60.2, "random"], ["1984", "I7N3G6G", "1984", 0, "no description", 60.2, "random"], ["1985", "I7N3G6G", "1985", 0, "no description", 60.2, "random"], ["1986", "I7N3G6G", "1986", 0, "no description", 60.2, "random"], ["1987", "I7N3G6G", "1987", 0, "no description", 60.2, "random"], ["1988", "I7N3G6G", "1988", 0, "no description", 60.2, "random"], ["1989", "I7N3G6G", "1989", 0, "no description", 60.2, "random"], ["1990", "I7N3G6G", "1990", 0, "no description", 60.2, "random"], ["1991", "I7N3G6G", "1991", 0, "no description", 60.2, "random"], ["1992", "I7N3G6G", "1992", 0, "no description", 60.2, "random"], ["1993", "I7N3G6G", "1993", 0, "no description", 60.2, "random"], ["1994", "I7N3G6G", "1994", 0, "no description", 60.2, "random"], ["1995", "I7N3G6G", "1995", 0, "no description", 60.2, "random"], ["1996", "I7N3G6G", "1996", 0, "no description", 60.2, "random"], ["1997", "I7N3G6G", "1997", 0, "no description", 60.2, "random"], ["1998", "I7N3G6G", "1998", 0, "no description", 60.2, "random"], ["1999", "I7N3G6G", "1999", 0, "no description", 60.2, "random"], ["2000", "I7N3G6G", "2000", 0, "no description", 60.2, "random"], ["2001", "I7N3G6G", "2001", 0, "no description", 60.2, "random"], ["2002", "I7N3G6G", "2002", 0, "no description", 60.2, "random"], ["2003", "I7N3G6G", "2003", 0, "no description", 60.2, "random"], ["2004", "I7N3G6G", "2004", 0, "no description", 60.2, "random"], ["2005", "I7N3G6G", "2005", 0, "no description", 60.2, "random"], ["2006", "I7N3G6G", "2006", 0, "no description", 60.2, "random"], ["2007", "I7N3G6G", "2007", 0, "no description", 60.2, "random"], ["2008", "I7N3G6G", "2008", 0, "no description", 60.2, "random"], ["2009", "I7N3G6G", "2009", 0, "no description", 60.2, "random"], ["2010", "I7N3G6G", "2010", 0, "no description", 60.2, "random"], ["2011", "I7N3G6G", "2011", 0, "no description", 60.2, "random"], ["2012", "I7N3G6G", "2012", 0, "no description", 60.2, "random"], ["2013", "I7N3G6G", "2013", 0, "no description", 60.2, "random"], ["2014", "I7N3G6G", "2014", 0, "no description", 60.2, "random"], ["2015", "I7N3G6G", "2015", 0, "no description", 60.2, "random"], ["2016", "I7N3G6G", "2016", 0, "no description", 60.2, "random"], ["2017", "I7N3G6G", "2017", 0, "no description", 60.2, "random"], ["2018", "I7N3G6G", "2018", 0, "no description", 60.2, "random"], ["2019", "I7N3G6G", "2019", 0, "no description", 60.2, "random"], ["2020", "I7N3G6G", "2020", 0, "no description", 60.2, "random"], ["2021", "I7N3G6G", "2021", 0, "no description", 60.2, "random"], ["2022", "I7N3G6G", "2022", 0, "no description", 60.2, "random"], ["2023", "I7N3G6G", "2023", 0, "no description", 60.2, "random"], ["2024", "I7N3G6G", "2024", 0, "no description", 60.2, "random"], ["2025", "I7N3G6G", "2025", 0, "no description", 60.2, "random"], ["2026", "I7N3G6G", "2026", 0, "no description", 60.2, "random"], ["2027", "I7N3G6G", "2027", 0, "no description", 60.2, "random"], ["2028", "I7N3G6G", "2028", 0, "no description", 60.2, "random"], ["2029", "I7N3G6G", "2029", 0, "no description", 60.2, "random"], ["2030", "I7N3G6G", "2030", 0, "no description", 60.2, "random"], ["2031", "I7N3G6G", "2031", 0, "no description", 60.2, "random"], ["2032", "I7N3G6G", "2032", 0, "no description", 60.2, "random"], ["2033", "I7N3G6G", "2033", 0, "no description", 60.2, "random"], ["2034", "I7N3G6G", "2034", 0, "no description", 60.2, "random"], ["2035", "I7N3G6G", "2035", 0, "no description", 60.2, "random"], ["2036", "I7N3G6G", "2036", 0, "no description", 60.2, "random"], ["2037", "I7N3G6G", "2037", 0, "no description", 60.2, "random"], ["2038", "I7N3G6G", "2038", 0, "no description", 60.2, "random"], ["2039", "I7N3G6G", "2039", 0, "no description", 60.2, "random"], ["2040", "I7N3G6G", "2040", 0, "no description", 60.2, "random"], ["2041", "I7N3G6G", "2041", 0, "no description", 60.2, "random"], ["2042", "I7N3G6G", "2042", 0, "no description", 60.2, "random"], ["2043", "I7N3G6G", "2043", 0, "no description", 60.2, "random"], ["2044", "I7N3G6G", "2044", 0, "no description", 60.2, "random"], ["2045", "I7N3G6G", "2045", 0, "no description", 60.2, "random"], ["2046", "I7N3G6G", "2046", 0, "no description", 60.2, "random"], ["2047", "I7N3G6G", "2047", 0, "no description", 60.2, "random"], ["2048", "I7N3G6G", "2048", 0, "no description", 60.2, "random"], ["2049", "I7N3G6G", "2049", 0, "no description", 60.2, "random"], ["2050", "I7N3G6G", "2050", 0, "no description", 60.2, "random"], ["2051", "I7N3G6G", "2051", 0, "no description", 60.2, "random"], ["2052", "I7N3G6G", "2052", 0, "no description", 60.2, "random"], ["2053", "I7N3G6G", "2053", 0, "no description", 60.2, "random"], ["2054", "I7N3G6G", "2054", 0, "no description", 60.2, "random"], ["2055", "I7N3G6G", "2055", 0, "no description", 60.2, "random"], ["2056", "I7N3G6G", "2056", 0, "no description", 60.2, "random"], ["2057", "I7N3G6G", "2057", 0, "no description", 60.2, "random"], ["2058", "I7N3G6G", "2058", 0, "no description", 60.2, "random"], ["2059", "I7N3G6G", "2059", 0, "no description", 60.2, "random"], ["2060", "I7N3G6G", "2060", 0, "no description", 60.2, "random"], ["2061", "I7N3G6G", "2061", 0, "no description", 60.2, "random"], ["2062", "I7N3G6G", "2062", 0, "no description", 60.2, "random"], ["2063", "I7N3G6G", "2063", 0, "no description", 60.2, "random"], ["2064", "I7N3G6G", "2064", 0, "no description", 60.2, "random"], ["2065", "I7N3G6G", "2065", 0, "no description", 60.2, "random"], ["2066", "I7N3G6G", "2066", 0, "no description", 60.2, "random"], ["2067", "I7N3G6G", "2067", 0, "no description", 60.2, "random"], ["2068", "I7N3G6G", "2068", 0, "no description", 60.2, "random"], ["2069", "I7N3G6G", "2069", 0, "no description", 60.2, "random"], ["2070", "I7N3G6G", "2070", 0, "no description", 60.2, "random"], ["2071", "I7N3G6G", "2071", 0, "no description", 60.2, "random"], ["2072", "I7N3G6G", "2072", 0, "no description", 60.2, "random"], ["2073", "I7N3G6G", "2073", 0, "no description", 60.2, "random"], ["2074", "I7N3G6G", "2074", 0, "no description", 60.2, "random"], ["2075", "I7N3G6G", "2075", 0, "no description", 60.2, "random"], ["2076", "I7N3G6G", "2076", 0, "no description", 60.2, "random"], ["2077", "I7N3G6G", "2077", 0, "no description", 60.2, "random"], ["2078", "I7N3G6G", "2078", 0, "no description", 60.2, "random"], ["2079", "I7N3G6G", "2079", 0, "no description", 60.2, "random"], ["2080", "I7N3G6G", "2080", 0, "no description", 60.2, "random"], ["2081", "I7N3G6G", "2081", 0, "no description", 60.2, "random"], ["2082", "I7N3G6G", "2082", 0, "no description", 60.2, "random"], ["2083", "I7N3G6G", "2083", 0, "no description", 60.2, "random"], ["2084", "I7N3G6G", "2084", 0, "no description", 60.2, "random"], ["2085", "I7N3G6G", "2085", 0, "no description", 60.2, "random"], ["2086", "I7N3G6G", "2086", 0, "no description", 60.2, "random"], ["2087", "I7N3G6G", "2087", 0, "no description", 60.2, "random"], ["2088", "I7N3G6G", "2088", 0, "no description", 60.2, "random"], ["2089", "I7N3G6G", "2089", 0, "no description", 60.2, "random"], ["2090", "I7N3G6G", "2090", 0, "no description", 60.2, "random"], ["2091", "I7N3G6G", "2091", 0, "no description", 60.2, "random"], ["2092", "I7N3G6G", "2092", 0, "no description", 60.2, "random"], ["2093", "I7N3G6G", "2093", 0, "no description", 60.2, "random"], ["2094", "I7N3G6G", "2094", 0, "no description", 60.2, "random"], ["2095", "I7N3G6G", "2095", 0, "no description", 60.2, "random"], ["2096", "I7N3G6G", "2096", 0, "no description", 60.2, "random"], ["2097", "I7N3G6G", "2097", 0, "no description", 60.2, "random"], ["2098", "I7N3G6G", "2098", 0, "no description", 60.2, "random"], ["2099", "I7N3G6G", "2099", 0, "no description", 60.2, "random"], ["2100", "I7N3G6G", "2100", 0, "no description", 60.2, "random"], ["2101", "I7N3G6G", "2101", 0, "no description", 60.2, "random"], ["2102", "I7N3G6G", "2102", 0, "no description", 60.2, "random"], ["2103", "I7N3G6G", "2103", 0, "no description", 60.2, "random"], ["2104", "I7N3G6G", "2104", 0, "no description", 60.2, "random"], ["2105", "I7N3G6G", "2105", 0, "no description", 60.2, "random"], ["2106", "I7N3G6G", "2106", 0, "no description", 60.2, "random"], ["2107", "I7N3G6G", "2107", 0, "no description", 60.2, "random"], ["2108", "I7N3G6G", "2108", 0, "no description", 60.2, "random"], ["2109", "I7N3G6G", "2109", 0, "no description", 60.2, "random"], ["2110", "I7N3G6G", "2110", 0, "no description", 60.2, "random"], ["2111", "I7N3G6G", "2111", 0, "no description", 60.2, "random"], ["2112", "I7N3G6G", "2112", 0, "no description", 60.2, "random"], ["2113", "I7N3G6G", "2113", 0, "no description", 60.2, "random"], ["2114", "I7N3G6G", "2114", 0, "no description", 60.2, "random"], ["2115", "I7N3G6G", "2115", 0, "no description", 60.2, "random"], ["2116", "I7N3G6G", "2116", 0, "no description", 60.2, "random"], ["2117", "I7N3G6G", "2117", 0, "no description", 60.2, "random"], ["2118", "I7N3G6G", "2118", 0, "no description", 60.2, "random"], ["2119", "I7N3G6G", "2119", 0, "no description", 60.2, "random"], ["2120", "I7N3G6G", "2120", 0, "no description", 60.2, "random"], ["2121", "I7N3G6G", "2121", 0, "no description", 60.2, "random"], ["2122", "I7N3G6G", "2122", 0, "no description", 60.2, "random"], ["2123", "I7N3G6G", "2123", 0, "no description", 60.2, "random"], ["2124", "I7N3G6G", "2124", 0, "no description", 60.2, "random"], ["2125", "I7N3G6G", "2125", 0, "no description", 60.2, "random"], ["2126", "I7N3G6G", "2126", 0, "no description", 60.2, "random"], ["2127", "I7N3G6G", "2127", 0, "no description", 60.2, "random"], ["2128", "I7N3G6G", "2128", 0, "no description", 60.2, "random"], ["2129", "I7N3G6G", "2129", 0, "no description", 60.2, "random"], ["2130", "I7N3G6G", "2130", 0, "no description", 60.2, "random"], ["2131", "I7N3G6G", "2131", 0, "no description", 60.2, "random"], ["2132", "I7N3G6G", "2132", 0, "no description", 60.2, "random"], ["2133", "I7N3G6G", "2133", 0, "no description", 60.2, "random"], ["2134", "I7N3G6G", "2134", 0, "no description", 60.2, "random"], ["2135", "I7N3G6G", "2135", 0, "no description", 60.2, "random"], ["2136", "I7N3G6G", "2136", 0, "no description", 60.2, "random"], ["2137", "I7N3G6G", "2137", 0, "no description", 60.2, "random"], ["2138", "I7N3G6G", "2138", 0, "no description", 60.2, "random"], ["2139", "I7N3G6G", "2139", 0, "no description", 60.2, "random"], ["2140", "I7N3G6G", "2140", 0, "no description", 60.2, "random"], ["2141", "I7N3G6G", "2141", 0, "no description", 60.2, "random"], ["2142", "I7N3G6G", "2142", 0, "no description", 60.2, "random"], ["2143", "I7N3G6G", "2143", 0, "no description", 60.2, "random"], ["2144", "I7N3G6G", "2144", 0, "no description", 60.2, "random"], ["2145", "I7N3G6G", "2145", 0, "no description", 60.2, "random"], ["2146", "I7N3G6G", "2146", 0, "no description", 60.2, "random"], ["2147", "I7N3G6G", "2147", 0, "no description", 60.2, "random"], ["2148", "I7N3G6G", "2148", 0, "no description", 60.2, "random"], ["2149", "I7N3G6G", "2149", 0, "no description", 60.2, "random"], ["2150", "I7N3G6G", "2150", 0, "no description", 60.2, "random"], ["2151", "I7N3G6G", "2151", 0, "no description", 60.2, "random"], ["2152", "I7N3G6G", "2152", 0, "no description", 60.2, "random"], ["2153", "I7N3G6G", "2153", 0, "no description", 60.2, "random"], ["2154", "I7N3G6G", "2154", 0, "no description", 60.2, "random"], ["2155", "I7N3G6G", "2155", 0, "no description", 60.2, "random"], ["2156", "I7N3G6G", "2156", 0, "no description", 60.2, "random"], ["2157", "I7N3G6G", "2157", 0, "no description", 60.2, "random"], ["2158", "I7N3G6G", "2158", 0, "no description", 60.2, "random"], ["2159", "I7N3G6G", "2159", 0, "no description", 60.2, "random"], ["2160", "I7N3G6G", "2160", 0, "no description", 60.2, "random"], ["2161", "I7N3G6G", "2161", 0, "no description", 60.2, "random"], ["2162", "I7N3G6G", "2162", 0, "no description", 60.2, "random"], ["2163", "I7N3G6G", "2163", 0, "no description", 60.2, "random"], ["2164", "I7N3G6G", "2164", 0, "no description", 60.2, "random"], ["2165", "I7N3G6G", "2165", 0, "no description", 60.2, "random"], ["2166", "I7N3G6G", "2166", 0, "no description", 60.2, "random"], ["2167", "I7N3G6G", "2167", 0, "no description", 60.2, "random"], ["2168", "I7N3G6G", "2168", 0, "no description", 60.2, "random"], ["2169", "I7N3G6G", "2169", 0, "no description", 60.2, "random"], ["2170", "I7N3G6G", "2170", 0, "no description", 60.2, "random"], ["2171", "I7N3G6G", "2171", 0, "no description", 60.2, "random"], ["2172", "I7N3G6G", "2172", 0, "no description", 60.2, "random"], ["2173", "I7N3G6G", "2173", 0, "no description", 60.2, "random"], ["2174", "I7N3G6G", "2174", 0, "no description", 60.2, "random"], ["2175", "I7N3G6G", "2175", 0, "no description", 60.2, "random"], ["2176", "I7N3G6G", "2176", 0, "no description", 60.2, "random"], ["2177", "I7N3G6G", "2177", 0, "no description", 60.2, "random"], ["2178", "I7N3G6G", "2178", 0, "no description", 60.2, "random"], ["2179", "I7N3G6G", "2179", 0, "no description", 60.2, "random"], ["2180", "I7N3G6G", "2180", 0, "no description", 60.2, "random"], ["2181", "I7N3G6G", "2181", 0, "no description", 60.2, "random"], ["2182", "I7N3G6G", "2182", 0, "no description", 60.2, "random"], ["2183", "I7N3G6G", "2183", 0, "no description", 60.2, "random"], ["2184", "I7N3G6G", "2184", 0, "no description", 60.2, "random"], ["2185", "I7N3G6G", "2185", 0, "no description", 60.2, "random"], ["2186", "I7N3G6G", "2186", 0, "no description", 60.2, "random"], ["2187", "I7N3G6G", "2187", 0, "no description", 60.2, "random"], ["2188", "I7N3G6G", "2188", 0, "no description", 60.2, "random"], ["2189", "I7N3G6G", "2189", 0, "no description", 60.2, "random"], ["2190", "I7N3G6G", "2190", 0, "no description", 60.2, "random"], ["2191", "I7N3G6G", "2191", 0, "no description", 60.2, "random"], ["2192", "I7N3G6G", "2192", 0, "no description", 60.2, "random"], ["2193", "I7N3G6G", "2193", 0, "no description", 60.2, "random"], ["2194", "I7N3G6G", "2194", 0, "no description", 60.2, "random"], ["2195", "I7N3G6G", "2195", 0, "no description", 60.2, "random"], ["2196", "I7N3G6G", "2196", 0, "no description", 60.2, "random"], ["2197", "I7N3G6G", "2197", 0, "no description", 60.2, "random"], ["2198", "I7N3G6G", "2198", 0, "no description", 60.2, "random"], ["2199", "I7N3G6G", "2199", 0, "no description", 60.2, "random"], ["2200", "I7N3G6G", "2200", 0, "no description", 60.2, "random"], ["2201", "I7N3G6G", "2201", 0, "no description", 60.2, "random"], ["2202", "I7N3G6G", "2202", 0, "no description", 60.2, "random"], ["2203", "I7N3G6G", "2203", 0, "no description", 60.2, "random"], ["2204", "I7N3G6G", "2204", 0, "no description", 60.2, "random"], ["2205", "I7N3G6G", "2205", 0, "no description", 60.2, "random"], ["2206", "I7N3G6G", "2206", 0, "no description", 60.2, "random"], ["2207", "I7N3G6G", "2207", 0, "no description", 60.2, "random"], ["2208", "I7N3G6G", "2208", 0, "no description", 60.2, "random"], ["2209", "I7N3G6G", "2209", 0, "no description", 60.2, "random"], ["2210", "I7N3G6G", "2210", 0, "no description", 60.2, "random"], ["2211", "I7N3G6G", "2211", 0, "no description", 60.2, "random"], ["2212", "I7N3G6G", "2212", 0, "no description", 60.2, "random"], ["2213", "I7N3G6G", "2213", 0, "no description", 60.2, "random"], ["2214", "I7N3G6G", "2214", 0, "no description", 60.2, "random"], ["2215", "I7N3G6G", "2215", 0, "no description", 60.2, "random"], ["2216", "I7N3G6G", "2216", 0, "no description", 60.2, "random"], ["2217", "I7N3G6G", "2217", 0, "no description", 60.2, "random"], ["2218", "I7N3G6G", "2218", 0, "no description", 60.2, "random"], ["2219", "I7N3G6G", "2219", 0, "no description", 60.2, "random"], ["2220", "I7N3G6G", "2220", 0, "no description", 60.2, "random"], ["2221", "I7N3G6G", "2221", 0, "no description", 60.2, "random"], ["2222", "I7N3G6G", "2222", 0, "no description", 60.2, "random"], ["2223", "I7N3G6G", "2223", 0, "no description", 60.2, "random"], ["2224", "I7N3G6G", "2224", 0, "no description", 60.2, "random"], ["2225", "I7N3G6G", "2225", 0, "no description", 60.2, "random"], ["2226", "I7N3G6G", "2226", 0, "no description", 60.2, "random"]] \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/JSONCurator_error2.json b/packages/itmat-job-executor/test/testFiles/JSONCurator_error2.json deleted file mode 100644 index 69d365f42..000000000 --- a/packages/itmat-job-executor/test/testFiles/JSONCurator_error2.json +++ /dev/null @@ -1 +0,0 @@ -[["ID", "SubjectID", "VisitID", "Sex", "Description", "Description"], ["1", "I7N3G6G", "1", 0, "no description", 60.2], ["2", "I7N3G6G", "2", 0, "no description", 60.2], ["3", "I7N3G6G", "3", 0, "no description", 60.2], ["4", "I7N3G6G", "4", 0, "no description", 60.2], ["5", "I7N3G6G", "5", 0, "no description", 60.2], ["6", "I7N3G6G", "6", 0, "no description", 60.2], ["7", "I7N3G6G", "7", 0, "no description", 60.2], ["8", "I7N3G6G", "8", 0, "no description", 60.2], ["9", "I7N3G6G", "9", 0, "no description", 60.2], ["10", "I7N3G6G", "10", 0, "no description", 60.2], ["11", "I7N3G6G", "11", 0, "no description", 60.2], ["12", "I7N3G6G", "12", 0, "no description", 60.2], ["13", "I7N3G6G", "13", 0, "no description", 60.2], ["14", "I7N3G6G", "14", 0, "no description", 60.2], ["15", "I7N3G6G", "15", 0, "no description", 60.2], ["16", "I7N3G6G", "16", 0, "no description", 60.2], ["17", "I7N3G6G", "17", 0, "no description", 60.2], ["18", "I7N3G6G", "18", 0, "no description", 60.2], ["19", "I7N3G6G", "19", 0, "no description", 60.2], ["20", "I7N3G6G", "20", 0, "no description", 60.2], ["21", "I7N3G6G", "21", 0, "no description", 60.2], ["22", "I7N3G6G", "22", 0, "no description", 60.2], ["23", "I7N3G6G", "23", 0, "no description", 60.2], ["24", "I7N3G6G", "24", 0, "no description", 60.2], ["25", "I7N3G6G", "25", 0, "no description", 60.2], ["26", "I7N3G6G", "26", 0, "no description", 60.2], ["27", "I7N3G6G", "27", 0, "no description", 60.2], ["28", "I7N3G6G", "28", 0, "no description", 60.2], ["29", "I7N3G6G", "29", 0, "no description", 60.2], ["30", "I7N3G6G", "30", 0, "no description", 60.2], ["31", "I7N3G6G", "31", 0, "no description", 60.2], ["32", "I7N3G6G", "32", 0, "no description", 60.2], ["33", "I7N3G6G", "33", 0, "no description", 60.2], ["34", "I7N3G6G", "34", 0, "no description", 60.2], ["35", "I7N3G6G", "35", 0, "no description", 60.2], ["36", "I7N3G6G", "36", 0, "no description", 60.2], ["37", "I7N3G6G", "37", 0, "no description", 60.2], ["38", "I7N3G6G", "38", 0, "no description", 60.2], ["39", "I7N3G6G", "39", 0, "no description", 60.2], ["40", "I7N3G6G", "40", 0, "no description", 60.2], ["41", "I7N3G6G", "41", 0, "no description", 60.2], ["42", "I7N3G6G", "42", 0, "no description", 60.2], ["43", "I7N3G6G", "43", 0, "no description", 60.2], ["44", "I7N3G6G", "44", 0, "no description", 60.2], ["45", "I7N3G6G", "45", 0, "no description", 60.2], ["46", "I7N3G6G", "46", 0, "no description", 60.2], ["47", "I7N3G6G", "47", 0, "no description", 60.2], ["48", "I7N3G6G", "48", 0, "no description", 60.2], ["49", "I7N3G6G", "49", 0, "no description", 60.2], ["50", "I7N3G6G", "50", 0, "no description", 60.2], ["51", "I7N3G6G", "51", 0, "no description", 60.2], ["52", "I7N3G6G", "52", 0, "no description", 60.2], ["53", "I7N3G6G", "53", 0, "no description", 60.2], ["54", "I7N3G6G", "54", 0, "no description", 60.2], ["55", "I7N3G6G", "55", 0, "no description", 60.2], ["56", "I7N3G6G", "56", 0, "no description", 60.2], ["57", "I7N3G6G", "57", 0, "no description", 60.2], ["58", "I7N3G6G", "58", 0, "no description", 60.2], ["59", "I7N3G6G", "59", 0, "no description", 60.2], ["60", "I7N3G6G", "60", 0, "no description", 60.2], ["61", "I7N3G6G", "61", 0, "no description", 60.2], ["62", "I7N3G6G", "62", 0, "no description", 60.2], ["63", "I7N3G6G", "63", 0, "no description", 60.2], ["64", "I7N3G6G", "64", 0, "no description", 60.2], ["65", "I7N3G6G", "65", 0, "no description", 60.2], ["66", "I7N3G6G", "66", 0, "no description", 60.2], ["67", "I7N3G6G", "67", 0, "no description", 60.2], ["68", "I7N3G6G", "68", 0, "no description", 60.2], ["69", "I7N3G6G", "69", 0, "no description", 60.2], ["70", "I7N3G6G", "70", 0, "no description", 60.2], ["71", "I7N3G6G", "71", 0, "no description", 60.2], ["72", "I7N3G6G", "72", 0, "no description", 60.2], ["73", "I7N3G6G", "73", 0, "no description", 60.2], ["74", "I7N3G6G", "74", 0, "no description", 60.2], ["75", "I7N3G6G", "75", 0, "no description", 60.2], ["76", "I7N3G6G", "76", 0, "no description", 60.2], ["77", "I7N3G6G", "77", 0, "no description", 60.2], ["78", "I7N3G6G", "78", 0, "no description", 60.2], ["79", "I7N3G6G", "79", 0, "no description", 60.2], ["80", "I7N3G6G", "80", 0, "no description", 60.2], ["81", "I7N3G6G", "81", 0, "no description", 60.2], ["82", "I7N3G6G", "82", 0, "no description", 60.2], ["83", "I7N3G6G", "83", 0, "no description", 60.2], ["84", "I7N3G6G", "84", 0, "no description", 60.2], ["85", "I7N3G6G", "85", 0, "no description", 60.2], ["86", "I7N3G6G", "86", 0, "no description", 60.2], ["87", "I7N3G6G", "87", 0, "no description", 60.2], ["88", "I7N3G6G", "88", 0, "no description", 60.2], ["89", "I7N3G6G", "89", 0, "no description", 60.2], ["90", "I7N3G6G", "90", 0, "no description", 60.2], ["91", "I7N3G6G", "91", 0, "no description", 60.2], ["92", "I7N3G6G", "92", 0, "no description", 60.2], ["93", "I7N3G6G", "93", 0, "no description", 60.2], ["94", "I7N3G6G", "94", 0, "no description", 60.2], ["95", "I7N3G6G", "95", 0, "no description", 60.2], ["96", "I7N3G6G", "96", 0, "no description", 60.2], ["97", "I7N3G6G", "97", 0, "no description", 60.2], ["98", "I7N3G6G", "98", 0, "no description", 60.2], ["99", "I7N3G6G", "99", 0, "no description", 60.2], ["100", "I7N3G6G", "100", 0, "no description", 60.2], ["101", "I7N3G6G", "101", 0, "no description", 60.2], ["102", "I7N3G6G", "102", 0, "no description", 60.2], ["103", "I7N3G6G", "103", 0, "no description", 60.2], ["104", "I7N3G6G", "104", 0, "no description", 60.2], ["105", "I7N3G6G", "105", 0, "no description", 60.2], ["106", "I7N3G6G", "106", 0, "no description", 60.2], ["107", "I7N3G6G", "107", 0, "no description", 60.2], ["108", "I7N3G6G", "108", 0, "no description", 60.2], ["109", "I7N3G6G", "109", 0, "no description", 60.2], ["110", "I7N3G6G", "110", 0, "no description", 60.2], ["111", "I7N3G6G", "111", 0, "no description", 60.2], ["112", "I7N3G6G", "112", 0, "no description", 60.2], ["113", "I7N3G6G", "113", 0, "no description", 60.2], ["114", "I7N3G6G", "114", 0, "no description", 60.2], ["115", "I7N3G6G", "115", 0, "no description", 60.2], ["116", "I7N3G6G", "116", 0, "no description", 60.2], ["117", "I7N3G6G", "117", 0, "no description", 60.2], ["118", "I7N3G6G", "118", 0, "no description", 60.2], ["119", "I7N3G6G", "119", 0, "no description", 60.2], ["120", "I7N3G6G", "120", 0, "no description", 60.2], ["121", "I7N3G6G", "121", 0, "no description", 60.2], ["122", "I7N3G6G", "122", 0, "no description", 60.2], ["123", "I7N3G6G", "123", 0, "no description", 60.2], ["124", "I7N3G6G", "124", 0, "no description", 60.2], ["125", "I7N3G6G", "125", 0, "no description", 60.2], ["126", "I7N3G6G", "126", 0, "no description", 60.2], ["127", "I7N3G6G", "127", 0, "no description", 60.2], ["128", "I7N3G6G", "128", 0, "no description", 60.2], ["129", "I7N3G6G", "129", 0, "no description", 60.2], ["130", "I7N3G6G", "130", 0, "no description", 60.2], ["131", "I7N3G6G", "131", 0, "no description", 60.2], ["132", "I7N3G6G", "132", 0, "no description", 60.2], ["133", "I7N3G6G", "133", 0, "no description", 60.2], ["134", "I7N3G6G", "134", 0, "no description", 60.2], ["135", "I7N3G6G", "135", 0, "no description", 60.2], ["136", "I7N3G6G", "136", 0, "no description", 60.2], ["137", "I7N3G6G", "137", 0, "no description", 60.2], ["138", "I7N3G6G", "138", 0, "no description", 60.2], ["139", "I7N3G6G", "139", 0, "no description", 60.2], ["140", "I7N3G6G", "140", 0, "no description", 60.2], ["141", "I7N3G6G", "141", 0, "no description", 60.2], ["142", "I7N3G6G", "142", 0, "no description", 60.2], ["143", "I7N3G6G", "143", 0, "no description", 60.2], ["144", "I7N3G6G", "144", 0, "no description", 60.2], ["145", "I7N3G6G", "145", 0, "no description", 60.2], ["146", "I7N3G6G", "146", 0, "no description", 60.2], ["147", "I7N3G6G", "147", 0, "no description", 60.2], ["148", "I7N3G6G", "148", 0, "no description", 60.2], ["149", "I7N3G6G", "149", 0, "no description", 60.2], ["150", "I7N3G6G", "150", 0, "no description", 60.2], ["151", "I7N3G6G", "151", 0, "no description", 60.2], ["152", "I7N3G6G", "152", 0, "no description", 60.2], ["153", "I7N3G6G", "153", 0, "no description", 60.2], ["154", "I7N3G6G", "154", 0, "no description", 60.2], ["155", "I7N3G6G", "155", 0, "no description", 60.2], ["156", "I7N3G6G", "156", 0, "no description", 60.2], ["157", "I7N3G6G", "157", 0, "no description", 60.2], ["158", "I7N3G6G", "158", 0, "no description", 60.2], ["159", "I7N3G6G", "159", 0, "no description", 60.2], ["160", "I7N3G6G", "160", 0, "no description", 60.2], ["161", "I7N3G6G", "161", 0, "no description", 60.2], ["162", "I7N3G6G", "162", 0, "no description", 60.2], ["163", "I7N3G6G", "163", 0, "no description", 60.2], ["164", "I7N3G6G", "164", 0, "no description", 60.2], ["165", "I7N3G6G", "165", 0, "no description", 60.2], ["166", "I7N3G6G", "166", 0, "no description", 60.2], ["167", "I7N3G6G", "167", 0, "no description", 60.2], ["168", "I7N3G6G", "168", 0, "no description", 60.2], ["169", "I7N3G6G", "169", 0, "no description", 60.2], ["170", "I7N3G6G", "170", 0, "no description", 60.2], ["171", "I7N3G6G", "171", 0, "no description", 60.2], ["172", "I7N3G6G", "172", 0, "no description", 60.2], ["173", "I7N3G6G", "173", 0, "no description", 60.2], ["174", "I7N3G6G", "174", 0, "no description", 60.2], ["175", "I7N3G6G", "175", 0, "no description", 60.2], ["176", "I7N3G6G", "176", 0, "no description", 60.2], ["177", "I7N3G6G", "177", 0, "no description", 60.2], ["178", "I7N3G6G", "178", 0, "no description", 60.2], ["179", "I7N3G6G", "179", 0, "no description", 60.2], ["180", "I7N3G6G", "180", 0, "no description", 60.2], ["181", "I7N3G6G", "181", 0, "no description", 60.2], ["182", "I7N3G6G", "182", 0, "no description", 60.2], ["183", "I7N3G6G", "183", 0, "no description", 60.2], ["184", "I7N3G6G", "184", 0, "no description", 60.2], ["185", "I7N3G6G", "185", 0, "no description", 60.2], ["186", "I7N3G6G", "186", 0, "no description", 60.2], ["187", "I7N3G6G", "187", 0, "no description", 60.2], ["188", "I7N3G6G", "188", 0, "no description", 60.2], ["189", "I7N3G6G", "189", 0, "no description", 60.2], ["190", "I7N3G6G", "190", 0, "no description", 60.2], ["191", "I7N3G6G", "191", 0, "no description", 60.2], ["192", "I7N3G6G", "192", 0, "no description", 60.2], ["193", "I7N3G6G", "193", 0, "no description", 60.2], ["194", "I7N3G6G", "194", 0, "no description", 60.2], ["195", "I7N3G6G", "195", 0, "no description", 60.2], ["196", "I7N3G6G", "196", 0, "no description", 60.2], ["197", "I7N3G6G", "197", 0, "no description", 60.2], ["198", "I7N3G6G", "198", 0, "no description", 60.2], ["199", "I7N3G6G", "199", 0, "no description", 60.2], ["200", "I7N3G6G", "200", 0, "no description", 60.2], ["201", "I7N3G6G", "201", 0, "no description", 60.2], ["202", "I7N3G6G", "202", 0, "no description", 60.2], ["203", "I7N3G6G", "203", 0, "no description", 60.2], ["204", "I7N3G6G", "204", 0, "no description", 60.2], ["205", "I7N3G6G", "205", 0, "no description", 60.2], ["206", "I7N3G6G", "206", 0, "no description", 60.2], ["207", "I7N3G6G", "207", 0, "no description", 60.2], ["208", "I7N3G6G", "208", 0, "no description", 60.2], ["209", "I7N3G6G", "209", 0, "no description", 60.2], ["210", "I7N3G6G", "210", 0, "no description", 60.2], ["211", "I7N3G6G", "211", 0, "no description", 60.2], ["212", "I7N3G6G", "212", 0, "no description", 60.2], ["213", "I7N3G6G", "213", 0, "no description", 60.2], ["214", "I7N3G6G", "214", 0, "no description", 60.2], ["215", "I7N3G6G", "215", 0, "no description", 60.2], ["216", "I7N3G6G", "216", 0, "no description", 60.2], ["217", "I7N3G6G", "217", 0, "no description", 60.2], ["218", "I7N3G6G", "218", 0, "no description", 60.2], ["219", "I7N3G6G", "219", 0, "no description", 60.2], ["220", "I7N3G6G", "220", 0, "no description", 60.2], ["221", "I7N3G6G", "221", 0, "no description", 60.2], ["222", "I7N3G6G", "222", 0, "no description", 60.2], ["223", "I7N3G6G", "223", 0, "no description", 60.2], ["224", "I7N3G6G", "224", 0, "no description", 60.2], ["225", "I7N3G6G", "225", 0, "no description", 60.2], ["226", "I7N3G6G", "226", 0, "no description", 60.2], ["227", "I7N3G6G", "227", 0, "no description", 60.2], ["228", "I7N3G6G", "228", 0, "no description", 60.2], ["229", "I7N3G6G", "229", 0, "no description", 60.2], ["230", "I7N3G6G", "230", 0, "no description", 60.2], ["231", "I7N3G6G", "231", 0, "no description", 60.2], ["232", "I7N3G6G", "232", 0, "no description", 60.2], ["233", "I7N3G6G", "233", 0, "no description", 60.2], ["234", "I7N3G6G", "234", 0, "no description", 60.2], ["235", "I7N3G6G", "235", 0, "no description", 60.2], ["236", "I7N3G6G", "236", 0, "no description", 60.2], ["237", "I7N3G6G", "237", 0, "no description", 60.2], ["238", "I7N3G6G", "238", 0, "no description", 60.2], ["239", "I7N3G6G", "239", 0, "no description", 60.2], ["240", "I7N3G6G", "240", 0, "no description", 60.2], ["241", "I7N3G6G", "241", 0, "no description", 60.2], ["242", "I7N3G6G", "242", 0, "no description", 60.2], ["243", "I7N3G6G", "243", 0, "no description", 60.2], ["244", "I7N3G6G", "244", 0, "no description", 60.2], ["245", "I7N3G6G", "245", 0, "no description", 60.2], ["246", "I7N3G6G", "246", 0, "no description", 60.2], ["247", "I7N3G6G", "247", 0, "no description", 60.2], ["248", "I7N3G6G", "248", 0, "no description", 60.2], ["249", "I7N3G6G", "249", 0, "no description", 60.2], ["250", "I7N3G6G", "250", 0, "no description", 60.2], ["251", "I7N3G6G", "251", 0, "no description", 60.2], ["252", "I7N3G6G", "252", 0, "no description", 60.2], ["253", "I7N3G6G", "253", 0, "no description", 60.2], ["254", "I7N3G6G", "254", 0, "no description", 60.2], ["255", "I7N3G6G", "255", 0, "no description", 60.2], ["256", "I7N3G6G", "256", 0, "no description", 60.2], ["257", "I7N3G6G", "257", 0, "no description", 60.2], ["258", "I7N3G6G", "258", 0, "no description", 60.2], ["259", "I7N3G6G", "259", 0, "no description", 60.2], ["260", "I7N3G6G", "260", 0, "no description", 60.2], ["261", "I7N3G6G", "261", 0, "no description", 60.2], ["262", "I7N3G6G", "262", 0, "no description", 60.2], ["263", "I7N3G6G", "263", 0, "no description", 60.2], ["264", "I7N3G6G", "264", 0, "no description", 60.2], ["265", "I7N3G6G", "265", 0, "no description", 60.2], ["266", "I7N3G6G", "266", 0, "no description", 60.2], ["267", "I7N3G6G", "267", 0, "no description", 60.2], ["268", "I7N3G6G", "268", 0, "no description", 60.2], ["269", "I7N3G6G", "269", 0, "no description", 60.2], ["270", "I7N3G6G", "270", 0, "no description", 60.2], ["271", "I7N3G6G", "271", 0, "no description", 60.2], ["272", "I7N3G6G", "272", 0, "no description", 60.2], ["273", "I7N3G6G", "273", 0, "no description", 60.2], ["274", "I7N3G6G", "274", 0, "no description", 60.2], ["275", "I7N3G6G", "275", 0, "no description", 60.2], ["276", "I7N3G6G", "276", 0, "no description", 60.2], ["277", "I7N3G6G", "277", 0, "no description", 60.2], ["278", "I7N3G6G", "278", 0, "no description", 60.2], ["279", "I7N3G6G", "279", 0, "no description", 60.2], ["280", "I7N3G6G", "280", 0, "no description", 60.2], ["281", "I7N3G6G", "281", 0, "no description", 60.2], ["282", "I7N3G6G", "282", 0, "no description", 60.2], ["283", "I7N3G6G", "283", 0, "no description", 60.2], ["284", "I7N3G6G", "284", 0, "no description", 60.2], ["285", "I7N3G6G", "285", 0, "no description", 60.2], ["286", "I7N3G6G", "286", 0, "no description", 60.2], ["287", "I7N3G6G", "287", 0, "no description", 60.2], ["288", "I7N3G6G", "288", 0, "no description", 60.2], ["289", "I7N3G6G", "289", 0, "no description", 60.2], ["290", "I7N3G6G", "290", 0, "no description", 60.2], ["291", "I7N3G6G", "291", 0, "no description", 60.2], ["292", "I7N3G6G", "292", 0, "no description", 60.2], ["293", "I7N3G6G", "293", 0, "no description", 60.2], ["294", "I7N3G6G", "294", 0, "no description", 60.2], ["295", "I7N3G6G", "295", 0, "no description", 60.2], ["296", "I7N3G6G", "296", 0, "no description", 60.2], ["297", "I7N3G6G", "297", 0, "no description", 60.2], ["298", "I7N3G6G", "298", 0, "no description", 60.2], ["299", "I7N3G6G", "299", 0, "no description", 60.2], ["300", "I7N3G6G", "300", 0, "no description", 60.2], ["301", "I7N3G6G", "301", 0, "no description", 60.2], ["302", "I7N3G6G", "302", 0, "no description", 60.2], ["303", "I7N3G6G", "303", 0, "no description", 60.2], ["304", "I7N3G6G", "304", 0, "no description", 60.2], ["305", "I7N3G6G", "305", 0, "no description", 60.2], ["306", "I7N3G6G", "306", 0, "no description", 60.2], ["307", "I7N3G6G", "307", 0, "no description", 60.2], ["308", "I7N3G6G", "308", 0, "no description", 60.2], ["309", "I7N3G6G", "309", 0, "no description", 60.2], ["310", "I7N3G6G", "310", 0, "no description", 60.2], ["311", "I7N3G6G", "311", 0, "no description", 60.2], ["312", "I7N3G6G", "312", 0, "no description", 60.2], ["313", "I7N3G6G", "313", 0, "no description", 60.2], ["314", "I7N3G6G", "314", 0, "no description", 60.2], ["315", "I7N3G6G", "315", 0, "no description", 60.2], ["316", "I7N3G6G", "316", 0, "no description", 60.2], ["317", "I7N3G6G", "317", 0, "no description", 60.2], ["318", "I7N3G6G", "318", 0, "no description", 60.2], ["319", "I7N3G6G", "319", 0, "no description", 60.2], ["320", "I7N3G6G", "320", 0, "no description", 60.2], ["321", "I7N3G6G", "321", 0, "no description", 60.2], ["322", "I7N3G6G", "322", 0, "no description", 60.2], ["323", "I7N3G6G", "323", 0, "no description", 60.2], ["324", "I7N3G6G", "324", 0, "no description", 60.2], ["325", "I7N3G6G", "325", 0, "no description", 60.2], ["326", "I7N3G6G", "326", 0, "no description", 60.2], ["327", "I7N3G6G", "327", 0, "no description", 60.2], ["328", "I7N3G6G", "328", 0, "no description", 60.2], ["329", "I7N3G6G", "329", 0, "no description", 60.2], ["330", "I7N3G6G", "330", 0, "no description", 60.2], ["331", "I7N3G6G", "331", 0, "no description", 60.2], ["332", "I7N3G6G", "332", 0, "no description", 60.2], ["333", "I7N3G6G", "333", 0, "no description", 60.2], ["334", "I7N3G6G", "334", 0, "no description", 60.2], ["335", "I7N3G6G", "335", 0, "no description", 60.2], ["336", "I7N3G6G", "336", 0, "no description", 60.2], ["337", "I7N3G6G", "337", 0, "no description", 60.2], ["338", "I7N3G6G", "338", 0, "no description", 60.2], ["339", "I7N3G6G", "339", 0, "no description", 60.2], ["340", "I7N3G6G", "340", 0, "no description", 60.2], ["341", "I7N3G6G", "341", 0, "no description", 60.2], ["342", "I7N3G6G", "342", 0, "no description", 60.2], ["343", "I7N3G6G", "343", 0, "no description", 60.2], ["344", "I7N3G6G", "344", 0, "no description", 60.2], ["345", "I7N3G6G", "345", 0, "no description", 60.2], ["346", "I7N3G6G", "346", 0, "no description", 60.2], ["347", "I7N3G6G", "347", 0, "no description", 60.2], ["348", "I7N3G6G", "348", 0, "no description", 60.2], ["349", "I7N3G6G", "349", 0, "no description", 60.2], ["350", "I7N3G6G", "350", 0, "no description", 60.2], ["351", "I7N3G6G", "351", 0, "no description", 60.2], ["352", "I7N3G6G", "352", 0, "no description", 60.2], ["353", "I7N3G6G", "353", 0, "no description", 60.2], ["354", "I7N3G6G", "354", 0, "no description", 60.2], ["355", "I7N3G6G", "355", 0, "no description", 60.2], ["356", "I7N3G6G", "356", 0, "no description", 60.2], ["357", "I7N3G6G", "357", 0, "no description", 60.2], ["358", "I7N3G6G", "358", 0, "no description", 60.2], ["359", "I7N3G6G", "359", 0, "no description", 60.2], ["360", "I7N3G6G", "360", 0, "no description", 60.2], ["361", "I7N3G6G", "361", 0, "no description", 60.2], ["362", "I7N3G6G", "362", 0, "no description", 60.2], ["363", "I7N3G6G", "363", 0, "no description", 60.2], ["364", "I7N3G6G", "364", 0, "no description", 60.2], ["365", "I7N3G6G", "365", 0, "no description", 60.2], ["366", "I7N3G6G", "366", 0, "no description", 60.2], ["367", "I7N3G6G", "367", 0, "no description", 60.2], ["368", "I7N3G6G", "368", 0, "no description", 60.2], ["369", "I7N3G6G", "369", 0, "no description", 60.2], ["370", "I7N3G6G", "370", 0, "no description", 60.2], ["371", "I7N3G6G", "371", 0, "no description", 60.2], ["372", "I7N3G6G", "372", 0, "no description", 60.2], ["373", "I7N3G6G", "373", 0, "no description", 60.2], ["374", "I7N3G6G", "374", 0, "no description", 60.2], ["375", "I7N3G6G", "375", 0, "no description", 60.2], ["376", "I7N3G6G", "376", 0, "no description", 60.2], ["377", "I7N3G6G", "377", 0, "no description", 60.2], ["378", "I7N3G6G", "378", 0, "no description", 60.2], ["379", "I7N3G6G", "379", 0, "no description", 60.2], ["380", "I7N3G6G", "380", 0, "no description", 60.2], ["381", "I7N3G6G", "381", 0, "no description", 60.2], ["382", "I7N3G6G", "382", 0, "no description", 60.2], ["383", "I7N3G6G", "383", 0, "no description", 60.2], ["384", "I7N3G6G", "384", 0, "no description", 60.2], ["385", "I7N3G6G", "385", 0, "no description", 60.2], ["386", "I7N3G6G", "386", 0, "no description", 60.2], ["387", "I7N3G6G", "387", 0, "no description", 60.2], ["388", "I7N3G6G", "388", 0, "no description", 60.2], ["389", "I7N3G6G", "389", 0, "no description", 60.2], ["390", "I7N3G6G", "390", 0, "no description", 60.2], ["391", "I7N3G6G", "391", 0, "no description", 60.2], ["392", "I7N3G6G", "392", 0, "no description", 60.2], ["393", "I7N3G6G", "393", 0, "no description", 60.2], ["394", "I7N3G6G", "394", 0, "no description", 60.2], ["395", "I7N3G6G", "395", 0, "no description", 60.2], ["396", "I7N3G6G", "396", 0, "no description", 60.2], ["397", "I7N3G6G", "397", 0, "no description", 60.2], ["398", "I7N3G6G", "398", 0, "no description", 60.2], ["399", "I7N3G6G", "399", 0, "no description", 60.2], ["400", "I7N3G6G", "400", 0, "no description", 60.2], ["401", "I7N3G6G", "401", 0, "no description", 60.2], ["402", "I7N3G6G", "402", 0, "no description", 60.2], ["403", "I7N3G6G", "403", 0, "no description", 60.2], ["404", "I7N3G6G", "404", 0, "no description", 60.2], ["405", "I7N3G6G", "405", 0, "no description", 60.2], ["406", "I7N3G6G", "406", 0, "no description", 60.2], ["407", "I7N3G6G", "407", 0, "no description", 60.2], ["408", "I7N3G6G", "408", 0, "no description", 60.2], ["409", "I7N3G6G", "409", 0, "no description", 60.2], ["410", "I7N3G6G", "410", 0, "no description", 60.2], ["411", "I7N3G6G", "411", 0, "no description", 60.2], ["412", "I7N3G6G", "412", 0, "no description", 60.2], ["413", "I7N3G6G", "413", 0, "no description", 60.2], ["414", "I7N3G6G", "414", 0, "no description", 60.2], ["415", "I7N3G6G", "415", 0, "no description", 60.2], ["416", "I7N3G6G", "416", 0, "no description", 60.2], ["417", "I7N3G6G", "417", 0, "no description", 60.2], ["418", "I7N3G6G", "418", 0, "no description", 60.2], ["419", "I7N3G6G", "419", 0, "no description", 60.2], ["420", "I7N3G6G", "420", 0, "no description", 60.2], ["421", "I7N3G6G", "421", 0, "no description", 60.2], ["422", "I7N3G6G", "422", 0, "no description", 60.2], ["423", "I7N3G6G", "423", 0, "no description", 60.2], ["424", "I7N3G6G", "424", 0, "no description", 60.2], ["425", "I7N3G6G", "425", 0, "no description", 60.2], ["426", "I7N3G6G", "426", 0, "no description", 60.2], ["427", "I7N3G6G", "427", 0, "no description", 60.2], ["428", "I7N3G6G", "428", 0, "no description", 60.2], ["429", "I7N3G6G", "429", 0, "no description", 60.2], ["430", "I7N3G6G", "430", 0, "no description", 60.2], ["431", "I7N3G6G", "431", 0, "no description", 60.2], ["432", "I7N3G6G", "432", 0, "no description", 60.2], ["433", "I7N3G6G", "433", 0, "no description", 60.2], ["434", "I7N3G6G", "434", 0, "no description", 60.2], ["435", "I7N3G6G", "435", 0, "no description", 60.2], ["436", "I7N3G6G", "436", 0, "no description", 60.2], ["437", "I7N3G6G", "437", 0, "no description", 60.2], ["438", "I7N3G6G", "438", 0, "no description", 60.2], ["439", "I7N3G6G", "439", 0, "no description", 60.2], ["440", "I7N3G6G", "440", 0, "no description", 60.2], ["441", "I7N3G6G", "441", 0, "no description", 60.2], ["442", "I7N3G6G", "442", 0, "no description", 60.2], ["443", "I7N3G6G", "443", 0, "no description", 60.2], ["444", "I7N3G6G", "444", 0, "no description", 60.2], ["445", "I7N3G6G", "445", 0, "no description", 60.2], ["446", "I7N3G6G", "446", 0, "no description", 60.2], ["447", "I7N3G6G", "447", 0, "no description", 60.2], ["448", "I7N3G6G", "448", 0, "no description", 60.2], ["449", "I7N3G6G", "449", 0, "no description", 60.2], ["450", "I7N3G6G", "450", 0, "no description", 60.2], ["451", "I7N3G6G", "451", 0, "no description", 60.2], ["452", "I7N3G6G", "452", 0, "no description", 60.2], ["453", "I7N3G6G", "453", 0, "no description", 60.2], ["454", "I7N3G6G", "454", 0, "no description", 60.2], ["455", "I7N3G6G", "455", 0, "no description", 60.2], ["456", "I7N3G6G", "456", 0, "no description", 60.2], ["457", "I7N3G6G", "457", 0, "no description", 60.2], ["458", "I7N3G6G", "458", 0, "no description", 60.2], ["459", "I7N3G6G", "459", 0, "no description", 60.2], ["460", "I7N3G6G", "460", 0, "no description", 60.2], ["461", "I7N3G6G", "461", 0, "no description", 60.2], ["462", "I7N3G6G", "462", 0, "no description", 60.2], ["463", "I7N3G6G", "463", 0, "no description", 60.2], ["464", "I7N3G6G", "464", 0, "no description", 60.2], ["465", "I7N3G6G", "465", 0, "no description", 60.2], ["466", "I7N3G6G", "466", 0, "no description", 60.2], ["467", "I7N3G6G", "467", 0, "no description", 60.2], ["468", "I7N3G6G", "468", 0, "no description", 60.2], ["469", "I7N3G6G", "469", 0, "no description", 60.2], ["470", "I7N3G6G", "470", 0, "no description", 60.2], ["471", "I7N3G6G", "471", 0, "no description", 60.2], ["472", "I7N3G6G", "472", 0, "no description", 60.2], ["473", "I7N3G6G", "473", 0, "no description", 60.2], ["474", "I7N3G6G", "474", 0, "no description", 60.2], ["475", "I7N3G6G", "475", 0, "no description", 60.2], ["476", "I7N3G6G", "476", 0, "no description", 60.2], ["477", "I7N3G6G", "477", 0, "no description", 60.2], ["478", "I7N3G6G", "478", 0, "no description", 60.2], ["479", "I7N3G6G", "479", 0, "no description", 60.2], ["480", "I7N3G6G", "480", 0, "no description", 60.2], ["481", "I7N3G6G", "481", 0, "no description", 60.2], ["482", "I7N3G6G", "482", 0, "no description", 60.2], ["483", "I7N3G6G", "483", 0, "no description", 60.2], ["484", "I7N3G6G", "484", 0, "no description", 60.2], ["485", "I7N3G6G", "485", 0, "no description", 60.2], ["486", "I7N3G6G", "486", 0, "no description", 60.2], ["487", "I7N3G6G", "487", 0, "no description", 60.2], ["488", "I7N3G6G", "488", 0, "no description", 60.2], ["489", "I7N3G6G", "489", 0, "no description", 60.2], ["490", "I7N3G6G", "490", 0, "no description", 60.2], ["491", "I7N3G6G", "491", 0, "no description", 60.2], ["492", "I7N3G6G", "492", 0, "no description", 60.2], ["493", "I7N3G6G", "493", 0, "no description", 60.2], ["494", "I7N3G6G", "494", 0, "no description", 60.2], ["495", "I7N3G6G", "495", 0, "no description", 60.2], ["496", "I7N3G6G", "496", 0, "no description", 60.2], ["497", "I7N3G6G", "497", 0, "no description", 60.2], ["498", "I7N3G6G", "498", 0, "no description", 60.2], ["499", "I7N3G6G", "499", 0, "no description", 60.2], ["500", "I7N3G6G", "500", 0, "no description", 60.2], ["501", "I7N3G6G", "501", 0, "no description", 60.2], ["502", "I7N3G6G", "502", 0, "no description", 60.2], ["503", "I7N3G6G", "503", 0, "no description", 60.2], ["504", "I7N3G6G", "504", 0, "no description", 60.2], ["505", "I7N3G6G", "505", 0, "no description", 60.2], ["506", "I7N3G6G", "506", 0, "no description", 60.2], ["507", "I7N3G6G", "507", 0, "no description", 60.2], ["508", "I7N3G6G", "508", 0, "no description", 60.2], ["509", "I7N3G6G", "509", 0, "no description", 60.2], ["510", "I7N3G6G", "510", 0, "no description", 60.2], ["511", "I7N3G6G", "511", 0, "no description", 60.2], ["512", "I7N3G6G", "512", 0, "no description", 60.2], ["513", "I7N3G6G", "513", 0, "no description", 60.2], ["514", "I7N3G6G", "514", 0, "no description", 60.2], ["515", "I7N3G6G", "515", 0, "no description", 60.2], ["516", "I7N3G6G", "516", 0, "no description", 60.2], ["517", "I7N3G6G", "517", 0, "no description", 60.2], ["518", "I7N3G6G", "518", 0, "no description", 60.2], ["519", "I7N3G6G", "519", 0, "no description", 60.2], ["520", "I7N3G6G", "520", 0, "no description", 60.2], ["521", "I7N3G6G", "521", 0, "no description", 60.2], ["522", "I7N3G6G", "522", 0, "no description", 60.2], ["523", "I7N3G6G", "523", 0, "no description", 60.2], ["524", "I7N3G6G", "524", 0, "no description", 60.2], ["525", "I7N3G6G", "525", 0, "no description", 60.2], ["526", "I7N3G6G", "526", 0, "no description", 60.2], ["527", "I7N3G6G", "527", 0, "no description", 60.2], ["528", "I7N3G6G", "528", 0, "no description", 60.2], ["529", "I7N3G6G", "529", 0, "no description", 60.2], ["530", "I7N3G6G", "530", 0, "no description", 60.2], ["531", "I7N3G6G", "531", 0, "no description", 60.2], ["532", "I7N3G6G", "532", 0, "no description", 60.2], ["533", "I7N3G6G", "533", 0, "no description", 60.2], ["534", "I7N3G6G", "534", 0, "no description", 60.2], ["535", "I7N3G6G", "535", 0, "no description", 60.2], ["536", "I7N3G6G", "536", 0, "no description", 60.2], ["537", "I7N3G6G", "537", 0, "no description", 60.2], ["538", "I7N3G6G", "538", 0, "no description", 60.2], ["539", "I7N3G6G", "539", 0, "no description", 60.2], ["540", "I7N3G6G", "540", 0, "no description", 60.2], ["541", "I7N3G6G", "541", 0, "no description", 60.2], ["542", "I7N3G6G", "542", 0, "no description", 60.2], ["543", "I7N3G6G", "543", 0, "no description", 60.2], ["544", "I7N3G6G", "544", 0, "no description", 60.2], ["545", "I7N3G6G", "545", 0, "no description", 60.2], ["546", "I7N3G6G", "546", 0, "no description", 60.2], ["547", "I7N3G6G", "547", 0, "no description", 60.2], ["548", "I7N3G6G", "548", 0, "no description", 60.2], ["549", "I7N3G6G", "549", 0, "no description", 60.2], ["550", "I7N3G6G", "550", 0, "no description", 60.2], ["551", "I7N3G6G", "551", 0, "no description", 60.2], ["552", "I7N3G6G", "552", 0, "no description", 60.2], ["553", "I7N3G6G", "553", 0, "no description", 60.2], ["554", "I7N3G6G", "554", 0, "no description", 60.2], ["555", "I7N3G6G", "555", 0, "no description", 60.2], ["556", "I7N3G6G", "556", 0, "no description", 60.2], ["557", "I7N3G6G", "557", 0, "no description", 60.2], ["558", "I7N3G6G", "558", 0, "no description", 60.2], ["559", "I7N3G6G", "559", 0, "no description", 60.2], ["560", "I7N3G6G", "560", 0, "no description", 60.2], ["561", "I7N3G6G", "561", 0, "no description", 60.2], ["562", "I7N3G6G", "562", 0, "no description", 60.2], ["563", "I7N3G6G", "563", 0, "no description", 60.2], ["564", "I7N3G6G", "564", 0, "no description", 60.2], ["565", "I7N3G6G", "565", 0, "no description", 60.2], ["566", "I7N3G6G", "566", 0, "no description", 60.2], ["567", "I7N3G6G", "567", 0, "no description", 60.2], ["568", "I7N3G6G", "568", 0, "no description", 60.2], ["569", "I7N3G6G", "569", 0, "no description", 60.2], ["570", "I7N3G6G", "570", 0, "no description", 60.2], ["571", "I7N3G6G", "571", 0, "no description", 60.2], ["572", "I7N3G6G", "572", 0, "no description", 60.2], ["573", "I7N3G6G", "573", 0, "no description", 60.2], ["574", "I7N3G6G", "574", 0, "no description", 60.2], ["575", "I7N3G6G", "575", 0, "no description", 60.2], ["576", "I7N3G6G", "576", 0, "no description", 60.2], ["577", "I7N3G6G", "577", 0, "no description", 60.2], ["578", "I7N3G6G", "578", 0, "no description", 60.2], ["579", "I7N3G6G", "579", 0, "no description", 60.2], ["580", "I7N3G6G", "580", 0, "no description", 60.2], ["581", "I7N3G6G", "581", 0, "no description", 60.2], ["582", "I7N3G6G", "582", 0, "no description", 60.2], ["583", "I7N3G6G", "583", 0, "no description", 60.2], ["584", "I7N3G6G", "584", 0, "no description", 60.2], ["585", "I7N3G6G", "585", 0, "no description", 60.2], ["586", "I7N3G6G", "586", 0, "no description", 60.2], ["587", "I7N3G6G", "587", 0, "no description", 60.2], ["588", "I7N3G6G", "588", 0, "no description", 60.2], ["589", "I7N3G6G", "589", 0, "no description", 60.2], ["590", "I7N3G6G", "590", 0, "no description", 60.2], ["591", "I7N3G6G", "591", 0, "no description", 60.2], ["592", "I7N3G6G", "592", 0, "no description", 60.2], ["593", "I7N3G6G", "593", 0, "no description", 60.2], ["594", "I7N3G6G", "594", 0, "no description", 60.2], ["595", "I7N3G6G", "595", 0, "no description", 60.2], ["596", "I7N3G6G", "596", 0, "no description", 60.2], ["597", "I7N3G6G", "597", 0, "no description", 60.2], ["598", "I7N3G6G", "598", 0, "no description", 60.2], ["599", "I7N3G6G", "599", 0, "no description", 60.2], ["600", "I7N3G6G", "600", 0, "no description", 60.2], ["601", "I7N3G6G", "601", 0, "no description", 60.2], ["602", "I7N3G6G", "602", 0, "no description", 60.2], ["603", "I7N3G6G", "603", 0, "no description", 60.2], ["604", "I7N3G6G", "604", 0, "no description", 60.2], ["605", "I7N3G6G", "605", 0, "no description", 60.2], ["606", "I7N3G6G", "606", 0, "no description", 60.2], ["607", "I7N3G6G", "607", 0, "no description", 60.2], ["608", "I7N3G6G", "608", 0, "no description", 60.2], ["609", "I7N3G6G", "609", 0, "no description", 60.2], ["610", "I7N3G6G", "610", 0, "no description", 60.2], ["611", "I7N3G6G", "611", 0, "no description", 60.2], ["612", "I7N3G6G", "612", 0, "no description", 60.2], ["613", "I7N3G6G", "613", 0, "no description", 60.2], ["614", "I7N3G6G", "614", 0, "no description", 60.2], ["615", "I7N3G6G", "615", 0, "no description", 60.2], ["616", "I7N3G6G", "616", 0, "no description", 60.2], ["617", "I7N3G6G", "617", 0, "no description", 60.2], ["618", "I7N3G6G", "618", 0, "no description", 60.2], ["619", "I7N3G6G", "619", 0, "no description", 60.2], ["620", "I7N3G6G", "620", 0, "no description", 60.2], ["621", "I7N3G6G", "621", 0, "no description", 60.2], ["622", "I7N3G6G", "622", 0, "no description", 60.2], ["623", "I7N3G6G", "623", 0, "no description", 60.2], ["624", "I7N3G6G", "624", 0, "no description", 60.2], ["625", "I7N3G6G", "625", 0, "no description", 60.2], ["626", "I7N3G6G", "626", 0, "no description", 60.2], ["627", "I7N3G6G", "627", 0, "no description", 60.2], ["628", "I7N3G6G", "628", 0, "no description", 60.2], ["629", "I7N3G6G", "629", 0, "no description", 60.2], ["630", "I7N3G6G", "630", 0, "no description", 60.2], ["631", "I7N3G6G", "631", 0, "no description", 60.2], ["632", "I7N3G6G", "632", 0, "no description", 60.2], ["633", "I7N3G6G", "633", 0, "no description", 60.2], ["634", "I7N3G6G", "634", 0, "no description", 60.2], ["635", "I7N3G6G", "635", 0, "no description", 60.2], ["636", "I7N3G6G", "636", 0, "no description", 60.2], ["637", "I7N3G6G", "637", 0, "no description", 60.2], ["638", "I7N3G6G", "638", 0, "no description", 60.2], ["639", "I7N3G6G", "639", 0, "no description", 60.2], ["640", "I7N3G6G", "640", 0, "no description", 60.2], ["641", "I7N3G6G", "641", 0, "no description", 60.2], ["642", "I7N3G6G", "642", 0, "no description", 60.2], ["643", "I7N3G6G", "643", 0, "no description", 60.2], ["644", "I7N3G6G", "644", 0, "no description", 60.2], ["645", "I7N3G6G", "645", 0, "no description", 60.2], ["646", "I7N3G6G", "646", 0, "no description", 60.2], ["647", "I7N3G6G", "647", 0, "no description", 60.2], ["648", "I7N3G6G", "648", 0, "no description", 60.2], ["649", "I7N3G6G", "649", 0, "no description", 60.2], ["650", "I7N3G6G", "650", 0, "no description", 60.2], ["651", "I7N3G6G", "651", 0, "no description", 60.2], ["652", "I7N3G6G", "652", 0, "no description", 60.2], ["653", "I7N3G6G", "653", 0, "no description", 60.2], ["654", "I7N3G6G", "654", 0, "no description", 60.2], ["655", "I7N3G6G", "655", 0, "no description", 60.2], ["656", "I7N3G6G", "656", 0, "no description", 60.2], ["657", "I7N3G6G", "657", 0, "no description", 60.2], ["658", "I7N3G6G", "658", 0, "no description", 60.2], ["659", "I7N3G6G", "659", 0, "no description", 60.2], ["660", "I7N3G6G", "660", 0, "no description", 60.2], ["661", "I7N3G6G", "661", 0, "no description", 60.2], ["662", "I7N3G6G", "662", 0, "no description", 60.2], ["663", "I7N3G6G", "663", 0, "no description", 60.2], ["664", "I7N3G6G", "664", 0, "no description", 60.2], ["665", "I7N3G6G", "665", 0, "no description", 60.2], ["666", "I7N3G6G", "666", 0, "no description", 60.2], ["667", "I7N3G6G", "667", 0, "no description", 60.2], ["668", "I7N3G6G", "668", 0, "no description", 60.2], ["669", "I7N3G6G", "669", 0, "no description", 60.2], ["670", "I7N3G6G", "670", 0, "no description", 60.2], ["671", "I7N3G6G", "671", 0, "no description", 60.2], ["672", "I7N3G6G", "672", 0, "no description", 60.2], ["673", "I7N3G6G", "673", 0, "no description", 60.2], ["674", "I7N3G6G", "674", 0, "no description", 60.2], ["675", "I7N3G6G", "675", 0, "no description", 60.2], ["676", "I7N3G6G", "676", 0, "no description", 60.2], ["677", "I7N3G6G", "677", 0, "no description", 60.2], ["678", "I7N3G6G", "678", 0, "no description", 60.2], ["679", "I7N3G6G", "679", 0, "no description", 60.2], ["680", "I7N3G6G", "680", 0, "no description", 60.2], ["681", "I7N3G6G", "681", 0, "no description", 60.2], ["682", "I7N3G6G", "682", 0, "no description", 60.2], ["683", "I7N3G6G", "683", 0, "no description", 60.2], ["684", "I7N3G6G", "684", 0, "no description", 60.2], ["685", "I7N3G6G", "685", 0, "no description", 60.2], ["686", "I7N3G6G", "686", 0, "no description", 60.2], ["687", "I7N3G6G", "687", 0, "no description", 60.2], ["688", "I7N3G6G", "688", 0, "no description", 60.2], ["689", "I7N3G6G", "689", 0, "no description", 60.2], ["690", "I7N3G6G", "690", 0, "no description", 60.2], ["691", "I7N3G6G", "691", 0, "no description", 60.2], ["692", "I7N3G6G", "692", 0, "no description", 60.2], ["693", "I7N3G6G", "693", 0, "no description", 60.2], ["694", "I7N3G6G", "694", 0, "no description", 60.2], ["695", "I7N3G6G", "695", 0, "no description", 60.2], ["696", "I7N3G6G", "696", 0, "no description", 60.2], ["697", "I7N3G6G", "697", 0, "no description", 60.2], ["698", "I7N3G6G", "698", 0, "no description", 60.2], ["699", "I7N3G6G", "699", 0, "no description", 60.2], ["700", "I7N3G6G", "700", 0, "no description", 60.2], ["701", "I7N3G6G", "701", 0, "no description", 60.2], ["702", "I7N3G6G", "702", 0, "no description", 60.2], ["703", "I7N3G6G", "703", 0, "no description", 60.2], ["704", "I7N3G6G", "704", 0, "no description", 60.2], ["705", "I7N3G6G", "705", 0, "no description", 60.2], ["706", "I7N3G6G", "706", 0, "no description", 60.2], ["707", "I7N3G6G", "707", 0, "no description", 60.2], ["708", "I7N3G6G", "708", 0, "no description", 60.2], ["709", "I7N3G6G", "709", 0, "no description", 60.2], ["710", "I7N3G6G", "710", 0, "no description", 60.2], ["711", "I7N3G6G", "711", 0, "no description", 60.2], ["712", "I7N3G6G", "712", 0, "no description", 60.2], ["713", "I7N3G6G", "713", 0, "no description", 60.2], ["714", "I7N3G6G", "714", 0, "no description", 60.2], ["715", "I7N3G6G", "715", 0, "no description", 60.2], ["716", "I7N3G6G", "716", 0, "no description", 60.2], ["717", "I7N3G6G", "717", 0, "no description", 60.2], ["718", "I7N3G6G", "718", 0, "no description", 60.2], ["719", "I7N3G6G", "719", 0, "no description", 60.2], ["720", "I7N3G6G", "720", 0, "no description", 60.2], ["721", "I7N3G6G", "721", 0, "no description", 60.2], ["722", "I7N3G6G", "722", 0, "no description", 60.2], ["723", "I7N3G6G", "723", 0, "no description", 60.2], ["724", "I7N3G6G", "724", 0, "no description", 60.2], ["725", "I7N3G6G", "725", 0, "no description", 60.2], ["726", "I7N3G6G", "726", 0, "no description", 60.2], ["727", "I7N3G6G", "727", 0, "no description", 60.2], ["728", "I7N3G6G", "728", 0, "no description", 60.2], ["729", "I7N3G6G", "729", 0, "no description", 60.2], ["730", "I7N3G6G", "730", 0, "no description", 60.2], ["731", "I7N3G6G", "731", 0, "no description", 60.2], ["732", "I7N3G6G", "732", 0, "no description", 60.2], ["733", "I7N3G6G", "733", 0, "no description", 60.2], ["734", "I7N3G6G", "734", 0, "no description", 60.2], ["735", "I7N3G6G", "735", 0, "no description", 60.2], ["736", "I7N3G6G", "736", 0, "no description", 60.2], ["737", "I7N3G6G", "737", 0, "no description", 60.2], ["738", "I7N3G6G", "738", 0, "no description", 60.2], ["739", "I7N3G6G", "739", 0, "no description", 60.2], ["740", "I7N3G6G", "740", 0, "no description", 60.2], ["741", "I7N3G6G", "741", 0, "no description", 60.2], ["742", "I7N3G6G", "742", 0, "no description", 60.2], ["743", "I7N3G6G", "743", 0, "no description", 60.2], ["744", "I7N3G6G", "744", 0, "no description", 60.2], ["745", "I7N3G6G", "745", 0, "no description", 60.2], ["746", "I7N3G6G", "746", 0, "no description", 60.2], ["747", "I7N3G6G", "747", 0, "no description", 60.2], ["748", "I7N3G6G", "748", 0, "no description", 60.2], ["749", "I7N3G6G", "749", 0, "no description", 60.2], ["750", "I7N3G6G", "750", 0, "no description", 60.2], ["751", "I7N3G6G", "751", 0, "no description", 60.2], ["752", "I7N3G6G", "752", 0, "no description", 60.2], ["753", "I7N3G6G", "753", 0, "no description", 60.2], ["754", "I7N3G6G", "754", 0, "no description", 60.2], ["755", "I7N3G6G", "755", 0, "no description", 60.2], ["756", "I7N3G6G", "756", 0, "no description", 60.2], ["757", "I7N3G6G", "757", 0, "no description", 60.2], ["758", "I7N3G6G", "758", 0, "no description", 60.2], ["759", "I7N3G6G", "759", 0, "no description", 60.2], ["760", "I7N3G6G", "760", 0, "no description", 60.2], ["761", "I7N3G6G", "761", 0, "no description", 60.2], ["762", "I7N3G6G", "762", 0, "no description", 60.2], ["763", "I7N3G6G", "763", 0, "no description", 60.2], ["764", "I7N3G6G", "764", 0, "no description", 60.2], ["765", "I7N3G6G", "765", 0, "no description", 60.2], ["766", "I7N3G6G", "766", 0, "no description", 60.2], ["767", "I7N3G6G", "767", 0, "no description", 60.2], ["768", "I7N3G6G", "768", 0, "no description", 60.2], ["769", "I7N3G6G", "769", 0, "no description", 60.2], ["770", "I7N3G6G", "770", 0, "no description", 60.2], ["771", "I7N3G6G", "771", 0, "no description", 60.2], ["772", "I7N3G6G", "772", 0, "no description", 60.2], ["773", "I7N3G6G", "773", 0, "no description", 60.2], ["774", "I7N3G6G", "774", 0, "no description", 60.2], ["775", "I7N3G6G", "775", 0, "no description", 60.2], ["776", "I7N3G6G", "776", 0, "no description", 60.2], ["777", "I7N3G6G", "777", 0, "no description", 60.2], ["778", "I7N3G6G", "778", 0, "no description", 60.2], ["779", "I7N3G6G", "779", 0, "no description", 60.2], ["780", "I7N3G6G", "780", 0, "no description", 60.2], ["781", "I7N3G6G", "781", 0, "no description", 60.2], ["782", "I7N3G6G", "782", 0, "no description", 60.2], ["783", "I7N3G6G", "783", 0, "no description", 60.2], ["784", "I7N3G6G", "784", 0, "no description", 60.2], ["785", "I7N3G6G", "785", 0, "no description", 60.2], ["786", "I7N3G6G", "786", 0, "no description", 60.2], ["787", "I7N3G6G", "787", 0, "no description", 60.2], ["788", "I7N3G6G", "788", 0, "no description", 60.2], ["789", "I7N3G6G", "789", 0, "no description", 60.2], ["790", "I7N3G6G", "790", 0, "no description", 60.2], ["791", "I7N3G6G", "791", 0, "no description", 60.2], ["792", "I7N3G6G", "792", 0, "no description", 60.2], ["793", "I7N3G6G", "793", 0, "no description", 60.2], ["794", "I7N3G6G", "794", 0, "no description", 60.2], ["795", "I7N3G6G", "795", 0, "no description", 60.2], ["796", "I7N3G6G", "796", 0, "no description", 60.2], ["797", "I7N3G6G", "797", 0, "no description", 60.2], ["798", "I7N3G6G", "798", 0, "no description", 60.2], ["799", "I7N3G6G", "799", 0, "no description", 60.2], ["800", "I7N3G6G", "800", 0, "no description", 60.2], ["801", "I7N3G6G", "801", 0, "no description", 60.2], ["802", "I7N3G6G", "802", 0, "no description", 60.2], ["803", "I7N3G6G", "803", 0, "no description", 60.2], ["804", "I7N3G6G", "804", 0, "no description", 60.2], ["805", "I7N3G6G", "805", 0, "no description", 60.2], ["806", "I7N3G6G", "806", 0, "no description", 60.2], ["807", "I7N3G6G", "807", 0, "no description", 60.2], ["808", "I7N3G6G", "808", 0, "no description", 60.2], ["809", "I7N3G6G", "809", 0, "no description", 60.2], ["810", "I7N3G6G", "810", 0, "no description", 60.2], ["811", "I7N3G6G", "811", 0, "no description", 60.2], ["812", "I7N3G6G", "812", 0, "no description", 60.2], ["813", "I7N3G6G", "813", 0, "no description", 60.2], ["814", "I7N3G6G", "814", 0, "no description", 60.2], ["815", "I7N3G6G", "815", 0, "no description", 60.2], ["816", "I7N3G6G", "816", 0, "no description", 60.2], ["817", "I7N3G6G", "817", 0, "no description", 60.2], ["818", "I7N3G6G", "818", 0, "no description", 60.2], ["819", "I7N3G6G", "819", 0, "no description", 60.2], ["820", "I7N3G6G", "820", 0, "no description", 60.2], ["821", "I7N3G6G", "821", 0, "no description", 60.2], ["822", "I7N3G6G", "822", 0, "no description", 60.2], ["823", "I7N3G6G", "823", 0, "no description", 60.2], ["824", "I7N3G6G", "824", 0, "no description", 60.2], ["825", "I7N3G6G", "825", 0, "no description", 60.2], ["826", "I7N3G6G", "826", 0, "no description", 60.2], ["827", "I7N3G6G", "827", 0, "no description", 60.2], ["828", "I7N3G6G", "828", 0, "no description", 60.2], ["829", "I7N3G6G", "829", 0, "no description", 60.2], ["830", "I7N3G6G", "830", 0, "no description", 60.2], ["831", "I7N3G6G", "831", 0, "no description", 60.2], ["832", "I7N3G6G", "832", 0, "no description", 60.2], ["833", "I7N3G6G", "833", 0, "no description", 60.2], ["834", "I7N3G6G", "834", 0, "no description", 60.2], ["835", "I7N3G6G", "835", 0, "no description", 60.2], ["836", "I7N3G6G", "836", 0, "no description", 60.2], ["837", "I7N3G6G", "837", 0, "no description", 60.2], ["838", "I7N3G6G", "838", 0, "no description", 60.2], ["839", "I7N3G6G", "839", 0, "no description", 60.2], ["840", "I7N3G6G", "840", 0, "no description", 60.2], ["841", "I7N3G6G", "841", 0, "no description", 60.2], ["842", "I7N3G6G", "842", 0, "no description", 60.2], ["843", "I7N3G6G", "843", 0, "no description", 60.2], ["844", "I7N3G6G", "844", 0, "no description", 60.2], ["845", "I7N3G6G", "845", 0, "no description", 60.2], ["846", "I7N3G6G", "846", 0, "no description", 60.2], ["847", "I7N3G6G", "847", 0, "no description", 60.2], ["848", "I7N3G6G", "848", 0, "no description", 60.2], ["849", "I7N3G6G", "849", 0, "no description", 60.2], ["850", "I7N3G6G", "850", 0, "no description", 60.2], ["851", "I7N3G6G", "851", 0, "no description", 60.2], ["852", "I7N3G6G", "852", 0, "no description", 60.2], ["853", "I7N3G6G", "853", 0, "no description", 60.2], ["854", "I7N3G6G", "854", 0, "no description", 60.2], ["855", "I7N3G6G", "855", 0, "no description", 60.2], ["856", "I7N3G6G", "856", 0, "no description", 60.2], ["857", "I7N3G6G", "857", 0, "no description", 60.2], ["858", "I7N3G6G", "858", 0, "no description", 60.2], ["859", "I7N3G6G", "859", 0, "no description", 60.2], ["860", "I7N3G6G", "860", 0, "no description", 60.2], ["861", "I7N3G6G", "861", 0, "no description", 60.2], ["862", "I7N3G6G", "862", 0, "no description", 60.2], ["863", "I7N3G6G", "863", 0, "no description", 60.2], ["864", "I7N3G6G", "864", 0, "no description", 60.2], ["865", "I7N3G6G", "865", 0, "no description", 60.2], ["866", "I7N3G6G", "866", 0, "no description", 60.2], ["867", "I7N3G6G", "867", 0, "no description", 60.2], ["868", "I7N3G6G", "868", 0, "no description", 60.2], ["869", "I7N3G6G", "869", 0, "no description", 60.2], ["870", "I7N3G6G", "870", 0, "no description", 60.2], ["871", "I7N3G6G", "871", 0, "no description", 60.2], ["872", "I7N3G6G", "872", 0, "no description", 60.2], ["873", "I7N3G6G", "873", 0, "no description", 60.2], ["874", "I7N3G6G", "874", 0, "no description", 60.2], ["875", "I7N3G6G", "875", 0, "no description", 60.2], ["876", "I7N3G6G", "876", 0, "no description", 60.2], ["877", "I7N3G6G", "877", 0, "no description", 60.2], ["878", "I7N3G6G", "878", 0, "no description", 60.2], ["879", "I7N3G6G", "879", 0, "no description", 60.2], ["880", "I7N3G6G", "880", 0, "no description", 60.2], ["881", "I7N3G6G", "881", 0, "no description", 60.2], ["882", "I7N3G6G", "882", 0, "no description", 60.2], ["883", "I7N3G6G", "883", 0, "no description", 60.2], ["884", "I7N3G6G", "884", 0, "no description", 60.2], ["885", "I7N3G6G", "885", 0, "no description", 60.2], ["886", "I7N3G6G", "886", 0, "no description", 60.2], ["887", "I7N3G6G", "887", 0, "no description", 60.2], ["888", "I7N3G6G", "888", 0, "no description", 60.2], ["889", "I7N3G6G", "889", 0, "no description", 60.2], ["890", "I7N3G6G", "890", 0, "no description", 60.2], ["891", "I7N3G6G", "891", 0, "no description", 60.2], ["892", "I7N3G6G", "892", 0, "no description", 60.2], ["893", "I7N3G6G", "893", 0, "no description", 60.2], ["894", "I7N3G6G", "894", 0, "no description", 60.2], ["895", "I7N3G6G", "895", 0, "no description", 60.2], ["896", "I7N3G6G", "896", 0, "no description", 60.2], ["897", "I7N3G6G", "897", 0, "no description", 60.2], ["898", "I7N3G6G", "898", 0, "no description", 60.2], ["899", "I7N3G6G", "899", 0, "no description", 60.2], ["900", "I7N3G6G", "900", 0, "no description", 60.2], ["901", "I7N3G6G", "901", 0, "no description", 60.2], ["902", "I7N3G6G", "902", 0, "no description", 60.2], ["903", "I7N3G6G", "903", 0, "no description", 60.2], ["904", "I7N3G6G", "904", 0, "no description", 60.2], ["905", "I7N3G6G", "905", 0, "no description", 60.2], ["906", "I7N3G6G", "906", 0, "no description", 60.2], ["907", "I7N3G6G", "907", 0, "no description", 60.2], ["908", "I7N3G6G", "908", 0, "no description", 60.2], ["909", "I7N3G6G", "909", 0, "no description", 60.2], ["910", "I7N3G6G", "910", 0, "no description", 60.2], ["911", "I7N3G6G", "911", 0, "no description", 60.2], ["912", "I7N3G6G", "912", 0, "no description", 60.2], ["913", "I7N3G6G", "913", 0, "no description", 60.2], ["914", "I7N3G6G", "914", 0, "no description", 60.2], ["915", "I7N3G6G", "915", 0, "no description", 60.2], ["916", "I7N3G6G", "916", 0, "no description", 60.2], ["917", "I7N3G6G", "917", 0, "no description", 60.2], ["918", "I7N3G6G", "918", 0, "no description", 60.2], ["919", "I7N3G6G", "919", 0, "no description", 60.2], ["920", "I7N3G6G", "920", 0, "no description", 60.2], ["921", "I7N3G6G", "921", 0, "no description", 60.2], ["922", "I7N3G6G", "922", 0, "no description", 60.2], ["923", "I7N3G6G", "923", 0, "no description", 60.2], ["924", "I7N3G6G", "924", 0, "no description", 60.2], ["925", "I7N3G6G", "925", 0, "no description", 60.2], ["926", "I7N3G6G", "926", 0, "no description", 60.2], ["927", "I7N3G6G", "927", 0, "no description", 60.2], ["928", "I7N3G6G", "928", 0, "no description", 60.2], ["929", "I7N3G6G", "929", 0, "no description", 60.2], ["930", "I7N3G6G", "930", 0, "no description", 60.2], ["931", "I7N3G6G", "931", 0, "no description", 60.2], ["932", "I7N3G6G", "932", 0, "no description", 60.2], ["933", "I7N3G6G", "933", 0, "no description", 60.2], ["934", "I7N3G6G", "934", 0, "no description", 60.2], ["935", "I7N3G6G", "935", 0, "no description", 60.2], ["936", "I7N3G6G", "936", 0, "no description", 60.2], ["937", "I7N3G6G", "937", 0, "no description", 60.2], ["938", "I7N3G6G", "938", 0, "no description", 60.2], ["939", "I7N3G6G", "939", 0, "no description", 60.2], ["940", "I7N3G6G", "940", 0, "no description", 60.2], ["941", "I7N3G6G", "941", 0, "no description", 60.2], ["942", "I7N3G6G", "942", 0, "no description", 60.2], ["943", "I7N3G6G", "943", 0, "no description", 60.2], ["944", "I7N3G6G", "944", 0, "no description", 60.2], ["945", "I7N3G6G", "945", 0, "no description", 60.2], ["946", "I7N3G6G", "946", 0, "no description", 60.2], ["947", "I7N3G6G", "947", 0, "no description", 60.2], ["948", "I7N3G6G", "948", 0, "no description", 60.2], ["949", "I7N3G6G", "949", 0, "no description", 60.2], ["950", "I7N3G6G", "950", 0, "no description", 60.2], ["951", "I7N3G6G", "951", 0, "no description", 60.2], ["952", "I7N3G6G", "952", 0, "no description", 60.2], ["953", "I7N3G6G", "953", 0, "no description", 60.2], ["954", "I7N3G6G", "954", 0, "no description", 60.2], ["955", "I7N3G6G", "955", 0, "no description", 60.2], ["956", "I7N3G6G", "956", 0, "no description", 60.2], ["957", "I7N3G6G", "957", 0, "no description", 60.2], ["958", "I7N3G6G", "958", 0, "no description", 60.2], ["959", "I7N3G6G", "959", 0, "no description", 60.2], ["960", "I7N3G6G", "960", 0, "no description", 60.2], ["961", "I7N3G6G", "961", 0, "no description", 60.2], ["962", "I7N3G6G", "962", 0, "no description", 60.2], ["963", "I7N3G6G", "963", 0, "no description", 60.2], ["964", "I7N3G6G", "964", 0, "no description", 60.2], ["965", "I7N3G6G", "965", 0, "no description", 60.2], ["966", "I7N3G6G", "966", 0, "no description", 60.2], ["967", "I7N3G6G", "967", 0, "no description", 60.2], ["968", "I7N3G6G", "968", 0, "no description", 60.2], ["969", "I7N3G6G", "969", 0, "no description", 60.2], ["970", "I7N3G6G", "970", 0, "no description", 60.2], ["971", "I7N3G6G", "971", 0, "no description", 60.2], ["972", "I7N3G6G", "972", 0, "no description", 60.2], ["973", "I7N3G6G", "973", 0, "no description", 60.2], ["974", "I7N3G6G", "974", 0, "no description", 60.2], ["975", "I7N3G6G", "975", 0, "no description", 60.2], ["976", "I7N3G6G", "976", 0, "no description", 60.2], ["977", "I7N3G6G", "977", 0, "no description", 60.2], ["978", "I7N3G6G", "978", 0, "no description", 60.2], ["979", "I7N3G6G", "979", 0, "no description", 60.2], ["980", "I7N3G6G", "980", 0, "no description", 60.2], ["981", "I7N3G6G", "981", 0, "no description", 60.2], ["982", "I7N3G6G", "982", 0, "no description", 60.2], ["983", "I7N3G6G", "983", 0, "no description", 60.2], ["984", "I7N3G6G", "984", 0, "no description", 60.2], ["985", "I7N3G6G", "985", 0, "no description", 60.2], ["986", "I7N3G6G", "986", 0, "no description", 60.2], ["987", "I7N3G6G", "987", 0, "no description", 60.2], ["988", "I7N3G6G", "988", 0, "no description", 60.2], ["989", "I7N3G6G", "989", 0, "no description", 60.2], ["990", "I7N3G6G", "990", 0, "no description", 60.2], ["991", "I7N3G6G", "991", 0, "no description", 60.2], ["992", "I7N3G6G", "992", 0, "no description", 60.2], ["993", "I7N3G6G", "993", 0, "no description", 60.2], ["994", "I7N3G6G", "994", 0, "no description", 60.2], ["995", "I7N3G6G", "995", 0, "no description", 60.2], ["996", "I7N3G6G", "996", 0, "no description", 60.2], ["997", "I7N3G6G", "997", 0, "no description", 60.2], ["998", "I7N3G6G", "998", 0, "no description", 60.2], ["999", "I7N3G6G", "999", 0, "no description", 60.2], ["1000", "I7N3G6G", "1000", 0, "no description", 60.2], ["1001", "I7N3G6G", "1001", 0, "no description", 60.2], ["1002", "I7N3G6G", "1002", 0, "no description", 60.2], ["1003", "I7N3G6G", "1003", 0, "no description", 60.2], ["1004", "I7N3G6G", "1004", 0, "no description", 60.2], ["1005", "I7N3G6G", "1005", 0, "no description", 60.2], ["1006", "I7N3G6G", "1006", 0, "no description", 60.2], ["1007", "I7N3G6G", "1007", 0, "no description", 60.2], ["1008", "I7N3G6G", "1008", 0, "no description", 60.2], ["1009", "I7N3G6G", "1009", 0, "no description", 60.2], ["1010", "I7N3G6G", "1010", 0, "no description", 60.2], ["1011", "I7N3G6G", "1011", 0, "no description", 60.2], ["1012", "I7N3G6G", "1012", 0, "no description", 60.2], ["1013", "I7N3G6G", "1013", 0, "no description", 60.2], ["1014", "I7N3G6G", "1014", 0, "no description", 60.2], ["1015", "I7N3G6G", "1015", 0, "no description", 60.2], ["1016", "I7N3G6G", "1016", 0, "no description", 60.2], ["1017", "I7N3G6G", "1017", 0, "no description", 60.2], ["1018", "I7N3G6G", "1018", 0, "no description", 60.2], ["1019", "I7N3G6G", "1019", 0, "no description", 60.2], ["1020", "I7N3G6G", "1020", 0, "no description", 60.2], ["1021", "I7N3G6G", "1021", 0, "no description", 60.2], ["1022", "I7N3G6G", "1022", 0, "no description", 60.2], ["1023", "I7N3G6G", "1023", 0, "no description", 60.2], ["1024", "I7N3G6G", "1024", 0, "no description", 60.2], ["1025", "I7N3G6G", "1025", 0, "no description", 60.2], ["1026", "I7N3G6G", "1026", 0, "no description", 60.2], ["1027", "I7N3G6G", "1027", 0, "no description", 60.2], ["1028", "I7N3G6G", "1028", 0, "no description", 60.2], ["1029", "I7N3G6G", "1029", 0, "no description", 60.2], ["1030", "I7N3G6G", "1030", 0, "no description", 60.2], ["1031", "I7N3G6G", "1031", 0, "no description", 60.2], ["1032", "I7N3G6G", "1032", 0, "no description", 60.2], ["1033", "I7N3G6G", "1033", 0, "no description", 60.2], ["1034", "I7N3G6G", "1034", 0, "no description", 60.2], ["1035", "I7N3G6G", "1035", 0, "no description", 60.2], ["1036", "I7N3G6G", "1036", 0, "no description", 60.2], ["1037", "I7N3G6G", "1037", 0, "no description", 60.2], ["1038", "I7N3G6G", "1038", 0, "no description", 60.2], ["1039", "I7N3G6G", "1039", 0, "no description", 60.2], ["1040", "I7N3G6G", "1040", 0, "no description", 60.2], ["1041", "I7N3G6G", "1041", 0, "no description", 60.2], ["1042", "I7N3G6G", "1042", 0, "no description", 60.2], ["1043", "I7N3G6G", "1043", 0, "no description", 60.2], ["1044", "I7N3G6G", "1044", 0, "no description", 60.2], ["1045", "I7N3G6G", "1045", 0, "no description", 60.2], ["1046", "I7N3G6G", "1046", 0, "no description", 60.2], ["1047", "I7N3G6G", "1047", 0, "no description", 60.2], ["1048", "I7N3G6G", "1048", 0, "no description", 60.2], ["1049", "I7N3G6G", "1049", 0, "no description", 60.2], ["1050", "I7N3G6G", "1050", 0, "no description", 60.2], ["1051", "I7N3G6G", "1051", 0, "no description", 60.2], ["1052", "I7N3G6G", "1052", 0, "no description", 60.2], ["1053", "I7N3G6G", "1053", 0, "no description", 60.2], ["1054", "I7N3G6G", "1054", 0, "no description", 60.2], ["1055", "I7N3G6G", "1055", 0, "no description", 60.2], ["1056", "I7N3G6G", "1056", 0, "no description", 60.2], ["1057", "I7N3G6G", "1057", 0, "no description", 60.2], ["1058", "I7N3G6G", "1058", 0, "no description", 60.2], ["1059", "I7N3G6G", "1059", 0, "no description", 60.2], ["1060", "I7N3G6G", "1060", 0, "no description", 60.2], ["1061", "I7N3G6G", "1061", 0, "no description", 60.2], ["1062", "I7N3G6G", "1062", 0, "no description", 60.2], ["1063", "I7N3G6G", "1063", 0, "no description", 60.2], ["1064", "I7N3G6G", "1064", 0, "no description", 60.2], ["1065", "I7N3G6G", "1065", 0, "no description", 60.2], ["1066", "I7N3G6G", "1066", 0, "no description", 60.2], ["1067", "I7N3G6G", "1067", 0, "no description", 60.2], ["1068", "I7N3G6G", "1068", 0, "no description", 60.2], ["1069", "I7N3G6G", "1069", 0, "no description", 60.2], ["1070", "I7N3G6G", "1070", 0, "no description", 60.2], ["1071", "I7N3G6G", "1071", 0, "no description", 60.2], ["1072", "I7N3G6G", "1072", 0, "no description", 60.2], ["1073", "I7N3G6G", "1073", 0, "no description", 60.2], ["1074", "I7N3G6G", "1074", 0, "no description", 60.2], ["1075", "I7N3G6G", "1075", 0, "no description", 60.2], ["1076", "I7N3G6G", "1076", 0, "no description", 60.2], ["1077", "I7N3G6G", "1077", 0, "no description", 60.2], ["1078", "I7N3G6G", "1078", 0, "no description", 60.2], ["1079", "I7N3G6G", "1079", 0, "no description", 60.2], ["1080", "I7N3G6G", "1080", 0, "no description", 60.2], ["1081", "I7N3G6G", "1081", 0, "no description", 60.2], ["1082", "I7N3G6G", "1082", 0, "no description", 60.2], ["1083", "I7N3G6G", "1083", 0, "no description", 60.2], ["1084", "I7N3G6G", "1084", 0, "no description", 60.2], ["1085", "I7N3G6G", "1085", 0, "no description", 60.2], ["1086", "I7N3G6G", "1086", 0, "no description", 60.2], ["1087", "I7N3G6G", "1087", 0, "no description", 60.2], ["1088", "I7N3G6G", "1088", 0, "no description", 60.2], ["1089", "I7N3G6G", "1089", 0, "no description", 60.2], ["1090", "I7N3G6G", "1090", 0, "no description", 60.2], ["1091", "I7N3G6G", "1091", 0, "no description", 60.2], ["1092", "I7N3G6G", "1092", 0, "no description", 60.2], ["1093", "I7N3G6G", "1093", 0, "no description", 60.2], ["1094", "I7N3G6G", "1094", 0, "no description", 60.2], ["1095", "I7N3G6G", "1095", 0, "no description", 60.2], ["1096", "I7N3G6G", "1096", 0, "no description", 60.2], ["1097", "I7N3G6G", "1097", 0, "no description", 60.2], ["1098", "I7N3G6G", "1098", 0, "no description", 60.2], ["1099", "I7N3G6G", "1099", 0, "no description", 60.2], ["1100", "I7N3G6G", "1100", 0, "no description", 60.2], ["1101", "I7N3G6G", "1101", 0, "no description", 60.2], ["1102", "I7N3G6G", "1102", 0, "no description", 60.2], ["1103", "I7N3G6G", "1103", 0, "no description", 60.2], ["1104", "I7N3G6G", "1104", 0, "no description", 60.2], ["1105", "I7N3G6G", "1105", 0, "no description", 60.2], ["1106", "I7N3G6G", "1106", 0, "no description", 60.2], ["1107", "I7N3G6G", "1107", 0, "no description", 60.2], ["1108", "I7N3G6G", "1108", 0, "no description", 60.2], ["1109", "I7N3G6G", "1109", 0, "no description", 60.2], ["1110", "I7N3G6G", "1110", 0, "no description", 60.2], ["1111", "I7N3G6G", "1111", 0, "no description", 60.2], ["1112", "I7N3G6G", "1112", 0, "no description", 60.2], ["1113", "I7N3G6G", "1113", 0, "no description", 60.2], ["1114", "I7N3G6G", "1114", 0, "no description", 60.2], ["1115", "I7N3G6G", "1115", 0, "no description", 60.2], ["1116", "I7N3G6G", "1116", 0, "no description", 60.2], ["1117", "I7N3G6G", "1117", 0, "no description", 60.2], ["1118", "I7N3G6G", "1118", 0, "no description", 60.2], ["1119", "I7N3G6G", "1119", 0, "no description", 60.2], ["1120", "I7N3G6G", "1120", 0, "no description", 60.2], ["1121", "I7N3G6G", "1121", 0, "no description", 60.2], ["1122", "I7N3G6G", "1122", 0, "no description", 60.2], ["1123", "I7N3G6G", "1123", 0, "no description", 60.2], ["1124", "I7N3G6G", "1124", 0, "no description", 60.2], ["1125", "I7N3G6G", "1125", 0, "no description", 60.2], ["1126", "I7N3G6G", "1126", 0, "no description", 60.2], ["1127", "I7N3G6G", "1127", 0, "no description", 60.2], ["1128", "I7N3G6G", "1128", 0, "no description", 60.2], ["1129", "I7N3G6G", "1129", 0, "no description", 60.2], ["1130", "I7N3G6G", "1130", 0, "no description", 60.2], ["1131", "I7N3G6G", "1131", 0, "no description", 60.2], ["1132", "I7N3G6G", "1132", 0, "no description", 60.2], ["1133", "I7N3G6G", "1133", 0, "no description", 60.2], ["1134", "I7N3G6G", "1134", 0, "no description", 60.2], ["1135", "I7N3G6G", "1135", 0, "no description", 60.2], ["1136", "I7N3G6G", "1136", 0, "no description", 60.2], ["1137", "I7N3G6G", "1137", 0, "no description", 60.2], ["1138", "I7N3G6G", "1138", 0, "no description", 60.2], ["1139", "I7N3G6G", "1139", 0, "no description", 60.2], ["1140", "I7N3G6G", "1140", 0, "no description", 60.2], ["1141", "I7N3G6G", "1141", 0, "no description", 60.2], ["1142", "I7N3G6G", "1142", 0, "no description", 60.2], ["1143", "I7N3G6G", "1143", 0, "no description", 60.2], ["1144", "I7N3G6G", "1144", 0, "no description", 60.2], ["1145", "I7N3G6G", "1145", 0, "no description", 60.2], ["1146", "I7N3G6G", "1146", 0, "no description", 60.2], ["1147", "I7N3G6G", "1147", 0, "no description", 60.2], ["1148", "I7N3G6G", "1148", 0, "no description", 60.2], ["1149", "I7N3G6G", "1149", 0, "no description", 60.2], ["1150", "I7N3G6G", "1150", 0, "no description", 60.2], ["1151", "I7N3G6G", "1151", 0, "no description", 60.2], ["1152", "I7N3G6G", "1152", 0, "no description", 60.2], ["1153", "I7N3G6G", "1153", 0, "no description", 60.2], ["1154", "I7N3G6G", "1154", 0, "no description", 60.2], ["1155", "I7N3G6G", "1155", 0, "no description", 60.2], ["1156", "I7N3G6G", "1156", 0, "no description", 60.2], ["1157", "I7N3G6G", "1157", 0, "no description", 60.2], ["1158", "I7N3G6G", "1158", 0, "no description", 60.2], ["1159", "I7N3G6G", "1159", 0, "no description", 60.2], ["1160", "I7N3G6G", "1160", 0, "no description", 60.2], ["1161", "I7N3G6G", "1161", 0, "no description", 60.2], ["1162", "I7N3G6G", "1162", 0, "no description", 60.2], ["1163", "I7N3G6G", "1163", 0, "no description", 60.2], ["1164", "I7N3G6G", "1164", 0, "no description", 60.2], ["1165", "I7N3G6G", "1165", 0, "no description", 60.2], ["1166", "I7N3G6G", "1166", 0, "no description", 60.2], ["1167", "I7N3G6G", "1167", 0, "no description", 60.2], ["1168", "I7N3G6G", "1168", 0, "no description", 60.2], ["1169", "I7N3G6G", "1169", 0, "no description", 60.2], ["1170", "I7N3G6G", "1170", 0, "no description", 60.2], ["1171", "I7N3G6G", "1171", 0, "no description", 60.2], ["1172", "I7N3G6G", "1172", 0, "no description", 60.2], ["1173", "I7N3G6G", "1173", 0, "no description", 60.2], ["1174", "I7N3G6G", "1174", 0, "no description", 60.2], ["1175", "I7N3G6G", "1175", 0, "no description", 60.2], ["1176", "I7N3G6G", "1176", 0, "no description", 60.2], ["1177", "I7N3G6G", "1177", 0, "no description", 60.2], ["1178", "I7N3G6G", "1178", 0, "no description", 60.2], ["1179", "I7N3G6G", "1179", 0, "no description", 60.2], ["1180", "I7N3G6G", "1180", 0, "no description", 60.2], ["1181", "I7N3G6G", "1181", 0, "no description", 60.2], ["1182", "I7N3G6G", "1182", 0, "no description", 60.2], ["1183", "I7N3G6G", "1183", 0, "no description", 60.2], ["1184", "I7N3G6G", "1184", 0, "no description", 60.2], ["1185", "I7N3G6G", "1185", 0, "no description", 60.2], ["1186", "I7N3G6G", "1186", 0, "no description", 60.2], ["1187", "I7N3G6G", "1187", 0, "no description", 60.2], ["1188", "I7N3G6G", "1188", 0, "no description", 60.2], ["1189", "I7N3G6G", "1189", 0, "no description", 60.2], ["1190", "I7N3G6G", "1190", 0, "no description", 60.2], ["1191", "I7N3G6G", "1191", 0, "no description", 60.2], ["1192", "I7N3G6G", "1192", 0, "no description", 60.2], ["1193", "I7N3G6G", "1193", 0, "no description", 60.2], ["1194", "I7N3G6G", "1194", 0, "no description", 60.2], ["1195", "I7N3G6G", "1195", 0, "no description", 60.2], ["1196", "I7N3G6G", "1196", 0, "no description", 60.2], ["1197", "I7N3G6G", "1197", 0, "no description", 60.2], ["1198", "I7N3G6G", "1198", 0, "no description", 60.2], ["1199", "I7N3G6G", "1199", 0, "no description", 60.2], ["1200", "I7N3G6G", "1200", 0, "no description", 60.2], ["1201", "I7N3G6G", "1201", 0, "no description", 60.2], ["1202", "I7N3G6G", "1202", 0, "no description", 60.2], ["1203", "I7N3G6G", "1203", 0, "no description", 60.2], ["1204", "I7N3G6G", "1204", 0, "no description", 60.2], ["1205", "I7N3G6G", "1205", 0, "no description", 60.2], ["1206", "I7N3G6G", "1206", 0, "no description", 60.2], ["1207", "I7N3G6G", "1207", 0, "no description", 60.2], ["1208", "I7N3G6G", "1208", 0, "no description", 60.2], ["1209", "I7N3G6G", "1209", 0, "no description", 60.2], ["1210", "I7N3G6G", "1210", 0, "no description", 60.2], ["1211", "I7N3G6G", "1211", 0, "no description", 60.2], ["1212", "I7N3G6G", "1212", 0, "no description", 60.2], ["1213", "I7N3G6G", "1213", 0, "no description", 60.2], ["1214", "I7N3G6G", "1214", 0, "no description", 60.2], ["1215", "I7N3G6G", "1215", 0, "no description", 60.2], ["1216", "I7N3G6G", "1216", 0, "no description", 60.2], ["1217", "I7N3G6G", "1217", 0, "no description", 60.2], ["1218", "I7N3G6G", "1218", 0, "no description", 60.2], ["1219", "I7N3G6G", "1219", 0, "no description", 60.2], ["1220", "I7N3G6G", "1220", 0, "no description", 60.2], ["1221", "I7N3G6G", "1221", 0, "no description", 60.2], ["1222", "I7N3G6G", "1222", 0, "no description", 60.2], ["1223", "I7N3G6G", "1223", 0, "no description", 60.2], ["1224", "I7N3G6G", "1224", 0, "no description", 60.2], ["1225", "I7N3G6G", "1225", 0, "no description", 60.2], ["1226", "I7N3G6G", "1226", 0, "no description", 60.2], ["1227", "I7N3G6G", "1227", 0, "no description", 60.2], ["1228", "I7N3G6G", "1228", 0, "no description", 60.2], ["1229", "I7N3G6G", "1229", 0, "no description", 60.2], ["1230", "I7N3G6G", "1230", 0, "no description", 60.2], ["1231", "I7N3G6G", "1231", 0, "no description", 60.2], ["1232", "I7N3G6G", "1232", 0, "no description", 60.2], ["1233", "I7N3G6G", "1233", 0, "no description", 60.2], ["1234", "I7N3G6G", "1234", 0, "no description", 60.2], ["1235", "I7N3G6G", "1235", 0, "no description", 60.2], ["1236", "I7N3G6G", "1236", 0, "no description", 60.2], ["1237", "I7N3G6G", "1237", 0, "no description", 60.2], ["1238", "I7N3G6G", "1238", 0, "no description", 60.2], ["1239", "I7N3G6G", "1239", 0, "no description", 60.2], ["1240", "I7N3G6G", "1240", 0, "no description", 60.2], ["1241", "I7N3G6G", "1241", 0, "no description", 60.2], ["1242", "I7N3G6G", "1242", 0, "no description", 60.2], ["1243", "I7N3G6G", "1243", 0, "no description", 60.2], ["1244", "I7N3G6G", "1244", 0, "no description", 60.2], ["1245", "I7N3G6G", "1245", 0, "no description", 60.2], ["1246", "I7N3G6G", "1246", 0, "no description", 60.2], ["1247", "I7N3G6G", "1247", 0, "no description", 60.2], ["1248", "I7N3G6G", "1248", 0, "no description", 60.2], ["1249", "I7N3G6G", "1249", 0, "no description", 60.2], ["1250", "I7N3G6G", "1250", 0, "no description", 60.2], ["1251", "I7N3G6G", "1251", 0, "no description", 60.2], ["1252", "I7N3G6G", "1252", 0, "no description", 60.2], ["1253", "I7N3G6G", "1253", 0, "no description", 60.2], ["1254", "I7N3G6G", "1254", 0, "no description", 60.2], ["1255", "I7N3G6G", "1255", 0, "no description", 60.2], ["1256", "I7N3G6G", "1256", 0, "no description", 60.2], ["1257", "I7N3G6G", "1257", 0, "no description", 60.2], ["1258", "I7N3G6G", "1258", 0, "no description", 60.2], ["1259", "I7N3G6G", "1259", 0, "no description", 60.2], ["1260", "I7N3G6G", "1260", 0, "no description", 60.2], ["1261", "I7N3G6G", "1261", 0, "no description", 60.2], ["1262", "I7N3G6G", "1262", 0, "no description", 60.2], ["1263", "I7N3G6G", "1263", 0, "no description", 60.2], ["1264", "I7N3G6G", "1264", 0, "no description", 60.2], ["1265", "I7N3G6G", "1265", 0, "no description", 60.2], ["1266", "I7N3G6G", "1266", 0, "no description", 60.2], ["1267", "I7N3G6G", "1267", 0, "no description", 60.2], ["1268", "I7N3G6G", "1268", 0, "no description", 60.2], ["1269", "I7N3G6G", "1269", 0, "no description", 60.2], ["1270", "I7N3G6G", "1270", 0, "no description", 60.2], ["1271", "I7N3G6G", "1271", 0, "no description", 60.2], ["1272", "I7N3G6G", "1272", 0, "no description", 60.2], ["1273", "I7N3G6G", "1273", 0, "no description", 60.2], ["1274", "I7N3G6G", "1274", 0, "no description", 60.2], ["1275", "I7N3G6G", "1275", 0, "no description", 60.2], ["1276", "I7N3G6G", "1276", 0, "no description", 60.2], ["1277", "I7N3G6G", "1277", 0, "no description", 60.2], ["1278", "I7N3G6G", "1278", 0, "no description", 60.2], ["1279", "I7N3G6G", "1279", 0, "no description", 60.2], ["1280", "I7N3G6G", "1280", 0, "no description", 60.2], ["1281", "I7N3G6G", "1281", 0, "no description", 60.2], ["1282", "I7N3G6G", "1282", 0, "no description", 60.2], ["1283", "I7N3G6G", "1283", 0, "no description", 60.2], ["1284", "I7N3G6G", "1284", 0, "no description", 60.2], ["1285", "I7N3G6G", "1285", 0, "no description", 60.2], ["1286", "I7N3G6G", "1286", 0, "no description", 60.2], ["1287", "I7N3G6G", "1287", 0, "no description", 60.2], ["1288", "I7N3G6G", "1288", 0, "no description", 60.2], ["1289", "I7N3G6G", "1289", 0, "no description", 60.2], ["1290", "I7N3G6G", "1290", 0, "no description", 60.2], ["1291", "I7N3G6G", "1291", 0, "no description", 60.2], ["1292", "I7N3G6G", "1292", 0, "no description", 60.2], ["1293", "I7N3G6G", "1293", 0, "no description", 60.2], ["1294", "I7N3G6G", "1294", 0, "no description", 60.2], ["1295", "I7N3G6G", "1295", 0, "no description", 60.2], ["1296", "I7N3G6G", "1296", 0, "no description", 60.2], ["1297", "I7N3G6G", "1297", 0, "no description", 60.2], ["1298", "I7N3G6G", "1298", 0, "no description", 60.2], ["1299", "I7N3G6G", "1299", 0, "no description", 60.2], ["1300", "I7N3G6G", "1300", 0, "no description", 60.2], ["1301", "I7N3G6G", "1301", 0, "no description", 60.2], ["1302", "I7N3G6G", "1302", 0, "no description", 60.2], ["1303", "I7N3G6G", "1303", 0, "no description", 60.2], ["1304", "I7N3G6G", "1304", 0, "no description", 60.2], ["1305", "I7N3G6G", "1305", 0, "no description", 60.2], ["1306", "I7N3G6G", "1306", 0, "no description", 60.2], ["1307", "I7N3G6G", "1307", 0, "no description", 60.2], ["1308", "I7N3G6G", "1308", 0, "no description", 60.2], ["1309", "I7N3G6G", "1309", 0, "no description", 60.2], ["1310", "I7N3G6G", "1310", 0, "no description", 60.2], ["1311", "I7N3G6G", "1311", 0, "no description", 60.2], ["1312", "I7N3G6G", "1312", 0, "no description", 60.2], ["1313", "I7N3G6G", "1313", 0, "no description", 60.2], ["1314", "I7N3G6G", "1314", 0, "no description", 60.2], ["1315", "I7N3G6G", "1315", 0, "no description", 60.2], ["1316", "I7N3G6G", "1316", 0, "no description", 60.2], ["1317", "I7N3G6G", "1317", 0, "no description", 60.2], ["1318", "I7N3G6G", "1318", 0, "no description", 60.2], ["1319", "I7N3G6G", "1319", 0, "no description", 60.2], ["1320", "I7N3G6G", "1320", 0, "no description", 60.2], ["1321", "I7N3G6G", "1321", 0, "no description", 60.2], ["1322", "I7N3G6G", "1322", 0, "no description", 60.2], ["1323", "I7N3G6G", "1323", 0, "no description", 60.2], ["1324", "I7N3G6G", "1324", 0, "no description", 60.2], ["1325", "I7N3G6G", "1325", 0, "no description", 60.2], ["1326", "I7N3G6G", "1326", 0, "no description", 60.2], ["1327", "I7N3G6G", "1327", 0, "no description", 60.2], ["1328", "I7N3G6G", "1328", 0, "no description", 60.2], ["1329", "I7N3G6G", "1329", 0, "no description", 60.2], ["1330", "I7N3G6G", "1330", 0, "no description", 60.2], ["1331", "I7N3G6G", "1331", 0, "no description", 60.2], ["1332", "I7N3G6G", "1332", 0, "no description", 60.2], ["1333", "I7N3G6G", "1333", 0, "no description", 60.2], ["1334", "I7N3G6G", "1334", 0, "no description", 60.2], ["1335", "I7N3G6G", "1335", 0, "no description", 60.2], ["1336", "I7N3G6G", "1336", 0, "no description", 60.2], ["1337", "I7N3G6G", "1337", 0, "no description", 60.2], ["1338", "I7N3G6G", "1338", 0, "no description", 60.2], ["1339", "I7N3G6G", "1339", 0, "no description", 60.2], ["1340", "I7N3G6G", "1340", 0, "no description", 60.2], ["1341", "I7N3G6G", "1341", 0, "no description", 60.2], ["1342", "I7N3G6G", "1342", 0, "no description", 60.2], ["1343", "I7N3G6G", "1343", 0, "no description", 60.2], ["1344", "I7N3G6G", "1344", 0, "no description", 60.2], ["1345", "I7N3G6G", "1345", 0, "no description", 60.2], ["1346", "I7N3G6G", "1346", 0, "no description", 60.2], ["1347", "I7N3G6G", "1347", 0, "no description", 60.2], ["1348", "I7N3G6G", "1348", 0, "no description", 60.2], ["1349", "I7N3G6G", "1349", 0, "no description", 60.2], ["1350", "I7N3G6G", "1350", 0, "no description", 60.2], ["1351", "I7N3G6G", "1351", 0, "no description", 60.2], ["1352", "I7N3G6G", "1352", 0, "no description", 60.2], ["1353", "I7N3G6G", "1353", 0, "no description", 60.2], ["1354", "I7N3G6G", "1354", 0, "no description", 60.2], ["1355", "I7N3G6G", "1355", 0, "no description", 60.2], ["1356", "I7N3G6G", "1356", 0, "no description", 60.2], ["1357", "I7N3G6G", "1357", 0, "no description", 60.2], ["1358", "I7N3G6G", "1358", 0, "no description", 60.2], ["1359", "I7N3G6G", "1359", 0, "no description", 60.2], ["1360", "I7N3G6G", "1360", 0, "no description", 60.2], ["1361", "I7N3G6G", "1361", 0, "no description", 60.2], ["1362", "I7N3G6G", "1362", 0, "no description", 60.2], ["1363", "I7N3G6G", "1363", 0, "no description", 60.2], ["1364", "I7N3G6G", "1364", 0, "no description", 60.2], ["1365", "I7N3G6G", "1365", 0, "no description", 60.2], ["1366", "I7N3G6G", "1366", 0, "no description", 60.2], ["1367", "I7N3G6G", "1367", 0, "no description", 60.2], ["1368", "I7N3G6G", "1368", 0, "no description", 60.2], ["1369", "I7N3G6G", "1369", 0, "no description", 60.2], ["1370", "I7N3G6G", "1370", 0, "no description", 60.2], ["1371", "I7N3G6G", "1371", 0, "no description", 60.2], ["1372", "I7N3G6G", "1372", 0, "no description", 60.2], ["1373", "I7N3G6G", "1373", 0, "no description", 60.2], ["1374", "I7N3G6G", "1374", 0, "no description", 60.2], ["1375", "I7N3G6G", "1375", 0, "no description", 60.2], ["1376", "I7N3G6G", "1376", 0, "no description", 60.2], ["1377", "I7N3G6G", "1377", 0, "no description", 60.2], ["1378", "I7N3G6G", "1378", 0, "no description", 60.2], ["1379", "I7N3G6G", "1379", 0, "no description", 60.2], ["1380", "I7N3G6G", "1380", 0, "no description", 60.2], ["1381", "I7N3G6G", "1381", 0, "no description", 60.2], ["1382", "I7N3G6G", "1382", 0, "no description", 60.2], ["1383", "I7N3G6G", "1383", 0, "no description", 60.2], ["1384", "I7N3G6G", "1384", 0, "no description", 60.2], ["1385", "I7N3G6G", "1385", 0, "no description", 60.2], ["1386", "I7N3G6G", "1386", 0, "no description", 60.2], ["1387", "I7N3G6G", "1387", 0, "no description", 60.2], ["1388", "I7N3G6G", "1388", 0, "no description", 60.2], ["1389", "I7N3G6G", "1389", 0, "no description", 60.2], ["1390", "I7N3G6G", "1390", 0, "no description", 60.2], ["1391", "I7N3G6G", "1391", 0, "no description", 60.2], ["1392", "I7N3G6G", "1392", 0, "no description", 60.2], ["1393", "I7N3G6G", "1393", 0, "no description", 60.2], ["1394", "I7N3G6G", "1394", 0, "no description", 60.2], ["1395", "I7N3G6G", "1395", 0, "no description", 60.2], ["1396", "I7N3G6G", "1396", 0, "no description", 60.2], ["1397", "I7N3G6G", "1397", 0, "no description", 60.2], ["1398", "I7N3G6G", "1398", 0, "no description", 60.2], ["1399", "I7N3G6G", "1399", 0, "no description", 60.2], ["1400", "I7N3G6G", "1400", 0, "no description", 60.2], ["1401", "I7N3G6G", "1401", 0, "no description", 60.2], ["1402", "I7N3G6G", "1402", 0, "no description", 60.2], ["1403", "I7N3G6G", "1403", 0, "no description", 60.2], ["1404", "I7N3G6G", "1404", 0, "no description", 60.2], ["1405", "I7N3G6G", "1405", 0, "no description", 60.2], ["1406", "I7N3G6G", "1406", 0, "no description", 60.2], ["1407", "I7N3G6G", "1407", 0, "no description", 60.2], ["1408", "I7N3G6G", "1408", 0, "no description", 60.2], ["1409", "I7N3G6G", "1409", 0, "no description", 60.2], ["1410", "I7N3G6G", "1410", 0, "no description", 60.2], ["1411", "I7N3G6G", "1411", 0, "no description", 60.2], ["1412", "I7N3G6G", "1412", 0, "no description", 60.2], ["1413", "I7N3G6G", "1413", 0, "no description", 60.2], ["1414", "I7N3G6G", "1414", 0, "no description", 60.2], ["1415", "I7N3G6G", "1415", 0, "no description", 60.2], ["1416", "I7N3G6G", "1416", 0, "no description", 60.2], ["1417", "I7N3G6G", "1417", 0, "no description", 60.2], ["1418", "I7N3G6G", "1418", 0, "no description", 60.2], ["1419", "I7N3G6G", "1419", 0, "no description", 60.2], ["1420", "I7N3G6G", "1420", 0, "no description", 60.2], ["1421", "I7N3G6G", "1421", 0, "no description", 60.2], ["1422", "I7N3G6G", "1422", 0, "no description", 60.2], ["1423", "I7N3G6G", "1423", 0, "no description", 60.2], ["1424", "I7N3G6G", "1424", 0, "no description", 60.2], ["1425", "I7N3G6G", "1425", 0, "no description", 60.2], ["1426", "I7N3G6G", "1426", 0, "no description", 60.2], ["1427", "I7N3G6G", "1427", 0, "no description", 60.2], ["1428", "I7N3G6G", "1428", 0, "no description", 60.2], ["1429", "I7N3G6G", "1429", 0, "no description", 60.2], ["1430", "I7N3G6G", "1430", 0, "no description", 60.2], ["1431", "I7N3G6G", "1431", 0, "no description", 60.2], ["1432", "I7N3G6G", "1432", 0, "no description", 60.2], ["1433", "I7N3G6G", "1433", 0, "no description", 60.2], ["1434", "I7N3G6G", "1434", 0, "no description", 60.2], ["1435", "I7N3G6G", "1435", 0, "no description", 60.2], ["1436", "I7N3G6G", "1436", 0, "no description", 60.2], ["1437", "I7N3G6G", "1437", 0, "no description", 60.2], ["1438", "I7N3G6G", "1438", 0, "no description", 60.2], ["1439", "I7N3G6G", "1439", 0, "no description", 60.2], ["1440", "I7N3G6G", "1440", 0, "no description", 60.2], ["1441", "I7N3G6G", "1441", 0, "no description", 60.2], ["1442", "I7N3G6G", "1442", 0, "no description", 60.2], ["1443", "I7N3G6G", "1443", 0, "no description", 60.2], ["1444", "I7N3G6G", "1444", 0, "no description", 60.2], ["1445", "I7N3G6G", "1445", 0, "no description", 60.2], ["1446", "I7N3G6G", "1446", 0, "no description", 60.2], ["1447", "I7N3G6G", "1447", 0, "no description", 60.2], ["1448", "I7N3G6G", "1448", 0, "no description", 60.2], ["1449", "I7N3G6G", "1449", 0, "no description", 60.2], ["1450", "I7N3G6G", "1450", 0, "no description", 60.2], ["1451", "I7N3G6G", "1451", 0, "no description", 60.2], ["1452", "I7N3G6G", "1452", 0, "no description", 60.2], ["1453", "I7N3G6G", "1453", 0, "no description", 60.2], ["1454", "I7N3G6G", "1454", 0, "no description", 60.2], ["1455", "I7N3G6G", "1455", 0, "no description", 60.2], ["1456", "I7N3G6G", "1456", 0, "no description", 60.2], ["1457", "I7N3G6G", "1457", 0, "no description", 60.2], ["1458", "I7N3G6G", "1458", 0, "no description", 60.2], ["1459", "I7N3G6G", "1459", 0, "no description", 60.2], ["1460", "I7N3G6G", "1460", 0, "no description", 60.2], ["1461", "I7N3G6G", "1461", 0, "no description", 60.2], ["1462", "I7N3G6G", "1462", 0, "no description", 60.2], ["1463", "I7N3G6G", "1463", 0, "no description", 60.2], ["1464", "I7N3G6G", "1464", 0, "no description", 60.2], ["1465", "I7N3G6G", "1465", 0, "no description", 60.2], ["1466", "I7N3G6G", "1466", 0, "no description", 60.2], ["1467", "I7N3G6G", "1467", 0, "no description", 60.2], ["1468", "I7N3G6G", "1468", 0, "no description", 60.2], ["1469", "I7N3G6G", "1469", 0, "no description", 60.2], ["1470", "I7N3G6G", "1470", 0, "no description", 60.2], ["1471", "I7N3G6G", "1471", 0, "no description", 60.2], ["1472", "I7N3G6G", "1472", 0, "no description", 60.2], ["1473", "I7N3G6G", "1473", 0, "no description", 60.2], ["1474", "I7N3G6G", "1474", 0, "no description", 60.2], ["1475", "I7N3G6G", "1475", 0, "no description", 60.2], ["1476", "I7N3G6G", "1476", 0, "no description", 60.2], ["1477", "I7N3G6G", "1477", 0, "no description", 60.2], ["1478", "I7N3G6G", "1478", 0, "no description", 60.2], ["1479", "I7N3G6G", "1479", 0, "no description", 60.2], ["1480", "I7N3G6G", "1480", 0, "no description", 60.2], ["1481", "I7N3G6G", "1481", 0, "no description", 60.2], ["1482", "I7N3G6G", "1482", 0, "no description", 60.2], ["1483", "I7N3G6G", "1483", 0, "no description", 60.2], ["1484", "I7N3G6G", "1484", 0, "no description", 60.2], ["1485", "I7N3G6G", "1485", 0, "no description", 60.2], ["1486", "I7N3G6G", "1486", 0, "no description", 60.2], ["1487", "I7N3G6G", "1487", 0, "no description", 60.2], ["1488", "I7N3G6G", "1488", 0, "no description", 60.2], ["1489", "I7N3G6G", "1489", 0, "no description", 60.2], ["1490", "I7N3G6G", "1490", 0, "no description", 60.2], ["1491", "I7N3G6G", "1491", 0, "no description", 60.2], ["1492", "I7N3G6G", "1492", 0, "no description", 60.2], ["1493", "I7N3G6G", "1493", 0, "no description", 60.2], ["1494", "I7N3G6G", "1494", 0, "no description", 60.2], ["1495", "I7N3G6G", "1495", 0, "no description", 60.2], ["1496", "I7N3G6G", "1496", 0, "no description", 60.2], ["1497", "I7N3G6G", "1497", 0, "no description", 60.2], ["1498", "I7N3G6G", "1498", 0, "no description", 60.2], ["1499", "I7N3G6G", "1499", 0, "no description", 60.2], ["1500", "I7N3G6G", "1500", 0, "no description", 60.2], ["1501", "I7N3G6G", "1501", 0, "no description", 60.2], ["1502", "I7N3G6G", "1502", 0, "no description", 60.2], ["1503", "I7N3G6G", "1503", 0, "no description", 60.2], ["1504", "I7N3G6G", "1504", 0, "no description", 60.2], ["1505", "I7N3G6G", "1505", 0, "no description", 60.2], ["1506", "I7N3G6G", "1506", 0, "no description", 60.2], ["1507", "I7N3G6G", "1507", 0, "no description", 60.2], ["1508", "I7N3G6G", "1508", 0, "no description", 60.2], ["1509", "I7N3G6G", "1509", 0, "no description", 60.2], ["1510", "I7N3G6G", "1510", 0, "no description", 60.2], ["1511", "I7N3G6G", "1511", 0, "no description", 60.2], ["1512", "I7N3G6G", "1512", 0, "no description", 60.2], ["1513", "I7N3G6G", "1513", 0, "no description", 60.2], ["1514", "I7N3G6G", "1514", 0, "no description", 60.2], ["1515", "I7N3G6G", "1515", 0, "no description", 60.2], ["1516", "I7N3G6G", "1516", 0, "no description", 60.2], ["1517", "I7N3G6G", "1517", 0, "no description", 60.2], ["1518", "I7N3G6G", "1518", 0, "no description", 60.2], ["1519", "I7N3G6G", "1519", 0, "no description", 60.2], ["1520", "I7N3G6G", "1520", 0, "no description", 60.2], ["1521", "I7N3G6G", "1521", 0, "no description", 60.2], ["1522", "I7N3G6G", "1522", 0, "no description", 60.2], ["1523", "I7N3G6G", "1523", 0, "no description", 60.2], ["1524", "I7N3G6G", "1524", 0, "no description", 60.2], ["1525", "I7N3G6G", "1525", 0, "no description", 60.2], ["1526", "I7N3G6G", "1526", 0, "no description", 60.2], ["1527", "I7N3G6G", "1527", 0, "no description", 60.2], ["1528", "I7N3G6G", "1528", 0, "no description", 60.2], ["1529", "I7N3G6G", "1529", 0, "no description", 60.2], ["1530", "I7N3G6G", "1530", 0, "no description", 60.2], ["1531", "I7N3G6G", "1531", 0, "no description", 60.2], ["1532", "I7N3G6G", "1532", 0, "no description", 60.2], ["1533", "I7N3G6G", "1533", 0, "no description", 60.2], ["1534", "I7N3G6G", "1534", 0, "no description", 60.2], ["1535", "I7N3G6G", "1535", 0, "no description", 60.2], ["1536", "I7N3G6G", "1536", 0, "no description", 60.2], ["1537", "I7N3G6G", "1537", 0, "no description", 60.2], ["1538", "I7N3G6G", "1538", 0, "no description", 60.2], ["1539", "I7N3G6G", "1539", 0, "no description", 60.2], ["1540", "I7N3G6G", "1540", 0, "no description", 60.2], ["1541", "I7N3G6G", "1541", 0, "no description", 60.2], ["1542", "I7N3G6G", "1542", 0, "no description", 60.2], ["1543", "I7N3G6G", "1543", 0, "no description", 60.2], ["1544", "I7N3G6G", "1544", 0, "no description", 60.2], ["1545", "I7N3G6G", "1545", 0, "no description", 60.2], ["1546", "I7N3G6G", "1546", 0, "no description", 60.2], ["1547", "I7N3G6G", "1547", 0, "no description", 60.2], ["1548", "I7N3G6G", "1548", 0, "no description", 60.2], ["1549", "I7N3G6G", "1549", 0, "no description", 60.2], ["1550", "I7N3G6G", "1550", 0, "no description", 60.2], ["1551", "I7N3G6G", "1551", 0, "no description", 60.2], ["1552", "I7N3G6G", "1552", 0, "no description", 60.2], ["1553", "I7N3G6G", "1553", 0, "no description", 60.2], ["1554", "I7N3G6G", "1554", 0, "no description", 60.2], ["1555", "I7N3G6G", "1555", 0, "no description", 60.2], ["1556", "I7N3G6G", "1556", 0, "no description", 60.2], ["1557", "I7N3G6G", "1557", 0, "no description", 60.2], ["1558", "I7N3G6G", "1558", 0, "no description", 60.2], ["1559", "I7N3G6G", "1559", 0, "no description", 60.2], ["1560", "I7N3G6G", "1560", 0, "no description", 60.2], ["1561", "I7N3G6G", "1561", 0, "no description", 60.2], ["1562", "I7N3G6G", "1562", 0, "no description", 60.2], ["1563", "I7N3G6G", "1563", 0, "no description", 60.2], ["1564", "I7N3G6G", "1564", 0, "no description", 60.2], ["1565", "I7N3G6G", "1565", 0, "no description", 60.2], ["1566", "I7N3G6G", "1566", 0, "no description", 60.2], ["1567", "I7N3G6G", "1567", 0, "no description", 60.2], ["1568", "I7N3G6G", "1568", 0, "no description", 60.2], ["1569", "I7N3G6G", "1569", 0, "no description", 60.2], ["1570", "I7N3G6G", "1570", 0, "no description", 60.2], ["1571", "I7N3G6G", "1571", 0, "no description", 60.2], ["1572", "I7N3G6G", "1572", 0, "no description", 60.2], ["1573", "I7N3G6G", "1573", 0, "no description", 60.2], ["1574", "I7N3G6G", "1574", 0, "no description", 60.2], ["1575", "I7N3G6G", "1575", 0, "no description", 60.2], ["1576", "I7N3G6G", "1576", 0, "no description", 60.2], ["1577", "I7N3G6G", "1577", 0, "no description", 60.2], ["1578", "I7N3G6G", "1578", 0, "no description", 60.2], ["1579", "I7N3G6G", "1579", 0, "no description", 60.2], ["1580", "I7N3G6G", "1580", 0, "no description", 60.2], ["1581", "I7N3G6G", "1581", 0, "no description", 60.2], ["1582", "I7N3G6G", "1582", 0, "no description", 60.2], ["1583", "I7N3G6G", "1583", 0, "no description", 60.2], ["1584", "I7N3G6G", "1584", 0, "no description", 60.2], ["1585", "I7N3G6G", "1585", 0, "no description", 60.2], ["1586", "I7N3G6G", "1586", 0, "no description", 60.2], ["1587", "I7N3G6G", "1587", 0, "no description", 60.2], ["1588", "I7N3G6G", "1588", 0, "no description", 60.2], ["1589", "I7N3G6G", "1589", 0, "no description", 60.2], ["1590", "I7N3G6G", "1590", 0, "no description", 60.2], ["1591", "I7N3G6G", "1591", 0, "no description", 60.2], ["1592", "I7N3G6G", "1592", 0, "no description", 60.2], ["1593", "I7N3G6G", "1593", 0, "no description", 60.2], ["1594", "I7N3G6G", "1594", 0, "no description", 60.2], ["1595", "I7N3G6G", "1595", 0, "no description", 60.2], ["1596", "I7N3G6G", "1596", 0, "no description", 60.2], ["1597", "I7N3G6G", "1597", 0, "no description", 60.2], ["1598", "I7N3G6G", "1598", 0, "no description", 60.2], ["1599", "I7N3G6G", "1599", 0, "no description", 60.2], ["1600", "I7N3G6G", "1600", 0, "no description", 60.2], ["1601", "I7N3G6G", "1601", 0, "no description", 60.2], ["1602", "I7N3G6G", "1602", 0, "no description", 60.2], ["1603", "I7N3G6G", "1603", 0, "no description", 60.2], ["1604", "I7N3G6G", "1604", 0, "no description", 60.2], ["1605", "I7N3G6G", "1605", 0, "no description", 60.2], ["1606", "I7N3G6G", "1606", 0, "no description", 60.2], ["1607", "I7N3G6G", "1607", 0, "no description", 60.2], ["1608", "I7N3G6G", "1608", 0, "no description", 60.2], ["1609", "I7N3G6G", "1609", 0, "no description", 60.2], ["1610", "I7N3G6G", "1610", 0, "no description", 60.2], ["1611", "I7N3G6G", "1611", 0, "no description", 60.2], ["1612", "I7N3G6G", "1612", 0, "no description", 60.2], ["1613", "I7N3G6G", "1613", 0, "no description", 60.2], ["1614", "I7N3G6G", "1614", 0, "no description", 60.2], ["1615", "I7N3G6G", "1615", 0, "no description", 60.2], ["1616", "I7N3G6G", "1616", 0, "no description", 60.2], ["1617", "I7N3G6G", "1617", 0, "no description", 60.2], ["1618", "I7N3G6G", "1618", 0, "no description", 60.2], ["1619", "I7N3G6G", "1619", 0, "no description", 60.2], ["1620", "I7N3G6G", "1620", 0, "no description", 60.2], ["1621", "I7N3G6G", "1621", 0, "no description", 60.2], ["1622", "I7N3G6G", "1622", 0, "no description", 60.2], ["1623", "I7N3G6G", "1623", 0, "no description", 60.2], ["1624", "I7N3G6G", "1624", 0, "no description", 60.2], ["1625", "I7N3G6G", "1625", 0, "no description", 60.2], ["1626", "I7N3G6G", "1626", 0, "no description", 60.2], ["1627", "I7N3G6G", "1627", 0, "no description", 60.2], ["1628", "I7N3G6G", "1628", 0, "no description", 60.2], ["1629", "I7N3G6G", "1629", 0, "no description", 60.2], ["1630", "I7N3G6G", "1630", 0, "no description", 60.2], ["1631", "I7N3G6G", "1631", 0, "no description", 60.2], ["1632", "I7N3G6G", "1632", 0, "no description", 60.2], ["1633", "I7N3G6G", "1633", 0, "no description", 60.2], ["1634", "I7N3G6G", "1634", 0, "no description", 60.2], ["1635", "I7N3G6G", "1635", 0, "no description", 60.2], ["1636", "I7N3G6G", "1636", 0, "no description", 60.2], ["1637", "I7N3G6G", "1637", 0, "no description", 60.2], ["1638", "I7N3G6G", "1638", 0, "no description", 60.2], ["1639", "I7N3G6G", "1639", 0, "no description", 60.2], ["1640", "I7N3G6G", "1640", 0, "no description", 60.2], ["1641", "I7N3G6G", "1641", 0, "no description", 60.2], ["1642", "I7N3G6G", "1642", 0, "no description", 60.2], ["1643", "I7N3G6G", "1643", 0, "no description", 60.2], ["1644", "I7N3G6G", "1644", 0, "no description", 60.2], ["1645", "I7N3G6G", "1645", 0, "no description", 60.2], ["1646", "I7N3G6G", "1646", 0, "no description", 60.2], ["1647", "I7N3G6G", "1647", 0, "no description", 60.2], ["1648", "I7N3G6G", "1648", 0, "no description", 60.2], ["1649", "I7N3G6G", "1649", 0, "no description", 60.2], ["1650", "I7N3G6G", "1650", 0, "no description", 60.2], ["1651", "I7N3G6G", "1651", 0, "no description", 60.2], ["1652", "I7N3G6G", "1652", 0, "no description", 60.2], ["1653", "I7N3G6G", "1653", 0, "no description", 60.2], ["1654", "I7N3G6G", "1654", 0, "no description", 60.2], ["1655", "I7N3G6G", "1655", 0, "no description", 60.2], ["1656", "I7N3G6G", "1656", 0, "no description", 60.2], ["1657", "I7N3G6G", "1657", 0, "no description", 60.2], ["1658", "I7N3G6G", "1658", 0, "no description", 60.2], ["1659", "I7N3G6G", "1659", 0, "no description", 60.2], ["1660", "I7N3G6G", "1660", 0, "no description", 60.2], ["1661", "I7N3G6G", "1661", 0, "no description", 60.2], ["1662", "I7N3G6G", "1662", 0, "no description", 60.2], ["1663", "I7N3G6G", "1663", 0, "no description", 60.2], ["1664", "I7N3G6G", "1664", 0, "no description", 60.2], ["1665", "I7N3G6G", "1665", 0, "no description", 60.2], ["1666", "I7N3G6G", "1666", 0, "no description", 60.2], ["1667", "I7N3G6G", "1667", 0, "no description", 60.2], ["1668", "I7N3G6G", "1668", 0, "no description", 60.2], ["1669", "I7N3G6G", "1669", 0, "no description", 60.2], ["1670", "I7N3G6G", "1670", 0, "no description", 60.2], ["1671", "I7N3G6G", "1671", 0, "no description", 60.2], ["1672", "I7N3G6G", "1672", 0, "no description", 60.2], ["1673", "I7N3G6G", "1673", 0, "no description", 60.2], ["1674", "I7N3G6G", "1674", 0, "no description", 60.2], ["1675", "I7N3G6G", "1675", 0, "no description", 60.2], ["1676", "I7N3G6G", "1676", 0, "no description", 60.2], ["1677", "I7N3G6G", "1677", 0, "no description", 60.2], ["1678", "I7N3G6G", "1678", 0, "no description", 60.2], ["1679", "I7N3G6G", "1679", 0, "no description", 60.2], ["1680", "I7N3G6G", "1680", 0, "no description", 60.2], ["1681", "I7N3G6G", "1681", 0, "no description", 60.2], ["1682", "I7N3G6G", "1682", 0, "no description", 60.2], ["1683", "I7N3G6G", "1683", 0, "no description", 60.2], ["1684", "I7N3G6G", "1684", 0, "no description", 60.2], ["1685", "I7N3G6G", "1685", 0, "no description", 60.2], ["1686", "I7N3G6G", "1686", 0, "no description", 60.2], ["1687", "I7N3G6G", "1687", 0, "no description", 60.2], ["1688", "I7N3G6G", "1688", 0, "no description", 60.2], ["1689", "I7N3G6G", "1689", 0, "no description", 60.2], ["1690", "I7N3G6G", "1690", 0, "no description", 60.2], ["1691", "I7N3G6G", "1691", 0, "no description", 60.2], ["1692", "I7N3G6G", "1692", 0, "no description", 60.2], ["1693", "I7N3G6G", "1693", 0, "no description", 60.2], ["1694", "I7N3G6G", "1694", 0, "no description", 60.2], ["1695", "I7N3G6G", "1695", 0, "no description", 60.2], ["1696", "I7N3G6G", "1696", 0, "no description", 60.2], ["1697", "I7N3G6G", "1697", 0, "no description", 60.2], ["1698", "I7N3G6G", "1698", 0, "no description", 60.2], ["1699", "I7N3G6G", "1699", 0, "no description", 60.2], ["1700", "I7N3G6G", "1700", 0, "no description", 60.2], ["1701", "I7N3G6G", "1701", 0, "no description", 60.2], ["1702", "I7N3G6G", "1702", 0, "no description", 60.2], ["1703", "I7N3G6G", "1703", 0, "no description", 60.2], ["1704", "I7N3G6G", "1704", 0, "no description", 60.2], ["1705", "I7N3G6G", "1705", 0, "no description", 60.2], ["1706", "I7N3G6G", "1706", 0, "no description", 60.2], ["1707", "I7N3G6G", "1707", 0, "no description", 60.2], ["1708", "I7N3G6G", "1708", 0, "no description", 60.2], ["1709", "I7N3G6G", "1709", 0, "no description", 60.2], ["1710", "I7N3G6G", "1710", 0, "no description", 60.2], ["1711", "I7N3G6G", "1711", 0, "no description", 60.2], ["1712", "I7N3G6G", "1712", 0, "no description", 60.2], ["1713", "I7N3G6G", "1713", 0, "no description", 60.2], ["1714", "I7N3G6G", "1714", 0, "no description", 60.2], ["1715", "I7N3G6G", "1715", 0, "no description", 60.2], ["1716", "I7N3G6G", "1716", 0, "no description", 60.2], ["1717", "I7N3G6G", "1717", 0, "no description", 60.2], ["1718", "I7N3G6G", "1718", 0, "no description", 60.2], ["1719", "I7N3G6G", "1719", 0, "no description", 60.2], ["1720", "I7N3G6G", "1720", 0, "no description", 60.2], ["1721", "I7N3G6G", "1721", 0, "no description", 60.2], ["1722", "I7N3G6G", "1722", 0, "no description", 60.2], ["1723", "I7N3G6G", "1723", 0, "no description", 60.2], ["1724", "I7N3G6G", "1724", 0, "no description", 60.2], ["1725", "I7N3G6G", "1725", 0, "no description", 60.2], ["1726", "I7N3G6G", "1726", 0, "no description", 60.2], ["1727", "I7N3G6G", "1727", 0, "no description", 60.2], ["1728", "I7N3G6G", "1728", 0, "no description", 60.2], ["1729", "I7N3G6G", "1729", 0, "no description", 60.2], ["1730", "I7N3G6G", "1730", 0, "no description", 60.2], ["1731", "I7N3G6G", "1731", 0, "no description", 60.2], ["1732", "I7N3G6G", "1732", 0, "no description", 60.2], ["1733", "I7N3G6G", "1733", 0, "no description", 60.2], ["1734", "I7N3G6G", "1734", 0, "no description", 60.2], ["1735", "I7N3G6G", "1735", 0, "no description", 60.2], ["1736", "I7N3G6G", "1736", 0, "no description", 60.2], ["1737", "I7N3G6G", "1737", 0, "no description", 60.2], ["1738", "I7N3G6G", "1738", 0, "no description", 60.2], ["1739", "I7N3G6G", "1739", 0, "no description", 60.2], ["1740", "I7N3G6G", "1740", 0, "no description", 60.2], ["1741", "I7N3G6G", "1741", 0, "no description", 60.2], ["1742", "I7N3G6G", "1742", 0, "no description", 60.2], ["1743", "I7N3G6G", "1743", 0, "no description", 60.2], ["1744", "I7N3G6G", "1744", 0, "no description", 60.2], ["1745", "I7N3G6G", "1745", 0, "no description", 60.2], ["1746", "I7N3G6G", "1746", 0, "no description", 60.2], ["1747", "I7N3G6G", "1747", 0, "no description", 60.2], ["1748", "I7N3G6G", "1748", 0, "no description", 60.2], ["1749", "I7N3G6G", "1749", 0, "no description", 60.2], ["1750", "I7N3G6G", "1750", 0, "no description", 60.2], ["1751", "I7N3G6G", "1751", 0, "no description", 60.2], ["1752", "I7N3G6G", "1752", 0, "no description", 60.2], ["1753", "I7N3G6G", "1753", 0, "no description", 60.2], ["1754", "I7N3G6G", "1754", 0, "no description", 60.2], ["1755", "I7N3G6G", "1755", 0, "no description", 60.2], ["1756", "I7N3G6G", "1756", 0, "no description", 60.2], ["1757", "I7N3G6G", "1757", 0, "no description", 60.2], ["1758", "I7N3G6G", "1758", 0, "no description", 60.2], ["1759", "I7N3G6G", "1759", 0, "no description", 60.2], ["1760", "I7N3G6G", "1760", 0, "no description", 60.2], ["1761", "I7N3G6G", "1761", 0, "no description", 60.2], ["1762", "I7N3G6G", "1762", 0, "no description", 60.2], ["1763", "I7N3G6G", "1763", 0, "no description", 60.2], ["1764", "I7N3G6G", "1764", 0, "no description", 60.2], ["1765", "I7N3G6G", "1765", 0, "no description", 60.2], ["1766", "I7N3G6G", "1766", 0, "no description", 60.2], ["1767", "I7N3G6G", "1767", 0, "no description", 60.2], ["1768", "I7N3G6G", "1768", 0, "no description", 60.2], ["1769", "I7N3G6G", "1769", 0, "no description", 60.2], ["1770", "I7N3G6G", "1770", 0, "no description", 60.2], ["1771", "I7N3G6G", "1771", 0, "no description", 60.2], ["1772", "I7N3G6G", "1772", 0, "no description", 60.2], ["1773", "I7N3G6G", "1773", 0, "no description", 60.2], ["1774", "I7N3G6G", "1774", 0, "no description", 60.2], ["1775", "I7N3G6G", "1775", 0, "no description", 60.2], ["1776", "I7N3G6G", "1776", 0, "no description", 60.2], ["1777", "I7N3G6G", "1777", 0, "no description", 60.2], ["1778", "I7N3G6G", "1778", 0, "no description", 60.2], ["1779", "I7N3G6G", "1779", 0, "no description", 60.2], ["1780", "I7N3G6G", "1780", 0, "no description", 60.2], ["1781", "I7N3G6G", "1781", 0, "no description", 60.2], ["1782", "I7N3G6G", "1782", 0, "no description", 60.2], ["1783", "I7N3G6G", "1783", 0, "no description", 60.2], ["1784", "I7N3G6G", "1784", 0, "no description", 60.2], ["1785", "I7N3G6G", "1785", 0, "no description", 60.2], ["1786", "I7N3G6G", "1786", 0, "no description", 60.2], ["1787", "I7N3G6G", "1787", 0, "no description", 60.2], ["1788", "I7N3G6G", "1788", 0, "no description", 60.2], ["1789", "I7N3G6G", "1789", 0, "no description", 60.2], ["1790", "I7N3G6G", "1790", 0, "no description", 60.2], ["1791", "I7N3G6G", "1791", 0, "no description", 60.2], ["1792", "I7N3G6G", "1792", 0, "no description", 60.2], ["1793", "I7N3G6G", "1793", 0, "no description", 60.2], ["1794", "I7N3G6G", "1794", 0, "no description", 60.2], ["1795", "I7N3G6G", "1795", 0, "no description", 60.2], ["1796", "I7N3G6G", "1796", 0, "no description", 60.2], ["1797", "I7N3G6G", "1797", 0, "no description", 60.2], ["1798", "I7N3G6G", "1798", 0, "no description", 60.2], ["1799", "I7N3G6G", "1799", 0, "no description", 60.2], ["1800", "I7N3G6G", "1800", 0, "no description", 60.2], ["1801", "I7N3G6G", "1801", 0, "no description", 60.2], ["1802", "I7N3G6G", "1802", 0, "no description", 60.2], ["1803", "I7N3G6G", "1803", 0, "no description", 60.2], ["1804", "I7N3G6G", "1804", 0, "no description", 60.2], ["1805", "I7N3G6G", "1805", 0, "no description", 60.2], ["1806", "I7N3G6G", "1806", 0, "no description", 60.2], ["1807", "I7N3G6G", "1807", 0, "no description", 60.2], ["1808", "I7N3G6G", "1808", 0, "no description", 60.2], ["1809", "I7N3G6G", "1809", 0, "no description", 60.2], ["1810", "I7N3G6G", "1810", 0, "no description", 60.2], ["1811", "I7N3G6G", "1811", 0, "no description", 60.2], ["1812", "I7N3G6G", "1812", 0, "no description", 60.2], ["1813", "I7N3G6G", "1813", 0, "no description", 60.2], ["1814", "I7N3G6G", "1814", 0, "no description", 60.2], ["1815", "I7N3G6G", "1815", 0, "no description", 60.2], ["1816", "I7N3G6G", "1816", 0, "no description", 60.2], ["1817", "I7N3G6G", "1817", 0, "no description", 60.2], ["1818", "I7N3G6G", "1818", 0, "no description", 60.2], ["1819", "I7N3G6G", "1819", 0, "no description", 60.2], ["1820", "I7N3G6G", "1820", 0, "no description", 60.2], ["1821", "I7N3G6G", "1821", 0, "no description", 60.2], ["1822", "I7N3G6G", "1822", 0, "no description", 60.2], ["1823", "I7N3G6G", "1823", 0, "no description", 60.2], ["1824", "I7N3G6G", "1824", 0, "no description", 60.2], ["1825", "I7N3G6G", "1825", 0, "no description", 60.2], ["1826", "I7N3G6G", "1826", 0, "no description", 60.2], ["1827", "I7N3G6G", "1827", 0, "no description", 60.2], ["1828", "I7N3G6G", "1828", 0, "no description", 60.2], ["1829", "I7N3G6G", "1829", 0, "no description", 60.2], ["1830", "I7N3G6G", "1830", 0, "no description", 60.2], ["1831", "I7N3G6G", "1831", 0, "no description", 60.2], ["1832", "I7N3G6G", "1832", 0, "no description", 60.2], ["1833", "I7N3G6G", "1833", 0, "no description", 60.2], ["1834", "I7N3G6G", "1834", 0, "no description", 60.2], ["1835", "I7N3G6G", "1835", 0, "no description", 60.2], ["1836", "I7N3G6G", "1836", 0, "no description", 60.2], ["1837", "I7N3G6G", "1837", 0, "no description", 60.2], ["1838", "I7N3G6G", "1838", 0, "no description", 60.2], ["1839", "I7N3G6G", "1839", 0, "no description", 60.2], ["1840", "I7N3G6G", "1840", 0, "no description", 60.2], ["1841", "I7N3G6G", "1841", 0, "no description", 60.2], ["1842", "I7N3G6G", "1842", 0, "no description", 60.2], ["1843", "I7N3G6G", "1843", 0, "no description", 60.2], ["1844", "I7N3G6G", "1844", 0, "no description", 60.2], ["1845", "I7N3G6G", "1845", 0, "no description", 60.2], ["1846", "I7N3G6G", "1846", 0, "no description", 60.2], ["1847", "I7N3G6G", "1847", 0, "no description", 60.2], ["1848", "I7N3G6G", "1848", 0, "no description", 60.2], ["1849", "I7N3G6G", "1849", 0, "no description", 60.2], ["1850", "I7N3G6G", "1850", 0, "no description", 60.2], ["1851", "I7N3G6G", "1851", 0, "no description", 60.2], ["1852", "I7N3G6G", "1852", 0, "no description", 60.2], ["1853", "I7N3G6G", "1853", 0, "no description", 60.2], ["1854", "I7N3G6G", "1854", 0, "no description", 60.2], ["1855", "I7N3G6G", "1855", 0, "no description", 60.2], ["1856", "I7N3G6G", "1856", 0, "no description", 60.2], ["1857", "I7N3G6G", "1857", 0, "no description", 60.2], ["1858", "I7N3G6G", "1858", 0, "no description", 60.2], ["1859", "I7N3G6G", "1859", 0, "no description", 60.2], ["1860", "I7N3G6G", "1860", 0, "no description", 60.2], ["1861", "I7N3G6G", "1861", 0, "no description", 60.2], ["1862", "I7N3G6G", "1862", 0, "no description", 60.2], ["1863", "I7N3G6G", "1863", 0, "no description", 60.2], ["1864", "I7N3G6G", "1864", 0, "no description", 60.2], ["1865", "I7N3G6G", "1865", 0, "no description", 60.2], ["1866", "I7N3G6G", "1866", 0, "no description", 60.2], ["1867", "I7N3G6G", "1867", 0, "no description", 60.2], ["1868", "I7N3G6G", "1868", 0, "no description", 60.2], ["1869", "I7N3G6G", "1869", 0, "no description", 60.2], ["1870", "I7N3G6G", "1870", 0, "no description", 60.2], ["1871", "I7N3G6G", "1871", 0, "no description", 60.2], ["1872", "I7N3G6G", "1872", 0, "no description", 60.2], ["1873", "I7N3G6G", "1873", 0, "no description", 60.2], ["1874", "I7N3G6G", "1874", 0, "no description", 60.2], ["1875", "I7N3G6G", "1875", 0, "no description", 60.2], ["1876", "I7N3G6G", "1876", 0, "no description", 60.2], ["1877", "I7N3G6G", "1877", 0, "no description", 60.2], ["1878", "I7N3G6G", "1878", 0, "no description", 60.2], ["1879", "I7N3G6G", "1879", 0, "no description", 60.2], ["1880", "I7N3G6G", "1880", 0, "no description", 60.2], ["1881", "I7N3G6G", "1881", 0, "no description", 60.2], ["1882", "I7N3G6G", "1882", 0, "no description", 60.2], ["1883", "I7N3G6G", "1883", 0, "no description", 60.2], ["1884", "I7N3G6G", "1884", 0, "no description", 60.2], ["1885", "I7N3G6G", "1885", 0, "no description", 60.2], ["1886", "I7N3G6G", "1886", 0, "no description", 60.2], ["1887", "I7N3G6G", "1887", 0, "no description", 60.2], ["1888", "I7N3G6G", "1888", 0, "no description", 60.2], ["1889", "I7N3G6G", "1889", 0, "no description", 60.2], ["1890", "I7N3G6G", "1890", 0, "no description", 60.2], ["1891", "I7N3G6G", "1891", 0, "no description", 60.2], ["1892", "I7N3G6G", "1892", 0, "no description", 60.2], ["1893", "I7N3G6G", "1893", 0, "no description", 60.2], ["1894", "I7N3G6G", "1894", 0, "no description", 60.2], ["1895", "I7N3G6G", "1895", 0, "no description", 60.2], ["1896", "I7N3G6G", "1896", 0, "no description", 60.2], ["1897", "I7N3G6G", "1897", 0, "no description", 60.2], ["1898", "I7N3G6G", "1898", 0, "no description", 60.2], ["1899", "I7N3G6G", "1899", 0, "no description", 60.2], ["1900", "I7N3G6G", "1900", 0, "no description", 60.2], ["1901", "I7N3G6G", "1901", 0, "no description", 60.2], ["1902", "I7N3G6G", "1902", 0, "no description", 60.2], ["1903", "I7N3G6G", "1903", 0, "no description", 60.2], ["1904", "I7N3G6G", "1904", 0, "no description", 60.2], ["1905", "I7N3G6G", "1905", 0, "no description", 60.2], ["1906", "I7N3G6G", "1906", 0, "no description", 60.2], ["1907", "I7N3G6G", "1907", 0, "no description", 60.2], ["1908", "I7N3G6G", "1908", 0, "no description", 60.2], ["1909", "I7N3G6G", "1909", 0, "no description", 60.2], ["1910", "I7N3G6G", "1910", 0, "no description", 60.2], ["1911", "I7N3G6G", "1911", 0, "no description", 60.2], ["1912", "I7N3G6G", "1912", 0, "no description", 60.2], ["1913", "I7N3G6G", "1913", 0, "no description", 60.2], ["1914", "I7N3G6G", "1914", 0, "no description", 60.2], ["1915", "I7N3G6G", "1915", 0, "no description", 60.2], ["1916", "I7N3G6G", "1916", 0, "no description", 60.2], ["1917", "I7N3G6G", "1917", 0, "no description", 60.2], ["1918", "I7N3G6G", "1918", 0, "no description", 60.2], ["1919", "I7N3G6G", "1919", 0, "no description", 60.2], ["1920", "I7N3G6G", "1920", 0, "no description", 60.2], ["1921", "I7N3G6G", "1921", 0, "no description", 60.2], ["1922", "I7N3G6G", "1922", 0, "no description", 60.2], ["1923", "I7N3G6G", "1923", 0, "no description", 60.2], ["1924", "I7N3G6G", "1924", 0, "no description", 60.2], ["1925", "I7N3G6G", "1925", 0, "no description", 60.2], ["1926", "I7N3G6G", "1926", 0, "no description", 60.2], ["1927", "I7N3G6G", "1927", 0, "no description", 60.2], ["1928", "I7N3G6G", "1928", 0, "no description", 60.2], ["1929", "I7N3G6G", "1929", 0, "no description", 60.2], ["1930", "I7N3G6G", "1930", 0, "no description", 60.2], ["1931", "I7N3G6G", "1931", 0, "no description", 60.2], ["1932", "I7N3G6G", "1932", 0, "no description", 60.2], ["1933", "I7N3G6G", "1933", 0, "no description", 60.2], ["1934", "I7N3G6G", "1934", 0, "no description", 60.2], ["1935", "I7N3G6G", "1935", 0, "no description", 60.2], ["1936", "I7N3G6G", "1936", 0, "no description", 60.2], ["1937", "I7N3G6G", "1937", 0, "no description", 60.2], ["1938", "I7N3G6G", "1938", 0, "no description", 60.2], ["1939", "I7N3G6G", "1939", 0, "no description", 60.2], ["1940", "I7N3G6G", "1940", 0, "no description", 60.2], ["1941", "I7N3G6G", "1941", 0, "no description", 60.2], ["1942", "I7N3G6G", "1942", 0, "no description", 60.2], ["1943", "I7N3G6G", "1943", 0, "no description", 60.2], ["1944", "I7N3G6G", "1944", 0, "no description", 60.2], ["1945", "I7N3G6G", "1945", 0, "no description", 60.2], ["1946", "I7N3G6G", "1946", 0, "no description", 60.2], ["1947", "I7N3G6G", "1947", 0, "no description", 60.2], ["1948", "I7N3G6G", "1948", 0, "no description", 60.2], ["1949", "I7N3G6G", "1949", 0, "no description", 60.2], ["1950", "I7N3G6G", "1950", 0, "no description", 60.2], ["1951", "I7N3G6G", "1951", 0, "no description", 60.2], ["1952", "I7N3G6G", "1952", 0, "no description", 60.2], ["1953", "I7N3G6G", "1953", 0, "no description", 60.2], ["1954", "I7N3G6G", "1954", 0, "no description", 60.2], ["1955", "I7N3G6G", "1955", 0, "no description", 60.2], ["1956", "I7N3G6G", "1956", 0, "no description", 60.2], ["1957", "I7N3G6G", "1957", 0, "no description", 60.2], ["1958", "I7N3G6G", "1958", 0, "no description", 60.2], ["1959", "I7N3G6G", "1959", 0, "no description", 60.2], ["1960", "I7N3G6G", "1960", 0, "no description", 60.2], ["1961", "I7N3G6G", "1961", 0, "no description", 60.2], ["1962", "I7N3G6G", "1962", 0, "no description", 60.2], ["1963", "I7N3G6G", "1963", 0, "no description", 60.2], ["1964", "I7N3G6G", "1964", 0, "no description", 60.2], ["1965", "I7N3G6G", "1965", 0, "no description", 60.2], ["1966", "I7N3G6G", "1966", 0, "no description", 60.2], ["1967", "I7N3G6G", "1967", 0, "no description", 60.2], ["1968", "I7N3G6G", "1968", 0, "no description", 60.2], ["1969", "I7N3G6G", "1969", 0, "no description", 60.2], ["1970", "I7N3G6G", "1970", 0, "no description", 60.2], ["1971", "I7N3G6G", "1971", 0, "no description", 60.2], ["1972", "I7N3G6G", "1972", 0, "no description", 60.2], ["1973", "I7N3G6G", "1973", 0, "no description", 60.2], ["1974", "I7N3G6G", "1974", 0, "no description", 60.2], ["1975", "I7N3G6G", "1975", 0, "no description", 60.2], ["1976", "I7N3G6G", "1976", 0, "no description", 60.2], ["1977", "I7N3G6G", "1977", 0, "no description", 60.2], ["1978", "I7N3G6G", "1978", 0, "no description", 60.2], ["1979", "I7N3G6G", "1979", 0, "no description", 60.2], ["1980", "I7N3G6G", "1980", 0, "no description", 60.2], ["1981", "I7N3G6G", "1981", 0, "no description", 60.2], ["1982", "I7N3G6G", "1982", 0, "no description", 60.2], ["1983", "I7N3G6G", "1983", 0, "no description", 60.2], ["1984", "I7N3G6G", "1984", 0, "no description", 60.2], ["1985", "I7N3G6G", "1985", 0, "no description", 60.2], ["1986", "I7N3G6G", "1986", 0, "no description", 60.2], ["1987", "I7N3G6G", "1987", 0, "no description", 60.2], ["1988", "I7N3G6G", "1988", 0, "no description", 60.2], ["1989", "I7N3G6G", "1989", 0, "no description", 60.2], ["1990", "I7N3G6G", "1990", 0, "no description", 60.2], ["1991", "I7N3G6G", "1991", 0, "no description", 60.2], ["1992", "I7N3G6G", "1992", 0, "no description", 60.2], ["1993", "I7N3G6G", "1993", 0, "no description", 60.2], ["1994", "I7N3G6G", "1994", 0, "no description", 60.2], ["1995", "I7N3G6G", "1995", 0, "no description", 60.2], ["1996", "I7N3G6G", "1996", 0, "no description", 60.2], ["1997", "I7N3G6G", "1997", 0, "no description", 60.2], ["1998", "I7N3G6G", "1998", 0, "no description", 60.2], ["1999", "I7N3G6G", "1999", 0, "no description", 60.2], ["2000", "I7N3G6G", "2000", 0, "no description", 60.2], ["2001", "I7N3G6G", "2001", 0, "no description", 60.2], ["2002", "I7N3G6G", "2002", 0, "no description", 60.2], ["2003", "I7N3G6G", "2003", 0, "no description", 60.2], ["2004", "I7N3G6G", "2004", 0, "no description", 60.2], ["2005", "I7N3G6G", "2005", 0, "no description", 60.2], ["2006", "I7N3G6G", "2006", 0, "no description", 60.2], ["2007", "I7N3G6G", "2007", 0, "no description", 60.2], ["2008", "I7N3G6G", "2008", 0, "no description", 60.2], ["2009", "I7N3G6G", "2009", 0, "no description", 60.2], ["2010", "I7N3G6G", "2010", 0, "no description", 60.2], ["2011", "I7N3G6G", "2011", 0, "no description", 60.2], ["2012", "I7N3G6G", "2012", 0, "no description", 60.2], ["2013", "I7N3G6G", "2013", 0, "no description", 60.2], ["2014", "I7N3G6G", "2014", 0, "no description", 60.2], ["2015", "I7N3G6G", "2015", 0, "no description", 60.2], ["2016", "I7N3G6G", "2016", 0, "no description", 60.2], ["2017", "I7N3G6G", "2017", 0, "no description", 60.2], ["2018", "I7N3G6G", "2018", 0, "no description", 60.2], ["2019", "I7N3G6G", "2019", 0, "no description", 60.2], ["2020", "I7N3G6G", "2020", 0, "no description", 60.2], ["2021", "I7N3G6G", "2021", 0, "no description", 60.2], ["2022", "I7N3G6G", "2022", 0, "no description", 60.2], ["2023", "I7N3G6G", "2023", 0, "no description", 60.2], ["2024", "I7N3G6G", "2024", 0, "no description", 60.2], ["2025", "I7N3G6G", "2025", 0, "no description", 60.2], ["2026", "I7N3G6G", "2026", 0, "no description", 60.2], ["2027", "I7N3G6G", "2027", 0, "no description", 60.2], ["2028", "I7N3G6G", "2028", 0, "no description", 60.2], ["2029", "I7N3G6G", "2029", 0, "no description", 60.2], ["2030", "I7N3G6G", "2030", 0, "no description", 60.2], ["2031", "I7N3G6G", "2031", 0, "no description", 60.2], ["2032", "I7N3G6G", "2032", 0, "no description", 60.2], ["2033", "I7N3G6G", "2033", 0, "no description", 60.2], ["2034", "I7N3G6G", "2034", 0, "no description", 60.2], ["2035", "I7N3G6G", "2035", 0, "no description", 60.2], ["2036", "I7N3G6G", "2036", 0, "no description", 60.2], ["2037", "I7N3G6G", "2037", 0, "no description", 60.2], ["2038", "I7N3G6G", "2038", 0, "no description", 60.2], ["2039", "I7N3G6G", "2039", 0, "no description", 60.2], ["2040", "I7N3G6G", "2040", 0, "no description", 60.2], ["2041", "I7N3G6G", "2041", 0, "no description", 60.2], ["2042", "I7N3G6G", "2042", 0, "no description", 60.2], ["2043", "I7N3G6G", "2043", 0, "no description", 60.2], ["2044", "I7N3G6G", "2044", 0, "no description", 60.2], ["2045", "I7N3G6G", "2045", 0, "no description", 60.2], ["2046", "I7N3G6G", "2046", 0, "no description", 60.2], ["2047", "I7N3G6G", "2047", 0, "no description", 60.2], ["2048", "I7N3G6G", "2048", 0, "no description", 60.2], ["2049", "I7N3G6G", "2049", 0, "no description", 60.2], ["2050", "I7N3G6G", "2050", 0, "no description", 60.2], ["2051", "I7N3G6G", "2051", 0, "no description", 60.2], ["2052", "I7N3G6G", "2052", 0, "no description", 60.2], ["2053", "I7N3G6G", "2053", 0, "no description", 60.2], ["2054", "I7N3G6G", "2054", 0, "no description", 60.2], ["2055", "I7N3G6G", "2055", 0, "no description", 60.2], ["2056", "I7N3G6G", "2056", 0, "no description", 60.2], ["2057", "I7N3G6G", "2057", 0, "no description", 60.2], ["2058", "I7N3G6G", "2058", 0, "no description", 60.2], ["2059", "I7N3G6G", "2059", 0, "no description", 60.2], ["2060", "I7N3G6G", "2060", 0, "no description", 60.2], ["2061", "I7N3G6G", "2061", 0, "no description", 60.2], ["2062", "I7N3G6G", "2062", 0, "no description", 60.2], ["2063", "I7N3G6G", "2063", 0, "no description", 60.2], ["2064", "I7N3G6G", "2064", 0, "no description", 60.2], ["2065", "I7N3G6G", "2065", 0, "no description", 60.2], ["2066", "I7N3G6G", "2066", 0, "no description", 60.2], ["2067", "I7N3G6G", "2067", 0, "no description", 60.2], ["2068", "I7N3G6G", "2068", 0, "no description", 60.2], ["2069", "I7N3G6G", "2069", 0, "no description", 60.2], ["2070", "I7N3G6G", "2070", 0, "no description", 60.2], ["2071", "I7N3G6G", "2071", 0, "no description", 60.2], ["2072", "I7N3G6G", "2072", 0, "no description", 60.2], ["2073", "I7N3G6G", "2073", 0, "no description", 60.2], ["2074", "I7N3G6G", "2074", 0, "no description", 60.2], ["2075", "I7N3G6G", "2075", 0, "no description", 60.2], ["2076", "I7N3G6G", "2076", 0, "no description", 60.2], ["2077", "I7N3G6G", "2077", 0, "no description", 60.2], ["2078", "I7N3G6G", "2078", 0, "no description", 60.2], ["2079", "I7N3G6G", "2079", 0, "no description", 60.2], ["2080", "I7N3G6G", "2080", 0, "no description", 60.2], ["2081", "I7N3G6G", "2081", 0, "no description", 60.2], ["2082", "I7N3G6G", "2082", 0, "no description", 60.2], ["2083", "I7N3G6G", "2083", 0, "no description", 60.2], ["2084", "I7N3G6G", "2084", 0, "no description", 60.2], ["2085", "I7N3G6G", "2085", 0, "no description", 60.2], ["2086", "I7N3G6G", "2086", 0, "no description", 60.2], ["2087", "I7N3G6G", "2087", 0, "no description", 60.2], ["2088", "I7N3G6G", "2088", 0, "no description", 60.2], ["2089", "I7N3G6G", "2089", 0, "no description", 60.2], ["2090", "I7N3G6G", "2090", 0, "no description", 60.2], ["2091", "I7N3G6G", "2091", 0, "no description", 60.2], ["2092", "I7N3G6G", "2092", 0, "no description", 60.2], ["2093", "I7N3G6G", "2093", 0, "no description", 60.2], ["2094", "I7N3G6G", "2094", 0, "no description", 60.2], ["2095", "I7N3G6G", "2095", 0, "no description", 60.2], ["2096", "I7N3G6G", "2096", 0, "no description", 60.2], ["2097", "I7N3G6G", "2097", 0, "no description", 60.2], ["2098", "I7N3G6G", "2098", 0, "no description", 60.2], ["2099", "I7N3G6G", "2099", 0, "no description", 60.2], ["2100", "I7N3G6G", "2100", 0, "no description", 60.2], ["2101", "I7N3G6G", "2101", 0, "no description", 60.2], ["2102", "I7N3G6G", "2102", 0, "no description", 60.2], ["2103", "I7N3G6G", "2103", 0, "no description", 60.2], ["2104", "I7N3G6G", "2104", 0, "no description", 60.2], ["2105", "I7N3G6G", "2105", 0, "no description", 60.2], ["2106", "I7N3G6G", "2106", 0, "no description", 60.2], ["2107", "I7N3G6G", "2107", 0, "no description", 60.2], ["2108", "I7N3G6G", "2108", 0, "no description", 60.2], ["2109", "I7N3G6G", "2109", 0, "no description", 60.2], ["2110", "I7N3G6G", "2110", 0, "no description", 60.2], ["2111", "I7N3G6G", "2111", 0, "no description", 60.2], ["2112", "I7N3G6G", "2112", 0, "no description", 60.2], ["2113", "I7N3G6G", "2113", 0, "no description", 60.2], ["2114", "I7N3G6G", "2114", 0, "no description", 60.2], ["2115", "I7N3G6G", "2115", 0, "no description", 60.2], ["2116", "I7N3G6G", "2116", 0, "no description", 60.2], ["2117", "I7N3G6G", "2117", 0, "no description", 60.2], ["2118", "I7N3G6G", "2118", 0, "no description", 60.2], ["2119", "I7N3G6G", "2119", 0, "no description", 60.2], ["2120", "I7N3G6G", "2120", 0, "no description", 60.2], ["2121", "I7N3G6G", "2121", 0, "no description", 60.2], ["2122", "I7N3G6G", "2122", 0, "no description", 60.2], ["2123", "I7N3G6G", "2123", 0, "no description", 60.2], ["2124", "I7N3G6G", "2124", 0, "no description", 60.2], ["2125", "I7N3G6G", "2125", 0, "no description", 60.2], ["2126", "I7N3G6G", "2126", 0, "no description", 60.2], ["2127", "I7N3G6G", "2127", 0, "no description", 60.2], ["2128", "I7N3G6G", "2128", 0, "no description", 60.2], ["2129", "I7N3G6G", "2129", 0, "no description", 60.2], ["2130", "I7N3G6G", "2130", 0, "no description", 60.2], ["2131", "I7N3G6G", "2131", 0, "no description", 60.2], ["2132", "I7N3G6G", "2132", 0, "no description", 60.2], ["2133", "I7N3G6G", "2133", 0, "no description", 60.2], ["2134", "I7N3G6G", "2134", 0, "no description", 60.2], ["2135", "I7N3G6G", "2135", 0, "no description", 60.2], ["2136", "I7N3G6G", "2136", 0, "no description", 60.2], ["2137", "I7N3G6G", "2137", 0, "no description", 60.2], ["2138", "I7N3G6G", "2138", 0, "no description", 60.2], ["2139", "I7N3G6G", "2139", 0, "no description", 60.2], ["2140", "I7N3G6G", "2140", 0, "no description", 60.2], ["2141", "I7N3G6G", "2141", 0, "no description", 60.2], ["2142", "I7N3G6G", "2142", 0, "no description", 60.2], ["2143", "I7N3G6G", "2143", 0, "no description", 60.2], ["2144", "I7N3G6G", "2144", 0, "no description", 60.2], ["2145", "I7N3G6G", "2145", 0, "no description", 60.2], ["2146", "I7N3G6G", "2146", 0, "no description", 60.2], ["2147", "I7N3G6G", "2147", 0, "no description", 60.2], ["2148", "I7N3G6G", "2148", 0, "no description", 60.2], ["2149", "I7N3G6G", "2149", 0, "no description", 60.2], ["2150", "I7N3G6G", "2150", 0, "no description", 60.2], ["2151", "I7N3G6G", "2151", 0, "no description", 60.2], ["2152", "I7N3G6G", "2152", 0, "no description", 60.2], ["2153", "I7N3G6G", "2153", 0, "no description", 60.2], ["2154", "I7N3G6G", "2154", 0, "no description", 60.2], ["2155", "I7N3G6G", "2155", 0, "no description", 60.2], ["2156", "I7N3G6G", "2156", 0, "no description", 60.2], ["2157", "I7N3G6G", "2157", 0, "no description", 60.2], ["2158", "I7N3G6G", "2158", 0, "no description", 60.2], ["2159", "I7N3G6G", "2159", 0, "no description", 60.2], ["2160", "I7N3G6G", "2160", 0, "no description", 60.2], ["2161", "I7N3G6G", "2161", 0, "no description", 60.2], ["2162", "I7N3G6G", "2162", 0, "no description", 60.2], ["2163", "I7N3G6G", "2163", 0, "no description", 60.2], ["2164", "I7N3G6G", "2164", 0, "no description", 60.2], ["2165", "I7N3G6G", "2165", 0, "no description", 60.2], ["2166", "I7N3G6G", "2166", 0, "no description", 60.2], ["2167", "I7N3G6G", "2167", 0, "no description", 60.2], ["2168", "I7N3G6G", "2168", 0, "no description", 60.2], ["2169", "I7N3G6G", "2169", 0, "no description", 60.2], ["2170", "I7N3G6G", "2170", 0, "no description", 60.2], ["2171", "I7N3G6G", "2171", 0, "no description", 60.2], ["2172", "I7N3G6G", "2172", 0, "no description", 60.2], ["2173", "I7N3G6G", "2173", 0, "no description", 60.2], ["2174", "I7N3G6G", "2174", 0, "no description", 60.2], ["2175", "I7N3G6G", "2175", 0, "no description", 60.2], ["2176", "I7N3G6G", "2176", 0, "no description", 60.2], ["2177", "I7N3G6G", "2177", 0, "no description", 60.2], ["2178", "I7N3G6G", "2178", 0, "no description", 60.2], ["2179", "I7N3G6G", "2179", 0, "no description", 60.2], ["2180", "I7N3G6G", "2180", 0, "no description", 60.2], ["2181", "I7N3G6G", "2181", 0, "no description", 60.2], ["2182", "I7N3G6G", "2182", 0, "no description", 60.2], ["2183", "I7N3G6G", "2183", 0, "no description", 60.2], ["2184", "I7N3G6G", "2184", 0, "no description", 60.2], ["2185", "I7N3G6G", "2185", 0, "no description", 60.2], ["2186", "I7N3G6G", "2186", 0, "no description", 60.2], ["2187", "I7N3G6G", "2187", 0, "no description", 60.2], ["2188", "I7N3G6G", "2188", 0, "no description", 60.2], ["2189", "I7N3G6G", "2189", 0, "no description", 60.2], ["2190", "I7N3G6G", "2190", 0, "no description", 60.2], ["2191", "I7N3G6G", "2191", 0, "no description", 60.2], ["2192", "I7N3G6G", "2192", 0, "no description", 60.2], ["2193", "I7N3G6G", "2193", 0, "no description", 60.2], ["2194", "I7N3G6G", "2194", 0, "no description", 60.2], ["2195", "I7N3G6G", "2195", 0, "no description", 60.2], ["2196", "I7N3G6G", "2196", 0, "no description", 60.2], ["2197", "I7N3G6G", "2197", 0, "no description", 60.2], ["2198", "I7N3G6G", "2198", 0, "no description", 60.2], ["2199", "I7N3G6G", "2199", 0, "no description", 60.2], ["2200", "I7N3G6G", "2200", 0, "no description", 60.2], ["2201", "I7N3G6G", "2201", 0, "no description", 60.2], ["2202", "I7N3G6G", "2202", 0, "no description", 60.2], ["2203", "I7N3G6G", "2203", 0, "no description", 60.2], ["2204", "I7N3G6G", "2204", 0, "no description", 60.2], ["2205", "I7N3G6G", "2205", 0, "no description", 60.2], ["2206", "I7N3G6G", "2206", 0, "no description", 60.2], ["2207", "I7N3G6G", "2207", 0, "no description", 60.2], ["2208", "I7N3G6G", "2208", 0, "no description", 60.2], ["2209", "I7N3G6G", "2209", 0, "no description", 60.2], ["2210", "I7N3G6G", "2210", 0, "no description", 60.2], ["2211", "I7N3G6G", "2211", 0, "no description", 60.2], ["2212", "I7N3G6G", "2212", 0, "no description", 60.2], ["2213", "I7N3G6G", "2213", 0, "no description", 60.2], ["2214", "I7N3G6G", "2214", 0, "no description", 60.2], ["2215", "I7N3G6G", "2215", 0, "no description", 60.2], ["2216", "I7N3G6G", "2216", 0, "no description", 60.2], ["2217", "I7N3G6G", "2217", 0, "no description", 60.2], ["2218", "I7N3G6G", "2218", 0, "no description", 60.2], ["2219", "I7N3G6G", "2219", 0, "no description", 60.2], ["2220", "I7N3G6G", "2220", 0, "no description", 60.2], ["2221", "I7N3G6G", "2221", 0, "no description", 60.2], ["2222", "I7N3G6G", "2222", 0, "no description", 60.2], ["2223", "I7N3G6G", "2223", 0, "no description", 60.2], ["2224", "I7N3G6G", "2224", 0, "no description", 60.2], ["2225", "I7N3G6G", "2225", 0, "no description", 60.2], ["2226", "I7N3G6G", "2226", 0, "no description", 60.2]] \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/JSONCurator_error3.json b/packages/itmat-job-executor/test/testFiles/JSONCurator_error3.json deleted file mode 100644 index 96ba9a544..000000000 --- a/packages/itmat-job-executor/test/testFiles/JSONCurator_error3.json +++ /dev/null @@ -1 +0,0 @@ -[["ID", "SubjectID", "VisitID", "Sex", "Description", "Weight"], ["1", "I7N3G6G", "1", 0, "no description", 60.2], ["2", "I7N3G6G", "2", 0, "no description", 60.2], ["3", "I7N3G6G", "3", 0, "no description", 60.2], ["4", "I7N3G6G", "4", 0, "no description", 60.2], ["5", "I7N3G6G", "5", 0, "no description", 60.2], ["6", "I7N3G6G", "6", 0, "no description", 60.2], ["7", "I7N3G6G", "7", 0, "no description", 60.2], ["8", "I7N3G6G", "8", 0, "no description", 60.2], ["9", "I7N3G6G", "9", 0, "no description", 60.2], ["10", "I7N3G6G", "10", 0, "no description", 60.2], ["11", "I7N3G6G", "11", 0, "no description", 60.2], ["12", "I7N3G6G", "12", 0, "no description", 60.2], ["13", "I7N3G6G", "13", 0, "no description", 60.2], ["14", "I7N3G6G", "14", 0, "no description", 60.2], ["15", "I7N3G6G", "15", 0, "no description", 60.2], ["16", "I7N3G6G", "16", 0, "no description", 60.2], ["17", "I7N3G6G", "17", 0, "no description", 60.2], ["18", "I7N3G6G", "18", 0, "no description", 60.2], ["19", "I7N3G6G", "19", 0, "no description", 60.2], ["20", "I7N3G6G", "20", 0, "no description", 60.2], ["21", "I7N3G6G", "21", 0, "no description", 60.2], ["22", "I7N3G6G", "22", 0, "no description", 60.2], ["23", "I7N3G6G", "23", 0, "no description", 60.2], ["24", "I7N3G6G", "24", 0, "no description", 60.2], ["25", "I7N3G6G", "25", 0, "no description", 60.2], ["26", "I7N3G6G", "26", 0, "no description", 60.2], ["27", "I7N3G6G", "27", 0, "no description"], ["28", "I7N3G6G", "28", 0, "no description", 60.2], ["29", "I7N3G6G", "29", 0], ["30", "I7N3G6G", "30", 0, "no description", 60.2], ["31", "I7N3G6G", "31", 0, "no description", 60.2], ["32", "I7N3G6G", "32", 0, "no description", 60.2], ["33", "I7N3G6G", "33", 0, "no description", 60.2], ["34", "I7N3G6G", "34", 0, "no description", 60.2], ["35", "I7N3G6G", "35", 0, "no description", 60.2], ["36", "I7N3G6G", "36", 0, "no description", 60.2], ["37", "I7N3G6G", "37", 0, "no description", 60.2], ["38", "I7N3G6G", "38", 0, "no description", 60.2], ["39", "I7N3G6G", "39", 0, "no description", 60.2], ["40", "I7N3G6G", "40", 0, "no description", 60.2], ["41", "I7N3G6G", "41", 0, "no description", 60.2], ["42", "I7N3G6G", "42", 0, "no description", 60.2], ["43", "I7N3G6G", "43", 0, "no description", 60.2], ["44", "I7N3G6G", "44", 0, "no description", 60.2], ["45", "I7N3G6G", "45", 0, "no description", 60.2], ["46", "I7N3G6G", "46", 0, "no description", 60.2], ["47", "I7N3G6G", "47", 0, "no description", 60.2], ["48", "I7N3G6G", "48", 0, "no description", 60.2], ["49", "I7N3G6G", "49", 0, "no description", 60.2], ["50", "I7N3G6G", "50", 0, "no description", 60.2], ["51", "I7N3G6G", "51", 0, "no description", 60.2], ["52", "I7N3G6G", "52", 0, "no description", 60.2], ["53", "I7N3G6G", "53", 0, "no description", 60.2], ["54", "I7N3G6G", "54", 0, "no description", 60.2], ["55", "I7N3G6G", "55", 0, "no description", 60.2], ["56", "I7N3G6G", "56", 0, "no description", 60.2], ["57", "I7N3G6G", "57", 0, "no description", 60.2], ["58", "I7N3G6G", "58", 0, "no description", 60.2], ["59", "I7N3G6G", "59", 0, "no description", 60.2], ["60", "I7N3G6G", "60", 0, "no description", 60.2], ["61", "I7N3G6G", "61", 0, "no description", 60.2], ["62", "I7N3G6G", "62", 0, "no description", 60.2], ["63", "I7N3G6G", "63", 0, "no description", 60.2], ["64", "I7N3G6G", "64", 0, "no description", 60.2], ["65", "I7N3G6G", "65", 0, "no description", 60.2], ["66", "I7N3G6G", "66", 0, "no description", 60.2], ["67", "I7N3G6G", "67", 0, "no description", 60.2], ["68", "I7N3G6G", "68", 0, "no description", 60.2], ["69", "I7N3G6G", "69", 0, "no description", 60.2], ["70", "I7N3G6G", "70", 0, "no description", 60.2], ["71", "I7N3G6G", "71", 0, "no description", 60.2], ["72", "I7N3G6G", "72", 0, "no description", 60.2], ["73", "I7N3G6G", "73", 0, "no description", 60.2], ["74", "I7N3G6G", "74", 0, "no description", 60.2], ["75", "I7N3G6G", "75", 0, "no description", 60.2], ["76", "I7N3G6G", "76", 0, "no description", 60.2], ["77", "I7N3G6G", "77", 0, "no description", 60.2], ["78", "I7N3G6G", "78", 0, "no description", 60.2], ["79", "I7N3G6G", "79", 0, "no description", 60.2], ["80", "I7N3G6G", "80", 0, "no description", 60.2], ["81", "I7N3G6G", "81", 0, "no description", 60.2], ["82", "I7N3G6G", "82", 0, "no description", 60.2], ["83", "I7N3G6G", "83", 0, "no description", 60.2], ["84", "I7N3G6G", "84", 0, "no description", 60.2], ["85", "I7N3G6G", "85", 0, "no description", 60.2], ["86", "I7N3G6G", "86", 0, "no description", 60.2], ["87", "I7N3G6G", "87", 0, "no description", 60.2], ["88", "I7N3G6G", "88", 0, "no description", 60.2], ["89", "I7N3G6G", "89", 0, "no description", 60.2], ["90", "I7N3G6G", "90", 0, "no description", 60.2], ["91", "I7N3G6G", "91", 0, "no description", 60.2], ["92", "I7N3G6G", "92", 0, "no description", 60.2], ["93", "I7N3G6G", "93", 0, "no description", 60.2], ["94", "I7N3G6G", "94", 0, "no description", 60.2], ["95", "I7N3G6G", "95", 0, "no description", 60.2], ["96", "I7N3G6G", "96", 0, "no description", 60.2], ["97", "I7N3G6G", "97", 0, "no description", 60.2], ["98", "I7N3G6G", "98", 0, "no description", 60.2], ["99", "I7N3G6G", "99", 0, "no description", 60.2], ["100", "I7N3G6G", "100", 0, "no description", 60.2], ["101", "I7N3G6G", "101", 0, "no description", 60.2], ["102", "I7N3G6G", "102", 0, "no description", 60.2], ["103", "I7N3G6G", "103", 0, "no description", 60.2], ["104", "I7N3G6G", "104", 0, "no description", 60.2], ["105", "I7N3G6G", "105", 0, "no description", 60.2], ["106", "I7N3G6G", "106", 0, "no description", 60.2], ["107", "I7N3G6G", "107", 0, "no description", 60.2], ["108", "I7N3G6G", "108", 0, "no description", 60.2], ["109", "I7N3G6G", "109", 0, "no description", 60.2], ["110", "I7N3G6G", "110", 0, "no description", 60.2], ["111", "I7N3G6G", "111", 0, "no description", 60.2], ["112", "I7N3G6G", "112", 0, "no description", 60.2], ["113", "I7N3G6G", "113", 0, "no description", 60.2], ["114", "I7N3G6G", "114", 0, "no description", 60.2], ["115", "I7N3G6G", "115", 0, "no description", 60.2], ["116", "I7N3G6G", "116", 0, "no description", 60.2], ["117", "I7N3G6G", "117", 0, "no description", 60.2], ["118", "I7N3G6G", "118", 0, "no description", 60.2], ["119", "I7N3G6G", "119", 0, "no description", 60.2], ["120", "I7N3G6G", "120", 0, "no description", 60.2], ["121", "I7N3G6G", "121", 0, "no description", 60.2], ["122", "I7N3G6G", "122", 0, "no description", 60.2], ["123", "I7N3G6G", "123", 0, "no description", 60.2], ["124", "I7N3G6G", "124", 0, "no description", 60.2], ["125", "I7N3G6G", "125", 0, "no description", 60.2], ["126", "I7N3G6G", "126", 0, "no description", 60.2], ["127", "I7N3G6G", "127", 0, "no description", 60.2], ["128", "I7N3G6G", "128", 0, "no description", 60.2], ["129", "I7N3G6G", "129", 0, "no description", 60.2], ["130", "I7N3G6G", "130", 0, "no description", 60.2], ["131", "I7N3G6G", "131", 0, "no description", 60.2], ["132", "I7N3G6G", "132", 0, "no description", 60.2], ["133", "I7N3G6G", "133", 0, "no description", 60.2], ["134", "I7N3G6G", "134", 0, "no description", 60.2], ["135", "I7N3G6G", "135", 0, "no description", 60.2], ["136", "I7N3G6G", "136", 0, "no description", 60.2], ["137", "I7N3G6G", "137", 0, "no description", 60.2], ["138", "I7N3G6G", "138", 0, "no description", 60.2], ["139", "I7N3G6G", "139", 0, "no description", 60.2], ["140", "I7N3G6G", "140", 0, "no description", 60.2], ["141", "I7N3G6G", "141", 0, "no description", 60.2], ["142", "I7N3G6G", "142", 0, "no description", 60.2], ["143", "I7N3G6G", "143", 0, "no description", 60.2], ["144", "I7N3G6G", "144", 0, "no description", 60.2], ["145", "I7N3G6G", "145", 0, "no description", 60.2], ["146", "I7N3G6G", "146", 0, "no description", 60.2], ["147", "I7N3G6G", "147", 0, "no description", 60.2], ["148", "I7N3G6G", "148", 0, "no description", 60.2], ["149", "I7N3G6G", "149", 0, "no description", 60.2], ["150", "I7N3G6G", "150", 0, "no description", 60.2], ["151", "I7N3G6G", "151", 0, "no description", 60.2], ["152", "I7N3G6G", "152", 0, "no description", 60.2], ["153", "I7N3G6G", "153", 0, "no description", 60.2], ["154", "I7N3G6G", "154", 0, "no description", 60.2], ["155", "I7N3G6G", "155", 0, "no description", 60.2], ["156", "I7N3G6G", "156", 0, "no description", 60.2], ["157", "I7N3G6G", "157", 0, "no description", 60.2], ["158", "I7N3G6G", "158", 0, "no description", 60.2], ["159", "I7N3G6G", "159", 0, "no description", 60.2], ["160", "I7N3G6G", "160", 0, "no description", 60.2], ["161", "I7N3G6G", "161", 0, "no description", 60.2], ["162", "I7N3G6G", "162", 0, "no description", 60.2], ["163", "I7N3G6G", "163", 0, "no description", 60.2], ["164", "I7N3G6G", "164", 0, "no description", 60.2], ["165", "I7N3G6G", "165", 0, "no description", 60.2], ["166", "I7N3G6G", "166", 0, "no description", 60.2], ["167", "I7N3G6G", "167", 0, "no description", 60.2], ["168", "I7N3G6G", "168", 0, "no description", 60.2], ["169", "I7N3G6G", "169", 0, "no description", 60.2], ["170", "I7N3G6G", "170", 0, "no description", 60.2], ["171", "I7N3G6G", "171", 0, "no description", 60.2], ["172", "I7N3G6G", "172", 0, "no description", 60.2], ["173", "I7N3G6G", "173", 0, "no description", 60.2], ["174", "I7N3G6G", "174", 0, "no description", 60.2], ["175", "I7N3G6G", "175", 0, "no description", 60.2], ["176", "I7N3G6G", "176", 0, "no description", 60.2], ["177", "I7N3G6G", "177", 0, "no description", 60.2], ["178", "I7N3G6G", "178", 0, "no description", 60.2], ["179", "I7N3G6G", "179", 0, "no description", 60.2], ["180", "I7N3G6G", "180", 0, "no description", 60.2], ["181", "I7N3G6G", "181", 0, "no description", 60.2], ["182", "I7N3G6G", "182", 0, "no description", 60.2], ["183", "I7N3G6G", "183", 0, "no description", 60.2], ["184", "I7N3G6G", "184", 0, "no description", 60.2], ["185", "I7N3G6G", "185", 0, "no description", 60.2], ["186", "I7N3G6G", "186", 0, "no description", 60.2], ["187", "I7N3G6G", "187", 0, "no description", 60.2], ["188", "I7N3G6G", "188", 0, "no description", 60.2], ["189", "I7N3G6G", "189", 0, "no description", 60.2], ["190", "I7N3G6G", "190", 0, "no description", 60.2], ["191", "I7N3G6G", "191", 0, "no description", 60.2], ["192", "I7N3G6G", "192", 0, "no description", 60.2], ["193", "I7N3G6G", "193", 0, "no description", 60.2], ["194", "I7N3G6G", "194", 0, "no description", 60.2], ["195", "I7N3G6G", "195", 0, "no description", 60.2], ["196", "I7N3G6G", "196", 0, "no description", 60.2], ["197", "I7N3G6G", "197", 0, "no description", 60.2], ["198", "I7N3G6G", "198", 0, "no description", 60.2], ["199", "I7N3G6G", "199", 0, "no description", 60.2], ["200", "I7N3G6G", "200", 0, "no description", 60.2], ["201", "I7N3G6G", "201", 0, "no description", 60.2], ["202", "I7N3G6G", "202", 0, "no description", 60.2], ["203", "I7N3G6G", "203", 0, "no description", 60.2], ["204", "I7N3G6G", "204", 0, "no description", 60.2], ["205", "I7N3G6G", "205", 0, "no description", 60.2], ["206", "I7N3G6G", "206", 0, "no description", 60.2], ["207", "I7N3G6G", "207", 0, "no description", 60.2], ["208", "I7N3G6G", "208", 0, "no description", 60.2], ["209", "I7N3G6G", "209", 0, "no description", 60.2], ["210", "I7N3G6G", "210", 0, "no description", 60.2], ["211", "I7N3G6G", "211", 0, "no description", 60.2], ["212", "I7N3G6G", "212", 0, "no description", 60.2], ["213", "I7N3G6G", "213", 0, "no description", 60.2], ["214", "I7N3G6G", "214", 0, "no description", 60.2], ["215", "I7N3G6G", "215", 0, "no description", 60.2], ["216", "I7N3G6G", "216", 0, "no description", 60.2], ["217", "I7N3G6G", "217", 0, "no description", 60.2], ["218", "I7N3G6G", "218", 0, "no description", 60.2], ["219", "I7N3G6G", "219", 0, "no description", 60.2], ["220", "I7N3G6G", "220", 0, "no description", 60.2], ["221", "I7N3G6G", "221", 0, "no description", 60.2], ["222", "I7N3G6G", "222", 0, "no description", 60.2], ["223", "I7N3G6G", "223", 0, "no description", 60.2], ["224", "I7N3G6G", "224", 0, "no description", 60.2], ["225", "I7N3G6G", "225", 0, "no description", 60.2], ["226", "I7N3G6G", "226", 0, "no description", 60.2], ["227", "I7N3G6G", "227", 0, "no description", 60.2], ["228", "I7N3G6G", "228", 0, "no description", 60.2], ["229", "I7N3G6G", "229", 0, "no description", 60.2], ["230", "I7N3G6G", "230", 0, "no description", 60.2], ["231", "I7N3G6G", "231", 0, "no description", 60.2], ["232", "I7N3G6G", "232", 0, "no description", 60.2], ["233", "I7N3G6G", "233", 0, "no description", 60.2], ["234", "I7N3G6G", "234", 0, "no description", 60.2], ["235", "I7N3G6G", "235", 0, "no description", 60.2], ["236", "I7N3G6G", "236", 0, "no description", 60.2], ["237", "I7N3G6G", "237", 0, "no description", 60.2], ["238", "I7N3G6G", "238", 0, "no description", 60.2], ["239", "I7N3G6G", "239", 0, "no description", 60.2], ["240", "I7N3G6G", "240", 0, "no description", 60.2], ["241", "I7N3G6G", "241", 0, "no description", 60.2], ["242", "I7N3G6G", "242", 0, "no description", 60.2], ["243", "I7N3G6G", "243", 0, "no description", 60.2], ["244", "I7N3G6G", "244", 0, "no description", 60.2], ["245", "I7N3G6G", "245", 0, "no description", 60.2], ["246", "I7N3G6G", "246", 0, "no description", 60.2], ["247", "I7N3G6G", "247", 0, "no description", 60.2], ["248", "I7N3G6G", "248", 0, "no description", 60.2], ["249", "I7N3G6G", "249", 0, "no description", 60.2], ["250", "I7N3G6G", "250", 0, "no description", 60.2], ["251", "I7N3G6G", "251", 0, "no description", 60.2], ["252", "I7N3G6G", "252", 0, "no description", 60.2], ["253", "I7N3G6G", "253", 0, "no description", 60.2], ["254", "I7N3G6G", "254", 0, "no description", 60.2], ["255", "I7N3G6G", "255", 0, "no description", 60.2], ["256", "I7N3G6G", "256", 0, "no description", 60.2], ["257", "I7N3G6G", "257", 0, "no description", 60.2], ["258", "I7N3G6G", "258", 0, "no description", 60.2], ["259", "I7N3G6G", "259", 0, "no description", 60.2], ["260", "I7N3G6G", "260", 0, "no description", 60.2], ["261", "I7N3G6G", "261", 0, "no description", 60.2], ["262", "I7N3G6G", "262", 0, "no description", 60.2], ["263", "I7N3G6G", "263", 0, "no description", 60.2], ["264", "I7N3G6G", "264", 0, "no description", 60.2], ["265", "I7N3G6G", "265", 0, "no description", 60.2], ["266", "I7N3G6G", "266", 0, "no description", 60.2], ["267", "I7N3G6G", "267", 0, "no description", 60.2], ["268", "I7N3G6G", "268", 0, "no description", 60.2], ["269", "I7N3G6G", "269", 0, "no description", 60.2], ["270", "I7N3G6G", "270", 0, "no description", 60.2], ["271", "I7N3G6G", "271", 0, "no description", 60.2], ["272", "I7N3G6G", "272", 0, "no description", 60.2], ["273", "I7N3G6G", "273", 0, "no description", 60.2], ["274", "I7N3G6G", "274", 0, "no description", 60.2], ["275", "I7N3G6G", "275", 0, "no description", 60.2], ["276", "I7N3G6G", "276", 0, "no description", 60.2], ["277", "I7N3G6G", "277", 0, "no description", 60.2], ["278", "I7N3G6G", "278", 0, "no description", 60.2], ["279", "I7N3G6G", "279", 0, "no description", 60.2], ["280", "I7N3G6G", "280", 0, "no description", 60.2], ["281", "I7N3G6G", "281", 0, "no description", 60.2], ["282", "I7N3G6G", "282", 0, "no description", 60.2], ["283", "I7N3G6G", "283", 0, "no description", 60.2], ["284", "I7N3G6G", "284", 0, "no description", 60.2], ["285", "I7N3G6G", "285", 0, "no description", 60.2], ["286", "I7N3G6G", "286", 0, "no description", 60.2], ["287", "I7N3G6G", "287", 0, "no description", 60.2], ["288", "I7N3G6G", "288", 0, "no description", 60.2], ["289", "I7N3G6G", "289", 0, "no description", 60.2], ["290", "I7N3G6G", "290", 0, "no description", 60.2], ["291", "I7N3G6G", "291", 0, "no description", 60.2], ["292", "I7N3G6G", "292", 0, "no description", 60.2], ["293", "I7N3G6G", "293", 0, "no description", 60.2], ["294", "I7N3G6G", "294", 0, "no description", 60.2], ["295", "I7N3G6G", "295", 0, "no description", 60.2], ["296", "I7N3G6G", "296", 0, "no description", 60.2], ["297", "I7N3G6G", "297", 0, "no description", 60.2], ["298", "I7N3G6G", "298", 0, "no description", 60.2], ["299", "I7N3G6G", "299", 0, "no description", 60.2], ["300", "I7N3G6G", "300", 0, "no description", 60.2], ["301", "I7N3G6G", "301", 0, "no description", 60.2], ["302", "I7N3G6G", "302", 0, "no description", 60.2], ["303", "I7N3G6G", "303", 0, "no description", 60.2], ["304", "I7N3G6G", "304", 0, "no description", 60.2], ["305", "I7N3G6G", "305", 0, "no description", 60.2], ["306", "I7N3G6G", "306", 0, "no description", 60.2], ["307", "I7N3G6G", "307", 0, "no description", 60.2], ["308", "I7N3G6G", "308", 0, "no description", 60.2], ["309", "I7N3G6G", "309", 0, "no description", 60.2], ["310", "I7N3G6G", "310", 0, "no description", 60.2], ["311", "I7N3G6G", "311", 0, "no description", 60.2], ["312", "I7N3G6G", "312", 0, "no description", 60.2], ["313", "I7N3G6G", "313", 0, "no description", 60.2], ["314", "I7N3G6G", "314", 0, "no description", 60.2], ["315", "I7N3G6G", "315", 0, "no description", 60.2], ["316", "I7N3G6G", "316", 0, "no description", 60.2], ["317", "I7N3G6G", "317", 0, "no description", 60.2], ["318", "I7N3G6G", "318", 0, "no description", 60.2], ["319", "I7N3G6G", "319", 0, "no description", 60.2], ["320", "I7N3G6G", "320", 0, "no description", 60.2], ["321", "I7N3G6G", "321", 0, "no description", 60.2], ["322", "I7N3G6G", "322", 0, "no description", 60.2], ["323", "I7N3G6G", "323", 0, "no description", 60.2], ["324", "I7N3G6G", "324", 0, "no description", 60.2], ["325", "I7N3G6G", "325", 0, "no description", 60.2], ["326", "I7N3G6G", "326", 0, "no description", 60.2], ["327", "I7N3G6G", "327", 0, "no description", 60.2], ["328", "I7N3G6G", "328", 0, "no description", 60.2], ["329", "I7N3G6G", "329", 0, "no description", 60.2], ["330", "I7N3G6G", "330", 0, "no description", 60.2], ["331", "I7N3G6G", "331", 0, "no description", 60.2], ["332", "I7N3G6G", "332", 0, "no description", 60.2], ["333", "I7N3G6G", "333", 0, "no description", 60.2], ["334", "I7N3G6G", "334", 0, "no description", 60.2], ["335", "I7N3G6G", "335", 0, "no description", 60.2], ["336", "I7N3G6G", "336", 0, "no description", 60.2], ["337", "I7N3G6G", "337", 0, "no description", 60.2], ["338", "I7N3G6G", "338", 0, "no description", 60.2], ["339", "I7N3G6G", "339", 0, "no description", 60.2], ["340", "I7N3G6G", "340", 0, "no description", 60.2], ["341", "I7N3G6G", "341", 0, "no description", 60.2], ["342", "I7N3G6G", "342", 0, "no description", 60.2], ["343", "I7N3G6G", "343", 0, "no description", 60.2], ["344", "I7N3G6G", "344", 0, "no description", 60.2], ["345", "I7N3G6G", "345", 0, "no description", 60.2], ["346", "I7N3G6G", "346", 0, "no description", 60.2], ["347", "I7N3G6G", "347", 0, "no description", 60.2], ["348", "I7N3G6G", "348", 0, "no description", 60.2], ["349", "I7N3G6G", "349", 0, "no description", 60.2], ["350", "I7N3G6G", "350", 0, "no description", 60.2], ["351", "I7N3G6G", "351", 0, "no description", 60.2], ["352", "I7N3G6G", "352", 0, "no description", 60.2], ["353", "I7N3G6G", "353", 0, "no description", 60.2], ["354", "I7N3G6G", "354", 0, "no description", 60.2], ["355", "I7N3G6G", "355", 0, "no description", 60.2], ["356", "I7N3G6G", "356", 0, "no description", 60.2], ["357", "I7N3G6G", "357", 0, "no description", 60.2], ["358", "I7N3G6G", "358", 0, "no description", 60.2], ["359", "I7N3G6G", "359", 0, "no description", 60.2], ["360", "I7N3G6G", "360", 0, "no description", 60.2], ["361", "I7N3G6G", "361", 0, "no description", 60.2], ["362", "I7N3G6G", "362", 0, "no description", 60.2], ["363", "I7N3G6G", "363", 0, "no description", 60.2], ["364", "I7N3G6G", "364", 0, "no description", 60.2], ["365", "I7N3G6G", "365", 0, "no description", 60.2], ["366", "I7N3G6G", "366", 0, "no description", 60.2], ["367", "I7N3G6G", "367", 0, "no description", 60.2], ["368", "I7N3G6G", "368", 0, "no description", 60.2], ["369", "I7N3G6G", "369", 0, "no description", 60.2], ["370", "I7N3G6G", "370", 0, "no description", 60.2], ["371", "I7N3G6G", "371", 0, "no description", 60.2], ["372", "I7N3G6G", "372", 0, "no description", 60.2], ["373", "I7N3G6G", "373", 0, "no description", 60.2], ["374", "I7N3G6G", "374", 0, "no description", 60.2], ["375", "I7N3G6G", "375", 0, "no description", 60.2], ["376", "I7N3G6G", "376", 0, "no description", 60.2], ["377", "I7N3G6G", "377", 0, "no description", 60.2], ["378", "I7N3G6G", "378", 0, "no description", 60.2], ["379", "I7N3G6G", "379", 0, "no description", 60.2], ["380", "I7N3G6G", "380", 0, "no description", 60.2], ["381", "I7N3G6G", "381", 0, "no description", 60.2], ["382", "I7N3G6G", "382", 0, "no description", 60.2], ["383", "I7N3G6G", "383", 0, "no description", 60.2], ["384", "I7N3G6G", "384", 0, "no description", 60.2], ["385", "I7N3G6G", "385", 0, "no description", 60.2], ["386", "I7N3G6G", "386", 0, "no description", 60.2], ["387", "I7N3G6G", "387", 0, "no description", 60.2], ["388", "I7N3G6G", "388", 0, "no description", 60.2], ["389", "I7N3G6G", "389", 0, "no description", 60.2], ["390", "I7N3G6G", "390", 0, "no description", 60.2], ["391", "I7N3G6G", "391", 0, "no description", 60.2], ["392", "I7N3G6G", "392", 0, "no description", 60.2], ["393", "I7N3G6G", "393", 0, "no description", 60.2], ["394", "I7N3G6G", "394", 0, "no description", 60.2], ["395", "I7N3G6G", "395", 0, "no description", 60.2], ["396", "I7N3G6G", "396", 0, "no description", 60.2], ["397", "I7N3G6G", "397", 0, "no description", 60.2], ["398", "I7N3G6G", "398", 0, "no description", 60.2], ["399", "I7N3G6G", "399", 0, "no description", 60.2], ["400", "I7N3G6G", "400", 0, "no description", 60.2], ["401", "I7N3G6G", "401", 0, "no description", 60.2], ["402", "I7N3G6G", "402", 0, "no description", 60.2], ["403", "I7N3G6G", "403", 0, "no description", 60.2], ["404", "I7N3G6G", "404", 0, "no description", 60.2], ["405", "I7N3G6G", "405", 0, "no description", 60.2], ["406", "I7N3G6G", "406", 0, "no description", 60.2], ["407", "I7N3G6G", "407", 0, "no description", 60.2], ["408", "I7N3G6G", "408", 0, "no description", 60.2], ["409", "I7N3G6G", "409", 0, "no description", 60.2], ["410", "I7N3G6G", "410", 0, "no description", 60.2], ["411", "I7N3G6G", "411", 0, "no description", 60.2], ["412", "I7N3G6G", "412", 0, "no description", 60.2], ["413", "I7N3G6G", "413", 0, "no description", 60.2], ["414", "I7N3G6G", "414", 0, "no description", 60.2], ["415", "I7N3G6G", "415", 0, "no description", 60.2], ["416", "I7N3G6G", "416", 0, "no description", 60.2], ["417", "I7N3G6G", "417", 0, "no description", 60.2], ["418", "I7N3G6G", "418", 0, "no description", 60.2], ["419", "I7N3G6G", "419", 0, "no description", 60.2], ["420", "I7N3G6G", "420", 0, "no description", 60.2], ["421", "I7N3G6G", "421", 0, "no description", 60.2], ["422", "I7N3G6G", "422", 0, "no description", 60.2], ["423", "I7N3G6G", "423", 0, "no description", 60.2], ["424", "I7N3G6G", "424", 0, "no description", 60.2], ["425", "I7N3G6G", "425", 0, "no description", 60.2], ["426", "I7N3G6G", "426", 0, "no description", 60.2], ["427", "I7N3G6G", "427", 0, "no description", 60.2], ["428", "I7N3G6G", "428", 0, "no description", 60.2], ["429", "I7N3G6G", "429", 0, "no description", 60.2], ["430", "I7N3G6G", "430", 0, "no description", 60.2], ["431", "I7N3G6G", "431", 0, "no description", 60.2], ["432", "I7N3G6G", "432", 0, "no description", 60.2], ["433", "I7N3G6G", "433", 0, "no description", 60.2], ["434", "I7N3G6G", "434", 0, "no description", 60.2], ["435", "I7N3G6G", "435", 0, "no description", 60.2], ["436", "I7N3G6G", "436", 0, "no description", 60.2], ["437", "I7N3G6G", "437", 0, "no description", 60.2], ["438", "I7N3G6G", "438", 0, "no description", 60.2], ["439", "I7N3G6G", "439", 0, "no description", 60.2], ["440", "I7N3G6G", "440", 0, "no description", 60.2], ["441", "I7N3G6G", "441", 0, "no description", 60.2], ["442", "I7N3G6G", "442", 0, "no description", 60.2], ["443", "I7N3G6G", "443", 0, "no description", 60.2], ["444", "I7N3G6G", "444", 0, "no description", 60.2], ["445", "I7N3G6G", "445", 0, "no description", 60.2], ["446", "I7N3G6G", "446", 0, "no description", 60.2], ["447", "I7N3G6G", "447", 0, "no description", 60.2], ["448", "I7N3G6G", "448", 0, "no description", 60.2], ["449", "I7N3G6G", "449", 0, "no description", 60.2], ["450", "I7N3G6G", "450", 0, "no description", 60.2], ["451", "I7N3G6G", "451", 0, "no description", 60.2], ["452", "I7N3G6G", "452", 0, "no description", 60.2], ["453", "I7N3G6G", "453", 0, "no description", 60.2], ["454", "I7N3G6G", "454", 0, "no description", 60.2], ["455", "I7N3G6G", "455", 0, "no description", 60.2], ["456", "I7N3G6G", "456", 0, "no description", 60.2], ["457", "I7N3G6G", "457", 0, "no description", 60.2], ["458", "I7N3G6G", "458", 0, "no description", 60.2], ["459", "I7N3G6G", "459", 0, "no description", 60.2], ["460", "I7N3G6G", "460", 0, "no description", 60.2], ["461", "I7N3G6G", "461", 0, "no description", 60.2], ["462", "I7N3G6G", "462", 0, "no description", 60.2], ["463", "I7N3G6G", "463", 0, "no description", 60.2], ["464", "I7N3G6G", "464", 0, "no description", 60.2], ["465", "I7N3G6G", "465", 0, "no description", 60.2], ["466", "I7N3G6G", "466", 0, "no description", 60.2], ["467", "I7N3G6G", "467", 0, "no description", 60.2], ["468", "I7N3G6G", "468", 0, "no description", 60.2], ["469", "I7N3G6G", "469", 0, "no description", 60.2], ["470", "I7N3G6G", "470", 0, "no description", 60.2], ["471", "I7N3G6G", "471", 0, "no description", 60.2], ["472", "I7N3G6G", "472", 0, "no description", 60.2], ["473", "I7N3G6G", "473", 0, "no description", 60.2], ["474", "I7N3G6G", "474", 0, "no description", 60.2], ["475", "I7N3G6G", "475", 0, "no description", 60.2], ["476", "I7N3G6G", "476", 0, "no description", 60.2], ["477", "I7N3G6G", "477", 0, "no description", 60.2], ["478", "I7N3G6G", "478", 0, "no description", 60.2], ["479", "I7N3G6G", "479", 0, "no description", 60.2], ["480", "I7N3G6G", "480", 0, "no description", 60.2], ["481", "I7N3G6G", "481", 0, "no description", 60.2], ["482", "I7N3G6G", "482", 0, "no description", 60.2], ["483", "I7N3G6G", "483", 0, "no description", 60.2], ["484", "I7N3G6G", "484", 0, "no description", 60.2], ["485", "I7N3G6G", "485", 0, "no description", 60.2], ["486", "I7N3G6G", "486", 0, "no description", 60.2], ["487", "I7N3G6G", "487", 0, "no description", 60.2], ["488", "I7N3G6G", "488", 0, "no description", 60.2], ["489", "I7N3G6G", "489", 0, "no description", 60.2], ["490", "I7N3G6G", "490", 0, "no description", 60.2], ["491", "I7N3G6G", "491", 0, "no description", 60.2], ["492", "I7N3G6G", "492", 0, "no description", 60.2], ["493", "I7N3G6G", "493", 0, "no description", 60.2], ["494", "I7N3G6G", "494", 0, "no description", 60.2], ["495", "I7N3G6G", "495", 0, "no description", 60.2], ["496", "I7N3G6G", "496", 0, "no description", 60.2], ["497", "I7N3G6G", "497", 0, "no description", 60.2], ["498", "I7N3G6G", "498", 0, "no description", 60.2], ["499", "I7N3G6G", "499", 0, "no description", 60.2], ["500", "I7N3G6G", "500", 0, "no description", 60.2], ["501", "I7N3G6G", "501", 0, "no description", 60.2], ["502", "I7N3G6G", "502", 0, "no description", 60.2], ["503", "I7N3G6G", "503", 0, "no description", 60.2], ["504", "I7N3G6G", "504", 0, "no description", 60.2], ["505", "I7N3G6G", "505", 0, "no description", 60.2], ["506", "I7N3G6G", "506", 0, "no description", 60.2], ["507", "I7N3G6G", "507", 0, "no description", 60.2], ["508", "I7N3G6G", "508", 0, "no description", 60.2], ["509", "I7N3G6G", "509", 0, "no description", 60.2], ["510", "I7N3G6G", "510", 0, "no description", 60.2], ["511", "I7N3G6G", "511", 0, "no description", 60.2], ["512", "I7N3G6G", "512", 0, "no description", 60.2], ["513", "I7N3G6G", "513", 0, "no description", 60.2], ["514", "I7N3G6G", "514", 0, "no description", 60.2], ["515", "I7N3G6G", "515", 0, "no description", 60.2], ["516", "I7N3G6G", "516", 0, "no description", 60.2], ["517", "I7N3G6G", "517", 0, "no description", 60.2], ["518", "I7N3G6G", "518", 0, "no description", 60.2], ["519", "I7N3G6G", "519", 0, "no description", 60.2], ["520", "I7N3G6G", "520", 0, "no description", 60.2], ["521", "I7N3G6G", "521", 0, "no description", 60.2], ["522", "I7N3G6G", "522", 0, "no description", 60.2], ["523", "I7N3G6G", "523", 0, "no description", 60.2], ["524", "I7N3G6G", "524", 0, "no description", 60.2], ["525", "I7N3G6G", "525", 0, "no description", 60.2], ["526", "I7N3G6G", "526", 0, "no description", 60.2], ["527", "I7N3G6G", "527", 0, "no description", 60.2], ["528", "I7N3G6G", "528", 0, "no description", 60.2], ["529", "I7N3G6G", "529", 0, "no description", 60.2], ["530", "I7N3G6G", "530", 0, "no description", 60.2], ["531", "I7N3G6G", "531", 0, "no description", 60.2], ["532", "I7N3G6G", "532", 0, "no description", 60.2], ["533", "I7N3G6G", "533", 0, "no description", 60.2], ["534", "I7N3G6G", "534", 0, "no description", 60.2], ["535", "I7N3G6G", "535", 0, "no description", 60.2], ["536", "I7N3G6G", "536", 0, "no description", 60.2], ["537", "I7N3G6G", "537", 0, "no description", 60.2], ["538", "I7N3G6G", "538", 0, "no description", 60.2], ["539", "I7N3G6G", "539", 0, "no description", 60.2], ["540", "I7N3G6G", "540", 0, "no description", 60.2], ["541", "I7N3G6G", "541", 0, "no description", 60.2], ["542", "I7N3G6G", "542", 0, "no description", 60.2], ["543", "I7N3G6G", "543", 0, "no description", 60.2], ["544", "I7N3G6G", "544", 0, "no description", 60.2], ["545", "I7N3G6G", "545", 0, "no description", 60.2], ["546", "I7N3G6G", "546", 0, "no description", 60.2], ["547", "I7N3G6G", "547", 0, "no description", 60.2], ["548", "I7N3G6G", "548", 0, "no description", 60.2], ["549", "I7N3G6G", "549", 0, "no description", 60.2], ["550", "I7N3G6G", "550", 0, "no description", 60.2], ["551", "I7N3G6G", "551", 0, "no description", 60.2], ["552", "I7N3G6G", "552", 0, "no description", 60.2], ["553", "I7N3G6G", "553", 0, "no description", 60.2], ["554", "I7N3G6G", "554", 0, "no description", 60.2], ["555", "I7N3G6G", "555", 0, "no description", 60.2], ["556", "I7N3G6G", "556", 0, "no description", 60.2], ["557", "I7N3G6G", "557", 0, "no description", 60.2], ["558", "I7N3G6G", "558", 0, "no description", 60.2], ["559", "I7N3G6G", "559", 0, "no description", 60.2], ["560", "I7N3G6G", "560", 0, "no description", 60.2], ["561", "I7N3G6G", "561", 0, "no description", 60.2], ["562", "I7N3G6G", "562", 0, "no description", 60.2], ["563", "I7N3G6G", "563", 0, "no description", 60.2], ["564", "I7N3G6G", "564", 0, "no description", 60.2], ["565", "I7N3G6G", "565", 0, "no description", 60.2], ["566", "I7N3G6G", "566", 0, "no description", 60.2], ["567", "I7N3G6G", "567", 0, "no description", 60.2], ["568", "I7N3G6G", "568", 0, "no description", 60.2], ["569", "I7N3G6G", "569", 0, "no description", 60.2], ["570", "I7N3G6G", "570", 0, "no description", 60.2], ["571", "I7N3G6G", "571", 0, "no description", 60.2], ["572", "I7N3G6G", "572", 0, "no description", 60.2], ["573", "I7N3G6G", "573", 0, "no description", 60.2], ["574", "I7N3G6G", "574", 0, "no description", 60.2], ["575", "I7N3G6G", "575", 0, "no description", 60.2], ["576", "I7N3G6G", "576", 0, "no description", 60.2], ["577", "I7N3G6G", "577", 0, "no description", 60.2], ["578", "I7N3G6G", "578", 0, "no description", 60.2], ["579", "I7N3G6G", "579", 0, "no description", 60.2], ["580", "I7N3G6G", "580", 0, "no description", 60.2], ["581", "I7N3G6G", "581", 0, "no description", 60.2], ["582", "I7N3G6G", "582", 0, "no description", 60.2], ["583", "I7N3G6G", "583", 0, "no description", 60.2], ["584", "I7N3G6G", "584", 0, "no description", 60.2], ["585", "I7N3G6G", "585", 0, "no description", 60.2], ["586", "I7N3G6G", "586", 0, "no description", 60.2], ["587", "I7N3G6G", "587", 0, "no description", 60.2], ["588", "I7N3G6G", "588", 0, "no description", 60.2], ["589", "I7N3G6G", "589", 0, "no description", 60.2], ["590", "I7N3G6G", "590", 0, "no description", 60.2], ["591", "I7N3G6G", "591", 0, "no description", 60.2], ["592", "I7N3G6G", "592", 0, "no description", 60.2], ["593", "I7N3G6G", "593", 0, "no description", 60.2], ["594", "I7N3G6G", "594", 0, "no description", 60.2], ["595", "I7N3G6G", "595", 0, "no description", 60.2], ["596", "I7N3G6G", "596", 0, "no description", 60.2], ["597", "I7N3G6G", "597", 0, "no description", 60.2], ["598", "I7N3G6G", "598", 0, "no description", 60.2], ["599", "I7N3G6G", "599", 0, "no description", 60.2], ["600", "I7N3G6G", "600", 0, "no description", 60.2], ["601", "I7N3G6G", "601", 0, "no description", 60.2], ["602", "I7N3G6G", "602", 0, "no description", 60.2], ["603", "I7N3G6G", "603", 0, "no description", 60.2], ["604", "I7N3G6G", "604", 0, "no description", 60.2], ["605", "I7N3G6G", "605", 0, "no description", 60.2], ["606", "I7N3G6G", "606", 0, "no description", 60.2], ["607", "I7N3G6G", "607", 0, "no description", 60.2], ["608", "I7N3G6G", "608", 0, "no description", 60.2], ["609", "I7N3G6G", "609", 0, "no description", 60.2], ["610", "I7N3G6G", "610", 0, "no description", 60.2], ["611", "I7N3G6G", "611", 0, "no description", 60.2], ["612", "I7N3G6G", "612", 0, "no description", 60.2], ["613", "I7N3G6G", "613", 0, "no description", 60.2], ["614", "I7N3G6G", "614", 0, "no description", 60.2], ["615", "I7N3G6G", "615", 0, "no description", 60.2], ["616", "I7N3G6G", "616", 0, "no description", 60.2], ["617", "I7N3G6G", "617", 0, "no description", 60.2], ["618", "I7N3G6G", "618", 0, "no description", 60.2], ["619", "I7N3G6G", "619", 0, "no description", 60.2], ["620", "I7N3G6G", "620", 0, "no description", 60.2], ["621", "I7N3G6G", "621", 0, "no description", 60.2], ["622", "I7N3G6G", "622", 0, "no description", 60.2], ["623", "I7N3G6G", "623", 0, "no description", 60.2], ["624", "I7N3G6G", "624", 0, "no description", 60.2], ["625", "I7N3G6G", "625", 0, "no description", 60.2], ["626", "I7N3G6G", "626", 0, "no description", 60.2], ["627", "I7N3G6G", "627", 0, "no description", 60.2], ["628", "I7N3G6G", "628", 0, "no description", 60.2], ["629", "I7N3G6G", "629", 0, "no description", 60.2], ["630", "I7N3G6G", "630", 0, "no description", 60.2], ["631", "I7N3G6G", "631", 0, "no description", 60.2], ["632", "I7N3G6G", "632", 0, "no description", 60.2], ["633", "I7N3G6G", "633", 0, "no description", 60.2], ["634", "I7N3G6G", "634", 0, "no description", 60.2], ["635", "I7N3G6G", "635", 0, "no description", 60.2], ["636", "I7N3G6G", "636", 0, "no description", 60.2], ["637", "I7N3G6G", "637", 0, "no description", 60.2], ["638", "I7N3G6G", "638", 0, "no description", 60.2], ["639", "I7N3G6G", "639", 0, "no description", 60.2], ["640", "I7N3G6G", "640", 0, "no description", 60.2], ["641", "I7N3G6G", "641", 0, "no description", 60.2], ["642", "I7N3G6G", "642", 0, "no description", 60.2], ["643", "I7N3G6G", "643", 0, "no description", 60.2], ["644", "I7N3G6G", "644", 0, "no description", 60.2], ["645", "I7N3G6G", "645", 0, "no description", 60.2], ["646", "I7N3G6G", "646", 0, "no description", 60.2], ["647", "I7N3G6G", "647", 0, "no description", 60.2], ["648", "I7N3G6G", "648", 0, "no description", 60.2], ["649", "I7N3G6G", "649", 0, "no description", 60.2], ["650", "I7N3G6G", "650", 0, "no description", 60.2], ["651", "I7N3G6G", "651", 0, "no description", 60.2], ["652", "I7N3G6G", "652", 0, "no description", 60.2], ["653", "I7N3G6G", "653", 0, "no description", 60.2], ["654", "I7N3G6G", "654", 0, "no description", 60.2], ["655", "I7N3G6G", "655", 0, "no description", 60.2], ["656", "I7N3G6G", "656", 0, "no description", 60.2], ["657", "I7N3G6G", "657", 0, "no description", 60.2], ["658", "I7N3G6G", "658", 0, "no description", 60.2], ["659", "I7N3G6G", "659", 0, "no description", 60.2], ["660", "I7N3G6G", "660", 0, "no description", 60.2], ["661", "I7N3G6G", "661", 0, "no description", 60.2], ["662", "I7N3G6G", "662", 0, "no description", 60.2], ["663", "I7N3G6G", "663", 0, "no description", 60.2], ["664", "I7N3G6G", "664", 0, "no description", 60.2], ["665", "I7N3G6G", "665", 0, "no description", 60.2], ["666", "I7N3G6G", "666", 0, "no description", 60.2], ["667", "I7N3G6G", "667", 0, "no description", 60.2], ["668", "I7N3G6G", "668", 0, "no description", 60.2], ["669", "I7N3G6G", "669", 0, "no description", 60.2], ["670", "I7N3G6G", "670", 0, "no description", 60.2], ["671", "I7N3G6G", "671", 0, "no description", 60.2], ["672", "I7N3G6G", "672", 0, "no description", 60.2], ["673", "I7N3G6G", "673", 0, "no description", 60.2], ["674", "I7N3G6G", "674", 0, "no description", 60.2], ["675", "I7N3G6G", "675", 0, "no description", 60.2], ["676", "I7N3G6G", "676", 0, "no description", 60.2], ["677", "I7N3G6G", "677", 0, "no description", 60.2], ["678", "I7N3G6G", "678", 0, "no description", 60.2], ["679", "I7N3G6G", "679", 0, "no description", 60.2], ["680", "I7N3G6G", "680", 0, "no description", 60.2], ["681", "I7N3G6G", "681", 0, "no description", 60.2], ["682", "I7N3G6G", "682", 0, "no description", 60.2], ["683", "I7N3G6G", "683", 0, "no description", 60.2], ["684", "I7N3G6G", "684", 0, "no description", 60.2], ["685", "I7N3G6G", "685", 0, "no description", 60.2], ["686", "I7N3G6G", "686", 0, "no description", 60.2], ["687", "I7N3G6G", "687", 0, "no description", 60.2], ["688", "I7N3G6G", "688", 0, "no description", 60.2], ["689", "I7N3G6G", "689", 0, "no description", 60.2], ["690", "I7N3G6G", "690", 0, "no description", 60.2], ["691", "I7N3G6G", "691", 0, "no description", 60.2], ["692", "I7N3G6G", "692", 0, "no description", 60.2], ["693", "I7N3G6G", "693", 0, "no description", 60.2], ["694", "I7N3G6G", "694", 0, "no description", 60.2], ["695", "I7N3G6G", "695", 0, "no description", 60.2], ["696", "I7N3G6G", "696", 0, "no description", 60.2], ["697", "I7N3G6G", "697", 0, "no description", 60.2], ["698", "I7N3G6G", "698", 0, "no description", 60.2], ["699", "I7N3G6G", "699", 0, "no description", 60.2], ["700", "I7N3G6G", "700", 0, "no description", 60.2], ["701", "I7N3G6G", "701", 0, "no description", 60.2], ["702", "I7N3G6G", "702", 0, "no description", 60.2], ["703", "I7N3G6G", "703", 0, "no description", 60.2], ["704", "I7N3G6G", "704", 0, "no description", 60.2], ["705", "I7N3G6G", "705", 0, "no description", 60.2], ["706", "I7N3G6G", "706", 0, "no description", 60.2], ["707", "I7N3G6G", "707", 0, "no description", 60.2], ["708", "I7N3G6G", "708", 0, "no description", 60.2], ["709", "I7N3G6G", "709", 0, "no description", 60.2], ["710", "I7N3G6G", "710", 0, "no description", 60.2], ["711", "I7N3G6G", "711", 0, "no description", 60.2], ["712", "I7N3G6G", "712", 0, "no description", 60.2], ["713", "I7N3G6G", "713", 0, "no description", 60.2], ["714", "I7N3G6G", "714", 0, "no description", 60.2], ["715", "I7N3G6G", "715", 0, "no description", 60.2], ["716", "I7N3G6G", "716", 0, "no description", 60.2], ["717", "I7N3G6G", "717", 0, "no description", 60.2], ["718", "I7N3G6G", "718", 0, "no description", 60.2], ["719", "I7N3G6G", "719", 0, "no description", 60.2], ["720", "I7N3G6G", "720", 0, "no description", 60.2], ["721", "I7N3G6G", "721", 0, "no description", 60.2], ["722", "I7N3G6G", "722", 0, "no description", 60.2], ["723", "I7N3G6G", "723", 0, "no description", 60.2], ["724", "I7N3G6G", "724", 0, "no description", 60.2], ["725", "I7N3G6G", "725", 0, "no description", 60.2], ["726", "I7N3G6G", "726", 0, "no description", 60.2], ["727", "I7N3G6G", "727", 0, "no description", 60.2], ["728", "I7N3G6G", "728", 0, "no description", 60.2], ["729", "I7N3G6G", "729", 0, "no description", 60.2], ["730", "I7N3G6G", "730", 0, "no description", 60.2], ["731", "I7N3G6G", "731", 0, "no description", 60.2], ["732", "I7N3G6G", "732", 0, "no description", 60.2], ["733", "I7N3G6G", "733", 0, "no description", 60.2], ["734", "I7N3G6G", "734", 0, "no description", 60.2], ["735", "I7N3G6G", "735", 0, "no description", 60.2], ["736", "I7N3G6G", "736", 0, "no description", 60.2], ["737", "I7N3G6G", "737", 0, "no description", 60.2], ["738", "I7N3G6G", "738", 0, "no description", 60.2], ["739", "I7N3G6G", "739", 0, "no description", 60.2], ["740", "I7N3G6G", "740", 0, "no description", 60.2], ["741", "I7N3G6G", "741", 0, "no description", 60.2], ["742", "I7N3G6G", "742", 0, "no description", 60.2], ["743", "I7N3G6G", "743", 0, "no description", 60.2], ["744", "I7N3G6G", "744", 0, "no description", 60.2], ["745", "I7N3G6G", "745", 0, "no description", 60.2], ["746", "I7N3G6G", "746", 0, "no description", 60.2], ["747", "I7N3G6G", "747", 0, "no description", 60.2], ["748", "I7N3G6G", "748", 0, "no description", 60.2], ["749", "I7N3G6G", "749", 0, "no description", 60.2], ["750", "I7N3G6G", "750", 0, "no description", 60.2], ["751", "I7N3G6G", "751", 0, "no description", 60.2], ["752", "I7N3G6G", "752", 0, "no description", 60.2], ["753", "I7N3G6G", "753", 0, "no description", 60.2], ["754", "I7N3G6G", "754", 0, "no description", 60.2], ["755", "I7N3G6G", "755", 0, "no description", 60.2], ["756", "I7N3G6G", "756", 0, "no description", 60.2], ["757", "I7N3G6G", "757", 0, "no description", 60.2], ["758", "I7N3G6G", "758", 0, "no description", 60.2], ["759", "I7N3G6G", "759", 0, "no description", 60.2], ["760", "I7N3G6G", "760", 0, "no description", 60.2], ["761", "I7N3G6G", "761", 0, "no description", 60.2], ["762", "I7N3G6G", "762", 0, "no description", 60.2], ["763", "I7N3G6G", "763", 0, "no description", 60.2], ["764", "I7N3G6G", "764", 0, "no description", 60.2], ["765", "I7N3G6G", "765", 0, "no description", 60.2], ["766", "I7N3G6G", "766", 0, "no description", 60.2], ["767", "I7N3G6G", "767", 0, "no description", 60.2], ["768", "I7N3G6G", "768", 0, "no description", 60.2], ["769", "I7N3G6G", "769", 0, "no description", 60.2], ["770", "I7N3G6G", "770", 0, "no description", 60.2], ["771", "I7N3G6G", "771", 0, "no description", 60.2], ["772", "I7N3G6G", "772", 0, "no description", 60.2], ["773", "I7N3G6G", "773", 0, "no description", 60.2], ["774", "I7N3G6G", "774", 0, "no description", 60.2], ["775", "I7N3G6G", "775", 0, "no description", 60.2], ["776", "I7N3G6G", "776", 0, "no description", 60.2], ["777", "I7N3G6G", "777", 0, "no description", 60.2], ["778", "I7N3G6G", "778", 0, "no description", 60.2], ["779", "I7N3G6G", "779", 0, "no description", 60.2], ["780", "I7N3G6G", "780", 0, "no description", 60.2], ["781", "I7N3G6G", "781", 0, "no description", 60.2], ["782", "I7N3G6G", "782", 0, "no description", 60.2], ["783", "I7N3G6G", "783", 0, "no description", 60.2], ["784", "I7N3G6G", "784", 0, "no description", 60.2], ["785", "I7N3G6G", "785", 0, "no description", 60.2], ["786", "I7N3G6G", "786", 0, "no description", 60.2], ["787", "I7N3G6G", "787", 0, "no description", 60.2], ["788", "I7N3G6G", "788", 0, "no description", 60.2], ["789", "I7N3G6G", "789", 0, "no description", 60.2], ["790", "I7N3G6G", "790", 0, "no description", 60.2], ["791", "I7N3G6G", "791", 0, "no description", 60.2], ["792", "I7N3G6G", "792", 0, "no description", 60.2], ["793", "I7N3G6G", "793", 0, "no description", 60.2], ["794", "I7N3G6G", "794", 0, "no description", 60.2], ["795", "I7N3G6G", "795", 0, "no description", 60.2], ["796", "I7N3G6G", "796", 0, "no description", 60.2], ["797", "I7N3G6G", "797", 0, "no description", 60.2], ["798", "I7N3G6G", "798", 0, "no description", 60.2], ["799", "I7N3G6G", "799", 0, "no description", 60.2], ["800", "I7N3G6G", "800", 0, "no description", 60.2], ["801", "I7N3G6G", "801", 0, "no description", 60.2], ["802", "I7N3G6G", "802", 0, "no description", 60.2], ["803", "I7N3G6G", "803", 0, "no description", 60.2], ["804", "I7N3G6G", "804", 0, "no description", 60.2], ["805", "I7N3G6G", "805", 0, "no description", 60.2], ["806", "I7N3G6G", "806", 0, "no description", 60.2], ["807", "I7N3G6G", "807", 0, "no description", 60.2], ["808", "I7N3G6G", "808", 0, "no description", 60.2], ["809", "I7N3G6G", "809", 0, "no description", 60.2], ["810", "I7N3G6G", "810", 0, "no description", 60.2], ["811", "I7N3G6G", "811", 0, "no description", 60.2], ["812", "I7N3G6G", "812", 0, "no description", 60.2], ["813", "I7N3G6G", "813", 0, "no description", 60.2], ["814", "I7N3G6G", "814", 0, "no description", 60.2], ["815", "I7N3G6G", "815", 0, "no description", 60.2], ["816", "I7N3G6G", "816", 0, "no description", 60.2], ["817", "I7N3G6G", "817", 0, "no description", 60.2], ["818", "I7N3G6G", "818", 0, "no description", 60.2], ["819", "I7N3G6G", "819", 0, "no description", 60.2], ["820", "I7N3G6G", "820", 0, "no description", 60.2], ["821", "I7N3G6G", "821", 0, "no description", 60.2], ["822", "I7N3G6G", "822", 0, "no description", 60.2], ["823", "I7N3G6G", "823", 0, "no description", 60.2], ["824", "I7N3G6G", "824", 0, "no description", 60.2], ["825", "I7N3G6G", "825", 0, "no description", 60.2], ["826", "I7N3G6G", "826", 0, "no description", 60.2], ["827", "I7N3G6G", "827", 0, "no description", 60.2], ["828", "I7N3G6G", "828", 0, "no description", 60.2], ["829", "I7N3G6G", "829", 0, "no description", 60.2], ["830", "I7N3G6G", "830", 0, "no description", 60.2], ["831", "I7N3G6G", "831", 0, "no description", 60.2], ["832", "I7N3G6G", "832", 0, "no description", 60.2], ["833", "I7N3G6G", "833", 0, "no description", 60.2], ["834", "I7N3G6G", "834", 0, "no description", 60.2], ["835", "I7N3G6G", "835", 0, "no description", 60.2], ["836", "I7N3G6G", "836", 0, "no description", 60.2], ["837", "I7N3G6G", "837", 0, "no description", 60.2], ["838", "I7N3G6G", "838", 0, "no description", 60.2], ["839", "I7N3G6G", "839", 0, "no description", 60.2], ["840", "I7N3G6G", "840", 0, "no description", 60.2], ["841", "I7N3G6G", "841", 0, "no description", 60.2], ["842", "I7N3G6G", "842", 0, "no description", 60.2], ["843", "I7N3G6G", "843", 0, "no description", 60.2], ["844", "I7N3G6G", "844", 0, "no description", 60.2], ["845", "I7N3G6G", "845", 0, "no description", 60.2], ["846", "I7N3G6G", "846", 0, "no description", 60.2], ["847", "I7N3G6G", "847", 0, "no description", 60.2], ["848", "I7N3G6G", "848", 0, "no description", 60.2], ["849", "I7N3G6G", "849", 0, "no description", 60.2], ["850", "I7N3G6G", "850", 0, "no description", 60.2], ["851", "I7N3G6G", "851", 0, "no description", 60.2], ["852", "I7N3G6G", "852", 0, "no description", 60.2], ["853", "I7N3G6G", "853", 0, "no description", 60.2], ["854", "I7N3G6G", "854", 0, "no description", 60.2], ["855", "I7N3G6G", "855", 0, "no description", 60.2], ["856", "I7N3G6G", "856", 0, "no description", 60.2], ["857", "I7N3G6G", "857", 0, "no description", 60.2], ["858", "I7N3G6G", "858", 0, "no description", 60.2], ["859", "I7N3G6G", "859", 0, "no description", 60.2], ["860", "I7N3G6G", "860", 0, "no description", 60.2], ["861", "I7N3G6G", "861", 0, "no description", 60.2], ["862", "I7N3G6G", "862", 0, "no description", 60.2], ["863", "I7N3G6G", "863", 0, "no description", 60.2], ["864", "I7N3G6G", "864", 0, "no description", 60.2], ["865", "I7N3G6G", "865", 0, "no description", 60.2], ["866", "I7N3G6G", "866", 0, "no description", 60.2], ["867", "I7N3G6G", "867", 0, "no description", 60.2], ["868", "I7N3G6G", "868", 0, "no description", 60.2], ["869", "I7N3G6G", "869", 0, "no description", 60.2], ["870", "I7N3G6G", "870", 0, "no description", 60.2], ["871", "I7N3G6G", "871", 0, "no description", 60.2], ["872", "I7N3G6G", "872", 0, "no description", 60.2], ["873", "I7N3G6G", "873", 0, "no description", 60.2], ["874", "I7N3G6G", "874", 0, "no description", 60.2], ["875", "I7N3G6G", "875", 0, "no description", 60.2], ["876", "I7N3G6G", "876", 0, "no description", 60.2], ["877", "I7N3G6G", "877", 0, "no description", 60.2], ["878", "I7N3G6G", "878", 0, "no description", 60.2], ["879", "I7N3G6G", "879", 0, "no description", 60.2], ["880", "I7N3G6G", "880", 0, "no description", 60.2], ["881", "I7N3G6G", "881", 0, "no description", 60.2], ["882", "I7N3G6G", "882", 0, "no description", 60.2], ["883", "I7N3G6G", "883", 0, "no description", 60.2], ["884", "I7N3G6G", "884", 0, "no description", 60.2], ["885", "I7N3G6G", "885", 0, "no description", 60.2], ["886", "I7N3G6G", "886", 0, "no description", 60.2], ["887", "I7N3G6G", "887", 0, "no description", 60.2], ["888", "I7N3G6G", "888", 0, "no description", 60.2], ["889", "I7N3G6G", "889", 0, "no description", 60.2], ["890", "I7N3G6G", "890", 0, "no description", 60.2], ["891", "I7N3G6G", "891", 0, "no description", 60.2], ["892", "I7N3G6G", "892", 0, "no description", 60.2], ["893", "I7N3G6G", "893", 0, "no description", 60.2], ["894", "I7N3G6G", "894", 0, "no description", 60.2], ["895", "I7N3G6G", "895", 0, "no description", 60.2], ["896", "I7N3G6G", "896", 0, "no description", 60.2], ["897", "I7N3G6G", "897", 0, "no description", 60.2], ["898", "I7N3G6G", "898", 0, "no description", 60.2], ["899", "I7N3G6G", "899", 0, "no description", 60.2], ["900", "I7N3G6G", "900", 0, "no description", 60.2], ["901", "I7N3G6G", "901", 0, "no description", 60.2], ["902", "I7N3G6G", "902", 0, "no description", 60.2], ["903", "I7N3G6G", "903", 0, "no description", 60.2], ["904", "I7N3G6G", "904", 0, "no description", 60.2], ["905", "I7N3G6G", "905", 0, "no description", 60.2], ["906", "I7N3G6G", "906", 0, "no description", 60.2], ["907", "I7N3G6G", "907", 0, "no description", 60.2], ["908", "I7N3G6G", "908", 0, "no description", 60.2], ["909", "I7N3G6G", "909", 0, "no description", 60.2], ["910", "I7N3G6G", "910", 0, "no description", 60.2], ["911", "I7N3G6G", "911", 0, "no description", 60.2], ["912", "I7N3G6G", "912", 0, "no description", 60.2], ["913", "I7N3G6G", "913", 0, "no description", 60.2], ["914", "I7N3G6G", "914", 0, "no description", 60.2], ["915", "I7N3G6G", "915", 0, "no description", 60.2], ["916", "I7N3G6G", "916", 0, "no description", 60.2], ["917", "I7N3G6G", "917", 0, "no description", 60.2], ["918", "I7N3G6G", "918", 0, "no description", 60.2], ["919", "I7N3G6G", "919", 0, "no description", 60.2], ["920", "I7N3G6G", "920", 0, "no description", 60.2], ["921", "I7N3G6G", "921", 0, "no description", 60.2], ["922", "I7N3G6G", "922", 0, "no description", 60.2], ["923", "I7N3G6G", "923", 0, "no description", 60.2], ["924", "I7N3G6G", "924", 0, "no description", 60.2], ["925", "I7N3G6G", "925", 0, "no description", 60.2], ["926", "I7N3G6G", "926", 0, "no description", 60.2], ["927", "I7N3G6G", "927", 0, "no description", 60.2], ["928", "I7N3G6G", "928", 0, "no description", 60.2], ["929", "I7N3G6G", "929", 0, "no description", 60.2], ["930", "I7N3G6G", "930", 0, "no description", 60.2], ["931", "I7N3G6G", "931", 0, "no description", 60.2], ["932", "I7N3G6G", "932", 0, "no description", 60.2], ["933", "I7N3G6G", "933", 0, "no description", 60.2], ["934", "I7N3G6G", "934", 0, "no description", 60.2], ["935", "I7N3G6G", "935", 0, "no description", 60.2], ["936", "I7N3G6G", "936", 0, "no description", 60.2], ["937", "I7N3G6G", "937", 0, "no description", 60.2], ["938", "I7N3G6G", "938", 0, "no description", 60.2], ["939", "I7N3G6G", "939", 0, "no description", 60.2], ["940", "I7N3G6G", "940", 0, "no description", 60.2], ["941", "I7N3G6G", "941", 0, "no description", 60.2], ["942", "I7N3G6G", "942", 0, "no description", 60.2], ["943", "I7N3G6G", "943", 0, "no description", 60.2], ["944", "I7N3G6G", "944", 0, "no description", 60.2], ["945", "I7N3G6G", "945", 0, "no description", 60.2], ["946", "I7N3G6G", "946", 0, "no description", 60.2], ["947", "I7N3G6G", "947", 0, "no description", 60.2], ["948", "I7N3G6G", "948", 0, "no description", 60.2], ["949", "I7N3G6G", "949", 0, "no description", 60.2], ["950", "I7N3G6G", "950", 0, "no description", 60.2], ["951", "I7N3G6G", "951", 0, "no description", 60.2], ["952", "I7N3G6G", "952", 0, "no description", 60.2], ["953", "I7N3G6G", "953", 0, "no description", 60.2], ["954", "I7N3G6G", "954", 0, "no description", 60.2], ["955", "I7N3G6G", "955", 0, "no description", 60.2], ["956", "I7N3G6G", "956", 0, "no description", 60.2], ["957", "I7N3G6G", "957", 0, "no description", 60.2], ["958", "I7N3G6G", "958", 0, "no description", 60.2], ["959", "I7N3G6G", "959", 0, "no description", 60.2], ["960", "I7N3G6G", "960", 0, "no description", 60.2], ["961", "I7N3G6G", "961", 0, "no description", 60.2], ["962", "I7N3G6G", "962", 0, "no description", 60.2], ["963", "I7N3G6G", "963", 0, "no description", 60.2], ["964", "I7N3G6G", "964", 0, "no description", 60.2], ["965", "I7N3G6G", "965", 0, "no description", 60.2], ["966", "I7N3G6G", "966", 0, "no description", 60.2], ["967", "I7N3G6G", "967", 0, "no description", 60.2], ["968", "I7N3G6G", "968", 0, "no description", 60.2], ["969", "I7N3G6G", "969", 0, "no description", 60.2], ["970", "I7N3G6G", "970", 0, "no description", 60.2], ["971", "I7N3G6G", "971", 0, "no description", 60.2], ["972", "I7N3G6G", "972", 0, "no description", 60.2], ["973", "I7N3G6G", "973", 0, "no description", 60.2], ["974", "I7N3G6G", "974", 0, "no description", 60.2], ["975", "I7N3G6G", "975", 0, "no description", 60.2], ["976", "I7N3G6G", "976", 0, "no description", 60.2], ["977", "I7N3G6G", "977", 0, "no description", 60.2], ["978", "I7N3G6G", "978", 0, "no description", 60.2], ["979", "I7N3G6G", "979", 0, "no description", 60.2], ["980", "I7N3G6G", "980", 0, "no description", 60.2], ["981", "I7N3G6G", "981", 0, "no description", 60.2], ["982", "I7N3G6G", "982", 0, "no description", 60.2], ["983", "I7N3G6G", "983", 0, "no description", 60.2], ["984", "I7N3G6G", "984", 0, "no description", 60.2], ["985", "I7N3G6G", "985", 0, "no description", 60.2], ["986", "I7N3G6G", "986", 0, "no description", 60.2], ["987", "I7N3G6G", "987", 0, "no description", 60.2], ["988", "I7N3G6G", "988", 0, "no description", 60.2], ["989", "I7N3G6G", "989", 0, "no description", 60.2], ["990", "I7N3G6G", "990", 0, "no description", 60.2], ["991", "I7N3G6G", "991", 0, "no description", 60.2], ["992", "I7N3G6G", "992", 0, "no description", 60.2], ["993", "I7N3G6G", "993", 0, "no description", 60.2], ["994", "I7N3G6G", "994", 0, "no description", 60.2], ["995", "I7N3G6G", "995", 0, "no description", 60.2], ["996", "I7N3G6G", "996", 0, "no description", 60.2], ["997", "I7N3G6G", "997", 0, "no description", 60.2], ["998", "I7N3G6G", "998", 0, "no description", 60.2], ["999", "I7N3G6G", "999", 0, "no description", 60.2], ["1000", "I7N3G6G", "1000", 0, "no description", 60.2], ["1001", "I7N3G6G", "1001", 0, "no description", 60.2], ["1002", "I7N3G6G", "1002", 0, "no description", 60.2], ["1003", "I7N3G6G", "1003", 0, "no description", 60.2], ["1004", "I7N3G6G", "1004", 0, "no description", 60.2], ["1005", "I7N3G6G", "1005", 0, "no description", 60.2], ["1006", "I7N3G6G", "1006", 0, "no description", 60.2], ["1007", "I7N3G6G", "1007", 0, "no description", 60.2], ["1008", "I7N3G6G", "1008", 0, "no description", 60.2], ["1009", "I7N3G6G", "1009", 0, "no description", 60.2], ["1010", "I7N3G6G", "1010", 0, "no description", 60.2], ["1011", "I7N3G6G", "1011", 0, "no description", 60.2], ["1012", "I7N3G6G", "1012", 0, "no description", 60.2], ["1013", "I7N3G6G", "1013", 0, "no description", 60.2], ["1014", "I7N3G6G", "1014", 0, "no description", 60.2], ["1015", "I7N3G6G", "1015", 0, "no description", 60.2], ["1016", "I7N3G6G", "1016", 0, "no description", 60.2], ["1017", "I7N3G6G", "1017", 0, "no description", 60.2], ["1018", "I7N3G6G", "1018", 0, "no description", 60.2], ["1019", "I7N3G6G", "1019", 0, "no description", 60.2], ["1020", "I7N3G6G", "1020", 0, "no description", 60.2], ["1021", "I7N3G6G", "1021", 0, "no description", 60.2], ["1022", "I7N3G6G", "1022", 0, "no description", 60.2], ["1023", "I7N3G6G", "1023", 0, "no description", 60.2], ["1024", "I7N3G6G", "1024", 0, "no description", 60.2], ["1025", "I7N3G6G", "1025", 0, "no description", 60.2], ["1026", "I7N3G6G", "1026", 0, "no description", 60.2], ["1027", "I7N3G6G", "1027", 0, "no description", 60.2], ["1028", "I7N3G6G", "1028", 0, "no description", 60.2], ["1029", "I7N3G6G", "1029", 0, "no description", 60.2], ["1030", "I7N3G6G", "1030", 0, "no description", 60.2], ["1031", "I7N3G6G", "1031", 0, "no description", 60.2], ["1032", "I7N3G6G", "1032", 0, "no description", 60.2], ["1033", "I7N3G6G", "1033", 0, "no description", 60.2], ["1034", "I7N3G6G", "1034", 0, "no description", 60.2], ["1035", "I7N3G6G", "1035", 0, "no description", 60.2], ["1036", "I7N3G6G", "1036", 0, "no description", 60.2], ["1037", "I7N3G6G", "1037", 0, "no description", 60.2], ["1038", "I7N3G6G", "1038", 0, "no description", 60.2], ["1039", "I7N3G6G", "1039", 0, "no description", 60.2], ["1040", "I7N3G6G", "1040", 0, "no description", 60.2], ["1041", "I7N3G6G", "1041", 0, "no description", 60.2], ["1042", "I7N3G6G", "1042", 0, "no description", 60.2], ["1043", "I7N3G6G", "1043", 0, "no description", 60.2], ["1044", "I7N3G6G", "1044", 0, "no description", 60.2], ["1045", "I7N3G6G", "1045", 0, "no description", 60.2], ["1046", "I7N3G6G", "1046", 0, "no description", 60.2], ["1047", "I7N3G6G", "1047", 0, "no description", 60.2], ["1048", "I7N3G6G", "1048", 0, "no description", 60.2], ["1049", "I7N3G6G", "1049", 0, "no description", 60.2], ["1050", "I7N3G6G", "1050", 0, "no description", 60.2], ["1051", "I7N3G6G", "1051", 0, "no description", 60.2], ["1052", "I7N3G6G", "1052", 0, "no description", 60.2], ["1053", "I7N3G6G", "1053", 0, "no description", 60.2], ["1054", "I7N3G6G", "1054", 0, "no description", 60.2], ["1055", "I7N3G6G", "1055", 0, "no description", 60.2], ["1056", "I7N3G6G", "1056", 0, "no description", 60.2], ["1057", "I7N3G6G", "1057", 0, "no description", 60.2], ["1058", "I7N3G6G", "1058", 0, "no description", 60.2], ["1059", "I7N3G6G", "1059", 0, "no description", 60.2], ["1060", "I7N3G6G", "1060", 0, "no description", 60.2], ["1061", "I7N3G6G", "1061", 0, "no description", 60.2], ["1062", "I7N3G6G", "1062", 0, "no description", 60.2], ["1063", "I7N3G6G", "1063", 0, "no description", 60.2], ["1064", "I7N3G6G", "1064", 0, "no description", 60.2], ["1065", "I7N3G6G", "1065", 0, "no description", 60.2], ["1066", "I7N3G6G", "1066", 0, "no description", 60.2], ["1067", "I7N3G6G", "1067", 0, "no description", 60.2], ["1068", "I7N3G6G", "1068", 0, "no description", 60.2], ["1069", "I7N3G6G", "1069", 0, "no description", 60.2], ["1070", "I7N3G6G", "1070", 0, "no description", 60.2], ["1071", "I7N3G6G", "1071", 0, "no description", 60.2], ["1072", "I7N3G6G", "1072", 0, "no description", 60.2], ["1073", "I7N3G6G", "1073", 0, "no description", 60.2], ["1074", "I7N3G6G", "1074", 0, "no description", 60.2], ["1075", "I7N3G6G", "1075", 0, "no description", 60.2], ["1076", "I7N3G6G", "1076", 0, "no description", 60.2], ["1077", "I7N3G6G", "1077", 0, "no description", 60.2], ["1078", "I7N3G6G", "1078", 0, "no description", 60.2], ["1079", "I7N3G6G", "1079", 0, "no description", 60.2], ["1080", "I7N3G6G", "1080", 0, "no description", 60.2], ["1081", "I7N3G6G", "1081", 0, "no description", 60.2], ["1082", "I7N3G6G", "1082", 0, "no description", 60.2], ["1083", "I7N3G6G", "1083", 0, "no description", 60.2], ["1084", "I7N3G6G", "1084", 0, "no description", 60.2], ["1085", "I7N3G6G", "1085", 0, "no description", 60.2], ["1086", "I7N3G6G", "1086", 0, "no description", 60.2], ["1087", "I7N3G6G", "1087", 0, "no description", 60.2], ["1088", "I7N3G6G", "1088", 0, "no description", 60.2], ["1089", "I7N3G6G", "1089", 0, "no description", 60.2], ["1090", "I7N3G6G", "1090", 0, "no description", 60.2], ["1091", "I7N3G6G", "1091", 0, "no description", 60.2], ["1092", "I7N3G6G", "1092", 0, "no description", 60.2], ["1093", "I7N3G6G", "1093", 0, "no description", 60.2], ["1094", "I7N3G6G", "1094", 0, "no description", 60.2], ["1095", "I7N3G6G", "1095", 0, "no description", 60.2], ["1096", "I7N3G6G", "1096", 0, "no description", 60.2], ["1097", "I7N3G6G", "1097", 0, "no description", 60.2], ["1098", "I7N3G6G", "1098", 0, "no description", 60.2], ["1099", "I7N3G6G", "1099", 0, "no description", 60.2], ["1100", "I7N3G6G", "1100", 0, "no description", 60.2], ["1101", "I7N3G6G", "1101", 0, "no description", 60.2], ["1102", "I7N3G6G", "1102", 0, "no description", 60.2], ["1103", "I7N3G6G", "1103", 0, "no description", 60.2], ["1104", "I7N3G6G", "1104", 0, "no description", 60.2], ["1105", "I7N3G6G", "1105", 0, "no description", 60.2], ["1106", "I7N3G6G", "1106", 0, "no description", 60.2], ["1107", "I7N3G6G", "1107", 0, "no description", 60.2], ["1108", "I7N3G6G", "1108", 0, "no description", 60.2], ["1109", "I7N3G6G", "1109", 0, "no description", 60.2], ["1110", "I7N3G6G", "1110", 0, "no description", 60.2], ["1111", "I7N3G6G", "1111", 0, "no description", 60.2], ["1112", "I7N3G6G", "1112", 0, "no description", 60.2], ["1113", "I7N3G6G", "1113", 0, "no description", 60.2], ["1114", "I7N3G6G", "1114", 0, "no description", 60.2], ["1115", "I7N3G6G", "1115", 0, "no description", 60.2], ["1116", "I7N3G6G", "1116", 0, "no description", 60.2], ["1117", "I7N3G6G", "1117", 0, "no description", 60.2], ["1118", "I7N3G6G", "1118", 0, "no description", 60.2], ["1119", "I7N3G6G", "1119", 0, "no description", 60.2], ["1120", "I7N3G6G", "1120", 0, "no description", 60.2], ["1121", "I7N3G6G", "1121", 0, "no description", 60.2], ["1122", "I7N3G6G", "1122", 0, "no description", 60.2], ["1123", "I7N3G6G", "1123", 0, "no description", 60.2], ["1124", "I7N3G6G", "1124", 0, "no description", 60.2], ["1125", "I7N3G6G", "1125", 0, "no description", 60.2], ["1126", "I7N3G6G", "1126", 0, "no description", 60.2], ["1127", "I7N3G6G", "1127", 0, "no description", 60.2], ["1128", "I7N3G6G", "1128", 0, "no description", 60.2], ["1129", "I7N3G6G", "1129", 0, "no description", 60.2], ["1130", "I7N3G6G", "1130", 0, "no description", 60.2], ["1131", "I7N3G6G", "1131", 0, "no description", 60.2], ["1132", "I7N3G6G", "1132", 0, "no description", 60.2], ["1133", "I7N3G6G", "1133", 0, "no description", 60.2], ["1134", "I7N3G6G", "1134", 0, "no description", 60.2], ["1135", "I7N3G6G", "1135", 0, "no description", 60.2], ["1136", "I7N3G6G", "1136", 0, "no description", 60.2], ["1137", "I7N3G6G", "1137", 0, "no description", 60.2], ["1138", "I7N3G6G", "1138", 0, "no description", 60.2], ["1139", "I7N3G6G", "1139", 0, "no description", 60.2], ["1140", "I7N3G6G", "1140", 0, "no description", 60.2], ["1141", "I7N3G6G", "1141", 0, "no description", 60.2], ["1142", "I7N3G6G", "1142", 0, "no description", 60.2], ["1143", "I7N3G6G", "1143", 0, "no description", 60.2], ["1144", "I7N3G6G", "1144", 0, "no description", 60.2], ["1145", "I7N3G6G", "1145", 0, "no description", 60.2], ["1146", "I7N3G6G", "1146", 0, "no description", 60.2], ["1147", "I7N3G6G", "1147", 0, "no description", 60.2], ["1148", "I7N3G6G", "1148", 0, "no description", 60.2], ["1149", "I7N3G6G", "1149", 0, "no description", 60.2], ["1150", "I7N3G6G", "1150", 0, "no description", 60.2], ["1151", "I7N3G6G", "1151", 0, "no description", 60.2], ["1152", "I7N3G6G", "1152", 0, "no description", 60.2], ["1153", "I7N3G6G", "1153", 0, "no description", 60.2], ["1154", "I7N3G6G", "1154", 0, "no description", 60.2], ["1155", "I7N3G6G", "1155", 0, "no description", 60.2], ["1156", "I7N3G6G", "1156", 0, "no description", 60.2], ["1157", "I7N3G6G", "1157", 0, "no description", 60.2], ["1158", "I7N3G6G", "1158", 0, "no description", 60.2], ["1159", "I7N3G6G", "1159", 0, "no description", 60.2], ["1160", "I7N3G6G", "1160", 0, "no description", 60.2], ["1161", "I7N3G6G", "1161", 0, "no description", 60.2], ["1162", "I7N3G6G", "1162", 0, "no description", 60.2], ["1163", "I7N3G6G", "1163", 0, "no description", 60.2], ["1164", "I7N3G6G", "1164", 0, "no description", 60.2], ["1165", "I7N3G6G", "1165", 0, "no description", 60.2], ["1166", "I7N3G6G", "1166", 0, "no description", 60.2], ["1167", "I7N3G6G", "1167", 0, "no description", 60.2], ["1168", "I7N3G6G", "1168", 0, "no description", 60.2], ["1169", "I7N3G6G", "1169", 0, "no description", 60.2], ["1170", "I7N3G6G", "1170", 0, "no description", 60.2], ["1171", "I7N3G6G", "1171", 0, "no description", 60.2], ["1172", "I7N3G6G", "1172", 0, "no description", 60.2], ["1173", "I7N3G6G", "1173", 0, "no description", 60.2], ["1174", "I7N3G6G", "1174", 0, "no description", 60.2], ["1175", "I7N3G6G", "1175", 0, "no description", 60.2], ["1176", "I7N3G6G", "1176", 0, "no description", 60.2], ["1177", "I7N3G6G", "1177", 0, "no description", 60.2], ["1178", "I7N3G6G", "1178", 0, "no description", 60.2], ["1179", "I7N3G6G", "1179", 0, "no description", 60.2], ["1180", "I7N3G6G", "1180", 0, "no description", 60.2], ["1181", "I7N3G6G", "1181", 0, "no description", 60.2], ["1182", "I7N3G6G", "1182", 0, "no description", 60.2], ["1183", "I7N3G6G", "1183", 0, "no description", 60.2], ["1184", "I7N3G6G", "1184", 0, "no description", 60.2], ["1185", "I7N3G6G", "1185", 0, "no description", 60.2], ["1186", "I7N3G6G", "1186", 0, "no description", 60.2], ["1187", "I7N3G6G", "1187", 0, "no description", 60.2], ["1188", "I7N3G6G", "1188", 0, "no description", 60.2], ["1189", "I7N3G6G", "1189", 0, "no description", 60.2], ["1190", "I7N3G6G", "1190", 0, "no description", 60.2], ["1191", "I7N3G6G", "1191", 0, "no description", 60.2], ["1192", "I7N3G6G", "1192", 0, "no description", 60.2], ["1193", "I7N3G6G", "1193", 0, "no description", 60.2], ["1194", "I7N3G6G", "1194", 0, "no description", 60.2], ["1195", "I7N3G6G", "1195", 0, "no description", 60.2], ["1196", "I7N3G6G", "1196", 0, "no description", 60.2], ["1197", "I7N3G6G", "1197", 0, "no description", 60.2], ["1198", "I7N3G6G", "1198", 0, "no description", 60.2], ["1199", "I7N3G6G", "1199", 0, "no description", 60.2], ["1200", "I7N3G6G", "1200", 0, "no description", 60.2], ["1201", "I7N3G6G", "1201", 0, "no description", 60.2], ["1202", "I7N3G6G", "1202", 0, "no description", 60.2], ["1203", "I7N3G6G", "1203", 0, "no description", 60.2], ["1204", "I7N3G6G", "1204", 0, "no description", 60.2], ["1205", "I7N3G6G", "1205", 0, "no description", 60.2], ["1206", "I7N3G6G", "1206", 0, "no description", 60.2], ["1207", "I7N3G6G", "1207", 0, "no description", 60.2], ["1208", "I7N3G6G", "1208", 0, "no description", 60.2], ["1209", "I7N3G6G", "1209", 0, "no description", 60.2], ["1210", "I7N3G6G", "1210", 0, "no description", 60.2], ["1211", "I7N3G6G", "1211", 0, "no description", 60.2], ["1212", "I7N3G6G", "1212", 0, "no description", 60.2], ["1213", "I7N3G6G", "1213", 0, "no description", 60.2], ["1214", "I7N3G6G", "1214", 0, "no description", 60.2], ["1215", "I7N3G6G", "1215", 0, "no description", 60.2], ["1216", "I7N3G6G", "1216", 0, "no description", 60.2], ["1217", "I7N3G6G", "1217", 0, "no description", 60.2], ["1218", "I7N3G6G", "1218", 0, "no description", 60.2], ["1219", "I7N3G6G", "1219", 0, "no description", 60.2], ["1220", "I7N3G6G", "1220", 0, "no description", 60.2], ["1221", "I7N3G6G", "1221", 0, "no description", 60.2], ["1222", "I7N3G6G", "1222", 0, "no description", 60.2], ["1223", "I7N3G6G", "1223", 0, "no description", 60.2], ["1224", "I7N3G6G", "1224", 0, "no description", 60.2], ["1225", "I7N3G6G", "1225", 0, "no description", 60.2], ["1226", "I7N3G6G", "1226", 0, "no description", 60.2], ["1227", "I7N3G6G", "1227", 0, "no description", 60.2], ["1228", "I7N3G6G", "1228", 0, "no description", 60.2], ["1229", "I7N3G6G", "1229", 0, "no description", 60.2], ["1230", "I7N3G6G", "1230", 0, "no description", 60.2], ["1231", "I7N3G6G", "1231", 0, "no description", 60.2], ["1232", "I7N3G6G", "1232", 0, "no description", 60.2], ["1233", "I7N3G6G", "1233", 0, "no description", 60.2], ["1234", "I7N3G6G", "1234", 0, "no description", 60.2], ["1235", "I7N3G6G", "1235", 0, "no description", 60.2], ["1236", "I7N3G6G", "1236", 0, "no description", 60.2], ["1237", "I7N3G6G", "1237", 0, "no description", 60.2], ["1238", "I7N3G6G", "1238", 0, "no description", 60.2], ["1239", "I7N3G6G", "1239", 0, "no description", 60.2], ["1240", "I7N3G6G", "1240", 0, "no description", 60.2], ["1241", "I7N3G6G", "1241", 0, "no description", 60.2], ["1242", "I7N3G6G", "1242", 0, "no description", 60.2], ["1243", "I7N3G6G", "1243", 0, "no description", 60.2], ["1244", "I7N3G6G", "1244", 0, "no description", 60.2], ["1245", "I7N3G6G", "1245", 0, "no description", 60.2], ["1246", "I7N3G6G", "1246", 0, "no description", 60.2], ["1247", "I7N3G6G", "1247", 0, "no description", 60.2], ["1248", "I7N3G6G", "1248", 0, "no description", 60.2], ["1249", "I7N3G6G", "1249", 0, "no description", 60.2], ["1250", "I7N3G6G", "1250", 0, "no description", 60.2], ["1251", "I7N3G6G", "1251", 0, "no description", 60.2], ["1252", "I7N3G6G", "1252", 0, "no description", 60.2], ["1253", "I7N3G6G", "1253", 0, "no description", 60.2], ["1254", "I7N3G6G", "1254", 0, "no description", 60.2], ["1255", "I7N3G6G", "1255", 0, "no description", 60.2], ["1256", "I7N3G6G", "1256", 0, "no description", 60.2], ["1257", "I7N3G6G", "1257", 0, "no description", 60.2], ["1258", "I7N3G6G", "1258", 0, "no description", 60.2], ["1259", "I7N3G6G", "1259", 0, "no description", 60.2], ["1260", "I7N3G6G", "1260", 0, "no description", 60.2], ["1261", "I7N3G6G", "1261", 0, "no description", 60.2], ["1262", "I7N3G6G", "1262", 0, "no description", 60.2], ["1263", "I7N3G6G", "1263", 0, "no description", 60.2], ["1264", "I7N3G6G", "1264", 0, "no description", 60.2], ["1265", "I7N3G6G", "1265", 0, "no description", 60.2], ["1266", "I7N3G6G", "1266", 0, "no description", 60.2], ["1267", "I7N3G6G", "1267", 0, "no description", 60.2], ["1268", "I7N3G6G", "1268", 0, "no description", 60.2], ["1269", "I7N3G6G", "1269", 0, "no description", 60.2], ["1270", "I7N3G6G", "1270", 0, "no description", 60.2], ["1271", "I7N3G6G", "1271", 0, "no description", 60.2], ["1272", "I7N3G6G", "1272", 0, "no description", 60.2], ["1273", "I7N3G6G", "1273", 0, "no description", 60.2], ["1274", "I7N3G6G", "1274", 0, "no description", 60.2], ["1275", "I7N3G6G", "1275", 0, "no description", 60.2], ["1276", "I7N3G6G", "1276", 0, "no description", 60.2], ["1277", "I7N3G6G", "1277", 0, "no description", 60.2], ["1278", "I7N3G6G", "1278", 0, "no description", 60.2], ["1279", "I7N3G6G", "1279", 0, "no description", 60.2], ["1280", "I7N3G6G", "1280", 0, "no description", 60.2], ["1281", "I7N3G6G", "1281", 0, "no description", 60.2], ["1282", "I7N3G6G", "1282", 0, "no description", 60.2], ["1283", "I7N3G6G", "1283", 0, "no description", 60.2], ["1284", "I7N3G6G", "1284", 0, "no description", 60.2], ["1285", "I7N3G6G", "1285", 0, "no description", 60.2], ["1286", "I7N3G6G", "1286", 0, "no description", 60.2], ["1287", "I7N3G6G", "1287", 0, "no description", 60.2], ["1288", "I7N3G6G", "1288", 0, "no description", 60.2], ["1289", "I7N3G6G", "1289", 0, "no description", 60.2], ["1290", "I7N3G6G", "1290", 0, "no description", 60.2], ["1291", "I7N3G6G", "1291", 0, "no description", 60.2], ["1292", "I7N3G6G", "1292", 0, "no description", 60.2], ["1293", "I7N3G6G", "1293", 0, "no description", 60.2], ["1294", "I7N3G6G", "1294", 0, "no description", 60.2], ["1295", "I7N3G6G", "1295", 0, "no description", 60.2], ["1296", "I7N3G6G", "1296", 0, "no description", 60.2], ["1297", "I7N3G6G", "1297", 0, "no description", 60.2], ["1298", "I7N3G6G", "1298", 0, "no description", 60.2], ["1299", "I7N3G6G", "1299", 0, "no description", 60.2], ["1300", "I7N3G6G", "1300", 0, "no description", 60.2], ["1301", "I7N3G6G", "1301", 0, "no description", 60.2], ["1302", "I7N3G6G", "1302", 0, "no description", 60.2], ["1303", "I7N3G6G", "1303", 0, "no description", 60.2], ["1304", "I7N3G6G", "1304", 0, "no description", 60.2], ["1305", "I7N3G6G", "1305", 0, "no description", 60.2], ["1306", "I7N3G6G", "1306", 0, "no description", 60.2], ["1307", "I7N3G6G", "1307", 0, "no description", 60.2], ["1308", "I7N3G6G", "1308", 0, "no description", 60.2], ["1309", "I7N3G6G", "1309", 0, "no description", 60.2], ["1310", "I7N3G6G", "1310", 0, "no description", 60.2], ["1311", "I7N3G6G", "1311", 0, "no description", 60.2], ["1312", "I7N3G6G", "1312", 0, "no description", 60.2], ["1313", "I7N3G6G", "1313", 0, "no description", 60.2], ["1314", "I7N3G6G", "1314", 0, "no description", 60.2], ["1315", "I7N3G6G", "1315", 0, "no description", 60.2], ["1316", "I7N3G6G", "1316", 0, "no description", 60.2], ["1317", "I7N3G6G", "1317", 0, "no description", 60.2], ["1318", "I7N3G6G", "1318", 0, "no description", 60.2], ["1319", "I7N3G6G", "1319", 0, "no description", 60.2], ["1320", "I7N3G6G", "1320", 0, "no description", 60.2], ["1321", "I7N3G6G", "1321", 0, "no description", 60.2], ["1322", "I7N3G6G", "1322", 0, "no description", 60.2], ["1323", "I7N3G6G", "1323", 0, "no description", 60.2], ["1324", "I7N3G6G", "1324", 0, "no description", 60.2], ["1325", "I7N3G6G", "1325", 0, "no description", 60.2], ["1326", "I7N3G6G", "1326", 0, "no description", 60.2], ["1327", "I7N3G6G", "1327", 0, "no description", 60.2], ["1328", "I7N3G6G", "1328", 0, "no description", 60.2], ["1329", "I7N3G6G", "1329", 0, "no description", 60.2], ["1330", "I7N3G6G", "1330", 0, "no description", 60.2], ["1331", "I7N3G6G", "1331", 0, "no description", 60.2], ["1332", "I7N3G6G", "1332", 0, "no description", 60.2], ["1333", "I7N3G6G", "1333", 0, "no description", 60.2], ["1334", "I7N3G6G", "1334", 0, "no description", 60.2], ["1335", "I7N3G6G", "1335", 0, "no description", 60.2], ["1336", "I7N3G6G", "1336", 0, "no description", 60.2], ["1337", "I7N3G6G", "1337", 0, "no description", 60.2], ["1338", "I7N3G6G", "1338", 0, "no description", 60.2], ["1339", "I7N3G6G", "1339", 0, "no description", 60.2], ["1340", "I7N3G6G", "1340", 0, "no description", 60.2], ["1341", "I7N3G6G", "1341", 0, "no description", 60.2], ["1342", "I7N3G6G", "1342", 0, "no description", 60.2], ["1343", "I7N3G6G", "1343", 0, "no description", 60.2], ["1344", "I7N3G6G", "1344", 0, "no description", 60.2], ["1345", "I7N3G6G", "1345", 0, "no description", 60.2], ["1346", "I7N3G6G", "1346", 0, "no description", 60.2], ["1347", "I7N3G6G", "1347", 0, "no description", 60.2], ["1348", "I7N3G6G", "1348", 0, "no description", 60.2], ["1349", "I7N3G6G", "1349", 0, "no description", 60.2], ["1350", "I7N3G6G", "1350", 0, "no description", 60.2], ["1351", "I7N3G6G", "1351", 0, "no description", 60.2], ["1352", "I7N3G6G", "1352", 0, "no description", 60.2], ["1353", "I7N3G6G", "1353", 0, "no description", 60.2], ["1354", "I7N3G6G", "1354", 0, "no description", 60.2], ["1355", "I7N3G6G", "1355", 0, "no description", 60.2], ["1356", "I7N3G6G", "1356", 0, "no description", 60.2], ["1357", "I7N3G6G", "1357", 0, "no description", 60.2], ["1358", "I7N3G6G", "1358", 0, "no description", 60.2], ["1359", "I7N3G6G", "1359", 0, "no description", 60.2], ["1360", "I7N3G6G", "1360", 0, "no description", 60.2], ["1361", "I7N3G6G", "1361", 0, "no description", 60.2], ["1362", "I7N3G6G", "1362", 0, "no description", 60.2], ["1363", "I7N3G6G", "1363", 0, "no description", 60.2], ["1364", "I7N3G6G", "1364", 0, "no description", 60.2], ["1365", "I7N3G6G", "1365", 0, "no description", 60.2], ["1366", "I7N3G6G", "1366", 0, "no description", 60.2], ["1367", "I7N3G6G", "1367", 0, "no description", 60.2], ["1368", "I7N3G6G", "1368", 0, "no description", 60.2], ["1369", "I7N3G6G", "1369", 0, "no description", 60.2], ["1370", "I7N3G6G", "1370", 0, "no description", 60.2], ["1371", "I7N3G6G", "1371", 0, "no description", 60.2], ["1372", "I7N3G6G", "1372", 0, "no description", 60.2], ["1373", "I7N3G6G", "1373", 0, "no description", 60.2], ["1374", "I7N3G6G", "1374", 0, "no description", 60.2], ["1375", "I7N3G6G", "1375", 0, "no description", 60.2], ["1376", "I7N3G6G", "1376", 0, "no description", 60.2], ["1377", "I7N3G6G", "1377", 0, "no description", 60.2], ["1378", "I7N3G6G", "1378", 0, "no description", 60.2], ["1379", "I7N3G6G", "1379", 0, "no description", 60.2], ["1380", "I7N3G6G", "1380", 0, "no description", 60.2], ["1381", "I7N3G6G", "1381", 0, "no description", 60.2], ["1382", "I7N3G6G", "1382", 0, "no description", 60.2], ["1383", "I7N3G6G", "1383", 0, "no description", 60.2], ["1384", "I7N3G6G", "1384", 0, "no description", 60.2], ["1385", "I7N3G6G", "1385", 0, "no description", 60.2], ["1386", "I7N3G6G", "1386", 0, "no description", 60.2], ["1387", "I7N3G6G", "1387", 0, "no description", 60.2], ["1388", "I7N3G6G", "1388", 0, "no description", 60.2], ["1389", "I7N3G6G", "1389", 0, "no description", 60.2], ["1390", "I7N3G6G", "1390", 0, "no description", 60.2], ["1391", "I7N3G6G", "1391", 0, "no description", 60.2], ["1392", "I7N3G6G", "1392", 0, "no description", 60.2], ["1393", "I7N3G6G", "1393", 0, "no description", 60.2], ["1394", "I7N3G6G", "1394", 0, "no description", 60.2], ["1395", "I7N3G6G", "1395", 0, "no description", 60.2], ["1396", "I7N3G6G", "1396", 0, "no description", 60.2], ["1397", "I7N3G6G", "1397", 0, "no description", 60.2], ["1398", "I7N3G6G", "1398", 0, "no description", 60.2], ["1399", "I7N3G6G", "1399", 0, "no description", 60.2], ["1400", "I7N3G6G", "1400", 0, "no description", 60.2], ["1401", "I7N3G6G", "1401", 0, "no description", 60.2], ["1402", "I7N3G6G", "1402", 0, "no description", 60.2], ["1403", "I7N3G6G", "1403", 0, "no description", 60.2], ["1404", "I7N3G6G", "1404", 0, "no description", 60.2], ["1405", "I7N3G6G", "1405", 0, "no description", 60.2], ["1406", "I7N3G6G", "1406", 0, "no description", 60.2], ["1407", "I7N3G6G", "1407", 0, "no description", 60.2], ["1408", "I7N3G6G", "1408", 0, "no description", 60.2], ["1409", "I7N3G6G", "1409", 0, "no description", 60.2], ["1410", "I7N3G6G", "1410", 0, "no description", 60.2], ["1411", "I7N3G6G", "1411", 0, "no description", 60.2], ["1412", "I7N3G6G", "1412", 0, "no description", 60.2], ["1413", "I7N3G6G", "1413", 0, "no description", 60.2], ["1414", "I7N3G6G", "1414", 0, "no description", 60.2], ["1415", "I7N3G6G", "1415", 0, "no description", 60.2], ["1416", "I7N3G6G", "1416", 0, "no description", 60.2], ["1417", "I7N3G6G", "1417", 0, "no description", 60.2], ["1418", "I7N3G6G", "1418", 0, "no description", 60.2], ["1419", "I7N3G6G", "1419", 0, "no description", 60.2], ["1420", "I7N3G6G", "1420", 0, "no description", 60.2], ["1421", "I7N3G6G", "1421", 0, "no description", 60.2], ["1422", "I7N3G6G", "1422", 0, "no description", 60.2], ["1423", "I7N3G6G", "1423", 0, "no description", 60.2], ["1424", "I7N3G6G", "1424", 0, "no description", 60.2], ["1425", "I7N3G6G", "1425", 0, "no description", 60.2], ["1426", "I7N3G6G", "1426", 0, "no description", 60.2], ["1427", "I7N3G6G", "1427", 0, "no description", 60.2], ["1428", "I7N3G6G", "1428", 0, "no description", 60.2], ["1429", "I7N3G6G", "1429", 0, "no description", 60.2], ["1430", "I7N3G6G", "1430", 0, "no description", 60.2], ["1431", "I7N3G6G", "1431", 0, "no description", 60.2], ["1432", "I7N3G6G", "1432", 0, "no description", 60.2], ["1433", "I7N3G6G", "1433", 0, "no description", 60.2], ["1434", "I7N3G6G", "1434", 0, "no description", 60.2], ["1435", "I7N3G6G", "1435", 0, "no description", 60.2], ["1436", "I7N3G6G", "1436", 0, "no description", 60.2], ["1437", "I7N3G6G", "1437", 0, "no description", 60.2], ["1438", "I7N3G6G", "1438", 0, "no description", 60.2], ["1439", "I7N3G6G", "1439", 0, "no description", 60.2], ["1440", "I7N3G6G", "1440", 0, "no description", 60.2], ["1441", "I7N3G6G", "1441", 0, "no description", 60.2], ["1442", "I7N3G6G", "1442", 0, "no description", 60.2], ["1443", "I7N3G6G", "1443", 0, "no description", 60.2], ["1444", "I7N3G6G", "1444", 0, "no description", 60.2], ["1445", "I7N3G6G", "1445", 0, "no description", 60.2], ["1446", "I7N3G6G", "1446", 0, "no description", 60.2], ["1447", "I7N3G6G", "1447", 0, "no description", 60.2], ["1448", "I7N3G6G", "1448", 0, "no description", 60.2], ["1449", "I7N3G6G", "1449", 0, "no description", 60.2], ["1450", "I7N3G6G", "1450", 0, "no description", 60.2], ["1451", "I7N3G6G", "1451", 0, "no description", 60.2], ["1452", "I7N3G6G", "1452", 0, "no description", 60.2], ["1453", "I7N3G6G", "1453", 0, "no description", 60.2], ["1454", "I7N3G6G", "1454", 0, "no description", 60.2], ["1455", "I7N3G6G", "1455", 0, "no description", 60.2], ["1456", "I7N3G6G", "1456", 0, "no description", 60.2], ["1457", "I7N3G6G", "1457", 0, "no description", 60.2], ["1458", "I7N3G6G", "1458", 0, "no description", 60.2], ["1459", "I7N3G6G", "1459", 0, "no description", 60.2], ["1460", "I7N3G6G", "1460", 0, "no description", 60.2], ["1461", "I7N3G6G", "1461", 0, "no description", 60.2], ["1462", "I7N3G6G", "1462", 0, "no description", 60.2], ["1463", "I7N3G6G", "1463", 0, "no description", 60.2], ["1464", "I7N3G6G", "1464", 0, "no description", 60.2], ["1465", "I7N3G6G", "1465", 0, "no description", 60.2], ["1466", "I7N3G6G", "1466", 0, "no description", 60.2], ["1467", "I7N3G6G", "1467", 0, "no description", 60.2], ["1468", "I7N3G6G", "1468", 0, "no description", 60.2], ["1469", "I7N3G6G", "1469", 0, "no description", 60.2], ["1470", "I7N3G6G", "1470", 0, "no description", 60.2], ["1471", "I7N3G6G", "1471", 0, "no description", 60.2], ["1472", "I7N3G6G", "1472", 0, "no description", 60.2], ["1473", "I7N3G6G", "1473", 0, "no description", 60.2], ["1474", "I7N3G6G", "1474", 0, "no description", 60.2], ["1475", "I7N3G6G", "1475", 0, "no description", 60.2], ["1476", "I7N3G6G", "1476", 0, "no description", 60.2], ["1477", "I7N3G6G", "1477", 0, "no description", 60.2], ["1478", "I7N3G6G", "1478", 0, "no description", 60.2], ["1479", "I7N3G6G", "1479", 0, "no description", 60.2], ["1480", "I7N3G6G", "1480", 0, "no description", 60.2], ["1481", "I7N3G6G", "1481", 0, "no description", 60.2], ["1482", "I7N3G6G", "1482", 0, "no description", 60.2], ["1483", "I7N3G6G", "1483", 0, "no description", 60.2], ["1484", "I7N3G6G", "1484", 0, "no description", 60.2], ["1485", "I7N3G6G", "1485", 0, "no description", 60.2], ["1486", "I7N3G6G", "1486", 0, "no description", 60.2], ["1487", "I7N3G6G", "1487", 0, "no description", 60.2], ["1488", "I7N3G6G", "1488", 0, "no description", 60.2], ["1489", "I7N3G6G", "1489", 0, "no description", 60.2], ["1490", "I7N3G6G", "1490", 0, "no description", 60.2], ["1491", "I7N3G6G", "1491", 0, "no description", 60.2], ["1492", "I7N3G6G", "1492", 0, "no description", 60.2], ["1493", "I7N3G6G", "1493", 0, "no description", 60.2], ["1494", "I7N3G6G", "1494", 0, "no description", 60.2], ["1495", "I7N3G6G", "1495", 0, "no description", 60.2], ["1496", "I7N3G6G", "1496", 0, "no description", 60.2], ["1497", "I7N3G6G", "1497", 0, "no description", 60.2], ["1498", "I7N3G6G", "1498", 0, "no description", 60.2], ["1499", "I7N3G6G", "1499", 0, "no description", 60.2], ["1500", "I7N3G6G", "1500", 0, "no description", 60.2], ["1501", "I7N3G6G", "1501", 0, "no description", 60.2], ["1502", "I7N3G6G", "1502", 0, "no description", 60.2], ["1503", "I7N3G6G", "1503", 0, "no description", 60.2], ["1504", "I7N3G6G", "1504", 0, "no description", 60.2], ["1505", "I7N3G6G", "1505", 0, "no description", 60.2], ["1506", "I7N3G6G", "1506", 0, "no description", 60.2], ["1507", "I7N3G6G", "1507", 0, "no description", 60.2], ["1508", "I7N3G6G", "1508", 0, "no description", 60.2], ["1509", "I7N3G6G", "1509", 0, "no description", 60.2], ["1510", "I7N3G6G", "1510", 0, "no description", 60.2], ["1511", "I7N3G6G", "1511", 0, "no description", 60.2], ["1512", "I7N3G6G", "1512", 0, "no description", 60.2], ["1513", "I7N3G6G", "1513", 0, "no description", 60.2], ["1514", "I7N3G6G", "1514", 0, "no description", 60.2], ["1515", "I7N3G6G", "1515", 0, "no description", 60.2], ["1516", "I7N3G6G", "1516", 0, "no description", 60.2], ["1517", "I7N3G6G", "1517", 0, "no description", 60.2], ["1518", "I7N3G6G", "1518", 0, "no description", 60.2], ["1519", "I7N3G6G", "1519", 0, "no description", 60.2], ["1520", "I7N3G6G", "1520", 0, "no description", 60.2], ["1521", "I7N3G6G", "1521", 0, "no description", 60.2], ["1522", "I7N3G6G", "1522", 0, "no description", 60.2], ["1523", "I7N3G6G", "1523", 0, "no description", 60.2], ["1524", "I7N3G6G", "1524", 0, "no description", 60.2], ["1525", "I7N3G6G", "1525", 0, "no description", 60.2], ["1526", "I7N3G6G", "1526", 0, "no description", 60.2], ["1527", "I7N3G6G", "1527", 0, "no description", 60.2], ["1528", "I7N3G6G", "1528", 0, "no description", 60.2], ["1529", "I7N3G6G", "1529", 0, "no description", 60.2], ["1530", "I7N3G6G", "1530", 0, "no description", 60.2], ["1531", "I7N3G6G", "1531", 0, "no description", 60.2], ["1532", "I7N3G6G", "1532", 0, "no description", 60.2], ["1533", "I7N3G6G", "1533", 0, "no description", 60.2], ["1534", "I7N3G6G", "1534", 0, "no description", 60.2], ["1535", "I7N3G6G", "1535", 0, "no description", 60.2], ["1536", "I7N3G6G", "1536", 0, "no description", 60.2], ["1537", "I7N3G6G", "1537", 0, "no description", 60.2], ["1538", "I7N3G6G", "1538", 0, "no description", 60.2], ["1539", "I7N3G6G", "1539", 0, "no description", 60.2], ["1540", "I7N3G6G", "1540", 0, "no description", 60.2], ["1541", "I7N3G6G", "1541", 0, "no description", 60.2], ["1542", "I7N3G6G", "1542", 0, "no description", 60.2], ["1543", "I7N3G6G", "1543", 0, "no description", 60.2], ["1544", "I7N3G6G", "1544", 0, "no description", 60.2], ["1545", "I7N3G6G", "1545", 0, "no description", 60.2], ["1546", "I7N3G6G", "1546", 0, "no description", 60.2], ["1547", "I7N3G6G", "1547", 0, "no description", 60.2], ["1548", "I7N3G6G", "1548", 0, "no description", 60.2], ["1549", "I7N3G6G", "1549", 0, "no description", 60.2], ["1550", "I7N3G6G", "1550", 0, "no description", 60.2], ["1551", "I7N3G6G", "1551", 0, "no description", 60.2], ["1552", "I7N3G6G", "1552", 0, "no description", 60.2], ["1553", "I7N3G6G", "1553", 0, "no description", 60.2], ["1554", "I7N3G6G", "1554", 0, "no description", 60.2], ["1555", "I7N3G6G", "1555", 0, "no description", 60.2], ["1556", "I7N3G6G", "1556", 0, "no description", 60.2], ["1557", "I7N3G6G", "1557", 0, "no description", 60.2], ["1558", "I7N3G6G", "1558", 0, "no description", 60.2], ["1559", "I7N3G6G", "1559", 0, "no description", 60.2], ["1560", "I7N3G6G", "1560", 0, "no description", 60.2], ["1561", "I7N3G6G", "1561", 0, "no description", 60.2], ["1562", "I7N3G6G", "1562", 0, "no description", 60.2], ["1563", "I7N3G6G", "1563", 0, "no description", 60.2], ["1564", "I7N3G6G", "1564", 0, "no description", 60.2], ["1565", "I7N3G6G", "1565", 0, "no description", 60.2], ["1566", "I7N3G6G", "1566", 0, "no description", 60.2], ["1567", "I7N3G6G", "1567", 0, "no description", 60.2], ["1568", "I7N3G6G", "1568", 0, "no description", 60.2], ["1569", "I7N3G6G", "1569", 0, "no description", 60.2], ["1570", "I7N3G6G", "1570", 0, "no description", 60.2], ["1571", "I7N3G6G", "1571", 0, "no description", 60.2], ["1572", "I7N3G6G", "1572", 0, "no description", 60.2], ["1573", "I7N3G6G", "1573", 0, "no description", 60.2], ["1574", "I7N3G6G", "1574", 0, "no description", 60.2], ["1575", "I7N3G6G", "1575", 0, "no description", 60.2], ["1576", "I7N3G6G", "1576", 0, "no description", 60.2], ["1577", "I7N3G6G", "1577", 0, "no description", 60.2], ["1578", "I7N3G6G", "1578", 0, "no description", 60.2], ["1579", "I7N3G6G", "1579", 0, "no description", 60.2], ["1580", "I7N3G6G", "1580", 0, "no description", 60.2], ["1581", "I7N3G6G", "1581", 0, "no description", 60.2], ["1582", "I7N3G6G", "1582", 0, "no description", 60.2], ["1583", "I7N3G6G", "1583", 0, "no description", 60.2], ["1584", "I7N3G6G", "1584", 0, "no description", 60.2], ["1585", "I7N3G6G", "1585", 0, "no description", 60.2], ["1586", "I7N3G6G", "1586", 0, "no description", 60.2], ["1587", "I7N3G6G", "1587", 0, "no description", 60.2], ["1588", "I7N3G6G", "1588", 0, "no description", 60.2], ["1589", "I7N3G6G", "1589", 0, "no description", 60.2], ["1590", "I7N3G6G", "1590", 0, "no description", 60.2], ["1591", "I7N3G6G", "1591", 0, "no description", 60.2], ["1592", "I7N3G6G", "1592", 0, "no description", 60.2], ["1593", "I7N3G6G", "1593", 0, "no description", 60.2], ["1594", "I7N3G6G", "1594", 0, "no description", 60.2], ["1595", "I7N3G6G", "1595", 0, "no description", 60.2], ["1596", "I7N3G6G", "1596", 0, "no description", 60.2], ["1597", "I7N3G6G", "1597", 0, "no description", 60.2], ["1598", "I7N3G6G", "1598", 0, "no description", 60.2], ["1599", "I7N3G6G", "1599", 0, "no description", 60.2], ["1600", "I7N3G6G", "1600", 0, "no description", 60.2], ["1601", "I7N3G6G", "1601", 0, "no description", 60.2], ["1602", "I7N3G6G", "1602", 0, "no description", 60.2], ["1603", "I7N3G6G", "1603", 0, "no description", 60.2], ["1604", "I7N3G6G", "1604", 0, "no description", 60.2], ["1605", "I7N3G6G", "1605", 0, "no description", 60.2], ["1606", "I7N3G6G", "1606", 0, "no description", 60.2], ["1607", "I7N3G6G", "1607", 0, "no description", 60.2], ["1608", "I7N3G6G", "1608", 0, "no description", 60.2], ["1609", "I7N3G6G", "1609", 0, "no description", 60.2], ["1610", "I7N3G6G", "1610", 0, "no description", 60.2], ["1611", "I7N3G6G", "1611", 0, "no description", 60.2], ["1612", "I7N3G6G", "1612", 0, "no description", 60.2], ["1613", "I7N3G6G", "1613", 0, "no description", 60.2], ["1614", "I7N3G6G", "1614", 0, "no description", 60.2], ["1615", "I7N3G6G", "1615", 0, "no description", 60.2], ["1616", "I7N3G6G", "1616", 0, "no description", 60.2], ["1617", "I7N3G6G", "1617", 0, "no description", 60.2], ["1618", "I7N3G6G", "1618", 0, "no description", 60.2], ["1619", "I7N3G6G", "1619", 0, "no description", 60.2], ["1620", "I7N3G6G", "1620", 0, "no description", 60.2], ["1621", "I7N3G6G", "1621", 0, "no description", 60.2], ["1622", "I7N3G6G", "1622", 0, "no description", 60.2], ["1623", "I7N3G6G", "1623", 0, "no description", 60.2], ["1624", "I7N3G6G", "1624", 0, "no description", 60.2], ["1625", "I7N3G6G", "1625", 0, "no description", 60.2], ["1626", "I7N3G6G", "1626", 0, "no description", 60.2], ["1627", "I7N3G6G", "1627", 0, "no description", 60.2], ["1628", "I7N3G6G", "1628", 0, "no description", 60.2], ["1629", "I7N3G6G", "1629", 0, "no description", 60.2], ["1630", "I7N3G6G", "1630", 0, "no description", 60.2], ["1631", "I7N3G6G", "1631", 0, "no description", 60.2], ["1632", "I7N3G6G", "1632", 0, "no description", 60.2], ["1633", "I7N3G6G", "1633", 0, "no description", 60.2], ["1634", "I7N3G6G", "1634", 0, "no description", 60.2], ["1635", "I7N3G6G", "1635", 0, "no description", 60.2], ["1636", "I7N3G6G", "1636", 0, "no description", 60.2], ["1637", "I7N3G6G", "1637", 0, "no description", 60.2], ["1638", "I7N3G6G", "1638", 0, "no description", 60.2], ["1639", "I7N3G6G", "1639", 0, "no description", 60.2], ["1640", "I7N3G6G", "1640", 0, "no description", 60.2], ["1641", "I7N3G6G", "1641", 0, "no description", 60.2], ["1642", "I7N3G6G", "1642", 0, "no description", 60.2], ["1643", "I7N3G6G", "1643", 0, "no description", 60.2], ["1644", "I7N3G6G", "1644", 0, "no description", 60.2], ["1645", "I7N3G6G", "1645", 0, "no description", 60.2], ["1646", "I7N3G6G", "1646", 0, "no description", 60.2], ["1647", "I7N3G6G", "1647", 0, "no description", 60.2], ["1648", "I7N3G6G", "1648", 0, "no description", 60.2], ["1649", "I7N3G6G", "1649", 0, "no description", 60.2], ["1650", "I7N3G6G", "1650", 0, "no description", 60.2], ["1651", "I7N3G6G", "1651", 0, "no description", 60.2], ["1652", "I7N3G6G", "1652", 0, "no description", 60.2], ["1653", "I7N3G6G", "1653", 0, "no description", 60.2], ["1654", "I7N3G6G", "1654", 0, "no description", 60.2], ["1655", "I7N3G6G", "1655", 0, "no description", 60.2], ["1656", "I7N3G6G", "1656", 0, "no description", 60.2], ["1657", "I7N3G6G", "1657", 0, "no description", 60.2], ["1658", "I7N3G6G", "1658", 0, "no description", 60.2], ["1659", "I7N3G6G", "1659", 0, "no description", 60.2], ["1660", "I7N3G6G", "1660", 0, "no description", 60.2], ["1661", "I7N3G6G", "1661", 0, "no description", 60.2], ["1662", "I7N3G6G", "1662", 0, "no description", 60.2], ["1663", "I7N3G6G", "1663", 0, "no description", 60.2], ["1664", "I7N3G6G", "1664", 0, "no description", 60.2], ["1665", "I7N3G6G", "1665", 0, "no description", 60.2], ["1666", "I7N3G6G", "1666", 0, "no description", 60.2], ["1667", "I7N3G6G", "1667", 0, "no description", 60.2], ["1668", "I7N3G6G", "1668", 0, "no description", 60.2], ["1669", "I7N3G6G", "1669", 0, "no description", 60.2], ["1670", "I7N3G6G", "1670", 0, "no description", 60.2], ["1671", "I7N3G6G", "1671", 0, "no description", 60.2], ["1672", "I7N3G6G", "1672", 0, "no description", 60.2], ["1673", "I7N3G6G", "1673", 0, "no description", 60.2], ["1674", "I7N3G6G", "1674", 0, "no description", 60.2], ["1675", "I7N3G6G", "1675", 0, "no description", 60.2], ["1676", "I7N3G6G", "1676", 0, "no description", 60.2], ["1677", "I7N3G6G", "1677", 0, "no description", 60.2], ["1678", "I7N3G6G", "1678", 0, "no description", 60.2], ["1679", "I7N3G6G", "1679", 0, "no description", 60.2], ["1680", "I7N3G6G", "1680", 0, "no description", 60.2], ["1681", "I7N3G6G", "1681", 0, "no description", 60.2], ["1682", "I7N3G6G", "1682", 0, "no description", 60.2], ["1683", "I7N3G6G", "1683", 0, "no description", 60.2], ["1684", "I7N3G6G", "1684", 0, "no description", 60.2], ["1685", "I7N3G6G", "1685", 0, "no description", 60.2], ["1686", "I7N3G6G", "1686", 0, "no description", 60.2], ["1687", "I7N3G6G", "1687", 0, "no description", 60.2], ["1688", "I7N3G6G", "1688", 0, "no description", 60.2], ["1689", "I7N3G6G", "1689", 0, "no description", 60.2], ["1690", "I7N3G6G", "1690", 0, "no description", 60.2], ["1691", "I7N3G6G", "1691", 0, "no description", 60.2], ["1692", "I7N3G6G", "1692", 0, "no description", 60.2], ["1693", "I7N3G6G", "1693", 0, "no description", 60.2], ["1694", "I7N3G6G", "1694", 0, "no description", 60.2], ["1695", "I7N3G6G", "1695", 0, "no description", 60.2], ["1696", "I7N3G6G", "1696", 0, "no description", 60.2], ["1697", "I7N3G6G", "1697", 0, "no description", 60.2], ["1698", "I7N3G6G", "1698", 0, "no description", 60.2], ["1699", "I7N3G6G", "1699", 0, "no description", 60.2], ["1700", "I7N3G6G", "1700", 0, "no description", 60.2], ["1701", "I7N3G6G", "1701", 0, "no description", 60.2], ["1702", "I7N3G6G", "1702", 0, "no description", 60.2], ["1703", "I7N3G6G", "1703", 0, "no description", 60.2], ["1704", "I7N3G6G", "1704", 0, "no description", 60.2], ["1705", "I7N3G6G", "1705", 0, "no description", 60.2], ["1706", "I7N3G6G", "1706", 0, "no description", 60.2], ["1707", "I7N3G6G", "1707", 0, "no description", 60.2], ["1708", "I7N3G6G", "1708", 0, "no description", 60.2], ["1709", "I7N3G6G", "1709", 0, "no description", 60.2], ["1710", "I7N3G6G", "1710", 0, "no description", 60.2], ["1711", "I7N3G6G", "1711", 0, "no description", 60.2], ["1712", "I7N3G6G", "1712", 0, "no description", 60.2], ["1713", "I7N3G6G", "1713", 0, "no description", 60.2], ["1714", "I7N3G6G", "1714", 0, "no description", 60.2], ["1715", "I7N3G6G", "1715", 0, "no description", 60.2], ["1716", "I7N3G6G", "1716", 0, "no description", 60.2], ["1717", "I7N3G6G", "1717", 0, "no description", 60.2], ["1718", "I7N3G6G", "1718", 0, "no description", 60.2], ["1719", "I7N3G6G", "1719", 0, "no description", 60.2], ["1720", "I7N3G6G", "1720", 0, "no description", 60.2], ["1721", "I7N3G6G", "1721", 0, "no description", 60.2], ["1722", "I7N3G6G", "1722", 0, "no description", 60.2], ["1723", "I7N3G6G", "1723", 0, "no description", 60.2], ["1724", "I7N3G6G", "1724", 0, "no description", 60.2], ["1725", "I7N3G6G", "1725", 0, "no description", 60.2], ["1726", "I7N3G6G", "1726", 0, "no description", 60.2], ["1727", "I7N3G6G", "1727", 0, "no description", 60.2], ["1728", "I7N3G6G", "1728", 0, "no description", 60.2], ["1729", "I7N3G6G", "1729", 0, "no description", 60.2], ["1730", "I7N3G6G", "1730", 0, "no description", 60.2], ["1731", "I7N3G6G", "1731", 0, "no description", 60.2], ["1732", "I7N3G6G", "1732", 0, "no description", 60.2], ["1733", "I7N3G6G", "1733", 0, "no description", 60.2], ["1734", "I7N3G6G", "1734", 0, "no description", 60.2], ["1735", "I7N3G6G", "1735", 0, "no description", 60.2], ["1736", "I7N3G6G", "1736", 0, "no description", 60.2], ["1737", "I7N3G6G", "1737", 0, "no description", 60.2], ["1738", "I7N3G6G", "1738", 0, "no description", 60.2], ["1739", "I7N3G6G", "1739", 0, "no description", 60.2], ["1740", "I7N3G6G", "1740", 0, "no description", 60.2], ["1741", "I7N3G6G", "1741", 0, "no description", 60.2], ["1742", "I7N3G6G", "1742", 0, "no description", 60.2], ["1743", "I7N3G6G", "1743", 0, "no description", 60.2], ["1744", "I7N3G6G", "1744", 0, "no description", 60.2], ["1745", "I7N3G6G", "1745", 0, "no description", 60.2], ["1746", "I7N3G6G", "1746", 0, "no description", 60.2], ["1747", "I7N3G6G", "1747", 0, "no description", 60.2], ["1748", "I7N3G6G", "1748", 0, "no description", 60.2], ["1749", "I7N3G6G", "1749", 0, "no description", 60.2], ["1750", "I7N3G6G", "1750", 0, "no description", 60.2], ["1751", "I7N3G6G", "1751", 0, "no description", 60.2], ["1752", "I7N3G6G", "1752", 0, "no description", 60.2], ["1753", "I7N3G6G", "1753", 0, "no description", 60.2], ["1754", "I7N3G6G", "1754", 0, "no description", 60.2], ["1755", "I7N3G6G", "1755", 0, "no description", 60.2], ["1756", "I7N3G6G", "1756", 0, "no description", 60.2], ["1757", "I7N3G6G", "1757", 0, "no description", 60.2], ["1758", "I7N3G6G", "1758", 0, "no description", 60.2], ["1759", "I7N3G6G", "1759", 0, "no description", 60.2], ["1760", "I7N3G6G", "1760", 0, "no description", 60.2], ["1761", "I7N3G6G", "1761", 0, "no description", 60.2], ["1762", "I7N3G6G", "1762", 0, "no description", 60.2], ["1763", "I7N3G6G", "1763", 0, "no description", 60.2], ["1764", "I7N3G6G", "1764", 0, "no description", 60.2], ["1765", "I7N3G6G", "1765", 0, "no description", 60.2], ["1766", "I7N3G6G", "1766", 0, "no description", 60.2], ["1767", "I7N3G6G", "1767", 0, "no description", 60.2], ["1768", "I7N3G6G", "1768", 0, "no description", 60.2], ["1769", "I7N3G6G", "1769", 0, "no description", 60.2], ["1770", "I7N3G6G", "1770", 0, "no description", 60.2], ["1771", "I7N3G6G", "1771", 0, "no description", 60.2], ["1772", "I7N3G6G", "1772", 0, "no description", 60.2], ["1773", "I7N3G6G", "1773", 0, "no description", 60.2], ["1774", "I7N3G6G", "1774", 0, "no description", 60.2], ["1775", "I7N3G6G", "1775", 0, "no description", 60.2], ["1776", "I7N3G6G", "1776", 0, "no description", 60.2], ["1777", "I7N3G6G", "1777", 0, "no description", 60.2], ["1778", "I7N3G6G", "1778", 0, "no description", 60.2], ["1779", "I7N3G6G", "1779", 0, "no description", 60.2], ["1780", "I7N3G6G", "1780", 0, "no description", 60.2], ["1781", "I7N3G6G", "1781", 0, "no description", 60.2], ["1782", "I7N3G6G", "1782", 0, "no description", 60.2], ["1783", "I7N3G6G", "1783", 0, "no description", 60.2], ["1784", "I7N3G6G", "1784", 0, "no description", 60.2], ["1785", "I7N3G6G", "1785", 0, "no description", 60.2], ["1786", "I7N3G6G", "1786", 0, "no description", 60.2], ["1787", "I7N3G6G", "1787", 0, "no description", 60.2], ["1788", "I7N3G6G", "1788", 0, "no description", 60.2], ["1789", "I7N3G6G", "1789", 0, "no description", 60.2], ["1790", "I7N3G6G", "1790", 0, "no description", 60.2], ["1791", "I7N3G6G", "1791", 0, "no description", 60.2], ["1792", "I7N3G6G", "1792", 0, "no description", 60.2], ["1793", "I7N3G6G", "1793", 0, "no description", 60.2], ["1794", "I7N3G6G", "1794", 0, "no description", 60.2], ["1795", "I7N3G6G", "1795", 0, "no description", 60.2], ["1796", "I7N3G6G", "1796", 0, "no description", 60.2], ["1797", "I7N3G6G", "1797", 0, "no description", 60.2], ["1798", "I7N3G6G", "1798", 0, "no description", 60.2], ["1799", "I7N3G6G", "1799", 0, "no description", 60.2], ["1800", "I7N3G6G", "1800", 0, "no description", 60.2], ["1801", "I7N3G6G", "1801", 0, "no description", 60.2], ["1802", "I7N3G6G", "1802", 0, "no description", 60.2], ["1803", "I7N3G6G", "1803", 0, "no description", 60.2], ["1804", "I7N3G6G", "1804", 0, "no description", 60.2], ["1805", "I7N3G6G", "1805", 0, "no description", 60.2], ["1806", "I7N3G6G", "1806", 0, "no description", 60.2], ["1807", "I7N3G6G", "1807", 0, "no description", 60.2], ["1808", "I7N3G6G", "1808", 0, "no description", 60.2], ["1809", "I7N3G6G", "1809", 0, "no description", 60.2], ["1810", "I7N3G6G", "1810", 0, "no description", 60.2], ["1811", "I7N3G6G", "1811", 0, "no description", 60.2], ["1812", "I7N3G6G", "1812", 0, "no description", 60.2], ["1813", "I7N3G6G", "1813", 0, "no description", 60.2], ["1814", "I7N3G6G", "1814", 0, "no description", 60.2], ["1815", "I7N3G6G", "1815", 0, "no description", 60.2], ["1816", "I7N3G6G", "1816", 0, "no description", 60.2], ["1817", "I7N3G6G", "1817", 0, "no description", 60.2], ["1818", "I7N3G6G", "1818", 0, "no description", 60.2], ["1819", "I7N3G6G", "1819", 0, "no description", 60.2], ["1820", "I7N3G6G", "1820", 0, "no description", 60.2], ["1821", "I7N3G6G", "1821", 0, "no description", 60.2], ["1822", "I7N3G6G", "1822", 0, "no description", 60.2], ["1823", "I7N3G6G", "1823", 0, "no description", 60.2], ["1824", "I7N3G6G", "1824", 0, "no description", 60.2], ["1825", "I7N3G6G", "1825", 0, "no description", 60.2], ["1826", "I7N3G6G", "1826", 0, "no description", 60.2], ["1827", "I7N3G6G", "1827", 0, "no description", 60.2], ["1828", "I7N3G6G", "1828", 0, "no description", 60.2], ["1829", "I7N3G6G", "1829", 0, "no description", 60.2], ["1830", "I7N3G6G", "1830", 0, "no description", 60.2], ["1831", "I7N3G6G", "1831", 0, "no description", 60.2], ["1832", "I7N3G6G", "1832", 0, "no description", 60.2], ["1833", "I7N3G6G", "1833", 0, "no description", 60.2], ["1834", "I7N3G6G", "1834", 0, "no description", 60.2], ["1835", "I7N3G6G", "1835", 0, "no description", 60.2], ["1836", "I7N3G6G", "1836", 0, "no description", 60.2], ["1837", "I7N3G6G", "1837", 0, "no description", 60.2], ["1838", "I7N3G6G", "1838", 0, "no description", 60.2], ["1839", "I7N3G6G", "1839", 0, "no description", 60.2], ["1840", "I7N3G6G", "1840", 0, "no description", 60.2], ["1841", "I7N3G6G", "1841", 0, "no description", 60.2], ["1842", "I7N3G6G", "1842", 0, "no description", 60.2], ["1843", "I7N3G6G", "1843", 0, "no description", 60.2], ["1844", "I7N3G6G", "1844", 0, "no description", 60.2], ["1845", "I7N3G6G", "1845", 0, "no description", 60.2], ["1846", "I7N3G6G", "1846", 0, "no description", 60.2], ["1847", "I7N3G6G", "1847", 0, "no description", 60.2], ["1848", "I7N3G6G", "1848", 0, "no description", 60.2], ["1849", "I7N3G6G", "1849", 0, "no description", 60.2], ["1850", "I7N3G6G", "1850", 0, "no description", 60.2], ["1851", "I7N3G6G", "1851", 0, "no description", 60.2], ["1852", "I7N3G6G", "1852", 0, "no description", 60.2], ["1853", "I7N3G6G", "1853", 0, "no description", 60.2], ["1854", "I7N3G6G", "1854", 0, "no description", 60.2], ["1855", "I7N3G6G", "1855", 0, "no description", 60.2], ["1856", "I7N3G6G", "1856", 0, "no description", 60.2], ["1857", "I7N3G6G", "1857", 0, "no description", 60.2], ["1858", "I7N3G6G", "1858", 0, "no description", 60.2], ["1859", "I7N3G6G", "1859", 0, "no description", 60.2], ["1860", "I7N3G6G", "1860", 0, "no description", 60.2], ["1861", "I7N3G6G", "1861", 0, "no description", 60.2], ["1862", "I7N3G6G", "1862", 0, "no description", 60.2], ["1863", "I7N3G6G", "1863", 0, "no description", 60.2], ["1864", "I7N3G6G", "1864", 0, "no description", 60.2], ["1865", "I7N3G6G", "1865", 0, "no description", 60.2], ["1866", "I7N3G6G", "1866", 0, "no description", 60.2], ["1867", "I7N3G6G", "1867", 0, "no description", 60.2], ["1868", "I7N3G6G", "1868", 0, "no description", 60.2], ["1869", "I7N3G6G", "1869", 0, "no description", 60.2], ["1870", "I7N3G6G", "1870", 0, "no description", 60.2], ["1871", "I7N3G6G", "1871", 0, "no description", 60.2], ["1872", "I7N3G6G", "1872", 0, "no description", 60.2], ["1873", "I7N3G6G", "1873", 0, "no description", 60.2], ["1874", "I7N3G6G", "1874", 0, "no description", 60.2], ["1875", "I7N3G6G", "1875", 0, "no description", 60.2], ["1876", "I7N3G6G", "1876", 0, "no description", 60.2], ["1877", "I7N3G6G", "1877", 0, "no description", 60.2], ["1878", "I7N3G6G", "1878", 0, "no description", 60.2], ["1879", "I7N3G6G", "1879", 0, "no description", 60.2], ["1880", "I7N3G6G", "1880", 0, "no description", 60.2], ["1881", "I7N3G6G", "1881", 0, "no description", 60.2], ["1882", "I7N3G6G", "1882", 0, "no description", 60.2], ["1883", "I7N3G6G", "1883", 0, "no description", 60.2], ["1884", "I7N3G6G", "1884", 0, "no description", 60.2], ["1885", "I7N3G6G", "1885", 0, "no description", 60.2], ["1886", "I7N3G6G", "1886", 0, "no description", 60.2], ["1887", "I7N3G6G", "1887", 0, "no description", 60.2], ["1888", "I7N3G6G", "1888", 0, "no description", 60.2], ["1889", "I7N3G6G", "1889", 0, "no description", 60.2], ["1890", "I7N3G6G", "1890", 0, "no description", 60.2], ["1891", "I7N3G6G", "1891", 0, "no description", 60.2], ["1892", "I7N3G6G", "1892", 0, "no description", 60.2], ["1893", "I7N3G6G", "1893", 0, "no description", 60.2], ["1894", "I7N3G6G", "1894", 0, "no description", 60.2], ["1895", "I7N3G6G", "1895", 0, "no description", 60.2], ["1896", "I7N3G6G", "1896", 0, "no description", 60.2], ["1897", "I7N3G6G", "1897", 0, "no description", 60.2], ["1898", "I7N3G6G", "1898", 0, "no description", 60.2], ["1899", "I7N3G6G", "1899", 0, "no description", 60.2], ["1900", "I7N3G6G", "1900", 0, "no description", 60.2], ["1901", "I7N3G6G", "1901", 0, "no description", 60.2], ["1902", "I7N3G6G", "1902", 0, "no description", 60.2], ["1903", "I7N3G6G", "1903", 0, "no description", 60.2], ["1904", "I7N3G6G", "1904", 0, "no description", 60.2], ["1905", "I7N3G6G", "1905", 0, "no description", 60.2], ["1906", "I7N3G6G", "1906", 0, "no description", 60.2], ["1907", "I7N3G6G", "1907", 0, "no description", 60.2], ["1908", "I7N3G6G", "1908", 0, "no description", 60.2], ["1909", "I7N3G6G", "1909", 0, "no description", 60.2], ["1910", "I7N3G6G", "1910", 0, "no description", 60.2], ["1911", "I7N3G6G", "1911", 0, "no description", 60.2], ["1912", "I7N3G6G", "1912", 0, "no description", 60.2], ["1913", "I7N3G6G", "1913", 0, "no description", 60.2], ["1914", "I7N3G6G", "1914", 0, "no description", 60.2], ["1915", "I7N3G6G", "1915", 0, "no description", 60.2], ["1916", "I7N3G6G", "1916", 0, "no description", 60.2], ["1917", "I7N3G6G", "1917", 0, "no description", 60.2], ["1918", "I7N3G6G", "1918", 0, "no description", 60.2], ["1919", "I7N3G6G", "1919", 0, "no description", 60.2], ["1920", "I7N3G6G", "1920", 0, "no description", 60.2], ["1921", "I7N3G6G", "1921", 0, "no description", 60.2], ["1922", "I7N3G6G", "1922", 0, "no description", 60.2], ["1923", "I7N3G6G", "1923", 0, "no description", 60.2], ["1924", "I7N3G6G", "1924", 0, "no description", 60.2], ["1925", "I7N3G6G", "1925", 0, "no description", 60.2], ["1926", "I7N3G6G", "1926", 0, "no description", 60.2], ["1927", "I7N3G6G", "1927", 0, "no description", 60.2], ["1928", "I7N3G6G", "1928", 0, "no description", 60.2], ["1929", "I7N3G6G", "1929", 0, "no description", 60.2], ["1930", "I7N3G6G", "1930", 0, "no description", 60.2], ["1931", "I7N3G6G", "1931", 0, "no description", 60.2], ["1932", "I7N3G6G", "1932", 0, "no description", 60.2], ["1933", "I7N3G6G", "1933", 0, "no description", 60.2], ["1934", "I7N3G6G", "1934", 0, "no description", 60.2], ["1935", "I7N3G6G", "1935", 0, "no description", 60.2], ["1936", "I7N3G6G", "1936", 0, "no description", 60.2], ["1937", "I7N3G6G", "1937", 0, "no description", 60.2], ["1938", "I7N3G6G", "1938", 0, "no description", 60.2], ["1939", "I7N3G6G", "1939", 0, "no description", 60.2], ["1940", "I7N3G6G", "1940", 0, "no description", 60.2], ["1941", "I7N3G6G", "1941", 0, "no description", 60.2], ["1942", "I7N3G6G", "1942", 0, "no description", 60.2], ["1943", "I7N3G6G", "1943", 0, "no description", 60.2], ["1944", "I7N3G6G", "1944", 0, "no description", 60.2], ["1945", "I7N3G6G", "1945", 0, "no description", 60.2], ["1946", "I7N3G6G", "1946", 0, "no description", 60.2], ["1947", "I7N3G6G", "1947", 0, "no description", 60.2], ["1948", "I7N3G6G", "1948", 0, "no description", 60.2], ["1949", "I7N3G6G", "1949", 0, "no description", 60.2], ["1950", "I7N3G6G", "1950", 0, "no description", 60.2], ["1951", "I7N3G6G", "1951", 0, "no description", 60.2], ["1952", "I7N3G6G", "1952", 0, "no description", 60.2], ["1953", "I7N3G6G", "1953", 0, "no description", 60.2], ["1954", "I7N3G6G", "1954", 0, "no description", 60.2], ["1955", "I7N3G6G", "1955", 0, "no description", 60.2], ["1956", "I7N3G6G", "1956", 0, "no description", 60.2], ["1957", "I7N3G6G", "1957", 0, "no description", 60.2], ["1958", "I7N3G6G", "1958", 0, "no description", 60.2], ["1959", "I7N3G6G", "1959", 0, "no description", 60.2], ["1960", "I7N3G6G", "1960", 0, "no description", 60.2], ["1961", "I7N3G6G", "1961", 0, "no description", 60.2], ["1962", "I7N3G6G", "1962", 0, "no description", 60.2], ["1963", "I7N3G6G", "1963", 0, "no description", 60.2], ["1964", "I7N3G6G", "1964", 0, "no description", 60.2], ["1965", "I7N3G6G", "1965", 0, "no description", 60.2], ["1966", "I7N3G6G", "1966", 0, "no description", 60.2], ["1967", "I7N3G6G", "1967", 0, "no description", 60.2], ["1968", "I7N3G6G", "1968", 0, "no description", 60.2], ["1969", "I7N3G6G", "1969", 0, "no description", 60.2], ["1970", "I7N3G6G", "1970", 0, "no description", 60.2], ["1971", "I7N3G6G", "1971", 0, "no description", 60.2], ["1972", "I7N3G6G", "1972", 0, "no description", 60.2], ["1973", "I7N3G6G", "1973", 0, "no description", 60.2], ["1974", "I7N3G6G", "1974", 0, "no description", 60.2], ["1975", "I7N3G6G", "1975", 0, "no description", 60.2], ["1976", "I7N3G6G", "1976", 0, "no description", 60.2], ["1977", "I7N3G6G", "1977", 0, "no description", 60.2], ["1978", "I7N3G6G", "1978", 0, "no description", 60.2], ["1979", "I7N3G6G", "1979", 0, "no description", 60.2], ["1980", "I7N3G6G", "1980", 0, "no description", 60.2], ["1981", "I7N3G6G", "1981", 0, "no description", 60.2], ["1982", "I7N3G6G", "1982", 0, "no description", 60.2], ["1983", "I7N3G6G", "1983", 0, "no description", 60.2], ["1984", "I7N3G6G", "1984", 0, "no description", 60.2], ["1985", "I7N3G6G", "1985", 0, "no description", 60.2], ["1986", "I7N3G6G", "1986", 0, "no description", 60.2], ["1987", "I7N3G6G", "1987", 0, "no description", 60.2], ["1988", "I7N3G6G", "1988", 0, "no description", 60.2], ["1989", "I7N3G6G", "1989", 0, "no description", 60.2], ["1990", "I7N3G6G", "1990", 0, "no description", 60.2], ["1991", "I7N3G6G", "1991", 0, "no description", 60.2], ["1992", "I7N3G6G", "1992", 0, "no description", 60.2], ["1993", "I7N3G6G", "1993", 0, "no description", 60.2], ["1994", "I7N3G6G", "1994", 0, "no description", 60.2], ["1995", "I7N3G6G", "1995", 0, "no description", 60.2], ["1996", "I7N3G6G", "1996", 0, "no description", 60.2], ["1997", "I7N3G6G", "1997", 0, "no description", 60.2], ["1998", "I7N3G6G", "1998", 0, "no description", 60.2], ["1999", "I7N3G6G", "1999", 0, "no description", 60.2], ["2000", "I7N3G6G", "2000", 0, "no description", 60.2], ["2001", "I7N3G6G", "2001", 0, "no description", 60.2], ["2002", "I7N3G6G", "2002", 0, "no description", 60.2], ["2003", "I7N3G6G", "2003", 0, "no description", 60.2], ["2004", "I7N3G6G", "2004", 0, "no description", 60.2], ["2005", "I7N3G6G", "2005", 0, "no description", 60.2], ["2006", "I7N3G6G", "2006", 0, "no description", 60.2], ["2007", "I7N3G6G", "2007", 0, "no description", 60.2], ["2008", "I7N3G6G", "2008", 0, "no description", 60.2], ["2009", "I7N3G6G", "2009", 0, "no description", 60.2], ["2010", "I7N3G6G", "2010", 0, "no description", 60.2], ["2011", "I7N3G6G", "2011", 0, "no description", 60.2], ["2012", "I7N3G6G", "2012", 0, "no description", 60.2], ["2013", "I7N3G6G", "2013", 0, "no description", 60.2], ["2014", "I7N3G6G", "2014", 0, "no description", 60.2], ["2015", "I7N3G6G", "2015", 0, "no description", 60.2], ["2016", "I7N3G6G", "2016", 0, "no description", 60.2], ["2017", "I7N3G6G", "2017", 0, "no description", 60.2], ["2018", "I7N3G6G", "2018", 0, "no description", 60.2], ["2019", "I7N3G6G", "2019", 0, "no description", 60.2], ["2020", "I7N3G6G", "2020", 0, "no description", 60.2], ["2021", "I7N3G6G", "2021", 0, "no description", 60.2], ["2022", "I7N3G6G", "2022", 0, "no description", 60.2], ["2023", "I7N3G6G", "2023", 0, "no description", 60.2], ["2024", "I7N3G6G", "2024", 0, "no description", 60.2], ["2025", "I7N3G6G", "2025", 0, "no description", 60.2], ["2026", "I7N3G6G", "2026", 0, "no description", 60.2], ["2027", "I7N3G6G", "2027", 0, "no description", 60.2], ["2028", "I7N3G6G", "2028", 0, "no description", 60.2], ["2029", "I7N3G6G", "2029", 0, "no description", 60.2], ["2030", "I7N3G6G", "2030", 0, "no description", 60.2], ["2031", "I7N3G6G", "2031", 0, "no description", 60.2], ["2032", "I7N3G6G", "2032", 0, "no description", 60.2], ["2033", "I7N3G6G", "2033", 0, "no description", 60.2], ["2034", "I7N3G6G", "2034", 0, "no description", 60.2], ["2035", "I7N3G6G", "2035", 0, "no description", 60.2], ["2036", "I7N3G6G", "2036", 0, "no description", 60.2], ["2037", "I7N3G6G", "2037", 0, "no description", 60.2], ["2038", "I7N3G6G", "2038", 0, "no description", 60.2], ["2039", "I7N3G6G", "2039", 0, "no description", 60.2], ["2040", "I7N3G6G", "2040", 0, "no description", 60.2], ["2041", "I7N3G6G", "2041", 0, "no description", 60.2], ["2042", "I7N3G6G", "2042", 0, "no description", 60.2], ["2043", "I7N3G6G", "2043", 0, "no description", 60.2], ["2044", "I7N3G6G", "2044", 0, "no description", 60.2], ["2045", "I7N3G6G", "2045", 0, "no description", 60.2], ["2046", "I7N3G6G", "2046", 0, "no description", 60.2], ["2047", "I7N3G6G", "2047", 0, "no description", 60.2], ["2048", "I7N3G6G", "2048", 0, "no description", 60.2], ["2049", "I7N3G6G", "2049", 0, "no description", 60.2], ["2050", "I7N3G6G", "2050", 0, "no description", 60.2], ["2051", "I7N3G6G", "2051", 0, "no description", 60.2], ["2052", "I7N3G6G", "2052", 0, "no description", 60.2], ["2053", "I7N3G6G", "2053", 0, "no description", 60.2], ["2054", "I7N3G6G", "2054", 0, "no description", 60.2], ["2055", "I7N3G6G", "2055", 0, "no description", 60.2], ["2056", "I7N3G6G", "2056", 0, "no description", 60.2], ["2057", "I7N3G6G", "2057", 0, "no description", 60.2], ["2058", "I7N3G6G", "2058", 0, "no description", 60.2], ["2059", "I7N3G6G", "2059", 0, "no description", 60.2], ["2060", "I7N3G6G", "2060", 0, "no description", 60.2], ["2061", "I7N3G6G", "2061", 0, "no description", 60.2], ["2062", "I7N3G6G", "2062", 0, "no description", 60.2], ["2063", "I7N3G6G", "2063", 0, "no description", 60.2], ["2064", "I7N3G6G", "2064", 0, "no description", 60.2], ["2065", "I7N3G6G", "2065", 0, "no description", 60.2], ["2066", "I7N3G6G", "2066", 0, "no description", 60.2], ["2067", "I7N3G6G", "2067", 0, "no description", 60.2], ["2068", "I7N3G6G", "2068", 0, "no description", 60.2], ["2069", "I7N3G6G", "2069", 0, "no description", 60.2], ["2070", "I7N3G6G", "2070", 0, "no description", 60.2], ["2071", "I7N3G6G", "2071", 0, "no description", 60.2], ["2072", "I7N3G6G", "2072", 0, "no description", 60.2], ["2073", "I7N3G6G", "2073", 0, "no description", 60.2], ["2074", "I7N3G6G", "2074", 0, "no description", 60.2], ["2075", "I7N3G6G", "2075", 0, "no description", 60.2], ["2076", "I7N3G6G", "2076", 0, "no description", 60.2], ["2077", "I7N3G6G", "2077", 0, "no description", 60.2], ["2078", "I7N3G6G", "2078", 0, "no description", 60.2], ["2079", "I7N3G6G", "2079", 0, "no description", 60.2], ["2080", "I7N3G6G", "2080", 0, "no description", 60.2], ["2081", "I7N3G6G", "2081", 0, "no description", 60.2], ["2082", "I7N3G6G", "2082", 0, "no description", 60.2], ["2083", "I7N3G6G", "2083", 0, "no description", 60.2], ["2084", "I7N3G6G", "2084", 0, "no description", 60.2], ["2085", "I7N3G6G", "2085", 0, "no description", 60.2], ["2086", "I7N3G6G", "2086", 0, "no description", 60.2], ["2087", "I7N3G6G", "2087", 0, "no description", 60.2], ["2088", "I7N3G6G", "2088", 0, "no description", 60.2], ["2089", "I7N3G6G", "2089", 0, "no description", 60.2], ["2090", "I7N3G6G", "2090", 0, "no description", 60.2], ["2091", "I7N3G6G", "2091", 0, "no description", 60.2], ["2092", "I7N3G6G", "2092", 0, "no description", 60.2], ["2093", "I7N3G6G", "2093", 0, "no description", 60.2], ["2094", "I7N3G6G", "2094", 0, "no description", 60.2], ["2095", "I7N3G6G", "2095", 0, "no description", 60.2], ["2096", "I7N3G6G", "2096", 0, "no description", 60.2], ["2097", "I7N3G6G", "2097", 0, "no description", 60.2], ["2098", "I7N3G6G", "2098", 0, "no description", 60.2], ["2099", "I7N3G6G", "2099", 0, "no description", 60.2], ["2100", "I7N3G6G", "2100", 0, "no description", 60.2], ["2101", "I7N3G6G", "2101", 0, "no description", 60.2], ["2102", "I7N3G6G", "2102", 0, "no description", 60.2], ["2103", "I7N3G6G", "2103", 0, "no description", 60.2], ["2104", "I7N3G6G", "2104", 0, "no description", 60.2], ["2105", "I7N3G6G", "2105", 0, "no description", 60.2], ["2106", "I7N3G6G", "2106", 0, "no description", 60.2], ["2107", "I7N3G6G", "2107", 0, "no description", 60.2], ["2108", "I7N3G6G", "2108", 0, "no description", 60.2], ["2109", "I7N3G6G", "2109", 0, "no description", 60.2], ["2110", "I7N3G6G", "2110", 0, "no description", 60.2], ["2111", "I7N3G6G", "2111", 0, "no description", 60.2], ["2112", "I7N3G6G", "2112", 0, "no description", 60.2], ["2113", "I7N3G6G", "2113", 0, "no description", 60.2], ["2114", "I7N3G6G", "2114", 0, "no description", 60.2], ["2115", "I7N3G6G", "2115", 0, "no description", 60.2], ["2116", "I7N3G6G", "2116", 0, "no description", 60.2], ["2117", "I7N3G6G", "2117", 0, "no description", 60.2], ["2118", "I7N3G6G", "2118", 0, "no description", 60.2], ["2119", "I7N3G6G", "2119", 0, "no description", 60.2], ["2120", "I7N3G6G", "2120", 0, "no description", 60.2], ["2121", "I7N3G6G", "2121", 0, "no description", 60.2], ["2122", "I7N3G6G", "2122", 0, "no description", 60.2], ["2123", "I7N3G6G", "2123", 0, "no description", 60.2], ["2124", "I7N3G6G", "2124", 0, "no description", 60.2], ["2125", "I7N3G6G", "2125", 0, "no description", 60.2], ["2126", "I7N3G6G", "2126", 0, "no description", 60.2], ["2127", "I7N3G6G", "2127", 0, "no description", 60.2], ["2128", "I7N3G6G", "2128", 0, "no description", 60.2], ["2129", "I7N3G6G", "2129", 0, "no description", 60.2], ["2130", "I7N3G6G", "2130", 0, "no description", 60.2], ["2131", "I7N3G6G", "2131", 0, "no description", 60.2], ["2132", "I7N3G6G", "2132", 0, "no description", 60.2], ["2133", "I7N3G6G", "2133", 0, "no description", 60.2], ["2134", "I7N3G6G", "2134", 0, "no description", 60.2], ["2135", "I7N3G6G", "2135", 0, "no description", 60.2], ["2136", "I7N3G6G", "2136", 0, "no description", 60.2], ["2137", "I7N3G6G", "2137", 0, "no description", 60.2], ["2138", "I7N3G6G", "2138", 0, "no description", 60.2], ["2139", "I7N3G6G", "2139", 0, "no description", 60.2], ["2140", "I7N3G6G", "2140", 0, "no description", 60.2], ["2141", "I7N3G6G", "2141", 0, "no description", 60.2], ["2142", "I7N3G6G", "2142", 0, "no description", 60.2], ["2143", "I7N3G6G", "2143", 0, "no description", 60.2], ["2144", "I7N3G6G", "2144", 0, "no description", 60.2], ["2145", "I7N3G6G", "2145", 0, "no description", 60.2], ["2146", "I7N3G6G", "2146", 0, "no description", 60.2], ["2147", "I7N3G6G", "2147", 0, "no description", 60.2], ["2148", "I7N3G6G", "2148", 0, "no description", 60.2], ["2149", "I7N3G6G", "2149", 0, "no description", 60.2], ["2150", "I7N3G6G", "2150", 0, "no description", 60.2], ["2151", "I7N3G6G", "2151", 0, "no description", 60.2], ["2152", "I7N3G6G", "2152", 0, "no description", 60.2], ["2153", "I7N3G6G", "2153", 0, "no description", 60.2], ["2154", "I7N3G6G", "2154", 0, "no description", 60.2], ["2155", "I7N3G6G", "2155", 0, "no description", 60.2], ["2156", "I7N3G6G", "2156", 0, "no description", 60.2], ["2157", "I7N3G6G", "2157", 0, "no description", 60.2], ["2158", "I7N3G6G", "2158", 0, "no description", 60.2], ["2159", "I7N3G6G", "2159", 0, "no description", 60.2], ["2160", "I7N3G6G", "2160", 0, "no description", 60.2], ["2161", "I7N3G6G", "2161", 0, "no description", 60.2], ["2162", "I7N3G6G", "2162", 0, "no description", 60.2], ["2163", "I7N3G6G", "2163", 0, "no description", 60.2], ["2164", "I7N3G6G", "2164", 0, "no description", 60.2], ["2165", "I7N3G6G", "2165", 0, "no description", 60.2], ["2166", "I7N3G6G", "2166", 0, "no description", 60.2], ["2167", "I7N3G6G", "2167", 0, "no description", 60.2], ["2168", "I7N3G6G", "2168", 0, "no description", 60.2], ["2169", "I7N3G6G", "2169", 0, "no description", 60.2], ["2170", "I7N3G6G", "2170", 0, "no description", 60.2], ["2171", "I7N3G6G", "2171", 0, "no description", 60.2], ["2172", "I7N3G6G", "2172", 0, "no description", 60.2], ["2173", "I7N3G6G", "2173", 0, "no description", 60.2], ["2174", "I7N3G6G", "2174", 0, "no description", 60.2], ["2175", "I7N3G6G", "2175", 0, "no description", 60.2], ["2176", "I7N3G6G", "2176", 0, "no description", 60.2], ["2177", "I7N3G6G", "2177", 0, "no description", 60.2], ["2178", "I7N3G6G", "2178", 0, "no description", 60.2], ["2179", "I7N3G6G", "2179", 0, "no description", 60.2], ["2180", "I7N3G6G", "2180", 0, "no description", 60.2], ["2181", "I7N3G6G", "2181", 0, "no description", 60.2], ["2182", "I7N3G6G", "2182", 0, "no description", 60.2], ["2183", "I7N3G6G", "2183", 0, "no description", 60.2], ["2184", "I7N3G6G", "2184", 0, "no description", 60.2], ["2185", "I7N3G6G", "2185", 0, "no description", 60.2], ["2186", "I7N3G6G", "2186", 0, "no description", 60.2], ["2187", "I7N3G6G", "2187", 0, "no description", 60.2], ["2188", "I7N3G6G", "2188", 0, "no description", 60.2], ["2189", "I7N3G6G", "2189", 0, "no description", 60.2], ["2190", "I7N3G6G", "2190", 0, "no description", 60.2], ["2191", "I7N3G6G", "2191", 0, "no description", 60.2], ["2192", "I7N3G6G", "2192", 0, "no description", 60.2], ["2193", "I7N3G6G", "2193", 0, "no description", 60.2], ["2194", "I7N3G6G", "2194", 0, "no description", 60.2], ["2195", "I7N3G6G", "2195", 0, "no description", 60.2], ["2196", "I7N3G6G", "2196", 0, "no description", 60.2], ["2197", "I7N3G6G", "2197", 0, "no description", 60.2], ["2198", "I7N3G6G", "2198", 0, "no description", 60.2], ["2199", "I7N3G6G", "2199", 0, "no description", 60.2], ["2200", "I7N3G6G", "2200", 0, "no description", 60.2], ["2201", "I7N3G6G", "2201", 0, "no description", 60.2], ["2202", "I7N3G6G", "2202", 0, "no description", 60.2], ["2203", "I7N3G6G", "2203", 0, "no description", 60.2], ["2204", "I7N3G6G", "2204", 0, "no description", 60.2], ["2205", "I7N3G6G", "2205", 0, "no description", 60.2], ["2206", "I7N3G6G", "2206", 0, "no description", 60.2], ["2207", "I7N3G6G", "2207", 0, "no description", 60.2], ["2208", "I7N3G6G", "2208", 0, "no description", 60.2], ["2209", "I7N3G6G", "2209", 0, "no description", 60.2], ["2210", "I7N3G6G", "2210", 0, "no description", 60.2], ["2211", "I7N3G6G", "2211", 0, "no description", 60.2], ["2212", "I7N3G6G", "2212", 0, "no description", 60.2], ["2213", "I7N3G6G", "2213", 0, "no description", 60.2], ["2214", "I7N3G6G", "2214", 0, "no description", 60.2], ["2215", "I7N3G6G", "2215", 0, "no description", 60.2], ["2216", "I7N3G6G", "2216", 0, "no description", 60.2], ["2217", "I7N3G6G", "2217", 0, "no description", 60.2], ["2218", "I7N3G6G", "2218", 0, "no description", 60.2], ["2219", "I7N3G6G", "2219", 0, "no description", 60.2], ["2220", "I7N3G6G", "2220", 0, "no description", 60.2], ["2221", "I7N3G6G", "2221", 0, "no description", 60.2], ["2222", "I7N3G6G", "2222", 0, "no description", 60.2], ["2223", "I7N3G6G", "2223", 0, "no description", 60.2], ["2224", "I7N3G6G", "2224", 0, "no description", 60.2], ["2225", "I7N3G6G", "2225", 0, "no description", 60.2], ["2226", "I7N3G6G", "2226", 0, "no description", 60.2]] \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/JSONCurator_error4.json b/packages/itmat-job-executor/test/testFiles/JSONCurator_error4.json deleted file mode 100644 index 2620ae89d..000000000 --- a/packages/itmat-job-executor/test/testFiles/JSONCurator_error4.json +++ /dev/null @@ -1 +0,0 @@ -[["ID", "SubjectID", "VisitID", "Sex", "Description", "Weight"], ["1", "I7N3G6G", "1", 0, "no description", 60.2], ["2", "I7N3G6G", "2", 0, "no description", 60.2], ["3", "I7N3G6G", "3", 0, "no description", 60.2], ["4", "I7N3G6G", "4", 0, "no description", 60.2], ["5", "I7N3G6G", "5", 0, "no description", 60.2], ["6", "I7N3G6G", "6", 0, "no description", 60.2], ["7", "I7N3G6G", "7", 0, "no description", 60.2], ["8", "I7N3G6G", "8", 0, "no description", 60.2], ["9", "I7N3G6G", "9", 0, "no description", 60.2], ["10", "I7N3G6G", "10", 0, "no description", 60.2], ["11", "I7N3G6G", "11", 0, "no description", 60.2], ["12", "I7N3G6G", "12", 0, "no description", 60.2], ["13", "I7N3G6G", "13", 0, "no description", 60.2], ["14", "I7N3G6G", "14", 0, "no description", 60.2], ["15", "I7N3G6G", "15", 0, "no description", 60.2], ["16", "I7N3G6G", "16", 0, "no description", 60.2], ["17", "I7N3G6G", "17", 0, "no description", 60.2], ["18", "I7N3G6G", "18", 0, "no description", 60.2], ["19", "I7N3G6G", "19", 0, "no description", 60.2], ["20", "I7N3G6G", "20", 0, "no description", 60.2], ["21", "I7N3G6G", "21", 0, "no description", 60.2], ["22", "I7N3G6G", "22", 0, "no description", 60.2], ["23", "I7N3G6G", "23", 0, "no description", 60.2], ["24", "I7N3G6G", "24", 0, "no description", 60.2], ["25", "I7N3G6G", "25", 0, "no description", 60.2], ["26", "I7N3G6G", "26", 0, "no description", 60.2], ["27", "I7N3G6G", "27", 0, "no description", 60.2], ["28", "I7N3G6G", "28", 0, "no description", 60.2], ["29", "I7N3G6G", "29", 0, "no description", 60.2], ["30", "I7N3G6G", "30", 0, "no description", 60.2], ["31", "I7N3G6G", "31", 0, "no description", 60.2], ["32", "I7N3G6G", "32", 0, "no description", 60.2], ["33", "I7N3G6G", "33", 0, "no description", 60.2], ["34", "I7N3G6G", "34", 0, "no description", 60.2], ["35", "I7N3G6G", "35", 0, "no description", 60.2], ["36", "I7N3G6G", "36", 0, "no description", 60.2], ["37", "I7N3G6G", "37", 0, "no description", 60.2], ["38", "I7N3G6G", "38", 0, "no description", 60.2], ["39", "I7N3G6G", "39", 0, "no description", 60.2], ["40", "I7N3G6G", "40", 0, "no description", 60.2], ["41", "I7N3G6G", "41", 0, "no description", 60.2], ["42", "I7N3G6G", "42", 0, "no description", 60.2], ["43", "I7N3G6G", "43", 0, "no description", 60.2], ["44", "I7N3G6G", "44", 0, "no description", 60.2], ["45", "I7N3G6G", "45", 0, "no description", 60.2], ["46", "I7N3G6G", "46", 0, "no description", 60.2], ["47", "I7N3G6G", "47", 0, "no description", 60.2], ["48", "I7N3G6G", "48", 0, "no description", 60.2], ["49", "I7N3G6G", "49", 0, "no description", 60.2], ["50", "I7N3G6G", "50", 0, "no description", 60.2], ["51", "I7N3G6G", "51", 0, "no description", 60.2], ["52", "I7N3G6G", "52", 0, "no description", 60.2], ["53", "I7N3G6G", "53", 0, "no description", 60.2], ["54", "I7N3G6G", "54", 0, "no description", 60.2], ["55", "I7N3G6G", "55", 0, "no description", 60.2], ["56", "I7N3G6G", "56", 0, "no description", 60.2], ["57", "I7N3G6G", "57", 0, "no description", 60.2], ["58", "I7N3G6G", "58", 0, "no description", 60.2], ["59", "I7N3G6G", "59", 0, "no description", 60.2], ["60", "I7N3G6G", "60", 0, "no description", 60.2], ["61", "I7N3G6G", "61", 0, "no description", 60.2], ["62", "I7N3G6G", "62", 0, "no description", 60.2], ["63", "I7N3G6G", "63", 0, "no description", 60.2], ["64", "I7N3G6G", "64", 0, "no description", 60.2], ["65", "I7N3G6G", "65", 0, "no description", 60.2], ["66", "I7N3G6G", "66", 0, "no description", 60.2], ["67", "I7N3G6G", "67", 0, "no description", 60.2], ["68", "I7N3G6G", "68", 0, "no description", 60.2], ["69", "I7N3G6G", "69", 0, "no description", 60.2], ["70", "I7N3G6G", "70", 0, "no description", 60.2], ["71", "I7N3G6G", "71", 0, "no description", 60.2], ["72", "I7N3G6G", "72", 0, "no description", 60.2], ["73", "I7N3G6G", "73", 0, "no description", 60.2], ["74", "I7N3G6G", "74", 0, "no description", 60.2], ["75", "I7N3G6G", "75", 0, "no description", 60.2], ["76", "I7N3G6G", "76", 0, "no description", 60.2], ["77", "I7N3G6G", "77", 0, "no description", 60.2], ["78", "I7N3G6G", "78", 0, "no description", 60.2], ["79", "I7N3G6G", "79", 0, "no description", 60.2], ["80", "I7N3G6G", "80", 0, "no description", 60.2], ["81", "I7N3G6G", "81", 0, "no description", 60.2], ["82", "I7N3G6G", "82", 0, "no description", 60.2], ["83", "I7N3G6G", "83", 0, "no description", 60.2], ["84", "I7N3G6G", "84", 0, "no description", 60.2], ["85", "I7N3G6G", "85", 0, "no description", 60.2], ["86", "I7N3G6G", "86", 0, "no description", 60.2], ["87", "I7N3G6G", "87", 0, "no description", 60.2], ["88", "I7N3G6G", "88", 0, "no description", 60.2], ["89", "I7N3G6G", "89", 0, "no description", 60.2], ["90", "I7N3G6G", "90", 0, "no description", 60.2], ["91", "I7N3G6G", "91", 0, "no description", 60.2], ["92", "I7N3G6G", "92", 0, "no description", 60.2], ["93", "I7N3G6G", "93", 0, "no description", 60.2], ["94", "I7N3G6G", "94", 0, "no description", 60.2], ["95", "I7N3G6G", "95", 0, "no description", 60.2], ["96", "I7N3G6G", "96", 0, "no description", 60.2], ["97", "I7N3G6G", "97", 0, "no description", 60.2], ["98", "I7N3G6G", "98", 0, "no description", 60.2], ["99", "I7N3G6G", "99", 0, "no description", 60.2], ["100", "I7N3G6G", "100", 0, "no description", 60.2], ["101", "I7N3G6G", "101", 0, "no description", 60.2], ["102", "I7N3G6G", "102", 0, "no description", 60.2], ["103", "I7N3G6G", "103", 0, "no description", 60.2], ["104", "I7N3G6G", "104", 0, "no description", 60.2], ["105", "I7N3G6G", "105", 0, "no description", 60.2], ["106", "I7N3G6G", "106", 0, "no description", 60.2], ["107", "I7N3G6G", "107", 0, "no description", 60.2], ["108", "I7N3G6G", "108", 0, "no description", 60.2], ["109", "I7N3G6G", "109", 0, "no description", 60.2], ["110", "I7N3G6G", "110", 0, "no description", 60.2], ["111", "I7N3G6G", "111", 0, "no description", 60.2], ["112", "I7N3G6G", "112", 0, "no description", 60.2], ["113", "I7N3G6G", "113", 0, "no description", 60.2], ["114", "I7N3G6G", "114", 0, "no description", 60.2], ["115", "I7N3G6G", "115", 0, "no description", 60.2], ["116", "I7N3G6G", "116", 0, "no description", 60.2], ["117", "I7N3G6G", "117", 0, "no description", 60.2], ["118", "I7N3G6G", "118", 0, "no description", 60.2], ["119", "I7N3G6G", "119", 0, "no description", 60.2], ["120", "I7N3G6G", "120", 0, "no description", 60.2], ["121", "I7N3G6G", "121", 0, "no description", 60.2], ["122", "I7N3G6G", "122", 0, "no description", 60.2], ["123", "I7N3G6G", "123", 0, "no description", 60.2], ["124", "I7N3G6G", "124", 0, "no description", 60.2], ["125", "I7N3G6G", "125", 0, "no description", 60.2], ["126", "I7N3G6G", "126", 0, "no description", 60.2], ["127", "I7N3G6G", "127", 0, "no description", 60.2], ["128", "I7N3G6G", "128", 0, "no description", 60.2], ["129", "I7N3G6G", "129", 0, "no description", 60.2], ["130", "I7N3G6G", "130", 0, "no description", 60.2], ["131", "I7N3G6G", "131", 0, "no description", 60.2], ["132", "I7N3G6G", "132", 0, "no description", 60.2], ["133", "I7N3G6G", "133", 0, "no description", 60.2], ["134", "I7N3G6G", "134", 0, "no description", 60.2], ["135", "I7N3G6G", "135", 0, "no description", 60.2], ["136", "I7N3G6G", "136", 0, "no description", 60.2], ["137", "I7N3G6G", "137", 0, "no description", 60.2], ["138", "I7N3G6G", "138", 0, "no description", 60.2], ["139", "I7N3G6G", "139", 0, "no description", 60.2], ["140", "I7N3G6G", "140", 0, "no description", 60.2], ["141", "I7N3G6G", "141", 0, "no description", 60.2], ["142", "I7N3G6G", "142", 0, "no description", 60.2], ["143", "I7N3G6G", "143", 0, "no description", 60.2], ["144", "I7N3G6G", "144", 0, "no description", 60.2], ["145", "I7N3G6G", "145", 0, "no description", 60.2], ["146", "I7N3G6G", "146", 0, "no description", 60.2], ["147", "I7N3G6G", "147", 0, "no description", 60.2], ["148", "I7N3G6G", "148", 0, "no description", 60.2], ["149", "I7N3G6G", "149", 0, "no description", 60.2], ["150", "I7N3G6G", "150", 0, "no description", 60.2], ["151", "I7N3G6G", "151", 0, "no description", 60.2], ["152", "I7N3G6G", "152", 0, "no description", 60.2], ["153", "I7N3G6G", "153", 0, "no description", 60.2], ["154", "I7N3G6G", "154", 0, "no description", 60.2], ["155", "I7N3G6G", "155", 0, "no description", 60.2], ["156", "I7N3G6G", "156", 0, "no description", 60.2], ["157", "I7N3G6G", "157", 0, "no description", 60.2], ["158", "I7N3G6G", "158", 0, "no description", 60.2], ["159", "I7N3G6G", "159", 0, "no description", 60.2], ["160", "I7N3G6G", "160", 0, "no description", 60.2], ["161", "I7N3G6G", "161", 0, "no description", 60.2], ["162", "I7N3G6G", "162", 0, "no description", 60.2], ["163", "I7N3G6G", "163", 0, "no description", 60.2], ["164", "I7N3G6G", "164", 0, "no description", 60.2], ["165", "I7N3G6G", "165", 0, "no description", 60.2], ["166", "I7N3G6G", "166", 0, "no description", 60.2], ["167", "I7N3G6G", "167", 0, "no description", 60.2], ["168", "I7N3G6G", "168", 0, "no description", 60.2], ["169", "I7N3G6G", "169", 0, "no description", 60.2], ["170", "I7N3G6G", "170", 0, "no description", 60.2], ["171", "I7N3G6G", "171", 0, "no description", 60.2], ["172", "I7N3G6G", "172", 0, "no description", 60.2], ["173", "I7N3G6G", "173", 0, "no description", 60.2], ["174", "I7N3G6G", "174", 0, "no description", 60.2], ["175", "I7N3G6G", "175", 0, "no description", 60.2], ["176", "I7N3G6G", "176", 0, "no description", 60.2], ["177", "I7N3G6G", "177", 0, "no description", 60.2], ["178", "I7N3G6G", "178", 0, "no description", 60.2], ["179", "I7N3G6G", "179", 0, "no description", 60.2], ["180", "I7N3G6G", "180", 0, "no description", 60.2], ["181", "I7N3G6G", "181", 0, "no description", 60.2], ["182", "I7N3G6G", "182", 0, "no description", 60.2], ["183", "I7N3G6G", "183", 0, "no description", 60.2], ["184", "I7N3G6G", "184", 0, "no description", 60.2], ["185", "I7N3G6G", "185", 0, "no description", 60.2], ["186", "I7N3G6G", "186", 0, "no description", 60.2], ["187", "I7N3G6G", "187", 0, "no description", 60.2], ["188", "I7N3G6G", "188", 0, "no description", 60.2], ["189", "I7N3G6G", "189", 0, "no description", 60.2], ["190", "I7N3G6G", "190", 0, "no description", 60.2], ["191", "I7N3G6G", "191", 0, "no description", 60.2], ["192", "I7N3G6G", "192", 0, "no description", 60.2], ["193", "I7N3G6G", "193", 0, "no description", 60.2], ["194", "I7N3G6G", "194", 0, "no description", 60.2], ["195", "I7N3G6G", "195", 0, "no description", 60.2], ["196", "I7N3G6G", "196", 0, "no description", 60.2], ["197", "I7N3G6G", "197", 0, "no description", 60.2], ["198", "I7N3G6G", "198", 0, "no description", 60.2], ["199", "I7N3G6G", "199", 0, "no description", 60.2], ["200", "I7N3G6G", "200", 0, "no description", 60.2], ["201", "I7N3G6G", "201", 0, "no description", 60.2], ["202", "I7N3G6G", "202", 0, "no description", 60.2], ["203", "I7N3G6G", "203", 0, "no description", 60.2], ["204", "I7N3G6G", "204", 0, "no description", 60.2], ["205", "I7N3G6G", "205", 0, "no description", 60.2], ["206", "I7N3G6G", "206", 0, "no description", 60.2], ["207", "I7N3G6G", "207", 0, "no description", 60.2], ["208", "I7N3G6G", "208", 0, "no description", 60.2], ["209", "I7N3G6G", "209", 0, "no description", 60.2], ["210", "I7N3G6G", "210", 0, "no description", 60.2], ["211", "I7N3G6G", "211", 0, "no description", 60.2], ["212", "I7N3G6G", "212", 0, "no description", 60.2], ["213", "I7N3G6G", "213", 0, "no description", 60.2], ["214", "I7N3G6G", "214", 0, "no description", 60.2], ["215", "I7N3G6G", "215", 0, "no description", 60.2], ["216", "I7N3G6G", "216", 0, "no description", 60.2], ["217", "I7N3G6G", "217", 0, "no description", 60.2], ["218", "I7N3G6G", "218", 0, "no description", 60.2], ["219", "I7N3G6G", "219", 0, "no description", 60.2], ["220", "I7N3G6G", "220", 0, "no description", 60.2], ["221", "I7N3G6G", "221", 0, "no description", 60.2], ["222", "I7N3G6G", "222", 0, "no description", 60.2], ["223", "I7N3G6G", "223", 0, "no description", 60.2], ["224", "I7N3G6G", "224", 0, "no description", 60.2], ["225", "I7N3G6G", "225", 0, "no description", 60.2], ["226", "I7N3G6G", "226", 0, "no description", 60.2], ["227", "I7N3G6G", "227", 0, "no description", 60.2], ["228", "I7N3G6G", "228", 0, "no description", 60.2], ["229", "I7N3G6G", "229", 0, "no description", 60.2], ["230", "I7N3G6G", "230", 0, "no description", 60.2], ["231", "I7N3G6G", "231", 0, "no description", 60.2], ["232", "I7N3G6G", "232", 0, "no description", 60.2], ["233", "I7N3G6G", "233", 0, "no description", 60.2], ["234", "I7N3G6G", "234", 0, "no description", 60.2], ["235", "I7N3G6G", "235", 0, "no description", 60.2], ["236", "I7N3G6G", "236", 0, "no description", 60.2], ["237", "I7N3G6G", "237", 0, "no description", 60.2], ["238", "I7N3G6G", "238", 0, "no description", 60.2], ["239", "I7N3G6G", "239", 0, "no description", 60.2], ["240", "I7N3G6G", "240", 0, "no description", 60.2], ["241", "I7N3G6G", "241", 0, "no description", 60.2], ["242", "I7N3G6G", "242", 0, "no description", 60.2], ["243", "I7N3G6G", "243", 0, "no description", 60.2], ["244", "I7N3G6G", "244", 0, "no description", 60.2], ["245", "I7N3G6G", "245", 0, "no description", 60.2], ["246", "I7N3G6G", "246", 0, "no description", 60.2], ["247", "I7N3G6G", "247", 0, "no description", 60.2], ["248", "I7N3G6G", "248", 0, "no description", 60.2], ["249", "I7N3G6G", "249", 0, "no description", 60.2], ["250", "I7N3G6G", "250", 0, "no description", 60.2], ["251", "I7N3G6G", "251", 0, "no description", 60.2], ["252", "I7N3G6G", "252", 0, "no description", 60.2], ["253", "I7N3G6G", "253", 0, "no description", 60.2], ["254", "I7N3G6G", "254", 0, "no description", 60.2], ["255", "I7N3G6G", "255", 0, "no description", 60.2], ["256", "I7N3G6G", "256", 0, "no description", 60.2], ["257", "I7N3G6G", "257", 0, "no description", 60.2], ["258", "I7N3G6G", "258", 0, "no description", 60.2], ["259", "I7N3G6G", "259", 0, "no description", 60.2], ["260", "I7N3G6G", "260", 0, "no description", 60.2], ["261", "I7N3G6G", "261", 0, "no description", 60.2], ["262", "I7N3G6G", "262", 0, "no description", 60.2], ["263", "I7N3G6G", "263", 0, "no description", 60.2], ["264", "I7N3G6G", "264", 0, "no description", 60.2], ["265", "I7N3G6G", "265", 0, "no description", 60.2], ["266", "I7N3G6G", "266", 0, "no description", 60.2], ["267", "I7N3G6G", "267", 0, "no description", 60.2], ["268", "I7N3G6G", "268", 0, "no description", 60.2], ["269", "I7N3G6G", "269", 0, "no description", 60.2], ["270", "I7N3G6G", "270", 0, "no description", 60.2], ["271", "I7N3G6G", "271", 0, "no description", 60.2], ["272", "I7N3G6G", "272", 0, "no description", 60.2], ["273", "I7N3G6G", "273", 0, "no description", 60.2], ["274", "I7N3G6G", "274", 0, "no description", 60.2], ["275", "I7N3G6G", "275", 0, "no description", 60.2], ["276", "I7N3G6G", "276", 0, "no description", 60.2], ["277", "I7N3G6G", "277", 0, "no description", 60.2], ["278", "I7N3G6G", "278", 0, "no description", 60.2], ["279", "I7N3G6G", "279", 0, "no description", 60.2], ["280", "I7N3G6G", "280", 0, "no description", 60.2], ["281", "I7N3G6G", "281", 0, "no description", 60.2], ["282", "I7N3G6G", "282", 0, "no description", 60.2], ["283", "I7N3G6G", "283", 0, "no description", 60.2], ["284", "I7N3G6G", "284", 0, "no description", 60.2], ["285", "I7N3G6G", "285", 0, "no description", 60.2], ["286", "I7N3G6G", "286", 0, "no description", 60.2], ["287", "I7N3G6G", "287", 0, "no description", 60.2], ["288", "I7N3G6G", "288", 0, "no description", 60.2], ["289", "I7N3G6G", "289", 0, "no description", 60.2], ["290", "I7N3G6G", "290", 0, "no description", 60.2], ["291", "I7N3G6G", "291", 0, "no description", 60.2], ["292", "I7N3G6G", "292", 0, "no description", 60.2], ["293", "I7N3G6G", "293", 0, "no description", 60.2], ["294", "I7N3G6G", "294", 0, "no description", 60.2], ["295", "I7N3G6G", "295", 0, "no description", 60.2], ["296", "I7N3G6G", "296", 0, "no description", 60.2], ["297", "I7N3G6G", "297", 0, "no description", 60.2], ["298", "I7N3G6G", "298", 0, "no description", 60.2], ["299", "I7N3G6G", "299", 0, "no description", 60.2], ["300", "I7N3G6G", "300", 0, "no description", 60.2], ["301", "I7N3G6G", "301", 0, "no description", 60.2], ["302", "I7N3G6G", "302", 0, "no description", 60.2], ["303", "I7N3G6G", "303", 0, "no description", 60.2], ["304", "I7N3G6G", "304", 0, "no description", 60.2], ["305", "I7N3G6G", "305", 0, "no description", 60.2], ["306", "I7N3G6G", "306", 0, "no description", 60.2], ["307", "I7N3G6G", "307", 0, "no description", 60.2], ["308", "I7N3G6G", "308", 0, "no description", 60.2], ["309", "I7N3G6G", "309", 0, "no description", 60.2], ["310", "I7N3G6G", "310", 0, "no description", 60.2], ["311", "I7N3G6G", "311", 0, "no description", 60.2], ["312", "I7N3G6G", "312", 0, "no description", 60.2], ["313", "I7N3G6G", "313", 0, "no description", 60.2], ["314", "I7N3G6G", "314", 0, "no description", 60.2], ["315", "I7N3G6G", "315", 0, "no description", 60.2], ["316", "I7N3G6G", "316", 0, "no description", 60.2], ["317", "I7N3G6G", "317", 0, "no description", 60.2], ["318", "I7N3G6G", "318", 0, "no description", 60.2], ["319", "I7N3G6G", "319", 0, "no description", 60.2], ["320", "I7N3G6G", "320", 0, "no description", 60.2], ["321", "I7N3G6G", "321", 0, "no description", 60.2], ["322", "I7N3G6G", "322", 0, "no description", 60.2], ["323", "I7N3G6G", "323", 0, "no description", 60.2], ["324", "I7N3G6G", "324", 0, "no description", 60.2], ["325", "I7N3G6G", "325", 0, "no description", 60.2], ["326", "I7N3G6G", "326", 0, "no description", 60.2], ["327", "I7N3G6G", "327", 0, "no description", 60.2], ["328", "I7N3G6G", "328", 0, "no description", 60.2], ["329", "I7N3G6G", "329", 0, "no description", 60.2], ["330", "I7N3G6G", "330", 0, "no description", 60.2], ["331", "I7N3G6G", "331", 0, "no description", 60.2], ["332", "I7N3G6G", "332", 0, "no description", 60.2], ["333", "I7N3G6G", "333", 0, "no description", 60.2], ["334", "I7N3G6G", "334", 0, "no description", 60.2], ["335", "I7N3G6G", "335", 0, "no description", 60.2], ["336", "I7N3G6G", "336", 0, "no description", 60.2], ["337", "I7N3G6G", "337", 0, "no description", 60.2], ["338", "I7N3G6G", "338", 0, "no description", 60.2], ["339", "I7N3G6G", "339", 0, "no description", 60.2], ["340", "I7N3G6G", "340", 0, "no description", 60.2], ["341", "I7N3G6G", "341", 0, "no description", 60.2], ["342", "I7N3G6G", "342", 0, "no description", 60.2], ["343", "I7N3G6G", "343", 0, "no description", 60.2], ["344", "I7N3G6G", "344", 0, "no description", 60.2], ["345", "I7N3G6G", "345", 0, "no description", 60.2], ["346", "I7N3G6G", "346", 0, "no description", 60.2], ["347", "I7N3G6G", "347", 0, "no description", 60.2], ["348", "I7N3G6G", "348", 0, "no description", 60.2], ["349", "I7N3G6G", "349", 0, "no description", 60.2], ["350", "I7N3G6G", "350", 0, "no description", 60.2], ["351", "I7N3G6G", "351", 0, "no description", 60.2], ["352", "I7N3G6G", "352", 0, "no description", 60.2], ["353", "I7N3G6G", "353", 0, "no description", 60.2], ["354", "I7N3G6G", "354", 0, "no description", 60.2], ["355", "I7N3G6G", "355", 0, "no description", 60.2], ["356", "I7N3G6G", "356", 0, "no description", 60.2], ["357", "I7N3G6G", "357", 0, "no description", 60.2], ["358", "I7N3G6G", "358", 0, "no description", 60.2], ["359", "I7N3G6G", "359", 0, "no description", 60.2], ["360", "I7N3G6G", "360", 0, "no description", 60.2], ["361", "I7N3G6G", "361", 0, "no description", 60.2], ["362", "I7N3G6G", "362", 0, "no description", 60.2], ["363", "I7N3G6G", "363", 0, "no description", 60.2], ["364", "I7N3G6G", "364", 0, "no description", 60.2], ["365", "I7N3G6G", "365", 0, "no description", 60.2], ["366", "I7N3G6G", "366", 0, "no description", 60.2], ["367", "I7N3G6G", "367", 0, "no description", 60.2], ["368", "I7N3G6G", "368", 0, "no description", 60.2], ["369", "I7N3G6G", "369", 0, "no description", 60.2], ["370", "I7N3G6G", "370", 0, "no description", 60.2], ["371", "I7N3G6G", "371", 0, "no description", 60.2], ["372", "I7N3G6G", "372", 0, "no description", 60.2], ["373", "I7N3G6G", "373", 0, "no description", 60.2], ["374", "I7N3G6G", "374", 0, "no description", 60.2], ["375", "I7N3G6G", "375", 0, "no description", 60.2], ["376", "I7N3G6G", "376", 0, "no description", 60.2], ["377", "I7N3G6G", "377", 0, "no description", 60.2], ["378", "I7N3G6G", "378", 0, "no description", 60.2], ["379", "I7N3G6G", "379", 0, "no description", 60.2], ["380", "I7N3G6G", "380", 0, "no description", 60.2], ["381", "I7N3G6G", "381", 0, "no description", 60.2], ["382", "I7N3G6G", "382", 0, "no description", 60.2], ["383", "I7N3G6G", "383", 0, "no description", 60.2], ["384", "I7N3G6G", "384", 0, "no description", 60.2], ["385", "I7N3G6G", "385", 0, "no description", 60.2], ["386", "I7N3G6G", "386", 0, "no description", 60.2], ["387", "I7N3G6G", "387", 0, "no description", 60.2], ["388", "I7N3G6G", "388", 0, "no description", 60.2], ["389", "I7N3G6G", "389", 0, "no description", 60.2], ["390", "I7N3G6G", "390", 0, "no description", 60.2], ["391", "I7N3G6G", "391", 0, "no description", 60.2], ["392", "I7N3G6G", "392", 0, "no description", 60.2], ["393", "I7N3G6G", "393", 0, "no description", 60.2], ["394", "I7N3G6G", "394", 0, "no description", 60.2], ["395", "I7N3G6G", "395", 0, "no description", 60.2], ["396", "I7N3G6G", "396", 0, "no description", 60.2], ["397", "I7N3G6G", "397", 0, "no description", 60.2], ["398", "I7N3G6G", "398", 0, "no description", 60.2], ["399", "I7N3G6G", "399", 0, "no description", 60.2], ["400", "I7N3G6G", "400", 0, "no description", 60.2], ["401", "I7N3G6G", "401", 0, "no description", 60.2], ["402", "I7N3G6G", "402", 0, "no description", 60.2], ["403", "I7N3G6G", "403", 0, "no description", 60.2], ["404", "I7N3G6G", "404", 0, "no description", 60.2], ["405", "I7N3G6G", "405", 0, "no description", 60.2], ["406", "I7N3G6G", "406", 0, "no description", 60.2], ["407", "I7N3G6G", "407", 0, "no description", 60.2], ["408", "I7N3G6G", "408", 0, "no description", 60.2], ["409", "I7N3G6G", "409", 0, "no description", 60.2], ["410", "I7N3G6G", "410", 0, "no description", 60.2], ["411", "I7N3G6G", "411", 0, "no description", 60.2], ["412", "I7N3G6G", "412", 0, "no description", 60.2], ["413", "I7N3G6G", "413", 0, "no description", 60.2], ["414", "I7N3G6G", "414", 0, "no description", 60.2], ["415", "I7N3G6G", "415", 0, "no description", 60.2], ["416", "I7N3G6G", "416", 0, "no description", 60.2], ["417", "I7N3G6G", "417", 0, "no description", 60.2], ["418", "I7N3G6G", "418", 0, "no description", 60.2], ["419", "I7N3G6G", "419", 0, "no description", 60.2], ["420", "I7N3G6G", "420", 0, "no description", 60.2], ["421", "I7N3G6G", "421", 0, "no description", 60.2], ["422", "I7N3G6G", "422", 0, "no description", 60.2], ["423", "I7N3G6G", "423", 0, "no description", 60.2], ["424", "I7N3G6G", "424", 0, "no description", 60.2], ["425", "I7N3G6G", "425", 0, "no description", 60.2], ["426", "I7N3G6G", "426", 0, "no description", 60.2], ["427", "I7N3G6G", "427", 0, "no description", 60.2], ["428", "I7N3G6G", "428", 0, "no description", 60.2], ["429", "I7N3G6G", "429", 0, "no description", 60.2], ["430", "I7N3G6G", "430", 0, "no description", 60.2], ["431", "I7N3G6G", "431", 0, "no description", 60.2], ["432", "I7N3G6G", "432", 0, "no description", 60.2], ["433", "I7N3G6G", "433", 0, "no description", 60.2], ["434", "I7N3G6G", "434", 0, "no description", 60.2], ["435", "I7N3G6G", "435", 0, "no description", 60.2], ["436", "I7N3G6G", "436", 0, "no description", 60.2], ["437", "I7N3G6G", "437", 0, "no description", 60.2], ["438", "I7N3G6G", "438", 0, "no description", 60.2], ["439", "I7N3G6G", "439", 0, "no description", 60.2], ["440", "I7N3G6G", "440", 0, "no description", 60.2], ["441", "I7N3G6G", "441", 0, "no description", 60.2], ["442", "I7N3G6G", "442", 0, "no description", 60.2], ["443", "I7N3G6G", "443", 0, "no description", 60.2], ["444", "I7N3G6G", "444", 0, "no description", 60.2], ["445", "I7N3G6G", "445", 0, "no description", 60.2], ["446", "I7N3G6G", "446", 0, "no description", 60.2], ["447", "I7N3G6G", "447", 0, "no description", 60.2], ["448", "I7N3G6G", "448", 0, "no description", 60.2], ["449", "I7N3G6G", "449", 0, "no description", 60.2], ["450", "I7N3G6G", "450", 0, "no description", 60.2], ["451", "I7N3G6G", "451", 0, "no description", 60.2], ["452", "I7N3G6G", "452", 0, "no description", 60.2], ["453", "I7N3G6G", "453", 0, "no description", 60.2], ["454", "I7N3G6G", "454", 0, "no description", 60.2], ["455", "I7N3G6G", "455", 0, "no description", 60.2], ["456", "I7N3G6G", "456", 0, "no description", 60.2], ["457", "I7N3G6G", "457", 0, "no description", 60.2], ["458", "I7N3G6G", "458", 0, "no description", 60.2], ["459", "I7N3G6G", "459", 0, "no description", 60.2], ["460", "I7N3G6G", "460", 0, "no description", 60.2], ["461", "I7N3G6G", "461", 0, "no description", 60.2], ["462", "I7N3G6G", "462", 0, "no description", 60.2], ["463", "I7N3G6G", "463", 0, "no description", 60.2], ["464", "I7N3G6G", "464", 0, "no description", 60.2], ["465", "I7N3G6G", "465", 0, "no description", 60.2], ["466", "I7N3G6G", "466", 0, "no description", 60.2], ["467", "I7N3G6G", "467", 0, "no description", 60.2], ["468", "I7N3G6G", "468", 0, "no description", 60.2], ["469", "I7N3G6G", "469", 0, "no description", 60.2], ["470", "I7N3G6G", "470", 0, "no description", 60.2], ["471", "I7N3G6G", "471", 0, "no description", 60.2], ["472", "I7N3G6G", "472", 0, "no description", 60.2], ["473", "I7N3G6G", "473", 0, "no description", 60.2], ["474", "I7N3G6G", "474", 0, "no description", 60.2], ["475", "I7N3G6G", "475", 0, "no description", 60.2], ["476", "I7N3G6G", "476", 0, "no description", 60.2], ["477", "I7N3G6G", "477", 0, "no description", 60.2], ["478", "I7N3G6G", "478", 0, "no description", 60.2], ["479", "I7N3G6G", "479", 0, "no description", 60.2], ["480", "I7N3G6G", "480", 0, "no description", 60.2], ["481", "I7N3G6G", "481", 0, "no description", 60.2], ["482", "I7N3G6G", "482", 0, "no description", 60.2], ["483", "I7N3G6G", "483", 0, "no description", 60.2], ["484", "I7N3G6G", "484", 0, "no description", 60.2], ["485", "I7N3G6G", "485", 0, "no description", 60.2], ["486", "I7N3G6G", "486", 0, "no description", 60.2], ["487", "I7N3G6G", "487", 0, "no description", 60.2], ["488", "I7N3G6G", "488", 0, "no description", 60.2], ["489", "I7N3G6G", "489", 0, "no description", 60.2], ["490", "I7N3G6G", "490", 0, "no description", 60.2], ["491", "I7N3G6G", "491", 0, "no description", 60.2], ["492", "I7N3G6G", "492", 0, "no description", 60.2], ["493", "I7N3G6G", "493", 0, "no description", 60.2], ["494", "I7N3G6G", "494", 0, "no description", 60.2], ["495", "I7N3G6G", "495", 0, "no description", 60.2], ["496", "I7N3G6G", "496", 0, "no description", 60.2], ["497", "I7N3G6G", "497", 0, "no description", 60.2], ["498", "I7N3G6G", "498", 0, "no description", 60.2], ["499", "I7N3G6G", "499", 0, "no description", 60.2], ["500", "I7N3G6G", "500", 0, "no description", 60.2], ["501", "I7N3G6G", "501", 0, "no description", 60.2], ["502", "I7N3G6G", "502", 0, "no description", 60.2], ["503", "I7N3G6G", "503", 0, "no description", 60.2], ["504", "I7N3G6G", "504", 0, "no description", 60.2], ["505", "I7N3G6G", "505", 0, "no description", 60.2], ["506", "I7N3G6G", "506", 0, "no description", 60.2], ["507", "I7N3G6G", "507", 0, "no description", 60.2], ["508", "I7N3G6G", "508", 0, "no description", 60.2], ["509", "I7N3G6G", "509", 0, "no description", 60.2], ["510", "I7N3G6G", "510", 0, "no description", 60.2], ["511", "I7N3G6G", "511", 0, "no description", 60.2], ["512", "I7N3G6G", "512", 0, "no description", 60.2], ["513", "I7N3G6G", "513", 0, "no description", 60.2], ["514", "I7N3G6G", "514", 0, "no description", 60.2], ["515", "I7N3G6G", "515", 0, "no description", 60.2], ["516", "I7N3G6G", "516", 0, "no description", 60.2], ["517", "I7N3G6G", "517", 0, "no description", 60.2], ["518", "I7N3G6G", "518", 0, "no description", 60.2], ["519", "I7N3G6G", "519", 0, "no description", 60.2], ["520", "I7N3G6G", "520", 0, "no description", 60.2], ["521", "I7N3G6G", "521", 0, "no description", 60.2], ["522", "I7N3G6G", "522", 0, "no description", 60.2], ["523", "I7N3G6G", "523", 0, "no description", 60.2], ["524", "I7N3G6G", "524", 0, "no description", 60.2], ["525", "I7N3G6G", "525", 0, "no description", 60.2], ["526", "I7N3G6G", "526", 0, "no description", 60.2], ["527", "I7N3G6G", "527", 0, "no description", 60.2], ["528", "I7N3G6G", "528", 0, "no description", 60.2], ["529", "I7N3G6G", "529", 0, "no description", 60.2], ["530", "I7N3G6G", "530", 0, "no description", 60.2], ["531", "I7N3G6G", "531", 0, "no description", 60.2], ["532", "I7N3G6G", "532", 0, "no description", 60.2], ["533", "I7N3G6G", "533", 0, "no description", 60.2], ["534", "I7N3G6G", "534", 0, "no description", 60.2], ["535", "I7N3G6G", "535", 0, "no description", 60.2], ["536", "I7N3G6G", "536", 0, "no description", 60.2], ["537", "I7N3G6G", "537", 0, "no description", 60.2], ["538", "I7N3G6G", "538", 0, "no description", 60.2], ["539", "I7N3G6G", "539", 0, "no description", 60.2], ["540", "I7N3G6G", "540", 0, "no description", 60.2], ["541", "I7N3G6G", "541", 0, "no description", 60.2], ["542", "I7N3G6G", "542", 0, "no description", 60.2], ["543", "I7N3G6G", "543", 0, "no description", 60.2], ["544", "I7N3G6G", "544", 0, "no description", 60.2], ["545", "I7N3G6G", "545", 0, "no description", 60.2], ["546", "I7N3G6G", "546", 0, "no description", 60.2], ["547", "I7N3G6G", "547", 0, "no description", 60.2], ["548", "I7N3G6G", "548", 0, "no description", 60.2], ["549", "I7N3G6G", "549", 0, "no description", 60.2], ["550", "I7N3G6G", "550", 0, "no description", 60.2], ["551", "I7N3G6G", "551", 0, "no description", 60.2], ["552", "I7N3G6G", "552", 0, "no description", 60.2], ["553", "I7N3G6G", "553", 0, "no description", 60.2], ["554", "I7N3G6G", "554", 0, "no description", 60.2], ["555", "I7N3G6G", "555", 0, "no description", 60.2], ["556", "I7N3G6G", "556", 0, "no description", 60.2], ["557", "I7N3G6G", "557", 0, "no description", 60.2], ["558", "I7N3G6G", "558", 0, "no description", 60.2], ["559", "I7N3G6G", "559", 0, "no description", 60.2], ["560", "I7N3G6G", "560", 0, "no description", 60.2], ["561", "I7N3G6G", "561", 0, "no description", 60.2], ["562", "I7N3G6G", "562", 0, "no description", 60.2], ["563", "I7N3G6G", "563", 0, "no description", 60.2], ["564", "I7N3G6G", "564", 0, "no description", 60.2], ["565", "I7N3G6G", "565", 0, "no description", 60.2], ["566", "I7N3G6G", "566", 0, "no description", 60.2], ["567", "I7N3G6G", "567", 0, "no description", 60.2], ["568", "I7N3G6G", "568", 0, "no description", 60.2], ["569", "I7N3G6G", "569", 0, "no description", 60.2], ["570", "I7N3G6G", "570", 0, "no description", 60.2], ["571", "I7N3G6G", "571", 0, "no description", 60.2], ["572", "I7N3G6G", "572", 0, "no description", 60.2], ["573", "I7N3G6G", "573", 0, "no description", 60.2], ["574", "I7N3G6G", "574", 0, "no description", 60.2], ["575", "I7N3G6G", "575", 0, "no description", 60.2], ["576", "I7N3G6G", "576", 0, "no description", 60.2], ["577", "I7N3G6G", "577", 0, "no description", 60.2], ["578", "I7N3G6G", "578", 0, "no description", 60.2], ["579", "I7N3G6G", "579", 0, "no description", 60.2], ["580", "I7N3G6G", "580", 0, "no description", 60.2], ["581", "I7N3G6G", "581", 0, "no description", 60.2], ["582", "I7N3G6G", "582", 0, "no description", 60.2], ["583", "I7N3G6G", "583", 0, "no description", 60.2], ["584", "I7N3G6G", "584", 0, "no description", 60.2], ["585", "I7N3G6G", "585", 0, "no description", 60.2], ["586", "I7N3G6G", "586", 0, "no description", 60.2], ["587", "I7N3G6G", "587", 0, "no description", 60.2], ["588", "I7N3G6G", "588", 0, "no description", 60.2], ["589", "I7N3G6G", "589", 0, "no description", 60.2], ["590", "I7N3G6G", "590", 0, "no description", 60.2], ["591", "I7N3G6G", "591", 0, "no description", 60.2], ["592", "I7N3G6G", "592", 0, "no description", 60.2], ["593", "I7N3G6G", "593", 0, "no description", 60.2], ["594", "I7N3G6G", "594", 0, "no description", 60.2], ["595", "I7N3G6G", "595", 0, "no description", 60.2], ["596", "I7N3G6G", "596", 0, "no description", 60.2], ["597", "I7N3G6G", "597", 0, "no description", 60.2], ["598", "I7N3G6G", "598", 0, "no description", 60.2], ["599", "I7N3G6G", "599", 0, "no description", 60.2], ["600", "I7N3G6G", "600", 0, "no description", 60.2], ["601", "I7N3G6G", "601", 0, "no description", 60.2], ["602", "I7N3G6G", "602", 0, "no description", 60.2], ["603", "I7N3G6G", "603", 0, "no description", 60.2], ["604", "I7N3G6G", "604", 0, "no description", 60.2], ["605", "I7N3G6G", "605", 0, "no description", 60.2], ["606", "I7N3G6G", "606", 0, "no description", 60.2], ["607", "I7N3G6G", "607", 0, "no description", 60.2], ["608", "I7N3G6G", "608", 0, "no description", 60.2], ["609", "I7N3G6G", "609", 0, "no description", 60.2], ["610", "I7N3G6G", "610", 0, "no description", 60.2], ["611", "I7N3G6G", "611", 0, "no description", 60.2], ["612", "I7N3G6G", "612", 0, "no description", 60.2], ["613", "I7N3G6G", "613", 0, "no description", 60.2], ["614", "I7N3G6G", "614", 0, "no description", 60.2], ["615", "I7N3G6G", "615", 0, "no description", 60.2], ["616", "I7N3G6G", "616", 0, "no description", 60.2], ["617", "I7N3G6G", "617", 0, "no description", 60.2], ["618", "I7N3G6G", "618", 0, "no description", 60.2], ["619", "I7N3G6G", "619", 0, "no description", 60.2], ["620", "I7N3G6G", "620", 0, "no description", 60.2], ["621", "I7N3G6G", "621", 0, "no description", 60.2], ["622", "I7N3G6G", "622", 0, "no description", 60.2], ["623", "I7N3G6G", "623", 0, "no description", 60.2], ["624", "I7N3G6G", "624", 0, "no description", 60.2], ["625", "I7N3G6G", "625", 0, "no description", 60.2], ["626", "I7N3G6G", "626", 0, "no description", 60.2], ["627", "I7N3G6G", "627", 0, "no description", 60.2], ["628", "I7N3G6G", "628", 0, "no description", 60.2], ["629", "I7N3G6G", "629", 0, "no description", 60.2], ["630", "I7N3G6G", "630", 0, "no description", 60.2], ["631", "I7N3G6G", "631", 0, "no description", 60.2], ["632", "I7N3G6G", "632", 0, "no description", 60.2], ["633", "I7N3G6G", "633", 0, "no description", 60.2], ["634", "I7N3G6G", "634", 0, "no description", 60.2], ["635", "I7N3G6G", "635", 0, "no description", 60.2], ["636", "I7N3G6G", "636", 0, "no description", 60.2], ["637", "I7N3G6G", "637", 0, "no description", 60.2], ["638", "I7N3G6G", "638", 0, "no description", 60.2], ["639", "I7N3G6G", "639", 0, "no description", 60.2], ["640", "I7N3G6G", "640", 0, "no description", 60.2], ["641", "I7N3G6G", "641", 0, "no description", 60.2], ["642", "I7N3G6G", "642", 0, "no description", 60.2], ["643", "I7N3G6G", "643", 0, "no description", 60.2], ["644", "I7N3G6G", "644", 0, "no description", 60.2], ["645", "I7N3G6G", "645", 0, "no description", 60.2], ["646", "I7N3G6G", "646", 0, "no description", 60.2], ["647", "I7N3G6G", "647", 0, "no description", 60.2], ["648", "I7N3G6G", "648", 0, "no description", 60.2], ["649", "I7N3G6G", "649", 0, "no description", 60.2], ["650", "I7N3G6G", "650", 0, "no description", 60.2], ["651", "I7N3G6G", "651", 0, "no description", 60.2], ["652", "I7N3G6G", "652", 0, "no description", 60.2], ["653", "I7N3G6G", "653", 0, "no description", 60.2], ["654", "I7N3G6G", "654", 0, "no description", 60.2], ["655", "I7N3G6G", "655", 0, "no description", 60.2], ["656", "I7N3G6G", "656", 0, "no description", 60.2], ["657", "I7N3G6G", "657", 0, "no description", 60.2], ["658", "I7N3G6G", "658", 0, "no description", 60.2], ["659", "I7N3G6G", "659", 0, "no description", 60.2], ["660", "I7N3G6G", "660", 0, "no description", 60.2], ["661", "I7N3G6G", "661", 0, "no description", 60.2], ["662", "I7N3G6G", "662", 0, "no description", 60.2], ["663", "I7N3G6G", "663", 0, "no description", 60.2], ["664", "I7N3G6G", "664", 0, "no description", 60.2], ["665", "I7N3G6G", "665", 0, "no description", 60.2], ["666", "I7N3G6G", "666", 0, "no description", 60.2], ["667", "I7N3G6G", "667", 0, "no description", 60.2], ["668", "I7N3G6G", "668", 0, "no description", 60.2], ["669", "I7N3G6G", "669", 0, "no description", 60.2], ["670", "I7N3G6G", "670", 0, "no description", 60.2], ["671", "I7N3G6G", "671", 0, "no description", 60.2], ["672", "I7N3G6G", "672", 0, "no description", 60.2], ["673", "I7N3G6G", "673", 0, "no description", 60.2], ["674", "I7N3G6G", "674", 0, "no description", 60.2], ["675", "I7N3G6G", "675", 0, "no description", 60.2], ["676", "I7N3G6G", "676", 0, "no description", 60.2], ["677", "I7N3G6G", "677", 0, "no description", 60.2], ["678", "I7N3G6G", "678", 0, "no description", 60.2], ["679", "I7N3G6G", "679", 0, "no description", 60.2], ["680", "I7N3G6G", "680", 0, "no description", 60.2], ["681", "I7N3G6G", "681", 0, "no description", 60.2], ["682", "I7N3G6G", "682", 0, "no description", 60.2], ["683", "I7N3G6G", "683", 0, "no description", 60.2], ["684", "I7N3G6G", "684", 0, "no description", 60.2], ["685", "I7N3G6G", "685", 0, "no description", 60.2], ["686", "I7N3G6G", "686", 0, "no description", 60.2], ["687", "I7N3G6G", "687", 0, "no description", 60.2], ["688", "I7N3G6G", "688", 0, "no description", 60.2], ["689", "I7N3G6G", "689", 0, "no description", 60.2], ["690", "I7N3G6G", "690", 0, "no description", 60.2], ["691", "I7N3G6G", "691", 0, "no description", 60.2], ["692", "I7N3G6G", "692", 0, "no description", 60.2], ["693", "I7N3G6G", "693", 0, "no description", 60.2], ["694", "I7N3G6G", "694", 0, "no description", 60.2], ["695", "I7N3G6G", "695", 0, "no description", 60.2], ["696", "I7N3G6G", "696", 0, "no description", 60.2], ["697", "I7N3G6G", "697", 0, "no description", 60.2], ["698", "I7N3G6G", "698", 0, "no description", 60.2], ["699", "I7N3G6G", "699", 0, "no description", 60.2], ["700", "I7N3G6G", "700", 0, "no description", 60.2], ["701", "I7N3G6G", "701", 0, "no description", 60.2], ["702", "I7N3G6G", "702", 0, "no description", 60.2], ["703", "I7N3G6G", "703", 0, "no description", 60.2], ["704", "I7N3G6G", "704", 0, "no description", 60.2], ["705", "I7N3G6G", "705", 0, "no description", 60.2], ["706", "I7N3G6G", "706", 0, "no description", 60.2], ["707", "I7N3G6G", "707", 0, "no description", 60.2], ["708", "I7N3G6G", "708", 0, "no description", 60.2], ["709", "I7N3G6G", "709", 0, "no description", 60.2], ["710", "I7N3G6G", "710", 0, "no description", 60.2], ["711", "I7N3G6G", "711", 0, "no description", 60.2], ["712", "I7N3G6G", "712", 0, "no description", 60.2], ["713", "I7N3G6G", "713", 0, "no description", 60.2], ["714", "I7N3G6G", "714", 0, "no description", 60.2], ["715", "I7N3G6G", "715", 0, "no description", 60.2], ["716", "I7N3G6G", "716", 0, "no description", 60.2], ["717", "I7N3G6G", "717", 0, "no description", 60.2], ["718", "I7N3G6G", "718", 0, "no description", 60.2], ["719", "I7N3G6G", "719", 0, "no description", 60.2], ["720", "I7N3G6G", "720", 0, "no description", 60.2], ["721", "I7N3G6G", "721", 0, "no description", 60.2], ["722", "I7N3G6G", "722", 0, "no description", 60.2], ["723", "I7N3G6G", "723", 0, "no description", 60.2], ["724", "I7N3G6G", "724", 0, "no description", 60.2], ["725", "I7N3G6G", "725", 0, "no description", 60.2], ["726", "I7N3G6G", "726", 0, "no description", 60.2], ["727", "I7N3G6G", "727", 0, "no description", 60.2], ["728", "I7N3G6G", "728", 0, "no description", 60.2], ["729", "I7N3G6G", "729", 0, "no description", 60.2], ["730", "I7N3G6G", "730", 0, "no description", 60.2], ["731", "I7N3G6G", "731", 0, "no description", 60.2], ["732", "I7N3G6G", "732", 0, "no description", 60.2], ["733", "I7N3G6G", "733", 0, "no description", 60.2], ["734", "I7N3G6G", "734", 0, "no description", 60.2], ["735", "I7N3G6G", "735", 0, "no description", 60.2], ["736", "I7N3G6G", "736", 0, "no description", 60.2], ["737", "I7N3G6G", "737", 0, "no description", 60.2], ["738", "I7N3G6G", "738", 0, "no description", 60.2], ["739", "I7N3G6G", "739", 0, "no description", 60.2], ["740", "I7N3G6G", "740", 0, "no description", 60.2], ["741", "I7N3G6G", "741", 0, "no description", 60.2], ["742", "I7N3G6G", "742", 0, "no description", 60.2], ["743", "I7N3G6G", "743", 0, "no description", 60.2], ["744", "I7N3G6G", "744", 0, "no description", 60.2], ["745", "I7N3G6G", "745", 0, "no description", 60.2], ["746", "I7N3G6G", "746", 0, "no description", 60.2], ["747", "I7N3G6G", "747", 0, "no description", 60.2], ["748", "I7N3G6G", "748", 0, "no description", 60.2], ["749", "I7N3G6G", "749", 0, "no description", 60.2], ["750", "I7N3G6G", "750", 0, "no description", 60.2], ["751", "I7N3G6G", "751", 0, "no description", 60.2], ["752", "I7N3G6G", "752", 0, "no description", 60.2], ["753", "I7N3G6G", "753", 0, "no description", 60.2], ["754", "I7N3G6G", "754", 0, "no description", 60.2], ["755", "I7N3G6G", "755", 0, "no description", 60.2], ["756", "I7N3G6G", "756", 0, "no description", 60.2], ["757", "I7N3G6G", "757", 0, "no description", 60.2], ["758", "I7N3G6G", "758", 0, "no description", 60.2], ["759", "I7N3G6G", "759", 0, "no description", 60.2], ["760", "I7N3G6G", "760", 0, "no description", 60.2], ["761", "I7N3G6G", "761", 0, "no description", 60.2], ["762", "I7N3G6G", "762", 0, "no description", 60.2], ["763", "I7N3G6G", "763", 0, "no description", 60.2], ["764", "I7N3G6G", "764", 0, "no description", 60.2], ["765", "I7N3G6G", "765", 0, "no description", 60.2], ["766", "I7N3G6G", "766", 0, "no description", 60.2], ["767", "I7N3G6G", "767", 0, "no description", 60.2], ["768", "I7N3G6G", "768", 0, "no description", 60.2], ["769", "I7N3G6G", "769", 0, "no description", 60.2], ["770", "I7N3G6G", "770", 0, "no description", 60.2], ["771", "I7N3G6G", "771", 0, "no description", 60.2], ["772", "I7N3G6G", "772", 0, "no description", 60.2], ["773", "I7N3G6G", "773", 0, "no description", 60.2], ["774", "I7N3G6G", "774", 0, "no description", 60.2], ["775", "I7N3G6G", "775", 0, "no description", 60.2], ["776", "I7N3G6G", "776", 0, "no description", 60.2], ["777", "I7N3G6G", "777", 0, "no description", 60.2], ["778", "I7N3G6G", "778", 0, "no description", 60.2], ["779", "I7N3G6G", "779", 0, "no description", 60.2], ["780", "I7N3G6G", "780", 0, "no description", 60.2], ["781", "I7N3G6G", "781", 0, "no description", 60.2], ["782", "I7N3G6G", "782", 0, "no description", 60.2], ["783", "I7N3G6G", "783", 0, "no description", 60.2], ["784", "I7N3G6G", "784", 0, "no description", 60.2], ["785", "I7N3G6G", "785", 0, "no description", 60.2], ["786", "I7N3G6G", "786", 0, "no description", 60.2], ["787", "I7N3G6G", "787", 0, "no description", 60.2], ["788", "I7N3G6G", "788", 0, "no description", 60.2], ["789", "I7N3G6G", "789", 0, "no description", 60.2], ["790", "I7N3G6G", "790", 0, "no description", 60.2], ["791", "I7N3G6G", "791", 0, "no description", 60.2], ["792", "I7N3G6G", "792", 0, "no description", 60.2], ["793", "I7N3G6G", "793", 0, "no description", 60.2], ["794", "I7N3G6G", "794", 0, "no description", 60.2], ["795", "I7N3G6G", "795", 0, "no description", 60.2], ["796", "I7N3G6G", "796", 0, "no description", 60.2], ["797", "I7N3G6G", "797", 0, "no description", 60.2], ["798", "I7N3G6G", "798", 0, "no description", 60.2], ["799", "I7N3G6G", "799", 0, "no description", 60.2], ["800", "I7N3G6G", "800", 0, "no description", 60.2], ["801", "I7N3G6G", "801", 0, "no description", 60.2], ["802", "I7N3G6G", "802", 0, "no description", 60.2], ["803", "I7N3G6G", "803", 0, "no description", 60.2], ["804", "I7N3G6G", "804", 0, "no description", 60.2], ["805", "I7N3G6G", "805", 0, "no description", 60.2], ["806", "I7N3G6G", "806", 0, "no description", 60.2], ["807", "I7N3G6G", "807", 0, "no description", 60.2], ["808", "I7N3G6G", "808", 0, "no description", 60.2], ["809", "I7N3G6G", "809", 0, "no description", 60.2], ["810", "I7N3G6G", "810", 0, "no description", 60.2], ["811", "I7N3G6G", "811", 0, "no description", 60.2], ["812", "I7N3G6G", "812", 0, "no description", 60.2], ["813", "I7N3G6G", "813", 0, "no description", 60.2], ["814", "I7N3G6G", "814", 0, "no description", 60.2], ["815", "I7N3G6G", "815", 0, "no description", 60.2], ["816", "I7N3G6G", "816", 0, "no description", 60.2], ["817", "I7N3G6G", "817", 0, "no description", 60.2], ["818", "I7N3G6G", "818", 0, "no description", 60.2], ["819", "I7N3G6G", "819", 0, "no description", 60.2], ["820", "I7N3G6G", "820", 0, "no description", 60.2], ["821", "I7N3G6G", "821", 0, "no description", 60.2], ["822", "I7N3G6G", "822", 0, "no description", 60.2], ["823", "I7N3G6G", "823", 0, "no description", 60.2], ["824", "I7N3G6G", "824", 0, "no description", 60.2], ["825", "I7N3G6G", "825", 0, "no description", 60.2], ["826", "I7N3G6G", "826", 0, "no description", 60.2], ["827", "I7N3G6G", "827", 0, "no description", 60.2], ["828", "I7N3G6G", "828", 0, "no description", 60.2], ["829", "I7N3G6G", "829", 0, "no description", 60.2], ["830", "I7N3G6G", "830", 0, "no description", 60.2], ["831", "I7N3G6G", "831", 0, "no description", 60.2], ["832", "I7N3G6G", "832", 0, "no description", 60.2], ["833", "I7N3G6G", "833", 0, "no description", 60.2], ["834", "I7N3G6G", "834", 0, "no description", 60.2], ["835", "I7N3G6G", "835", 0, "no description", 60.2], ["836", "I7N3G6G", "836", 0, "no description", 60.2], ["837", "I7N3G6G", "837", 0, "no description", 60.2], ["838", "I7N3G6G", "838", 0, "no description", 60.2], ["839", "I7N3G6G", "839", 0, "no description", 60.2], ["840", "I7N3G6G", "840", 0, "no description", 60.2], ["841", "I7N3G6G", "841", 0, "no description", 60.2], ["842", "I7N3G6G", "842", 0, "no description", 60.2], ["843", "I7N3G6G", "843", 0, "no description", 60.2], ["844", "I7N3G6G", "844", 0, "no description", 60.2], ["845", "I7N3G6G", "845", 0, "no description", 60.2], ["846", "I7N3G6G", "846", 0, "no description", 60.2], ["847", "I7N3G6G", "847", 0, "no description", 60.2], ["848", "I7N3G6G", "848", 0, "no description", 60.2], ["849", "I7N3G6G", "849", 0, "no description", 60.2], ["850", "I7N3G6G", "850", 0, "no description", 60.2], ["851", "I7N3G6G", "851", 0, "no description", 60.2], ["852", "I7N3G6G", "852", 0, "no description", 60.2], ["853", "I7N3G6G", "853", 0, "no description", 60.2], ["854", "I7N3G6G", "854", 0, "no description", 60.2], ["855", "I7N3G6G", "855", 0, "no description", 60.2], ["856", "I7N3G6G", "856", 0, "no description", 60.2], ["857", "I7N3G6G", "857", 0, "no description", 60.2], ["858", "I7N3G6G", "858", 0, "no description", 60.2], ["859", "I7N3G6G", "859", 0, "no description", 60.2], ["860", "I7N3G6G", "860", 0, "no description", 60.2], ["861", "I7N3G6G", "861", 0, "no description", 60.2], ["862", "I7N3G6G", "862", 0, "no description", 60.2], ["863", "I7N3G6G", "863", 0, "no description", 60.2], ["864", "I7N3G6G", "864", 0, "no description", 60.2], ["865", "I7N3G6G", "865", 0, "no description", 60.2], ["866", "I7N3G6G", "866", 0, "no description", 60.2], ["867", "I7N3G6G", "867", 0, "no description", 60.2], ["868", "I7N3G6G", "868", 0, "no description", 60.2], ["869", "I7N3G6G", "869", 0, "no description", 60.2], ["870", "I7N3G6G", "870", 0, "no description", 60.2], ["871", "I7N3G6G", "871", 0, "no description", 60.2], ["872", "I7N3G6G", "872", 0, "no description", 60.2], ["873", "I7N3G6G", "873", 0, "no description", 60.2], ["874", "I7N3G6G", "874", 0, "no description", 60.2], ["875", "I7N3G6G", "875", 0, "no description", 60.2], ["876", "I7N3G6G", "876", 0, "no description", 60.2], ["877", "I7N3G6G", "877", 0, "no description", 60.2], ["878", "I7N3G6G", "878", 0, "no description", 60.2], ["879", "I7N3G6G", "879", 0, "no description", 60.2], ["880", "I7N3G6G", "880", 0, "no description", 60.2], ["881", "I7N3G6G", "881", 0, "no description", 60.2], ["882", "I7N3G6G", "882", 0, "no description", 60.2], ["883", "I7N3G6G", "883", 0, "no description", 60.2], ["884", "I7N3G6G", "884", 0, "no description", 60.2], ["885", "I7N3G6G", "885", 0, "no description", 60.2], ["886", "I7N3G6G", "886", 0, "no description", 60.2], ["887", "I7N3G6G", "887", 0, "no description", 60.2], ["888", "I7N3G6G", "888", 0, "no description", 60.2], ["889", "I7N3G6G", "889", 0, "no description", 60.2], ["890", "I7N3G6G", "890", 0, "no description", 60.2], ["891", "I7N3G6G", "891", 0, "no description", 60.2], ["892", "I7N3G6G", "892", 0, "no description", 60.2], ["893", "I7N3G6G", "893", 0, "no description", 60.2], ["894", "I7N3G6G", "894", 0, "no description", 60.2], ["895", "I7N3G6G", "895", 0, "no description", 60.2], ["896", "I7N3G6G", "896", 0, "no description", 60.2], ["897", "I7N3G6G", "897", 0, "no description", 60.2], ["898", "I7N3G6G", "898", 0, "no description", 60.2], ["899", "I7N3G6G", "899", 0, "no description", 60.2], ["900", "I7N3G6G", "900", 0, "no description", 60.2], ["901", "I7N3G6G", "901", 0, "no description", 60.2], ["902", "I7N3G6G", "902", 0, "no description", 60.2], ["903", "I7N3G6G", "903", 0, "no description", 60.2], ["904", "I7N3G6G", "904", 0, "no description", 60.2], ["905", "I7N3G6G", "905", 0, "no description", 60.2], ["906", "I7N3G6G", "906", 0, "no description", 60.2], ["907", "I7N3G6G", "907", 0, "no description", 60.2], ["908", "I7N3G6G", "908", 0, "no description", 60.2], ["909", "I7N3G6G", "909", 0, "no description", 60.2], ["910", "I7N3G6G", "910", 0, "no description", 60.2], ["911", "I7N3G6G", "911", 0, "no description", 60.2], ["912", "I7N3G6G", "912", 0, "no description", 60.2], ["913", "I7N3G6G", "913", 0, "no description", 60.2], ["914", "I7N3G6G", "914", 0, "no description", 60.2], ["915", "I7N3G6G", "915", 0, "no description", 60.2], ["916", "I7N3G6G", "916", 0, "no description", 60.2], ["917", "I7N3G6G", "917", 0, "no description", 60.2], ["918", "I7N3G6G", "918", 0, "no description", 60.2], ["919", "I7N3G6G", "919", 0, "no description", 60.2], ["920", "I7N3G6G", "920", 0, "no description", 60.2], ["921", "I7N3G6G", "921", 0, "no description", 60.2], ["922", "I7N3G6G", "922", 0, "no description", 60.2], ["923", "I7N3G6G", "923", 0, "no description", 60.2], ["924", "I7N3G6G", "924", 0, "no description", 60.2], ["925", "I7N3G6G", "925", 0, "no description", 60.2], ["926", "I7N3G6G", "926", 0, "no description", 60.2], ["927", "I7N3G6G", "927", 0, "no description", 60.2], ["928", "I7N3G6G", "928", 0, "no description", 60.2], ["929", "I7N3G6G", "929", 0, "no description", 60.2], ["930", "I7N3G6G", "930", 0, "no description", 60.2], ["931", "I7N3G6G", "931", 0, "no description", 60.2], ["932", "I7N3G6G", "932", 0, "no description", 60.2], ["933", "I7N3G6G", "933", 0, "no description", 60.2], ["934", "I7N3G6G", "934", 0, "no description", 60.2], ["935", "I7N3G6G", "935", 0, "no description", 60.2], ["936", "I7N3G6G", "936", 0, "no description", 60.2], ["937", "I7N3G6G", "937", 0, "no description", 60.2], ["938", "I7N3G6G", "938", 0, "no description", 60.2], ["939", "I7N3G6G", "939", 0, "no description", 60.2], ["940", "I7N3G6G", "940", 0, "no description", 60.2], ["941", "I7N3G6G", "941", 0, "no description", 60.2], ["942", "I7N3G6G", "942", 0, "no description", 60.2], ["943", "I7N3G6G", "943", 0, "no description", 60.2], ["944", "I7N3G6G", "944", 0, "no description", 60.2], ["945", "I7N3G6G", "945", 0, "no description", 60.2], ["946", "I7N3G6G", "946", 0, "no description", 60.2], ["947", "I7N3G6G", "947", 0, "no description", 60.2], ["948", "I7N3G6G", "948", 0, "no description", 60.2], ["949", "I7N3G6G", "949", 0, "no description", 60.2], ["950", "I7N3G6G", "950", 0, "no description", 60.2], ["951", "I7N3G6G", "951", 0, "no description", 60.2], ["952", "I7N3G6G", "952", 0, "no description", 60.2], ["953", "I7N3G6G", "953", 0, "no description", 60.2], ["954", "I7N3G6G", "954", 0, "no description", 60.2], ["955", "I7N3G6G", "955", 0, "no description", 60.2], ["956", "I7N3G6G", "956", 0, "no description", 60.2], ["957", "I7N3G6G", "957", 0, "no description", 60.2], ["958", "I7N3G6G", "958", 0, "no description", 60.2], ["959", "I7N3G6G", "959", 0, "no description", 60.2], ["960", "I7N3G6G", "960", 0, "no description", 60.2], ["961", "I7N3G6G", "961", 0, "no description", 60.2], ["962", "I7N3G6G", "962", 0, "no description", 60.2], ["963", "I7N3G6G", "963", 0, "no description", 60.2], ["964", "I7N3G6G", "964", 0, "no description", 60.2], ["965", "I7N3G6G", "965", 0, "no description", 60.2], ["966", "I7N3G6G", "966", 0, "no description", 60.2], ["967", "I7N3G6G", "967", 0, "no description", 60.2], ["968", "I7N3G6G", "968", 0, "no description", 60.2], ["969", "I7N3G6G", "969", 0, "no description", 60.2], ["970", "I7N3G6G", "970", 0, "no description", 60.2], ["971", "I7N3G6G", "971", 0, "no description", 60.2], ["972", "I7N3G6G", "972", 0, "no description", 60.2], ["973", "I7N3G6G", "973", 0, "no description", 60.2], ["974", "I7N3G6G", "974", 0, "no description", 60.2], ["975", "I7N3G6G", "975", 0, "no description", 60.2], ["976", "I7N3G6G", "976", 0, "no description", 60.2], ["977", "I7N3G6G", "977", 0, "no description", 60.2], ["978", "I7N3G6G", "978", 0, "no description", 60.2], ["979", "I7N3G6G", "979", 0, "no description", 60.2], ["980", "I7N3G6G", "980", 0, "no description", 60.2], ["981", "I7N3G6G", "981", 0, "no description", 60.2], ["982", "I7N3G6G", "982", 0, "no description", 60.2], ["983", "I7N3G6G", "983", 0, "no description", 60.2], ["984", "I7N3G6G", "984", 0, "no description", 60.2], ["985", "I7N3G6G", "985", 0, "no description", 60.2], ["986", "I7N3G6G", "986", 0, "no description", 60.2], ["987", "I7N3G6G", "987", 0, "no description", 60.2], ["988", "I7N3G6G", "988", 0, "no description", 60.2], ["989", "I7N3G6G", "989", 0, "no description", 60.2], ["990", "I7N3G6G", "990", 0, "no description", 60.2], ["991", "I7N3G6G", "991", 0, "no description", 60.2], ["992", "I7N3G6G", "992", 0, "no description", 60.2], ["993", "I7N3G6G", "993", 0, "no description", 60.2], ["994", "I7N3G6G", "994", 0, "no description", 60.2], ["995", "I7N3G6G", "995", 0, "no description", 60.2], ["996", "I7N3G6G", "996", 0, "no description", 60.2], ["997", "I7N3G6G", "997", 0, "no description", 60.2], ["998", "I7N3G6G", "998", 0, "no description", 60.2], ["999", "I7N3G6G", "999", 0, "no description", 60.2], ["1000", "I7N3G6G", "1000", 0, "no description", 60.2], ["1001", "I7N3G6G", "1001", 0, "no description", 60.2], ["1002", "I7N3G6G", "1002", 0, "no description", 60.2], ["1003", "I7N3G6G", "1003", 0, "no description", 60.2], ["1004", "I7N3G6G", "1004", 0, "no description", 60.2], ["1005", "I7N3G6G", "1005", 0, "no description", 60.2], ["1006", "I7N3G6G", "1006", 0, "no description", 60.2], ["1007", "I7N3G6G", "1007", 0, "no description", 60.2], ["1008", "I7N3G6G", "1008", 0, "no description", 60.2], ["1009", "I7N3G6G", "1009", 0, "no description", 60.2], ["1010", "I7N3G6G", "1010", 0, "no description", 60.2], ["1011", "I7N3G6G", "1011", 0, "no description", 60.2], ["1012", "I7N3G6G", "1012", 0, "no description", 60.2], ["1013", "I7N3G6G", "1013", 0, "no description", 60.2], ["1014", "I7N3G6G", "1014", 0, "no description", 60.2], ["1015", "I7N3G6G", "1015", 0, "no description", 60.2], ["1016", "I7N3G6G", "1016", 0, "no description", 60.2], ["1017", "I7N3G6G", "1017", 0, "no description", 60.2], ["1018", "I7N3G6G", "1018", 0, "no description", 60.2], ["1019", "I7N3G6G", "1019", 0, "no description", 60.2], ["1020", "I7N3G6G", "1020", 0, "no description", 60.2], ["1021", "I7N3G6G", "1021", 0, "no description", 60.2], ["1022", "I7N3G6G", "1022", 0, "no description", 60.2], ["1023", "I7N3G6G", "1023", 0, "no description", 60.2], ["1024", "I7N3G6G", "1024", 0, "no description", 60.2], ["1025", "I7N3G6G", "1025", 0, "no description", 60.2], ["1026", "I7N3G6G", "1026", 0, "no description", 60.2], ["1027", "I7N3G6G", "1027", 0, "no description", 60.2], ["1028", "I7N3G6G", "1028", 0, "no description", 60.2], ["1029", "I7N3G6G", "1029", 0, "no description", 60.2], ["1030", "I7N3G6G", "1030", 0, "no description", 60.2], ["1031", "I7N3G6G", "1031", 0, "no description", 60.2], ["1032", "I7N3G6G", "1032", 0, "no description", 60.2], ["1033", "I7N3G6G", "1033", 0, "no description", 60.2], ["1034", "I7N3G6G", "1034", 0, "no description", 60.2], ["1035", "I7N3G6G", "1035", 0, "no description", 60.2], ["1036", "I7N3G6G", "1036", 0, "no description", 60.2], ["1037", "I7N3G6G", "1037", 0, "no description", 60.2], ["1038", "I7N3G6G", "1038", 0, "no description", 60.2], ["1039", "I7N3G6G", "1039", 0, "no description", 60.2], ["1040", "I7N3G6G", "1040", 0, "no description", 60.2], ["1041", "I7N3G6G", "1041", 0, "no description", 60.2], ["1042", "I7N3G6G", "1042", 0, "no description", 60.2], ["1043", "I7N3G6G", "1043", 0, "no description", 60.2], ["1044", "I7N3G6G", "1044", 0, "no description", 60.2], ["1045", "I7N3G6G", "1045", 0, "no description", 60.2], ["1046", "I7N3G6G", "1046", 0, "no description", 60.2], ["1047", "I7N3G6G", "1047", 0, "no description", 60.2], ["1048", "I7N3G6G", "1048", 0, "no description", 60.2], ["1049", "I7N3G6G", "1049", 0, "no description", 60.2], ["1050", "I7N3G6G", "1050", 0, "no description", 60.2], ["1051", "I7N3G6G", "1051", 0, "no description", 60.2], ["1052", "I7N3G6G", "1052", 0, "no description", 60.2], ["1053", "I7N3G6G", "1053", 0, "no description", 60.2], ["1054", "I7N3G6G", "1054", 0, "no description", 60.2], ["1055", "I7N3G6G", "1055", 0, "no description", 60.2], ["1056", "I7N3G6G", "1056", 0, "no description", 60.2], ["1057", "I7N3G6G", "1057", 0, "no description", 60.2], ["1058", "I7N3G6G", "1058", 0, "no description", 60.2], ["1059", "I7N3G6G", "1059", 0, "no description", 60.2], ["1060", "I7N3G6G", "1060", 0, "no description", 60.2], ["1061", "I7N3G6G", "1061", 0, "no description", 60.2], ["1062", "I7N3G6G", "1062", 0, "no description", 60.2], ["1063", "I7N3G6G", "1063", 0, "no description", 60.2], ["1064", "I7N3G6G", "1064", 0, "no description", 60.2], ["1065", "I7N3G6G", "1065", 0, "no description", 60.2], ["1066", "I7N3G6G", "1066", 0, "no description", 60.2], ["1067", "I7N3G6G", "1067", 0, "no description", 60.2], ["1068", "I7N3G6G", "1068", 0, "no description", 60.2], ["1069", "I7N3G6G", "1069", 0, "no description", 60.2], ["1070", "I7N3G6G", "1070", 0, "no description", 60.2], ["1071", "I7N3G6G", "1071", 0, "no description", 60.2], ["1072", "I7N3G6G", "1072", 0, "no description", 60.2], ["1073", "I7N3G6G", "1073", 0, "no description", 60.2], ["1074", "I7N3G6G", "1074", 0, "no description", 60.2], ["1075", "I7N3G6G", "1075", 0, "no description", 60.2], ["1076", "I7N3G6G", "1076", 0, "no description", 60.2], ["1077", "I7N3G6G", "1077", 0, "no description", 60.2], ["1078", "I7N3G6G", "1078", 0, "no description", 60.2], ["1079", "I7N3G6G", "1079", 0, "no description", 60.2], ["1080", "I7N3G6G", "1080", 0, "no description", 60.2], ["1081", "I7N3G6G", "1081", 0, "no description", 60.2], ["1082", "I7N3G6G", "1082", 0, "no description", 60.2], ["1083", "I7N3G6G", "1083", 0, "no description", 60.2], ["1084", "I7N3G6G", "1084", 0, "no description", 60.2], ["1085", "I7N3G6G", "1085", 0, "no description", 60.2], ["1086", "I7N3G6G", "1086", 0, "no description", 60.2], ["1087", "I7N3G6G", "1087", 0, "no description", 60.2], ["1088", "I7N3G6G", "1088", 0, "no description", 60.2], ["1089", "I7N3G6G", "1089", 0, "no description", 60.2], ["1090", "I7N3G6G", "1090", 0, "no description", 60.2], ["1091", "I7N3G6G", "1091", 0, "no description", 60.2], ["1092", "I7N3G6G", "1092", 0, "no description", 60.2], ["1093", "I7N3G6G", "1093", 0, "no description", 60.2], ["1094", "I7N3G6G", "1094", 0, "no description", 60.2], ["1095", "I7N3G6G", "1095", 0, "no description", 60.2], ["1096", "I7N3G6G", "1096", 0, "no description", 60.2], ["1097", "I7N3G6G", "1097", 0, "no description", 60.2], ["1098", "I7N3G6G", "1098", 0, "no description", 60.2], ["1099", "I7N3G6G", "1099", 0, "no description", 60.2], ["1100", "I7N3G6G", "1100", 0, "no description", 60.2], ["1101", "I7N3G6G", "1101", 0, "no description", 60.2], ["1102", "I7N3G6G", "1102", 0, "no description", 60.2], ["1103", "I7N3G6G", "1103", 0, "no description", 60.2], ["1104", "I7N3G6G", "1104", 0, "no description", 60.2], ["1105", "I7N3G6G", "1105", 0, "no description", 60.2], ["1106", "I7N3G6G", "1106", 0, "no description", 60.2], ["1107", "I7N3G6G", "1107", 0, "no description", 60.2], ["1108", "I7N3G6G", "1108", 0, "no description", 60.2], ["1109", "I7N3G6G", "1109", 0, "no description", 60.2], ["1110", "I7N3G6G", "1110", 0, "no description", 60.2], ["1111", "I7N3G6G", "1111", 0, "no description", 60.2], ["1112", "I7N3G6G", "1112", 0, "no description", 60.2], ["1113", "I7N3G6G", "1113", 0, "no description", 60.2], ["1114", "I7N3G6G", "1114", 0, "no description", 60.2], ["1115", "I7N3G6G", "1115", 0, "no description", 60.2], ["1116", "I7N3G6G", "1116", 0, "no description", 60.2], ["1117", "I7N3G6G", "1117", 0, "no description", 60.2], ["1118", "I7N3G6G", "1118", 0, "no description", 60.2], ["1119", "I7N3G6G", "1119", 0, "no description", 60.2], ["1120", "I7N3G6G", "1120", 0, "no description", 60.2], ["1121", "I7N3G6G", "1121", 0, "no description", 60.2], ["1122", "I7N3G6G", "1122", 0, "no description", 60.2], ["1123", "I7N3G6G", "1123", 0, "no description", 60.2], ["1124", "I7N3G6G", "1124", 0, "no description", 60.2], ["1125", "I7N3G6G", "1125", 0, "no description", 60.2], ["1126", "I7N3G6G", "1126", 0, "no description", 60.2], ["1127", "I7N3G6G", "1127", 0, "no description", 60.2], ["1128", "I7N3G6G", "1128", 0, "no description", 60.2], ["1129", "I7N3G6G", "1129", 0, "no description", 60.2], ["1130", "I7N3G6G", "1130", 0, "no description", 60.2], ["1131", "I7N3G6G", "1131", 0, "no description", 60.2], ["1132", "I7N3G6G", "1132", 0, "no description", 60.2], ["1133", "I7N3G6G", "1133", 0, "no description", 60.2], ["1134", "I7N3G6G", "1134", 0, "no description", 60.2], ["1135", "I7N3G6G", "1135", 0, "no description", 60.2], ["1136", "I7N3G6G", "1136", 0, "no description", 60.2], ["1137", "I7N3G6G", "1137", 0, "no description", 60.2], ["1138", "I7N3G6G", "1138", 0, "no description", 60.2], ["1139", "I7N3G6G", "1139", 0, "no description", 60.2], ["1140", "I7N3G6G", "1140", 0, "no description", 60.2], ["1141", "I7N3G6G", "1141", 0, "no description", 60.2], ["1142", "I7N3G6G", "1142", 0, "no description", 60.2], ["1143", "I7N3G6G", "1143", 0, "no description", 60.2], ["1144", "I7N3G6G", "1144", 0, "no description", 60.2], ["1145", "I7N3G6G", "1145", 0, "no description", 60.2], ["1146", "I7N3G6G", "1146", 0, "no description", 60.2], ["1147", "I7N3G6G", "1147", 0, "no description", 60.2], ["1148", "I7N3G6G", "1148", 0, "no description", 60.2], ["1149", "I7N3G6G", "1149", 0, "no description", 60.2], ["1150", "I7N3G6G", "1150", 0, "no description", 60.2], ["1151", "I7N3G6G", "1151", 0, "no description", 60.2], ["1152", "I7N3G6G", "1152", 0, "no description", 60.2], ["1153", "I7N3G6G", "1153", 0, "no description", 60.2], ["1154", "I7N3G6G", "1154", 0, "no description", 60.2], ["1155", "I7N3G6G", "1155", 0, "no description", 60.2], ["1156", "I7N3G6G", "1156", 0, "no description", 60.2], ["1157", "I7N3G6G", "1157", 0, "no description", 60.2], ["1158", "I7N3G6G", "1158", 0, "no description", 60.2], ["1159", "I7N3G6G", "1159", 0, "no description", 60.2], ["1160", "I7N3G6G", "1160", 0, "no description", 60.2], ["1161", "I7N3G6G", "1161", 0, "no description", 60.2], ["1162", "I7N3G6G", "1162", 0, "no description", 60.2], ["1163", "I7N3G6G", "1163", 0, "no description", 60.2], ["1164", "I7N3G6G", "1164", 0, "no description", 60.2], ["1165", "I7N3G6G", "1165", 0, "no description", 60.2], ["1166", "I7N3G6G", "1166", 0, "no description", 60.2], ["1167", "I7N3G6G", "1167", 0, "no description", 60.2], ["1168", "I7N3G6G", "1168", 0, "no description", 60.2], ["1169", "I7N3G6G", "1169", 0, "no description", 60.2], ["1170", "I7N3G6G", "1170", 0, "no description", 60.2], ["1171", "I7N3G6G", "1171", 0, "no description", 60.2], ["1172", "I7N3G6G", "1172", 0, "no description", 60.2], ["1173", "I7N3G6G", "1173", 0, "no description", 60.2], ["1174", "I7N3G6G", "1174", 0, "no description", 60.2], ["1175", "I7N3G6G", "1175", 0, "no description", 60.2], ["1176", "I7N3G6G", "1176", 0, "no description", 60.2], ["1177", "I7N3G6G", "1177", 0, "no description", 60.2], ["1178", "I7N3G6G", "1178", 0, "no description", 60.2], ["1179", "I7N3G6G", "1179", 0, "no description", 60.2], ["1180", "I7N3G6G", "1180", 0, "no description", 60.2], ["1181", "I7N3G6G", "1181", 0, "no description", 60.2], ["1182", "I7N3G6G", "1182", 0, "no description", 60.2], ["1183", "I7N3G6G", "1183", 0, "no description", 60.2], ["1184", "I7N3G6G", "1184", 0, "no description", 60.2], ["1185", "I7N3G6G", "1185", 0, "no description", 60.2], ["1186", "I7N3G6G", "1186", 0, "no description", 60.2], ["1187", "I7N3G6G", "1187", 0, "no description", 60.2], ["1188", "I7N3G6G", "1188", 0, "no description", 60.2], ["1189", "I7N3G6G", "1189", 0, "no description", 60.2], ["1190", "I7N3G6G", "1190", 0, "no description", 60.2], ["1191", "I7N3G6G", "1191", 0, "no description", 60.2], ["1192", "I7N3G6G", "1192", 0, "no description", 60.2], ["1193", "I7N3G6G", "1193", 0, "no description", 60.2], ["1194", "I7N3G6G", "1194", 0, "no description", 60.2], ["1195", "I7N3G6G", "1195", 0, "no description", 60.2], ["1196", "I7N3G6G", "1196", 0, "no description", 60.2], ["1197", "I7N3G6G", "1197", 0, "no description", 60.2], ["1198", "I7N3G6G", "1198", 0, "no description", 60.2], ["1199", "I7N3G6G", "1199", 0, "no description", 60.2], ["1200", "I7N3G6G", "1200", 0, "no description", 60.2], ["1201", "I7N3G6G", "1201", 0, "no description", 60.2], ["1202", "I7N3G6G", "1202", 0, "no description", 60.2], ["1203", "I7N3G6G", "1203", 0, "no description", 60.2], ["1204", "I7N3G6G", "1204", 0, "no description", 60.2], ["1205", "I7N3G6G", "1205", 0, "no description", 60.2], ["1206", "I7N3G6G", "1206", 0, "no description", 60.2], ["1207", "I7N3G6G", "1207", 0, "no description", 60.2], ["1208", "I7N3G6G", "1208", 0, "no description", 60.2], ["1209", "I7N3G6G", "1209", 0, "no description", 60.2], ["1210", "I7N3G6G", "1210", 0, "no description", 60.2], ["1211", "I7N3G6G", "1211", 0, "no description", 60.2], ["1212", "I7N3G6G", "1212", 0, "no description", 60.2], ["1213", "I7N3G6G", "1213", 0, "no description", 60.2], ["1214", "I7N3G6G", "1214", 0, "no description", 60.2], ["1215", "I7N3G6G", "1215", 0, "no description", 60.2], ["1216", "I7N3G6G", "1216", 0, "no description", 60.2], ["1217", "I7N3G6G", "1217", 0, "no description", 60.2], ["1218", "I7N3G6G", "1218", 0, "no description", 60.2], ["1219", "I7N3G6G", "1219", 0, "no description", 60.2], ["1220", "I7N3G6G", "1220", 0, "no description", 60.2], ["1221", "I7N3G6G", "1221", 0, "no description", 60.2], ["1222", "I7N3G6G", "1222", 0, "no description", 60.2], ["1223", "I7N3G6G", "1223", 0, "no description", 60.2], ["1224", "I7N3G6G", "1224", 0, "no description", 60.2], ["1225", "I7N3G6G", "1225", 0, "no description", 60.2], ["1226", "I7N3G6G", "1226", 0, "no description", 60.2], ["1227", "I7N3G6G", "1227", 0, "no description", 60.2], ["1228", "I7N3G6G", "1228", 0, "no description", 60.2], ["1229", "I7N3G6G", "1229", 0, "no description", 60.2], ["1230", "I7N3G6G", "1230", 0, "no description", 60.2], ["1231", "I7N3G6G", "1231", 0, "no description", 60.2], ["1232", "I7N3G6G", "1232", 0, "no description", 60.2], ["1233", "I7N3G6G", "1233", 0, "no description", 60.2], ["1234", "I7N3G6G", "1234", 0, "no description", 60.2], ["1235", "I7N3G6G", "1235", 0, "no description", 60.2], ["1236", "I7N3G6G", "1236", 0, "no description", 60.2], ["1237", "I7N3G6G", "1237", 0, "no description", 60.2], ["1238", "I7N3G6G", "1238", 0, "no description", 60.2], ["1239", "I7N3G6G", "1239", 0, "no description", 60.2], ["1240", "I7N3G6G", "1240", 0, "no description", 60.2], ["1241", "I7N3G6G", "1241", 0, "no description", 60.2], ["1242", "I7N3G6G", "1242", 0, "no description", 60.2], ["1243", "I7N3G6G", "1243", 0, "no description", 60.2], ["1244", "I7N3G6G", "1244", 0, "no description", 60.2], ["1245", "I7N3G6G", "1245", 0, "no description", 60.2], ["1246", "I7N3G6G", "1246", 0, "no description", 60.2], ["1247", "I7N3G6G", "1247", 0, "no description", 60.2], ["1248", "I7N3G6G", "1248", 0, "no description", 60.2], ["1249", "I7N3G6G", "1249", 0, "no description", 60.2], ["1250", "I7N3G6G", "1250", 0, "no description", 60.2], ["1251", "I7N3G6G", "1251", 0, "no description", 60.2], ["1252", "I7N3G6G", "1252", 0, "no description", 60.2], ["1253", "I7N3G6G", "1253", 0, "no description", 60.2], ["1254", "I7N3G6G", "1254", 0, "no description", 60.2], ["1255", "I7N3G6G", "1255", 0, "no description", 60.2], ["1256", "I7N3G6G", "1256", 0, "no description", 60.2], ["1257", "I7N3G6G", "1257", 0, "no description", 60.2], ["1258", "I7N3G6G", "1258", 0, "no description", 60.2], ["1259", "I7N3G6G", "1259", 0, "no description", 60.2], ["1260", "I7N3G6G", "1260", 0, "no description", 60.2], ["1261", "I7N3G6G", "1261", 0, "no description", 60.2], ["1262", "I7N3G6G", "1262", 0, "no description", 60.2], ["1263", "I7N3G6G", "1263", 0, "no description", 60.2], ["1264", "I7N3G6G", "1264", 0, "no description", 60.2], ["1265", "I7N3G6G", "1265", 0, "no description", 60.2], ["1266", "I7N3G6G", "1266", 0, "no description", 60.2], ["1267", "I7N3G6G", "1267", 0, "no description", 60.2], ["1268", "I7N3G6G", "1268", 0, "no description", 60.2], ["1269", "I7N3G6G", "1269", 0, "no description", 60.2], ["1270", "I7N3G6G", "1270", 0, "no description", 60.2], ["1271", "I7N3G6G", "1271", 0, "no description", 60.2], ["1272", "I7N3G6G", "1272", 0, "no description", 60.2], ["1273", "I7N3G6G", "1273", 0, "no description", 60.2], ["1274", "I7N3G6G", "1274", 0, "no description", 60.2], ["1275", "I7N3G6G", "1275", 0, "no description", 60.2], ["1276", "I7N3G6G", "1276", 0, "no description", 60.2], ["1277", "I7N3G6G", "1277", 0, "no description", 60.2], ["1278", "I7N3G6G", "1278", 0, "no description", 60.2], ["1279", "I7N3G6G", "1279", 0, "no description", 60.2], ["1280", "I7N3G6G", "1280", 0, "no description", 60.2], ["1281", "I7N3G6G", "1281", 0, "no description", 60.2], ["1282", "I7N3G6G", "1282", 0, "no description", 60.2], ["1283", "I7N3G6G", "1283", 0, "no description", 60.2], ["1284", "I7N3G6G", "1284", 0, "no description", 60.2], ["1285", "I7N3G6G", "1285", 0, "no description", 60.2], ["1286", "I7N3G6G", "1286", 0, "no description", 60.2], ["1287", "I7N3G6G", "1287", 0, "no description", 60.2], ["1288", "I7N3G6G", "1288", 0, "no description", 60.2], ["1289", "I7N3G6G", "1289", 0, "no description", 60.2], ["1290", "I7N3G6G", "1290", 0, "no description", 60.2], ["1291", "I7N3G6G", "1291", 0, "no description", 60.2], ["1292", "I7N3G6G", "1292", 0, "no description", 60.2], ["1293", "I7N3G6G", "1293", 0, "no description", 60.2], ["1294", "I7N3G6G", "1294", 0, "no description", 60.2], ["1295", "I7N3G6G", "1295", 0, "no description", 60.2], ["1296", "I7N3G6G", "1296", 0, "no description", 60.2], ["1297", "I7N3G6G", "1297", 0, "no description", 60.2], ["1298", "I7N3G6G", "1298", 0, "no description", 60.2], ["1299", "I7N3G6G", "1299", 0, "no description", 60.2], ["1300", "I7N3G6G", "1300", 0, "no description", 60.2], ["1301", "I7N3G6G", "1301", 0, "no description", 60.2], ["1302", "I7N3G6G", "1302", 0, "no description", 60.2], ["1303", "I7N3G6G", "1303", 0, "no description", 60.2], ["1304", "I7N3G6G", "1304", 0, "no description", 60.2], ["1305", "I7N3G6G", "1305", 0, "no description", 60.2], ["1306", "I7N3G6G", "1306", 0, "no description", 60.2], ["1307", "I7N3G6G", "1307", 0, "no description", 60.2], ["1308", "I7N3G6G", "1308", 0, "no description", 60.2], ["1309", "I7N3G6G", "1309", 0, "no description", 60.2], ["1310", "I7N3G6G", "1310", 0, "no description", 60.2], ["1311", "I7N3G6G", "1311", 0, "no description", 60.2], ["1312", "I7N3G6G", "1312", 0, "no description", 60.2], ["1313", "I7N3G6G", "1313", 0, "no description", 60.2], ["1314", "I7N3G6G", "1314", 0, "no description", 60.2], ["1315", "I7N3G6G", "1315", 0, "no description", 60.2], ["1316", "I7N3G6G", "1316", 0, "no description", 60.2], ["1317", "I7N3G6G", "1317", 0, "no description", 60.2], ["1318", "I7N3G6G", "1318", 0, "no description", 60.2], ["1319", "I7N3G6G", "1319", 0, "no description", 60.2], ["1320", "I7N3G6G", "1320", 0, "no description", 60.2], ["1321", "I7N3G6G", "1321", 0, "no description", 60.2], ["1322", "I7N3G6G", "1322", 0, "no description", 60.2], ["1323", "I7N3G6G", "1323", 0, "no description", 60.2], ["1324", "I7N3G6G", "1324", 0, "no description", 60.2], ["1325", "I7N3G6G", "1325", 0, "no description", 60.2], ["1326", "I7N3G6G", "1326", 0, "no description", 60.2], ["1327", "I7N3G6G", "1327", 0, "no description", 60.2], ["1328", "I7N3G6G", "1328", 0, "no description", 60.2], ["1329", "I7N3G6G", "1329", 0, "no description", 60.2], ["1330", "I7N3G6G", "1330", 0, "no description", 60.2], ["1331", "I7N3G6G", "1331", 0, "no description", 60.2], ["1332", "I7N3G6G", "1332", 0, "no description", 60.2], ["1333", "I7N3G6G", "1333", 0, "no description", 60.2], ["1334", "I7N3G6G", "1334", 0, "no description", 60.2], ["1335", "I7N3G6G", "1335", 0, "no description", 60.2], ["1336", "I7N3G6G", "1336", 0, "no description", 60.2], ["1337", "I7N3G6G", "1337", 0, "no description", 60.2], ["1338", "I7N3G6G", "1338", 0, "no description", 60.2], ["1339", "I7N3G6G", "1339", 0, "no description", 60.2], ["1340", "I7N3G6G", "1340", 0, "no description", 60.2], ["1341", "I7N3G6G", "1341", 0, "no description", 60.2], ["1342", "I7N3G6G", "1342", 0, "no description", 60.2], ["1343", "I7N3G6G", "1343", 0, "no description", 60.2], ["1344", "I7N3G6G", "1344", 0, "no description", 60.2], ["1345", "I7N3G6G", "1345", 0, "no description", 60.2], ["1346", "I7N3G6G", "1346", 0, "no description", 60.2], ["1347", "I7N3G6G", "1347", 0, "no description", 60.2], ["1348", "I7N3G6G", "1348", 0, "no description", 60.2], ["1349", "I7N3G6G", "1349", 0, "no description", 60.2], ["1350", "I7N3G6G", "1350", 0, "no description", 60.2], ["1351", "I7N3G6G", "1351", 0, "no description", 60.2], ["1352", "I7N3G6G", "1352", 0, "no description", 60.2], ["1353", "I7N3G6G", "1353", 0, "no description", 60.2], ["1354", "I7N3G6G", "1354", 0, "no description", 60.2], ["1355", "I7N3G6G", "1355", 0, "no description", 60.2], ["1356", "I7N3G6G", "1356", 0, "no description", 60.2], ["1357", "I7N3G6G", "1357", 0, "no description", 60.2], ["1358", "I7N3G6G", "1358", 0, "no description", 60.2], ["1359", "I7N3G6G", "1359", 0, "no description", 60.2], ["1360", "I7N3G6G", "1360", 0, "no description", 60.2], ["1361", "I7N3G6G", "1361", 0, "no description", 60.2], ["1362", "I7N3G6G", "1362", 0, "no description", 60.2], ["1363", "I7N3G6G", "1363", 0, "no description", 60.2], ["1364", "I7N3G6G", "1364", 0, "no description", 60.2], ["1365", "I7N3G6G", "1365", 0, "no description", 60.2], ["1366", "I7N3G6G", "1366", 0, "no description", 60.2], ["1367", "I7N3G6G", "1367", 0, "no description", 60.2], ["1368", "I7N3G6G", "1368", 0, "no description", 60.2], ["1369", "I7N3G6G", "1369", 0, "no description", 60.2], ["1370", "I7N3G6G", "1370", 0, "no description", 60.2], ["1371", "I7N3G6G", "1371", 0, "no description", 60.2], ["1372", "I7N3G6G", "1372", 0, "no description", 60.2], ["1373", "I7N3G6G", "1373", 0, "no description", 60.2], ["1374", "I7N3G6G", "1374", 0, "no description", 60.2], ["1375", "I7N3G6G", "1375", 0, "no description", 60.2], ["1376", "I7N3G6G", "1376", 0, "no description", 60.2], ["1377", "I7N3G6G", "1377", 0, "no description", 60.2], ["1378", "I7N3G6G", "1378", 0, "no description", 60.2], ["1379", "I7N3G6G", "1379", 0, "no description", 60.2], ["1380", "I7N3G6G", "1380", 0, "no description", 60.2], ["1381", "I7N3G6G", "1381", 0, "no description", 60.2], ["1382", "I7N3G6G", "1382", 0, "no description", 60.2], ["1383", "I7N3G6G", "1383", 0, "no description", 60.2], ["1384", "I7N3G6G", "1384", 0, "no description", 60.2], ["1385", "I7N3G6G", "1385", 0, "no description", 60.2], ["1386", "I7N3G6G", "1386", 0, "no description", 60.2], ["1387", "I7N3G6G", "1387", 0, "no description", 60.2], ["1388", "I7N3G6G", "1388", 0, "no description", 60.2], ["1389", "I7N3G6G", "1389", 0, "no description", 60.2], ["1390", "I7N3G6G", "1390", 0, "no description", 60.2], ["1391", "I7N3G6G", "1391", 0, "no description", 60.2], ["1392", "I7N3G6G", "1392", 0, "no description", 60.2], ["1393", "I7N3G6G", "1393", 0, "no description", 60.2], ["1394", "I7N3G6G", "1394", 0, "no description", 60.2], ["1395", "I7N3G6G", "1395", 0, "no description", 60.2], ["1396", "I7N3G6G", "1396", 0, "no description", 60.2], ["1397", "I7N3G6G", "1397", 0, "no description", 60.2], ["1398", "I7N3G6G", "1398", 0, "no description", 60.2], ["1399", "I7N3G6G", "1399", 0, "no description", 60.2], ["1400", "I7N3G6G", "1400", 0, "no description", 60.2], ["1401", "I7N3G6G", "1401", 0, "no description", 60.2], ["1402", "I7N3G6G", "1402", 0, "no description", 60.2], ["1403", "I7N3G6G", "1403", 0, "no description", 60.2], ["1404", "I7N3G6G", "1404", 0, "no description", 60.2], ["1405", "I7N3G6G", "1405", 0, "no description", 60.2], ["1406", "I7N3G6G", "1406", 0, "no description", 60.2], ["1407", "I7N3G6G", "1407", 0, "no description", 60.2], ["1408", "I7N3G6G", "1408", 0, "no description", 60.2], ["1409", "I7N3G6G", "1409", 0, "no description", 60.2], ["1410", "I7N3G6G", "1410", 0, "no description", 60.2], ["1411", "I7N3G6G", "1411", 0, "no description", 60.2], ["1412", "I7N3G6G", "1412", 0, "no description", 60.2], ["1413", "I7N3G6G", "1413", 0, "no description", 60.2], ["1414", "I7N3G6G", "1414", 0, "no description", 60.2], ["1415", "I7N3G6G", "1415", 0, "no description", 60.2], ["1416", "I7N3G6G", "1416", 0, "no description", 60.2], ["1417", "I7N3G6G", "1417", 0, "no description", 60.2], ["1418", "I7N3G6G", "1418", 0, "no description", 60.2], ["1419", "I7N3G6G", "1419", 0, "no description", 60.2], ["1420", "I7N3G6G", "1420", 0, "no description", 60.2], ["1421", "I7N3G6G", "1421", 0, "no description", 60.2], ["1422", "I7N3G6G", "1422", 0, "no description", 60.2], ["1423", "I7N3G6G", "1423", 0, "no description", 60.2], ["1424", "I7N3G6G", "1424", 0, "no description", 60.2], ["1425", "I7N3G6G", "1425", 0, "no description", 60.2], ["1426", "I7N3G6G", "1426", 0, "no description", 60.2], ["1427", "I7N3G6G", "1427", 0, "no description", 60.2], ["1428", "I7N3G6G", "1428", 0, "no description", 60.2], ["1429", "I7N3G6G", "1429", 0, "no description", 60.2], ["1430", "I7N3G6G", "1430", 0, "no description", 60.2], ["1431", "I7N3G6G", "1431", 0, "no description", 60.2], ["1432", "I7N3G6G", "1432", 0, "no description", 60.2], ["1433", "I7N3G6G", "1433", 0, "no description", 60.2], ["1434", "I7N3G6G", "1434", 0, "no description", 60.2], ["1435", "I7N3G6G", "1435", 0, "no description", 60.2], ["1436", "I7N3G6G", "1436", 0, "no description", 60.2], ["1437", "I7N3G6G", "1437", 0, "no description", 60.2], ["1438", "I7N3G6G", "1438", 0, "no description", 60.2], ["1439", "I7N3G6G", "1439", 0, "no description", 60.2], ["1440", "I7N3G6G", "1440", 0, "no description", 60.2], ["1441", "I7N3G6G", "1441", 0, "no description", 60.2], ["1442", "I7N3G6G", "1442", 0, "no description", 60.2], ["1443", "I7N3G6G", "1443", 0, "no description", 60.2], ["1444", "I7N3G6G", "1444", 0, "no description", 60.2], ["1445", "I7N3G6G", "1445", 0, "no description", 60.2], ["1446", "I7N3G6G", "1446", 0, "no description", 60.2], ["1447", "I7N3G6G", "1447", 0, "no description", 60.2], ["1448", "I7N3G6G", "1448", 0, "no description", 60.2], ["1449", "I7N3G6G", "1449", 0, "no description", 60.2], ["1450", "I7N3G6G", "1450", 0, "no description", 60.2], ["1451", "I7N3G6G", "1451", 0, "no description", 60.2], ["1452", "I7N3G6G", "1452", 0, "no description", 60.2], ["1453", "I7N3G6G", "1453", 0, "no description", 60.2], ["1454", "I7N3G6G", "1454", 0, "no description", 60.2], ["1455", "I7N3G6G", "1455", 0, "no description", 60.2], ["1456", "I7N3G6G", "1456", 0, "no description", 60.2], ["1457", "I7N3G6G", "1457", 0, "no description", 60.2], ["1458", "I7N3G6G", "1458", 0, "no description", 60.2], ["1459", "I7N3G6G", "1459", 0, "no description", 60.2], ["1460", "I7N3G6G", "1460", 0, "no description", 60.2], ["1461", "I7N3G6G", "1461", 0, "no description", 60.2], ["1462", "I7N3G6G", "1462", 0, "no description", 60.2], ["1463", "I7N3G6G", "1463", 0, "no description", 60.2], ["1464", "I7N3G6G", "1464", 0, "no description", 60.2], ["1465", "I7N3G6G", "1465", 0, "no description", 60.2], ["1466", "I7N3G6G", "1466", 0, "no description", 60.2], ["1467", "I7N3G6G", "1467", 0, "no description", 60.2], ["1468", "I7N3G6G", "1468", 0, "no description", 60.2], ["1469", "I7N3G6G", "1469", 0, "no description", 60.2], ["1470", "I7N3G6G", "1470", 0, "no description", 60.2], ["1471", "I7N3G6G", "1471", 0, "no description", 60.2], ["1472", "I7N3G6G", "1472", 0, "no description", 60.2], ["1473", "I7N3G6G", "1473", 0, "no description", 60.2], ["1474", "I7N3G6G", "1474", 0, "no description", 60.2], ["1475", "I7N3G6G", "1475", 0, "no description", 60.2], ["1476", "I7N3G6G", "1476", 0, "no description", 60.2], ["1477", "I7N3G6G", "1477", 0, "no description", 60.2], ["1478", "I7N3G6G", "1478", 0, "no description", 60.2], ["1479", "I7N3G6G", "1479", 0, "no description", 60.2], ["1480", "I7N3G6G", "1480", 0, "no description", 60.2], ["1481", "I7N3G6G", "1481", 0, "no description", 60.2], ["1482", "I7N3G6G", "1482", 0, "no description", 60.2], ["1483", "I7N3G6G", "1483", 0, "no description", 60.2], ["1484", "I7N3G6G", "1484", 0, "no description", 60.2], ["1485", "I7N3G6G", "1485", 0, "no description", 60.2], ["1486", "I7N3G6G", "1486", 0, "no description", 60.2], ["1487", "I7N3G6G", "1487", 0, "no description", 60.2], ["1488", "I7N3G6G", "1488", 0, "no description", 60.2], ["1489", "I7N3G6G", "1489", 0, "no description", 60.2], ["1490", "I7N3G6G", "1490", 0, "no description", 60.2], ["1491", "I7N3G6G", "1491", 0, "no description", 60.2], ["1492", "I7N3G6G", "1492", 0, "no description", 60.2], ["1493", "I7N3G6G", "1493", 0, "no description", 60.2], ["1494", "I7N3G6G", "1494", 0, "no description", 60.2], ["1495", "I7N3G6G", "1495", 0, "no description", 60.2], ["1496", "I7N3G6G", "1496", 0, "no description", 60.2], ["1497", "I7N3G6G", "1497", 0, "no description", 60.2], ["1498", "I7N3G6G", "1498", 0, "no description", 60.2], ["1499", "I7N3G6G", "1499", 0, "no description", 60.2], ["1500", "I7N3G6G", "1500", 0, "no description", 60.2], ["1501", "I7N3G6G", "1501", 0, "no description", 60.2], ["1502", "I7N3G6G", "1502", 0, "no description", 60.2], ["1503", "I7N3G6G", "1503", 0, "no description", 60.2], ["1504", "I7N3G6G", "1504", 0, "no description", 60.2], ["1505", "I7N3G6G", "1505", 0, "no description", 60.2], ["1506", "I7N3G6G", "1506", 0, "no description", 60.2], ["1507", "I7N3G6G", "1507", 0, "no description", 60.2], ["1508", "I7N3G6G", "1508", 0, "no description", 60.2], ["1509", "I7N3G6G", "1509", 0, "no description", 60.2], ["1510", "I7N3G6G", "1510", 0, "no description", 60.2], ["1511", "I7N3G6G", "1511", 0, "no description", 60.2], ["1512", "I7N3G6G", "1512", 0, "no description", 60.2], ["1513", "I7N3G6G", "1513", 0, "no description", 60.2], ["1514", "I7N3G6G", "1514", 0, "no description", 60.2], ["1515", "I7N3G6G", "1515", 0, "no description", 60.2], ["1516", "I7N3G6G", "1516", 0, "no description", 60.2], ["1517", "I7N3G6G", "1517", 0, "no description", 60.2], ["1518", "I7N3G6G", "1518", 0, "no description", 60.2], ["1519", "I7N3G6G", "1519", 0, "no description", 60.2], ["1520", "I7N3G6G", "1520", 0, "no description", 60.2], ["1521", "I7N3G6G", "1521", 0, "no description", 60.2], ["1522", "I7N3G6G", "1522", 0, "no description", 60.2], ["1523", "I7N3G6G", "1523", 0, "no description", 60.2], ["1524", "I7N3G6G", "1524", 0, "no description", 60.2], ["1525", "I7N3G6G", "1525", 0, "no description", 60.2], ["1526", "I7N3G6G", "1526", 0, "no description", 60.2], ["1527", "I7N3G6G", "1527", 0, "no description", 60.2], ["1528", "I7N3G6G", "1528", 0, "no description", 60.2], ["1529", "I7N3G6G", "1529", 0, "no description", 60.2], ["1530", "I7N3G6G", "1530", 0, "no description", 60.2], ["1531", "I7N3G6G", "1531", 0, "no description", 60.2], ["1532", "I7N3G6G", "1532", 0, "no description", 60.2], ["1533", "I7N3G6G", "1533", 0, "no description", 60.2], ["1534", "I7N3G6G", "1534", 0, "no description", 60.2], ["1535", "I7N3G6G", "1535", 0, "no description", 60.2], ["1536", "I7N3G6G", "1536", 0, "no description", 60.2], ["1537", "I7N3G6G", "1537", 0, "no description", 60.2], ["1538", "I7N3G6G", "1538", 0, "no description", 60.2], ["1539", "I7N3G6G", "1539", 0, "no description", 60.2], ["1540", "I7N3G6G", "1540", 0, "no description", 60.2], ["1541", "I7N3G6G", "1541", 0, "no description", 60.2], ["1542", "I7N3G6G", "1542", 0, "no description", 60.2], ["1543", "I7N3G6G", "1543", 0, "no description", 60.2], ["1544", "I7N3G6G", "1544", 0, "no description", 60.2], ["1545", "I7N3G6G", "1545", 0, "no description", 60.2], ["1546", "I7N3G6G", "1546", 0, "no description", 60.2], ["1547", "I7N3G6G", "1547", 0, "no description", 60.2], ["1548", "I7N3G6G", "1548", 0, "no description", 60.2], ["1549", "I7N3G6G", "1549", 0, "no description", 60.2], ["1550", "I7N3G6G", "1550", 0, "no description", 60.2], ["1551", "I7N3G6G", "1551", 0, "no description", 60.2], ["1552", "I7N3G6G", "1552", 0, "no description", 60.2], ["1553", "I7N3G6G", "1553", 0, "no description", 60.2], ["1554", "I7N3G6G", "1554", 0, "no description", 60.2], ["1555", "I7N3G6G", "1555", 0, "no description", 60.2], ["1556", "I7N3G6G", "1556", 0, "no description", 60.2], ["1557", "I7N3G6G", "1557", 0, "no description", 60.2], ["1558", "I7N3G6G", "1558", 0, "no description", 60.2], ["1559", "I7N3G6G", "1559", 0, "no description", 60.2], ["1560", "I7N3G6G", "1560", 0, "no description", 60.2], ["1561", "I7N3G6G", "1561", 0, "no description", 60.2], ["1562", "I7N3G6G", "1562", 0, "no description", 60.2], ["1563", "I7N3G6G", "1563", 0, "no description", 60.2], ["1564", "I7N3G6G", "1564", 0, "no description", 60.2], ["1565", "I7N3G6G", "1565", 0, "no description", 60.2], ["1566", "I7N3G6G", "1566", 0, "no description", 60.2], ["1567", "I7N3G6G", "1567", 0, "no description", 60.2], ["1568", "I7N3G6G", "1568", 0, "no description", 60.2], ["1569", "I7N3G6G", "1569", 0, "no description", 60.2], ["1570", "I7N3G6G", "1570", 0, "no description", 60.2], ["1571", "I7N3G6G", "1571", 0, "no description", 60.2], ["1572", "I7N3G6G", "1572", 0, "no description", 60.2], ["1573", "I7N3G6G", "1573", 0, "no description", 60.2], ["1574", "I7N3G6G", "1574", 0, "no description", 60.2], ["1575", "I7N3G6G", "1575", 0, "no description", 60.2], ["1576", "I7N3G6G", "1576", 0, "no description", 60.2], ["1577", "I7N3G6G", "1577", 0, "no description", 60.2], ["1578", "I7N3G6G", "1578", 0, "no description", 60.2], ["1579", "I7N3G6G", "1579", 0, "no description", 60.2], ["1580", "I7N3G6G", "1580", 0, "no description", 60.2], ["1581", "I7N3G6G", "1581", 0, "no description", 60.2], ["1582", "I7N3G6G", "1582", 0, "no description", 60.2], ["1583", "I7N3G6G", "1583", 0, "no description", 60.2], ["1584", "I7N3G6G", "1584", 0, "no description", 60.2], ["1585", "I7N3G6G", "1585", 0, "no description", 60.2], ["1586", "I7N3G6G", "1586", 0, "no description", 60.2], ["1587", "I7N3G6G", "1587", 0, "no description", 60.2], ["1588", "I7N3G6G", "1588", 0, "no description", 60.2], ["1589", "I7N3G6G", "1589", 0, "no description", 60.2], ["1590", "I7N3G6G", "1590", 0, "no description", 60.2], ["1591", "I7N3G6G", "1591", 0, "no description", 60.2], ["1592", "I7N3G6G", "1592", 0, "no description", 60.2], ["1593", "I7N3G6G", "1593", 0, "no description", 60.2], ["1594", "I7N3G6G", "1594", 0, "no description", 60.2], ["1595", "I7N3G6G", "1595", 0, "no description", 60.2], ["1596", "I7N3G6G", "1596", 0, "no description", 60.2], ["1597", "I7N3G6G", "1597", 0, "no description", 60.2], ["1598", "I7N3G6G", "1598", 0, "no description", 60.2], ["1599", "I7N3G6G", "1599", 0, "no description", 60.2], ["1600", "I7N3G6G", "1600", 0, "no description", 60.2], ["1601", "I7N3G6G", "1601", 0, "no description", 60.2], ["1602", "I7N3G6G", "1602", 0, "no description", 60.2], ["1603", "I7N3G6G", "1603", 0, "no description", 60.2], ["1604", "I7N3G6G", "1604", 0, "no description", 60.2], ["1605", "I7N3G6G", "1605", 0, "no description", 60.2], ["1606", "I7N3G6G", "1606", 0, "no description", 60.2], ["1607", "I7N3G6G", "1607", 0, "no description", 60.2], ["1608", "I7N3G6G", "1608", 0, "no description", 60.2], ["1609", "I7N3G6G", "1609", 0, "no description", 60.2], ["1610", "I7N3G6G", "1610", 0, "no description", 60.2], ["1611", "I7N3G6G", "1611", 0, "no description", 60.2], ["1612", "I7N3G6G", "1612", 0, "no description", 60.2], ["1613", "I7N3G6G", "1613", 0, "no description", 60.2], ["1614", "I7N3G6G", "1614", 0, "no description", 60.2], ["1615", "I7N3G6G", "1615", 0, "no description", 60.2], ["1616", "I7N3G6G", "1616", 0, "no description", 60.2], ["1617", "I7N3G6G", "1617", 0, "no description", 60.2], ["1618", "I7N3G6G", "1618", 0, "no description", 60.2], ["1619", "I7N3G6G", "1619", 0, "no description", 60.2], ["1620", "I7N3G6G", "1620", 0, "no description", 60.2], ["1621", "I7N3G6G", "1621", 0, "no description", 60.2], ["1622", "I7N3G6G", "1622", 0, "no description", 60.2], ["1623", "I7N3G6G", "1623", 0, "no description", 60.2], ["1624", "I7N3G6G", "1624", 0, "no description", 60.2], ["1625", "I7N3G6G", "1625", 0, "no description", 60.2], ["1626", "I7N3G6G", "1626", 0, "no description", 60.2], ["1627", "I7N3G6G", "1627", 0, "no description", 60.2], ["1628", "I7N3G6G", "1628", 0, "no description", 60.2], ["1629", "I7N3G6G", "1629", 0, "no description", 60.2], ["1630", "I7N3G6G", "1630", 0, "no description", 60.2], ["1631", "I7N3G6G", "1631", 0, "no description", 60.2], ["1632", "I7N3G6G", "1632", 0, "no description", 60.2], ["1633", "I7N3G6G", "1633", 0, "no description", 60.2], ["1634", "I7N3G6G", "1634", 0, "no description", 60.2], ["1635", "I7N3G6G", "1635", 0, "no description", 60.2], ["1636", "I7N3G6G", "1636", 0, "no description", 60.2], ["1637", "I7N3G6G", "1637", 0, "no description", 60.2], ["1638", "I7N3G6G", "1638", 0, "no description", 60.2], ["1639", "I7N3G6G", "1639", 0, "no description", 60.2], ["1640", "I7N3G6G", "1640", 0, "no description", 60.2], ["1641", "I7N3G6G", "1641", 0, "no description", 60.2], ["1642", "I7N3G6G", "1642", 0, "no description", 60.2], ["1643", "I7N3G6G", "1643", 0, "no description", 60.2], ["1644", "I7N3G6G", "1644", 0, "no description", 60.2], ["1645", "I7N3G6G", "1645", 0, "no description", 60.2], ["1646", "I7N3G6G", "1646", 0, "no description", 60.2], ["1647", "I7N3G6G", "1647", 0, "no description", 60.2], ["1648", "I7N3G6G", "1648", 0, "no description", 60.2], ["1649", "I7N3G6G", "1649", 0, "no description", 60.2], ["1650", "I7N3G6G", "1650", 0, "no description", 60.2], ["1651", "I7N3G6G", "1651", 0, "no description", 60.2], ["1652", "I7N3G6G", "1652", 0, "no description", 60.2], ["1653", "I7N3G6G", "1653", 0, "no description", 60.2], ["1654", "I7N3G6G", "1654", 0, "no description", 60.2], ["1655", "I7N3G6G", "1655", 0, "no description", 60.2], ["1656", "I7N3G6G", "1656", 0, "no description", 60.2], ["1657", "I7N3G6G", "1657", 0, "no description", 60.2], ["1658", "I7N3G6G", "1658", 0, "no description", 60.2], ["1659", "I7N3G6G", "1659", 0, "no description", 60.2], ["1660", "I7N3G6G", "1660", 0, "no description", 60.2], ["1661", "I7N3G6G", "1661", 0, "no description", 60.2], ["1662", "I7N3G6G", "1662", 0, "no description", 60.2], ["1663", "I7N3G6G", "1663", 0, "no description", 60.2], ["1664", "I7N3G6G", "1664", 0, "no description", 60.2], ["1665", "I7N3G6G", "1665", 0, "no description", 60.2], ["1666", "I7N3G6G", "1666", 0, "no description", 60.2], ["1667", "I7N3G6G", "1667", 0, "no description", 60.2], ["1668", "I7N3G6G", "1668", 0, "no description", 60.2], ["1669", "I7N3G6G", "1669", 0, "no description", 60.2], ["1670", "I7N3G6G", "1670", 0, "no description", 60.2], ["1671", "I7N3G6G", "1671", 0, "no description", 60.2], ["1672", "I7N3G6G", "1672", 0, "no description", 60.2], ["1673", "I7N3G6G", "1673", 0, "no description", 60.2], ["1674", "I7N3G6G", "1674", 0, "no description", 60.2], ["1675", "I7N3G6G", "1675", 0, "no description", 60.2], ["1676", "I7N3G6G", "1676", 0, "no description", 60.2], ["1677", "I7N3G6G", "1677", 0, "no description", 60.2], ["1678", "I7N3G6G", "1678", 0, "no description", 60.2], ["1679", "I7N3G6G", "1679", 0, "no description", 60.2], ["1680", "I7N3G6G", "1680", 0, "no description", 60.2], ["1681", "I7N3G6G", "1681", 0, "no description", 60.2], ["1682", "I7N3G6G", "1682", 0, "no description", 60.2], ["1683", "I7N3G6G", "1683", 0, "no description", 60.2], ["1684", "I7N3G6G", "1684", 0, "no description", 60.2], ["1685", "I7N3G6G", "1685", 0, "no description", 60.2], ["1686", "I7N3G6G", "1686", 0, "no description", 60.2], ["1687", "I7N3G6G", "1687", 0, "no description", 60.2], ["1688", "I7N3G6G", "1688", 0, "no description", 60.2], ["1689", "I7N3G6G", "1689", 0, "no description", 60.2], ["1690", "I7N3G6G", "1690", 0, "no description", 60.2], ["1691", "I7N3G6G", "1691", 0, "no description", 60.2], ["1692", "I7N3G6G", "1692", 0, "no description", 60.2], ["1693", "I7N3G6G", "1693", 0, "no description", 60.2], ["1694", "I7N3G6G", "1694", 0, "no description", 60.2], ["1695", "I7N3G6G", "1695", 0, "no description", 60.2], ["1696", "I7N3G6G", "1696", 0, "no description", 60.2], ["1697", "I7N3G6G", "1697", 0, "no description", 60.2], ["1698", "I7N3G6G", "1698", 0, "no description", 60.2], ["1699", "I7N3G6G", "1699", 0, "no description", 60.2], ["1700", "I7N3G6G", "1700", 0, "no description", 60.2], ["1701", "I7N3G6G", "1701", 0, "no description", 60.2], ["1702", "I7N3G6G", "1702", 0, "no description", 60.2], ["1703", "I7N3G6G", "1703", 0, "no description", 60.2], ["1704", "I7N3G6G", "1704", 0, "no description", 60.2], ["1705", "I7N3G6G", "1705", 0, "no description", 60.2], ["1706", "I7N3G6G", "1706", 0, "no description", 60.2], ["1707", "I7N3G6G", "1707", 0, "no description", 60.2], ["1708", "I7N3G6G", "1708", 0, "no description", 60.2], ["1709", "I7N3G6G", "1709", 0, "no description", 60.2], ["1710", "I7N3G6G", "1710", 0, "no description", 60.2], ["1711", "I7N3G6G", "1711", 0, "no description", 60.2], ["1712", "I7N3G6G", "1712", 0, "no description", 60.2], ["1713", "I7N3G6G", "1713", 0, "no description", 60.2], ["1714", "I7N3G6G", "1714", 0, "no description", 60.2], ["1715", "I7N3G6G", "1715", 0, "no description", 60.2], ["1716", "I7N3G6G", "1716", 0, "no description", 60.2], ["1717", "I7N3G6G", "1717", 0, "no description", 60.2], ["1718", "I7N3G6G", "1718", 0, "no description", 60.2], ["1719", "I7N3G6G", "1719", 0, "no description", 60.2], ["1720", "I7N3G6G", "1720", 0, "no description", 60.2], ["1721", "I7N3G6G", "1721", 0, "no description", 60.2], ["1722", "I7N3G6G", "1722", 0, "no description", 60.2], ["1723", "I7N3G6G", "1723", 0, "no description", 60.2], ["1724", "I7N3G6G", "1724", 0, "no description", 60.2], ["1725", "I7N3G6G", "1725", 0, "no description", 60.2], ["1726", "I7N3G6G", "1726", 0, "no description", 60.2], ["1727", "I7N3G6G", "1727", 0, "no description", 60.2], ["1728", "I7N3G6G", "1728", 0, "no description", 60.2], ["1729", "I7N3G6G", "1729", 0, "no description", 60.2], ["1730", "I7N3G6G", "1730", 0, "no description", 60.2], ["1731", "I7N3G6G", "1731", 0, "no description", 60.2], ["1732", "I7N3G6G", "1732", 0, "no description", 60.2], ["1733", "I7N3G6G", "1733", 0, "no description", 60.2], ["1734", "I7N3G6G", "1734", 0, "no description", 60.2], ["1735", "I7N3G6G", "1735", 0, "no description", 60.2], ["1736", "I7N3G6G", "1736", 0, "no description", 60.2], ["1737", "I7N3G6G", "1737", 0, "no description", 60.2], ["1738", "I7N3G6G", "1738", 0, "no description", 60.2], ["1739", "I7N3G6G", "1739", 0, "no description", 60.2], ["1740", "I7N3G6G", "1740", 0, "no description", 60.2], ["1741", "I7N3G6G", "1741", 0, "no description", 60.2], ["1742", "I7N3G6G", "1742", 0, "no description", 60.2], ["1743", "I7N3G6G", "1743", 0, "no description", 60.2], ["1744", "I7N3G6G", "1744", 0, "no description", 60.2], ["1745", "I7N3G6G", "1745", 0, "no description", 60.2], ["1746", "I7N3G6G", "1746", 0, "no description", 60.2], ["1747", "I7N3G6G", "1747", 0, "no description", 60.2], ["1748", "I7N3G6G", "1748", 0, "no description", 60.2], ["1749", "I7N3G6G", "1749", 0, "no description", 60.2], ["1750", "I7N3G6G", "1750", 0, "no description", 60.2], ["1751", "I7N3G6G", "1751", 0, "no description", 60.2], ["1752", "I7N3G6G", "1752", 0, "no description", 60.2], ["1753", "I7N3G6G", "1753", 0, "no description", 60.2], ["1754", "I7N3G6G", "1754", 0, "no description", 60.2], ["1755", "I7N3G6G", "1755", 0, "no description", 60.2], ["1756", "I7N3G6G", "1756", 0, "no description", 60.2], ["1757", "I7N3G6G", "1757", 0, "no description", 60.2], ["1758", "I7N3G6G", "1758", 0, "no description", 60.2], ["1759", "I7N3G6G", "1759", 0, "no description", 60.2], ["1760", "I7N3G6G", "1760", 0, "no description", 60.2], ["1761", "I7N3G6G", "1761", 0, "no description", 60.2], ["1762", "I7N3G6G", "1762", 0, "no description", 60.2], ["1763", "I7N3G6G", "1763", 0, "no description", 60.2], ["1764", "I7N3G6G", "1764", 0, "no description", 60.2], ["1765", "I7N3G6G", "1765", 0, "no description", 60.2], ["1766", "I7N3G6G", "1766", 0, "no description", 60.2], ["1767", "I7N3G6G", "1767", 0, "no description", 60.2], ["1768", "I7N3G6G", "1768", 0, "no description", 60.2], ["1769", "I7N3G6G", "1769", 0, "no description", 60.2], ["1770", "I7N3G6G", "1770", 0, "no description", 60.2], ["1771", "I7N3G6G", "1771", 0, "no description", 60.2], ["1772", "I7N3G6G", "1772", 0, "no description", 60.2], ["1773", "I7N3G6G", "1773", 0, "no description", 60.2], ["1774", "I7N3G6G", "1774", 0, "no description", 60.2], ["1775", "I7N3G6G", "1775", 0, "no description", 60.2], ["1776", "I7N3G6G", "1776", 0, "no description", 60.2], ["1777", "I7N3G6G", "1777", 0, "no description", 60.2], ["1778", "I7N3G6G", "1778", 0, "no description", 60.2], ["1779", "I7N3G6G", "1779", 0, "no description", 60.2], ["1780", "I7N3G6G", "1780", 0, "no description", 60.2], ["1781", "I7N3G6G", "1781", 0, "no description", 60.2], ["1782", "I7N3G6G", "1782", 0, "no description", 60.2], ["1783", "I7N3G6G", "1783", 0, "no description", 60.2], ["1784", "I7N3G6G", "1784", 0, "no description", 60.2], ["1785", "I7N3G6G", "1785", 0, "no description", 60.2], ["1786", "I7N3G6G", "1786", 0, "no description", 60.2], ["1787", "I7N3G6G", "1787", 0, "no description", 60.2], ["1788", "I7N3G6G", "1788", 0, "no description", 60.2], ["1789", "I7N3G6G", "1789", 0, "no description", 60.2], ["1790", "I7N3G6G", "1790", 0, "no description", 60.2], ["1791", "I7N3G6G", "1791", 0, "no description", 60.2], ["1792", "I7N3G6G", "1792", 0, "no description", 60.2], ["1793", "I7N3G6G", "1793", 0, "no description", 60.2], ["1794", "I7N3G6G", "1794", 0, "no description", 60.2], ["1795", "I7N3G6G", "1795", 0, "no description", 60.2], ["1796", "I7N3G6G", "1796", 0, "no description", 60.2], ["1797", "I7N3G6G", "1797", 0, "no description", 60.2], ["1798", "I7N3G6G", "1798", 0, "no description", 60.2], ["1799", "I7N3G6G", "1799", 0, "no description", 60.2], ["1800", "I7N3G6G", "1800", 0, "no description", 60.2], ["1801", "I7N3G6G", "1801", 0, "no description", 60.2], ["1802", "I7N3G6G", "1802", 0, "no description", 60.2], ["1803", "I7N3G6G", "1803", 0, "no description", 60.2], ["1804", "I7N3G6G", "1804", 0, "no description", 60.2], ["1805", "I7N3G6G", "1805", 0, "no description", 60.2], ["1806", "I7N3G6G", "1806", 0, "no description", 60.2], ["1807", "I7N3G6G", "1807", 0, "no description", 60.2], ["1808", "I7N3G6G", "1808", 0, "no description", 60.2], ["1809", "I7N3G6G", "1809", 0, "no description", 60.2], ["1810", "I7N3G6G", "1810", 0, "no description", 60.2], ["1811", "I7N3G6G", "1811", 0, "no description", 60.2], ["1812", "I7N3G6G", "1812", 0, "no description", 60.2], ["1813", "I7N3G6G", "1813", 0, "no description", 60.2], ["1814", "I7N3G6G", "1814", 0, "no description", 60.2], ["1815", "I7N3G6G", "1815", 0, "no description", 60.2], ["1816", "I7N3G6G", "1816", 0, "no description", 60.2], ["1817", "I7N3G6G", "1817", 0, "no description", 60.2], ["1818", "I7N3G6G", "1818", 0, "no description", 60.2], ["1819", "I7N3G6G", "1819", 0, "no description", 60.2], ["1820", "I7N3G6G", "1820", 0, "no description", 60.2], ["1821", "I7N3G6G", "1821", 0, "no description", 60.2], ["1822", "I7N3G6G", "1822", 0, "no description", 60.2], ["1823", "I7N3G6G", "1823", 0, "no description", 60.2], ["1824", "I7N3G6G", "1824", 0, "no description", 60.2], ["1825", "I7N3G6G", "1825", 0, "no description", 60.2], ["1826", "I7N3G6G", "1826", 0, "no description", 60.2], ["1827", "I7N3G6G", "1827", 0, "no description", 60.2], ["1828", "I7N3G6G", "1828", 0, "no description", 60.2], ["1829", "I7N3G6G", "1829", 0, "no description", 60.2], ["1830", "I7N3G6G", "1830", 0, "no description", 60.2], ["1831", "I7N3G6G", "1831", 0, "no description", 60.2], ["1832", "I7N3G6G", "1832", 0, "no description", 60.2], ["1833", "I7N3G6G", "1833", 0, "no description", 60.2], ["1834", "I7N3G6G", "1834", 0, "no description", 60.2], ["1835", "I7N3G6G", "1835", 0, "no description", 60.2], ["1836", "I7N3G6G", "1836", 0, "no description", 60.2], ["1837", "I7N3G6G", "1837", 0, "no description", 60.2], ["1838", "I7N3G6G", "1838", 0, "no description", 60.2], ["1839", "I7N3G6G", "1839", 0, "no description", 60.2], ["1840", "I7N3G6G", "1840", 0, "no description", 60.2], ["1841", "I7N3G6G", "1841", 0, "no description", 60.2], ["1842", "I7N3G6G", "1842", 0, "no description", 60.2], ["1843", "I7N3G6G", "1843", 0, "no description", 60.2], ["1844", "I7N3G6G", "1844", 0, "no description", 60.2], ["1845", "I7N3G6G", "1845", 0, "no description", 60.2], ["1846", "I7N3G6G", "1846", 0, "no description", 60.2], ["1847", "I7N3G6G", "1847", 0, "no description", 60.2], ["1848", "I7N3G6G", "1848", 0, "no description", 60.2], ["1849", "I7N3G6G", "1849", 0, "no description", 60.2], ["1850", "I7N3G6G", "1850", 0, "no description", 60.2], ["1851", "I7N3G6G", "1851", 0, "no description", 60.2], ["1852", "I7N3G6G", "1852", 0, "no description", 60.2], ["1853", "I7N3G6G", "1853", 0, "no description", 60.2], ["1854", "I7N3G6G", "1854", 0, "no description", 60.2], ["1855", "I7N3G6G", "1855", 0, "no description", 60.2], ["1856", "I7N3G6G", "1856", 0, "no description", 60.2], ["1857", "I7N3G6G", "1857", 0, "no description", 60.2], ["1858", "I7N3G6G", "1858", 0, "no description", 60.2], ["1859", "I7N3G6G", "1859", 0, "no description", 60.2], ["1860", "I7N3G6G", "1860", 0, "no description", 60.2], ["1861", "I7N3G6G", "1861", 0, "no description", 60.2], ["1862", "I7N3G6G", "1862", 0, "no description", 60.2], ["1863", "I7N3G6G", "1863", 0, "no description", 60.2], ["1864", "I7N3G6G", "1864", 0, "no description", 60.2], ["1865", "I7N3G6G", "1865", 0, "no description", 60.2], ["1866", "I7N3G6G", "1866", 0, "no description", 60.2], ["1867", "I7N3G6G", "1867", 0, "no description", 60.2], ["1868", "I7N3G6G", "1868", 0, "no description", 60.2], ["1869", "I7N3G6G", "1869", 0, "no description", 60.2], ["1870", "I7N3G6G", "1870", 0, "no description", 60.2], ["1871", "I7N3G6G", "1871", 0, "no description", 60.2], ["1872", "I7N3G6G", "1872", 0, "no description", 60.2], ["1873", "I7N3G6G", "1873", 0, "no description", 60.2], ["1874", "I7N3G6G", "1874", 0, "no description", 60.2], ["1875", "I7N3G6G", "1875", 0, "no description", 60.2], ["1876", "I7N3G6G", "1876", 0, "no description", 60.2], ["1877", "I7N3G6G", "1877", 0, "no description", 60.2], ["1878", "I7N3G6G", "1878", 0, "no description", 60.2], ["1879", "I7N3G6G", "1879", 0, "no description", 60.2], ["1880", "I7N3G6G", "1880", 0, "no description", 60.2], ["1881", "I7N3G6G", "1881", 0, "no description", 60.2], ["1882", "I7N3G6G", "1882", 0, "no description", 60.2], ["1883", "I7N3G6G", "1883", 0, "no description", 60.2], ["1884", "I7N3G6G", "1884", 0, "no description", 60.2], ["1885", "I7N3G6G", "1885", 0, "no description", 60.2], ["1886", "I7N3G6G", "1886", 0, "no description", 60.2], ["1887", "I7N3G6G", "1887", 0, "no description", 60.2], ["1888", "I7N3G6G", "1888", 0, "no description", 60.2], ["1889", "I7N3G6G", "1889", 0, "no description", 60.2], ["1890", "I7N3G6G", "1890", 0, "no description", 60.2], ["1891", "I7N3G6G", "1891", 0, "no description", 60.2], ["1892", "I7N3G6G", "1892", 0, "no description", 60.2], ["1893", "I7N3G6G", "1893", 0, "no description", 60.2], ["1894", "I7N3G6G", "1894", 0, "no description", 60.2], ["1895", "I7N3G6G", "1895", 0, "no description"], ["1896", "I7N3G6G", "1896", 0, "no description", 60.2], ["1897", "I7N3G6G", "1897", 0], ["1898", "I7N3G6G", "1898", 0, "no description", 60.2], ["1899", "I7N3G6G", "1899", 0, "no description", 60.2], ["1900", "I7N3G6G", "1900", 0, "no description", 60.2], ["1901", "I7N3G6G", "1901", 0, "no description", 60.2], ["1902", "I7N3G6G", "1902", 0, "no description", 60.2], ["1903", "I7N3G6G", "1903", 0, "no description", 60.2], ["1904", "I7N3G6G", "1904", 0, "no description", 60.2], ["1905", "I7N3G6G", "1905", 0, "no description", 60.2], ["1906", "I7N3G6G", "1906", 0, "no description", 60.2], ["1907", "I7N3G6G", "1907", 0, "no description", 60.2], ["1908", "I7N3G6G", "1908", 0, "no description", 60.2], ["1909", "I7N3G6G", "1909", 0, "no description", 60.2], ["1910", "I7N3G6G", "1910", 0, "no description", 60.2], ["1911", "I7N3G6G", "1911", 0, "no description", 60.2], ["1912", "I7N3G6G", "1912", 0, "no description", 60.2], ["1913", "I7N3G6G", "1913", 0, "no description", 60.2], ["1914", "I7N3G6G", "1914", 0, "no description", 60.2], ["1915", "I7N3G6G", "1915", 0, "no description", 60.2], ["1916", "I7N3G6G", "1916", 0, "no description", 60.2], ["1917", "I7N3G6G", "1917", 0, "no description", 60.2], ["1918", "I7N3G6G", "1918", 0, "no description", 60.2], ["1919", "I7N3G6G", "1919", 0, "no description", 60.2], ["1920", "I7N3G6G", "1920", 0, "no description", 60.2], ["1921", "I7N3G6G", "1921", 0, "no description", 60.2], ["1922", "I7N3G6G", "1922", 0, "no description", 60.2], ["1923", "I7N3G6G", "1923", 0, "no description", 60.2], ["1924", "I7N3G6G", "1924", 0, "no description", 60.2], ["1925", "I7N3G6G", "1925", 0, "no description", 60.2], ["1926", "I7N3G6G", "1926", 0, "no description", 60.2], ["1927", "I7N3G6G", "1927", 0, "no description", 60.2], ["1928", "I7N3G6G", "1928", 0, "no description", 60.2], ["1929", "I7N3G6G", "1929", 0, "no description", 60.2], ["1930", "I7N3G6G", "1930", 0, "no description", 60.2], ["1931", "I7N3G6G", "1931", 0, "no description", 60.2], ["1932", "I7N3G6G", "1932", 0, "no description", 60.2], ["1933", "I7N3G6G", "1933", 0, "no description", 60.2], ["1934", "I7N3G6G", "1934", 0, "no description", 60.2], ["1935", "I7N3G6G", "1935", 0, "no description", 60.2], ["1936", "I7N3G6G", "1936", 0, "no description", 60.2], ["1937", "I7N3G6G", "1937", 0, "no description", 60.2], ["1938", "I7N3G6G", "1938", 0, "no description", 60.2], ["1939", "I7N3G6G", "1939", 0, "no description", 60.2], ["1940", "I7N3G6G", "1940", 0, "no description", 60.2], ["1941", "I7N3G6G", "1941", 0, "no description", 60.2], ["1942", "I7N3G6G", "1942", 0, "no description", 60.2], ["1943", "I7N3G6G", "1943", 0, "no description", 60.2], ["1944", "I7N3G6G", "1944", 0, "no description", 60.2], ["1945", "I7N3G6G", "1945", 0, "no description", 60.2], ["1946", "I7N3G6G", "1946", 0, "no description", 60.2], ["1947", "I7N3G6G", "1947", 0, "no description", 60.2], ["1948", "I7N3G6G", "1948", 0, "no description", 60.2], ["1949", "I7N3G6G", "1949", 0, "no description", 60.2], ["1950", "I7N3G6G", "1950", 0, "no description", 60.2], ["1951", "I7N3G6G", "1951", 0, "no description", 60.2], ["1952", "I7N3G6G", "1952", 0, "no description", 60.2], ["1953", "I7N3G6G", "1953", 0, "no description", 60.2], ["1954", "I7N3G6G", "1954", 0, "no description", 60.2], ["1955", "I7N3G6G", "1955", 0, "no description", 60.2], ["1956", "I7N3G6G", "1956", 0, "no description", 60.2], ["1957", "I7N3G6G", "1957", 0, "no description", 60.2], ["1958", "I7N3G6G", "1958", 0, "no description", 60.2], ["1959", "I7N3G6G", "1959", 0, "no description", 60.2], ["1960", "I7N3G6G", "1960", 0, "no description", 60.2], ["1961", "I7N3G6G", "1961", 0, "no description", 60.2], ["1962", "I7N3G6G", "1962", 0, "no description", 60.2], ["1963", "I7N3G6G", "1963", 0, "no description", 60.2], ["1964", "I7N3G6G", "1964", 0, "no description", 60.2], ["1965", "I7N3G6G", "1965", 0, "no description", 60.2], ["1966", "I7N3G6G", "1966", 0, "no description", 60.2], ["1967", "I7N3G6G", "1967", 0, "no description", 60.2], ["1968", "I7N3G6G", "1968", 0, "no description", 60.2], ["1969", "I7N3G6G", "1969", 0, "no description", 60.2], ["1970", "I7N3G6G", "1970", 0, "no description", 60.2], ["1971", "I7N3G6G", "1971", 0, "no description", 60.2], ["1972", "I7N3G6G", "1972", 0, "no description", 60.2], ["1973", "I7N3G6G", "1973", 0, "no description", 60.2], ["1974", "I7N3G6G", "1974", 0, "no description", 60.2], ["1975", "I7N3G6G", "1975", 0, "no description", 60.2], ["1976", "I7N3G6G", "1976", 0, "no description", 60.2], ["1977", "I7N3G6G", "1977", 0, "no description", 60.2], ["1978", "I7N3G6G", "1978", 0, "no description", 60.2], ["1979", "I7N3G6G", "1979", 0, "no description", 60.2], ["1980", "I7N3G6G", "1980", 0, "no description", 60.2], ["1981", "I7N3G6G", "1981", 0, "no description", 60.2], ["1982", "I7N3G6G", "1982", 0, "no description", 60.2], ["1983", "I7N3G6G", "1983", 0, "no description", 60.2], ["1984", "I7N3G6G", "1984", 0, "no description", 60.2], ["1985", "I7N3G6G", "1985", 0, "no description", 60.2], ["1986", "I7N3G6G", "1986", 0, "no description", 60.2], ["1987", "I7N3G6G", "1987", 0, "no description", 60.2], ["1988", "I7N3G6G", "1988", 0, "no description", 60.2], ["1989", "I7N3G6G", "1989", 0, "no description", 60.2], ["1990", "I7N3G6G", "1990", 0, "no description", 60.2], ["1991", "I7N3G6G", "1991", 0, "no description", 60.2], ["1992", "I7N3G6G", "1992", 0, "no description", 60.2], ["1993", "I7N3G6G", "1993", 0, "no description", 60.2], ["1994", "I7N3G6G", "1994", 0, "no description", 60.2], ["1995", "I7N3G6G", "1995", 0, "no description", 60.2], ["1996", "I7N3G6G", "1996", 0, "no description", 60.2], ["1997", "I7N3G6G", "1997", 0, "no description", 60.2], ["1998", "I7N3G6G", "1998", 0, "no description", 60.2], ["1999", "I7N3G6G", "1999", 0, "no description", 60.2], ["2000", "I7N3G6G", "2000", 0, "no description", 60.2], ["2001", "I7N3G6G", "2001", 0, "no description", 60.2], ["2002", "I7N3G6G", "2002", 0, "no description", 60.2], ["2003", "I7N3G6G", "2003", 0, "no description", 60.2], ["2004", "I7N3G6G", "2004", 0, "no description", 60.2], ["2005", "I7N3G6G", "2005", 0, "no description", 60.2], ["2006", "I7N3G6G", "2006", 0, "no description", 60.2], ["2007", "I7N3G6G", "2007", 0, "no description", 60.2], ["2008", "I7N3G6G", "2008", 0, "no description", 60.2], ["2009", "I7N3G6G", "2009", 0, "no description", 60.2], ["2010", "I7N3G6G", "2010", 0, "no description", 60.2], ["2011", "I7N3G6G", "2011", 0, "no description", 60.2], ["2012", "I7N3G6G", "2012", 0, "no description", 60.2], ["2013", "I7N3G6G", "2013", 0, "no description", 60.2], ["2014", "I7N3G6G", "2014", 0, "no description", 60.2], ["2015", "I7N3G6G", "2015", 0, "no description", 60.2], ["2016", "I7N3G6G", "2016", 0, "no description", 60.2], ["2017", "I7N3G6G", "2017", 0, "no description", 60.2], ["2018", "I7N3G6G", "2018", 0, "no description", 60.2], ["2019", "I7N3G6G", "2019", 0, "no description", 60.2], ["2020", "I7N3G6G", "2020", 0, "no description", 60.2], ["2021", "I7N3G6G", "2021", 0, "no description", 60.2], ["2022", "I7N3G6G", "2022", 0, "no description", 60.2], ["2023", "I7N3G6G", "2023", 0, "no description", 60.2], ["2024", "I7N3G6G", "2024", 0, "no description", 60.2], ["2025", "I7N3G6G", "2025", 0, "no description", 60.2], ["2026", "I7N3G6G", "2026", 0, "no description", 60.2], ["2027", "I7N3G6G", "2027", 0, "no description", 60.2], ["2028", "I7N3G6G", "2028", 0, "no description", 60.2], ["2029", "I7N3G6G", "2029", 0, "no description", 60.2], ["2030", "I7N3G6G", "2030", 0, "no description", 60.2], ["2031", "I7N3G6G", "2031", 0, "no description", 60.2], ["2032", "I7N3G6G", "2032", 0, "no description", 60.2], ["2033", "I7N3G6G", "2033", 0, "no description", 60.2], ["2034", "I7N3G6G", "2034", 0, "no description", 60.2], ["2035", "I7N3G6G", "2035", 0, "no description", 60.2], ["2036", "I7N3G6G", "2036", 0, "no description", 60.2], ["2037", "I7N3G6G", "2037", 0, "no description", 60.2], ["2038", "I7N3G6G", "2038", 0, "no description", 60.2], ["2039", "I7N3G6G", "2039", 0, "no description", 60.2], ["2040", "I7N3G6G", "2040", 0, "no description", 60.2], ["2041", "I7N3G6G", "2041", 0, "no description", 60.2], ["2042", "I7N3G6G", "2042", 0, "no description", 60.2], ["2043", "I7N3G6G", "2043", 0, "no description", 60.2], ["2044", "I7N3G6G", "2044", 0, "no description", 60.2], ["2045", "I7N3G6G", "2045", 0, "no description", 60.2], ["2046", "I7N3G6G", "2046", 0, "no description", 60.2], ["2047", "I7N3G6G", "2047", 0, "no description", 60.2], ["2048", "I7N3G6G", "2048", 0, "no description", 60.2], ["2049", "I7N3G6G", "2049", 0, "no description", 60.2], ["2050", "I7N3G6G", "2050", 0, "no description", 60.2], ["2051", "I7N3G6G", "2051", 0, "no description", 60.2], ["2052", "I7N3G6G", "2052", 0, "no description", 60.2], ["2053", "I7N3G6G", "2053", 0, "no description", 60.2], ["2054", "I7N3G6G", "2054", 0, "no description", 60.2], ["2055", "I7N3G6G", "2055", 0, "no description", 60.2], ["2056", "I7N3G6G", "2056", 0, "no description", 60.2], ["2057", "I7N3G6G", "2057", 0, "no description", 60.2], ["2058", "I7N3G6G", "2058", 0, "no description", 60.2], ["2059", "I7N3G6G", "2059", 0, "no description", 60.2], ["2060", "I7N3G6G", "2060", 0, "no description", 60.2], ["2061", "I7N3G6G", "2061", 0, "no description", 60.2], ["2062", "I7N3G6G", "2062", 0, "no description", 60.2], ["2063", "I7N3G6G", "2063", 0, "no description", 60.2], ["2064", "I7N3G6G", "2064", 0, "no description", 60.2], ["2065", "I7N3G6G", "2065", 0, "no description", 60.2], ["2066", "I7N3G6G", "2066", 0, "no description", 60.2], ["2067", "I7N3G6G", "2067", 0, "no description", 60.2], ["2068", "I7N3G6G", "2068", 0, "no description", 60.2], ["2069", "I7N3G6G", "2069", 0, "no description", 60.2], ["2070", "I7N3G6G", "2070", 0, "no description", 60.2], ["2071", "I7N3G6G", "2071", 0, "no description", 60.2], ["2072", "I7N3G6G", "2072", 0, "no description", 60.2], ["2073", "I7N3G6G", "2073", 0, "no description", 60.2], ["2074", "I7N3G6G", "2074", 0, "no description", 60.2], ["2075", "I7N3G6G", "2075", 0, "no description", 60.2], ["2076", "I7N3G6G", "2076", 0, "no description", 60.2], ["2077", "I7N3G6G", "2077", 0, "no description", 60.2], ["2078", "I7N3G6G", "2078", 0, "no description", 60.2], ["2079", "I7N3G6G", "2079", 0, "no description", 60.2], ["2080", "I7N3G6G", "2080", 0, "no description", 60.2], ["2081", "I7N3G6G", "2081", 0, "no description", 60.2], ["2082", "I7N3G6G", "2082", 0, "no description", 60.2], ["2083", "I7N3G6G", "2083", 0, "no description", 60.2], ["2084", "I7N3G6G", "2084", 0, "no description", 60.2], ["2085", "I7N3G6G", "2085", 0, "no description", 60.2], ["2086", "I7N3G6G", "2086", 0, "no description", 60.2], ["2087", "I7N3G6G", "2087", 0, "no description", 60.2], ["2088", "I7N3G6G", "2088", 0, "no description", 60.2], ["2089", "I7N3G6G", "2089", 0, "no description", 60.2], ["2090", "I7N3G6G", "2090", 0, "no description", 60.2], ["2091", "I7N3G6G", "2091", 0, "no description", 60.2], ["2092", "I7N3G6G", "2092", 0, "no description", 60.2], ["2093", "I7N3G6G", "2093", 0, "no description", 60.2], ["2094", "I7N3G6G", "2094", 0, "no description", 60.2], ["2095", "I7N3G6G", "2095", 0, "no description", 60.2], ["2096", "I7N3G6G", "2096", 0, "no description", 60.2], ["2097", "I7N3G6G", "2097", 0, "no description", 60.2], ["2098", "I7N3G6G", "2098", 0, "no description", 60.2], ["2099", "I7N3G6G", "2099", 0, "no description", 60.2], ["2100", "I7N3G6G", "2100", 0, "no description", 60.2], ["2101", "I7N3G6G", "2101", 0, "no description", 60.2], ["2102", "I7N3G6G", "2102", 0, "no description", 60.2], ["2103", "I7N3G6G", "2103", 0, "no description", 60.2], ["2104", "I7N3G6G", "2104", 0, "no description", 60.2], ["2105", "I7N3G6G", "2105", 0, "no description", 60.2], ["2106", "I7N3G6G", "2106", 0, "no description", 60.2], ["2107", "I7N3G6G", "2107", 0, "no description", 60.2], ["2108", "I7N3G6G", "2108", 0, "no description", 60.2], ["2109", "I7N3G6G", "2109", 0, "no description", 60.2], ["2110", "I7N3G6G", "2110", 0, "no description", 60.2], ["2111", "I7N3G6G", "2111", 0, "no description", 60.2], ["2112", "I7N3G6G", "2112", 0, "no description", 60.2], ["2113", "I7N3G6G", "2113", 0, "no description", 60.2], ["2114", "I7N3G6G", "2114", 0, "no description", 60.2], ["2115", "I7N3G6G", "2115", 0, "no description", 60.2], ["2116", "I7N3G6G", "2116", 0, "no description", 60.2], ["2117", "I7N3G6G", "2117", 0, "no description", 60.2], ["2118", "I7N3G6G", "2118", 0, "no description", 60.2], ["2119", "I7N3G6G", "2119", 0, "no description", 60.2], ["2120", "I7N3G6G", "2120", 0, "no description", 60.2], ["2121", "I7N3G6G", "2121", 0, "no description", 60.2], ["2122", "I7N3G6G", "2122", 0, "no description", 60.2], ["2123", "I7N3G6G", "2123", 0, "no description", 60.2], ["2124", "I7N3G6G", "2124", 0, "no description", 60.2], ["2125", "I7N3G6G", "2125", 0, "no description", 60.2], ["2126", "I7N3G6G", "2126", 0, "no description", 60.2], ["2127", "I7N3G6G", "2127", 0, "no description", 60.2], ["2128", "I7N3G6G", "2128", 0, "no description", 60.2], ["2129", "I7N3G6G", "2129", 0, "no description", 60.2], ["2130", "I7N3G6G", "2130", 0, "no description", 60.2], ["2131", "I7N3G6G", "2131", 0, "no description", 60.2], ["2132", "I7N3G6G", "2132", 0, "no description", 60.2], ["2133", "I7N3G6G", "2133", 0, "no description", 60.2], ["2134", "I7N3G6G", "2134", 0, "no description", 60.2], ["2135", "I7N3G6G", "2135", 0, "no description", 60.2], ["2136", "I7N3G6G", "2136", 0, "no description", 60.2], ["2137", "I7N3G6G", "2137", 0, "no description", 60.2], ["2138", "I7N3G6G", "2138", 0, "no description", 60.2], ["2139", "I7N3G6G", "2139", 0, "no description", 60.2], ["2140", "I7N3G6G", "2140", 0, "no description", 60.2], ["2141", "I7N3G6G", "2141", 0, "no description", 60.2], ["2142", "I7N3G6G", "2142", 0, "no description", 60.2], ["2143", "I7N3G6G", "2143", 0, "no description", 60.2], ["2144", "I7N3G6G", "2144", 0, "no description", 60.2], ["2145", "I7N3G6G", "2145", 0, "no description", 60.2], ["2146", "I7N3G6G", "2146", 0, "no description", 60.2], ["2147", "I7N3G6G", "2147", 0, "no description", 60.2], ["2148", "I7N3G6G", "2148", 0, "no description", 60.2], ["2149", "I7N3G6G", "2149", 0, "no description", 60.2], ["2150", "I7N3G6G", "2150", 0, "no description", 60.2], ["2151", "I7N3G6G", "2151", 0, "no description", 60.2], ["2152", "I7N3G6G", "2152", 0, "no description", 60.2], ["2153", "I7N3G6G", "2153", 0, "no description", 60.2], ["2154", "I7N3G6G", "2154", 0, "no description", 60.2], ["2155", "I7N3G6G", "2155", 0, "no description", 60.2], ["2156", "I7N3G6G", "2156", 0, "no description", 60.2], ["2157", "I7N3G6G", "2157", 0, "no description", 60.2], ["2158", "I7N3G6G", "2158", 0, "no description", 60.2], ["2159", "I7N3G6G", "2159", 0, "no description", 60.2], ["2160", "I7N3G6G", "2160", 0, "no description", 60.2], ["2161", "I7N3G6G", "2161", 0, "no description", 60.2], ["2162", "I7N3G6G", "2162", 0, "no description", 60.2], ["2163", "I7N3G6G", "2163", 0, "no description", 60.2], ["2164", "I7N3G6G", "2164", 0, "no description", 60.2], ["2165", "I7N3G6G", "2165", 0, "no description", 60.2], ["2166", "I7N3G6G", "2166", 0, "no description", 60.2], ["2167", "I7N3G6G", "2167", 0, "no description", 60.2], ["2168", "I7N3G6G", "2168", 0, "no description", 60.2], ["2169", "I7N3G6G", "2169", 0, "no description", 60.2], ["2170", "I7N3G6G", "2170", 0, "no description", 60.2], ["2171", "I7N3G6G", "2171", 0, "no description", 60.2], ["2172", "I7N3G6G", "2172", 0, "no description", 60.2], ["2173", "I7N3G6G", "2173", 0, "no description", 60.2], ["2174", "I7N3G6G", "2174", 0, "no description", 60.2], ["2175", "I7N3G6G", "2175", 0, "no description", 60.2], ["2176", "I7N3G6G", "2176", 0, "no description", 60.2], ["2177", "I7N3G6G", "2177", 0, "no description", 60.2], ["2178", "I7N3G6G", "2178", 0, "no description", 60.2], ["2179", "I7N3G6G", "2179", 0, "no description", 60.2], ["2180", "I7N3G6G", "2180", 0, "no description", 60.2], ["2181", "I7N3G6G", "2181", 0, "no description", 60.2], ["2182", "I7N3G6G", "2182", 0, "no description", 60.2], ["2183", "I7N3G6G", "2183", 0, "no description", 60.2], ["2184", "I7N3G6G", "2184", 0, "no description", 60.2], ["2185", "I7N3G6G", "2185", 0, "no description", 60.2], ["2186", "I7N3G6G", "2186", 0, "no description", 60.2], ["2187", "I7N3G6G", "2187", 0, "no description", 60.2], ["2188", "I7N3G6G", "2188", 0, "no description", 60.2], ["2189", "I7N3G6G", "2189", 0, "no description", 60.2], ["2190", "I7N3G6G", "2190", 0, "no description", 60.2], ["2191", "I7N3G6G", "2191", 0, "no description", 60.2], ["2192", "I7N3G6G", "2192", 0, "no description", 60.2], ["2193", "I7N3G6G", "2193", 0, "no description", 60.2], ["2194", "I7N3G6G", "2194", 0, "no description", 60.2], ["2195", "I7N3G6G", "2195", 0, "no description", 60.2], ["2196", "I7N3G6G", "2196", 0, "no description", 60.2], ["2197", "I7N3G6G", "2197", 0, "no description", 60.2], ["2198", "I7N3G6G", "2198", 0, "no description", 60.2], ["2199", "I7N3G6G", "2199", 0, "no description", 60.2], ["2200", "I7N3G6G", "2200", 0, "no description", 60.2], ["2201", "I7N3G6G", "2201", 0, "no description", 60.2], ["2202", "I7N3G6G", "2202", 0, "no description", 60.2], ["2203", "I7N3G6G", "2203", 0, "no description", 60.2], ["2204", "I7N3G6G", "2204", 0, "no description", 60.2], ["2205", "I7N3G6G", "2205", 0, "no description", 60.2], ["2206", "I7N3G6G", "2206", 0, "no description", 60.2], ["2207", "I7N3G6G", "2207", 0, "no description", 60.2], ["2208", "I7N3G6G", "2208", 0, "no description", 60.2], ["2209", "I7N3G6G", "2209", 0, "no description", 60.2], ["2210", "I7N3G6G", "2210", 0, "no description", 60.2], ["2211", "I7N3G6G", "2211", 0, "no description", 60.2], ["2212", "I7N3G6G", "2212", 0, "no description", 60.2], ["2213", "I7N3G6G", "2213", 0, "no description", 60.2], ["2214", "I7N3G6G", "2214", 0, "no description", 60.2], ["2215", "I7N3G6G", "2215", 0, "no description", 60.2], ["2216", "I7N3G6G", "2216", 0, "no description", 60.2], ["2217", "I7N3G6G", "2217", 0, "no description", 60.2], ["2218", "I7N3G6G", "2218", 0, "no description", 60.2], ["2219", "I7N3G6G", "2219", 0, "no description", 60.2], ["2220", "I7N3G6G", "2220", 0, "no description", 60.2], ["2221", "I7N3G6G", "2221", 0, "no description", 60.2], ["2222", "I7N3G6G", "2222", 0, "no description", 60.2], ["2223", "I7N3G6G", "2223", 0, "no description", 60.2], ["2224", "I7N3G6G", "2224", 0, "no description", 60.2], ["2225", "I7N3G6G", "2225", 0, "no description", 60.2], ["2226", "I7N3G6G", "2226", 0, "no description", 60.2]] \ No newline at end of file diff --git a/packages/itmat-job-executor/test/testFiles/JSONCurator_error5.json b/packages/itmat-job-executor/test/testFiles/JSONCurator_error5.json deleted file mode 100644 index 8b878f919..000000000 --- a/packages/itmat-job-executor/test/testFiles/JSONCurator_error5.json +++ /dev/null @@ -1 +0,0 @@ -[["ID", "SubjectID", "VisitID", "Sex", "Description", "Weight", "UNKNOWN"], ["1", "I7N3G6G", "1", 0, "no description", 60.2, 1], ["2", "I7N3G6G", "2", "a", "no description", 60.2, 1], ["3", "I7N3G6G", "3", 0, "no description", 60.2, 1], ["4", "I7N3G6G", "4", 0, "no description", 60.2, 1], ["5", "I7N3G6G", "5", 0, "no description", 60.2, 1], ["6", "I7N3G6G", "6", 0, "no description", 60.2, 1], ["7", "I7N3G6G", "7", 0, "no description", 60.2, 1], ["8", "I7N3G6G", "8", 0, "no description", 60.2, 1], ["9", "I7N3G6G", "9", 0, "no description", 60.2, 1], ["10", "I7N3G6G", "10", 0, "no description", 60.2, 1], ["11", "I7N3G6G", "11", 0, "no description", 60.2, 1], ["12", "I7N3G6G", "12", 0, "no description", 60.2, 1], ["13", "I7N3G6G", "13", 0, "no description", 60.2, 1], ["14", "I7N3G6G", "14", 0, "no description", 60.2, 1], ["15", "I7N3G6G", "15", 0, "no description", 60.2, 1], ["16", "I7N3G6G", "16", 0, "no description", 60.2, 1], ["17", "I7N3G6G", "17", 0, "no description", 60.2, 1], ["18", "I7N3G6G", "18", 0, "no description", 60.2, 1], ["19", "I7N3G6G", "19", 0, "no description", 60.2, 1], ["20", "I7N3G6G", "20", 0, "no description", 60.2, 1], ["21", "I7N3G6G", "21", 0, "no description", 60.2, 1], ["22", "I7N3G6G", "22", 0, "no description", 60.2, 1], ["23", "I7N3G6G", "23", 0, "no description", 60.2, 1], ["24", "I7N3G6G", "24", 0, "no description", 60.2, 1], ["25", "I7N3G6G", "25", 0, "no description", 60.2, 1], ["26", "I7N3G6G", "26", 0, "no description", 60.2, 1], ["27", "I7N3G6G", "27", 0, "no description", 60.2, 1], ["28", "I7N3G6G", "28", 0, "no description", 60.2, 1], ["29", "I7N3G6G", "29", 0, "no description", 60.2, 1], ["30", "I7N3G6G", "30", 0, "no description", 60.2, 1], ["31", "I7N3G6G", "31", 0, "no description", 60.2, 1], ["32", "I7N3G6G", "32", 0, "no description", 60.2, 1], ["33", "I7N3G6G", "33", 0, "no description", 60.2, 1], ["34", "I7N3G6G", "34", 0, "no description", 60.2, 1], ["35", "I7N3G6G", "35", 0, "no description", 60.2, 1], ["36", "I7N3G6G", "36", 0, "no description", 60.2, 1], ["37", "I7N3G6G", "37", 0, "no description", 60.2, 1], ["38", "I7N3G6G", "38", 0, "no description", 60.2, 1], ["39", "I7N3G6G", "39", 0, "no description", 60.2, 1], ["40", "I7N3G6G", "40", 0, "no description", 60.2, 1], ["41", "I7N3G6G", "41", 0, "no description", 60.2, 1], ["42", "I7N3G6G", "42", 0, "no description", 60.2, 1], ["43", "I7N3G6G", "43", 0, "no description", 60.2, 1], ["44", "I7N3G6G", "44", 0, "no description", 60.2, 1], ["45", "I7N3G6G", "45", 0, "no description", 60.2, 1], ["46", "I7N3G6G", "46", 0, "no description", 60.2, 1], ["47", "I7N3G6G", "47", 0, "no description", 60.2, 1], ["48", "I7N3G6G", "48", 0, "no description", 60.2, 1], ["49", "I7N3G6G", "49", 0, "no description", 60.2, 1], ["50", "I7N3G6G", "50", 0, "no description", 60.2, 1], ["51", "I7N3G6G", "51", 0, "no description", 60.2, 1], ["52", "I7N3G6G", "52", 0, "no description", 60.2, 1], ["53", "I7N3G6G", "53", 0, "no description", 60.2, 1], ["54", "I7N3G6G", "54", 0, "no description", 60.2, 1], ["55", "I7N3G6G", "55", 0, "no description", 60.2, 1], ["56", "I7N3G6G", "56", 0, "no description", 60.2, 1], ["57", "I7N3G6G", "57", 0, "no description", 60.2, 1], ["58", "I7N3G6G", "58", 0, "no description", 60.2, 1], ["59", "I7N3G6G", "59", 0, "no description", 60.2, 1], ["60", "I7N3G6G", "60", 0, "no description", 60.2, 1], ["61", "I7N3G6G", "61", 0, "no description", 60.2, 1], ["62", "I7N3G6G", "62", 0, "no description", 60.2, 1], ["63", "I7N3G6G", "63", 0, "no description", 60.2, 1], ["64", "I7N3G6G", "64", 0, "no description", 60.2, 1], ["65", "I7N3G6G", "65", 0, "no description", 60.2, 1], ["66", "I7N3G6G", "66", 0, "no description", 60.2, 1], ["67", "I7N3G6G", "67", 0, "no description", 60.2, 1], ["68", "I7N3G6G", "68", 0, "no description", 60.2, 1], ["69", "I7N3G6G", "69", 0, "no description", 60.2, 1], ["70", "I7N3G6G", "70", 0, "no description", 60.2, 1], ["71", "I7N3G6G", "71", 0, "no description", 60.2, 1], ["72", "I7N3G6G", "72", 0, "no description", 60.2, 1], ["73", "I7N3G6G", "73", 0, "no description", 60.2, 1], ["74", "I7N3G6G", "74", 0, "no description", 60.2, 1], ["75", "I7N3G6G", "75", 0, "no description", 60.2, 1], ["76", "I7N3G6G", "76", 0, "no description", 60.2, 1], ["77", "I7N3G6G", "77", 0, "no description", 60.2, 1], ["78", "I7N3G6G", "78", 0, "no description", 60.2, 1], ["79", "I7N3G6G", "79", 0, "no description", 60.2, 1], ["80", "I7N3G6G", "80", 0, "no description", 60.2, 1], ["81", "I7N3G6G", "81", 0, "no description", 60.2, 1], ["82", "I7N3G6G", "82", 0, "no description", 60.2, 1], ["83", "I7N3G6G", "83", 0, "no description", 60.2, 1], ["84", "I7N3G6G", "84", 0, "no description", 60.2, 1], ["85", "I7N3G6G", "85", 0, "no description", 60.2, 1], ["86", "I7N3G6G", "86", 0, "no description", 60.2, 1], ["87", "I7N3G6G", "87", 0, "no description", 60.2, 1], ["88", "I7N3G6G", "88", 0, "no description", 60.2, 1], ["89", "I7N3G6G", "89", 0, "no description", 60.2, 1], ["90", "I7N3G6G", "90", 0, "no description", 60.2, 1], ["91", "I7N3G6G", "91", 0, "no description", 60.2, 1], ["92", "I7N3G6G", "92", 0, "no description", 60.2, 1], ["93", "I7N3G6G", "93", 0, "no description", 60.2, 1], ["94", "I7N3G6G", "94", 0, "no description", 60.2, 1], ["95", "I7N3G6G", "95", 0, "no description", 60.2, 1], ["96", "I7N3G6G", "96", 0, "no description", 60.2, 1], ["97", "I7N3G6G", "97", 0, "no description", 60.2, 1], ["98", "I7N3G6G", "98", 0, "no description", 60.2, 1], ["99", "I7N3G6G", "99", 0, "no description", 60.2, 1], ["100", "I7N3G6G", "100", 0, "no description", 60.2, 1], ["101", "I7N3G6G", "101", 0, "no description", 60.2, 1], ["102", "I7N3G6G", "102", 0, "no description", 60.2, 1], ["103", "I7N3G6G", "103", 0, "no description", 60.2, 1], ["104", "I7N3G6G", "104", 0, "no description", 60.2, 1], ["105", "I7N3G6G", "105", 0, "no description", 60.2, 1], ["106", "I7N3G6G", "106", 0, "no description", 60.2, 1], ["107", "I7N3G6G", "107", 0, "no description", 60.2, 1], ["108", "I7N3G6G", "108", 0, "no description", 60.2, 1], ["109", "I7N3G6G", "109", 0, "no description", 60.2, 1], ["110", "I7N3G6G", "110", 0, "no description", 60.2, 1], ["111", "I7N3G6G", "111", 0, "no description", 60.2, 1], ["112", "I7N3G6G", "112", 0, "no description", 60.2, 1], ["113", "I7N3G6G", "113", 0, "no description", 60.2, 1], ["114", "I7N3G6G", "114", 0, "no description", 60.2, 1], ["115", "I7N3G6G", "115", 0, "no description", 60.2, 1], ["116", "I7N3G6G", "116", 0, "no description", 60.2, 1], ["117", "I7N3G6G", "117", 0, "no description", 60.2, 1], ["118", "I7N3G6G", "118", 0, "no description", 60.2, 1], ["119", "I7N3G6G", "119", 0, "no description", 60.2, 1], ["120", "I7N3G6G", "120", 0, "no description", 60.2, 1], ["121", "I7N3G6G", "121", 0, "no description", 60.2, 1], ["122", "I7N3G6G", "122", 0, "no description", 60.2, 1], ["123", "I7N3G6G", "123", 0, "no description", 60.2, 1], ["124", "I7N3G6G", "124", 0, "no description", 60.2, 1], ["125", "I7N3G6G", "125", 0, "no description", 60.2, 1], ["126", "I7N3G6G", "126", 0, "no description", 60.2, 1], ["127", "I7N3G6G", "127", 0, "no description", 60.2, 1], ["128", "I7N3G6G", "128", 0, "no description", 60.2], ["129", "I7N3G6G", "129", 0, "no description", 60.2, 1], ["130", "I7N3G6G", "130", 0, "no description", 60.2, 1], ["131", "I7N3G6G", "131", 0, "no description", 60.2, 1], ["132", "I7N3G6G", "132", 0, "no description", 60.2, 1], ["133", "I7N3G6G", "133", 0, "no description", 60.2, 1], ["134", "I7N3G6G", "134", 0, "no description", 60.2, 1], ["135", "I7N3G6G", "135", 0, "no description", 60.2, 1], ["136", "I7N3G6G", "136", 0, "no description", 60.2, 1], ["137", "I7N3G6G", "137", 0, "no description", 60.2, 1], ["138", "I7N3G6G", "138", 0, "no description", 60.2, 1], ["139", "I7N3G6G", "139", 0, "no description", 60.2, 1], ["140", "I7N3G6G", "140", 0, "no description", 60.2, 1], ["141", "I7N3G6G", "141", 0, "no description", 60.2, 1], ["142", "I7N3G6G", "142", 0, "no description", 60.2, 1], ["143", "I7N3G6G", "143", 0, "no description", 60.2, 1], ["144", "I7N3G6G", "144", 0, "no description", 60.2, 1], ["145", "I7N3G6G", "145", 0, "no description", 60.2, 1], ["146", "I7N3G6G", "146", 0, "no description", 60.2, 1], ["147", "I7N3G6G", "147", 0, "no description", 60.2, 1], ["148", "I7N3G6G", "148", 0, "no description", 60.2, 1], ["149", "I7N3G6G", "149", 0, "no description", 60.2, 1], ["150", "I7N3G6G", "150", 0, "no description", 60.2, 1], ["151", "I7N3G6G", "151", 0, "no description"], ["152", "I7N3G6G", "152", 0, "no description", 60.2, 1], ["153", "I7N3G6G", "153", 0, "no description", 60.2, 1], ["154", "I7N3G6G", "154", 0, "no description", 60.2, 1], ["155", "I7N3G6G", "155", 0, "no description", 60.2, 1], ["156", "I7N3G6G", "156", 0, "no description", 60.2, 1], ["157", "I7N3G6G", "157", 0, "no description", 60.2, 1], ["158", "I7N3G6G", "158", 0, "no description", 60.2, 1], ["159", "I7N3G6G", "159", 0, "no description", 60.2, 1], ["160", "I7N3G6G", "160", 0, "no description", 60.2, 1], ["161", "I7N3G6G", "161", 0, "no description", 60.2, 1], ["162", "I7N3G6G", "162", 0, "no description", 60.2, 1], ["163", "I7N3G6G", "163", 0, "no description", 60.2, 1], ["164", "I7N3G6G", "164", 0, "no description", 60.2, 1], ["165", "I7N3G6G", "165", 0, "no description", 60.2, 1], ["166", "I7N3G6G", "166", 0, "no description", 60.2, 1], ["167", "I7N3G6G", "167", 0, "no description", 60.2, 1], ["168", "I7N3G6G", "168", 0, "no description", 60.2, 1], ["169", "I7N3G6G", "169", 0, "no description", 60.2, 1], ["170", "I7N3G6G", "170", 0, "no description", 60.2, 1], ["171", "I7N3G6G", "171", 0, "no description", 60.2, 1], ["172", "I7N3G6G", "172", 0, "no description", 60.2, 1], ["173", "I7N3G6G", "173", 0, "no description", 60.2, 1], ["174", "I7N3G6G", "174", 0, "no description", 60.2, 1], ["175", "I7N3G6G", "175", 0, "no description", 60.2, 1], ["176", "I7N3G6G", "176", 0, "no description", 60.2, 1], ["177", "I7N3G6G", "177", 0, "no description", 60.2, 1], ["178", "I7N3G6G", "178", 0, "no description", 60.2, 1], ["179", "I7N3G6G", "179", 0, "no description", 60.2, 1], ["180", "I7N3G6G", "180", 0, "no description", 60.2, 1], ["181", "I7N3G6G", "181", 0, "no description", 60.2, 1], ["182", "I7N3G6G", "182", 0, "no description", 60.2, 1], ["183", "I7N3G6G", "183", 0, "no description", 60.2, 1], ["184", "I7N3G6G", "184", 0, "no description", 60.2, 1], ["185", "I7N3G6G", "185", 0, "no description", 60.2, 1], ["186", "I7N3G6G", "186", 0, "no description", 60.2, 1], ["187", "I7N3G6G", "187", 0, "no description", 60.2, 1], ["188", "I7N3G6G", "188", 0, "no description", 60.2, 1], ["189", "I7N3G6G", "189", 0, "no description", 60.2, 1], ["190", "I7N3G6G", "190", 0, "no description", 60.2, 1], ["191", "I7N3G6G", "191", 0, "no description", 60.2, 1], ["192", "I7N3G6G", "192", 0, "no description", 60.2, 1], ["193", "I7N3G6G", "193", 0, "no description", 60.2, 1], ["194", "I7N3G6G", "194", 0, "no description", 60.2, 1], ["195", "I7N3G6G", "195", 0, "no description", 60.2, 1], ["196", "I7N3G6G", "196", 0, "no description", 60.2, 1], ["197", "I7N3G6G", "197", 0, "no description", 60.2, 1], ["198", "I7N3G6G", "198", 0, "no description", 60.2, 1], ["199", "I7N3G6G", "199", 0, "no description", 60.2, 1], ["200", "I7N3G6G", "200", 0, "no description", 60.2, 1], ["201", "I7N3G6G", "201", 0, "no description", 60.2, 1], ["202", "I7N3G6G", "202", 0, "no description", 60.2, 1], ["203", "I7N3G6G", "203", 0, "no description", 60.2, 1], ["204", "I7N3G6G", "204", 0, "no description", 60.2, 1], ["205", "I7N3G6G", "205", 0, "no description", 60.2, 1], ["206", "I7N3G6G", "206", 0, "no description", 60.2, 1], ["207", "I7N3G6G", "207", 0, "no description", 60.2, 1], ["208", "I7N3G6G", "208", 0, "no description", 60.2, 1], ["209", "I7N3G6G", "209", 0, "no description", 60.2, 1], ["210", "I7N3G6G", "210", 0, "no description", 60.2, 1], ["211", "I7N3G6G", "211", 0, "no description", 60.2, 1], ["212", "I7N3G6G", "212", 0, "no description", 60.2, 1], ["213", "I7N3G6G", "213", 0, "no description", 60.2, 1], ["214", "I7N3G6G", "214", 0, "no description", 60.2, 1], ["215", "I7N3G6G", "215", 0, "no description", 60.2, 1], ["216", "I7N3G6G", "216", 0, "no description", 60.2, 1], ["217", "I7N3G6G", "217", 0, "no description", 60.2, 1], ["218", "I7N3G6G", "218", 0, "no description", 60.2, 1], ["219", "I7N3G6G", "219", 0, "no description", 60.2, 1], ["220", "I7N3G6G", "220", 0, "no description", 60.2, 1], ["221", "I7N3G6G", "221", 0, "no description", 60.2, 1], ["222", "I7N3G6G", "222", 0, "no description", 60.2, 1], ["223", "I7N3G6G", "223", 0, "no description", 60.2, 1], ["224", "I7N3G6G", "224", 0, "no description", 60.2, 1], ["225", "I7N3G6G", "225", 0, "no description", 60.2, 1], ["226", "I7N3G6G", "226", 0, "no description", 60.2, 1], ["227", "I7N3G6G", "227", 0, "no description", 60.2, 1], ["228", "I7N3G6G", "228", 0, "no description", 60.2, 1], ["229", "I7N3G6G", "229", 0, "no description", 60.2, 1], ["230", "I7N3G6G", "230", 0, "no description", 60.2, 1], ["231", "I7N3G6G", "231", 0, "no description", 60.2, 1], ["232", "I7N3G6G", "232", 0, "no description", 60.2, 1], ["233", "I7N3G6G", "233", 0, "no description", 60.2, 1], ["234", "I7N3G6G", "234", 0, "no description", 60.2, 1], ["235", "I7N3G6G", "235", 0, "no description", 60.2, 1], ["236", "I7N3G6G", "236", 0, "no description", 60.2, 1], ["237", "I7N3G6G", "237", 0, "no description", 60.2, 1], ["238", "I7N3G6G", "238", 0, "no description", 60.2, 1], ["239", "I7N3G6G", "239", 0, "no description", 60.2, 1], ["240", "I7N3G6G", "240", 0, "no description", 60.2, 1], ["241", "I7N3G6G", "241", 0, "no description", 60.2, 1], ["242", "I7N3G6G", "242", 0, "no description", 60.2, 1], ["243", "I7N3G6G", "243", 0, "no description", 60.2, 1], ["244", "I7N3G6G", "244", 0, "no description", 60.2, 1], ["245", "I7N3G6G", "245", 0, "no description", 60.2, 1], ["246", "I7N3G6G", "246", 0, "no description", 60.2, 1], ["247", "I7N3G6G", "247", 0, "no description", 60.2, 1], ["248", "I7N3G6G", "248", 0, "no description", 60.2, 1], ["249", "I7N3G6G", "249", 0, "no description", 60.2, 1], ["250", "I7N3G6G", "250", 0, "no description", 60.2, 1], ["251", "I7N3G6G", "251", 0, "no description", 60.2, 1], ["252", "I7N3G6G", "252", 0, "no description", 60.2, 1], ["253", "I7N3G6G", "253", 0, "no description", 60.2, 1], ["254", "I7N3G6G", "254", 0, "no description", 60.2, 1], ["255", "I7N3G6G", "255", 0, "no description", 60.2, 1], ["256", "I7N3G6G", "256", 0, "no description", 60.2, 1], ["257", "I7N3G6G", "257", 0, "no description", 60.2, 1], ["258", "I7N3G6G", "258", 0, "no description", 60.2, 1], ["259", "I7N3G6G", "259", 0, "no description", 60.2, 1], ["260", "I7N3G6G", "260", 0, "no description", 60.2, 1], ["261", "I7N3G6G", "261", 0, "no description", 60.2, 1], ["262", "I7N3G6G", "262", 0, "no description", 60.2, 1], ["263", "I7N3G6G", "263", 0, "no description", 60.2, 1], ["264", "I7N3G6G", "264", 0, "no description", 60.2, 1], ["265", "I7N3G6G", "265", 0, "no description", 60.2, 1], ["266", "I7N3G6G", "266", 0, "no description", 60.2, 1], ["267", "I7N3G6G", "267", 0, "no description", 60.2, 1], ["268", "I7N3G6G", "268", 0, "no description", 60.2, 1], ["269", "I7N3G6G", "269", 0, "no description", 60.2, 1], ["270", "I7N3G6G", "270", 0, "no description", 60.2, 1], ["271", "I7N3G6G", "271", 0, "no description", 60.2, 1], ["272", "I7N3G6G", "272", 0, "no description", 60.2, 1], ["273", "I7N3G6G", "273", 0, "no description", 60.2, 1], ["274", "I7N3G6G", "274", 0, "no description", 60.2, 1], ["275", "I7N3G6G", "275", 0, "no description", 60.2, 1], ["276", "I7N3G6G", "276", 0, "no description", 60.2, 1], ["277", "I7N3G6G", "277", 0, "no description", 60.2, 1], ["278", "I7N3G6G", "278", 0, "no description", 60.2, 1], ["279", "I7N3G6G", "279", 0, "no description", 60.2, 1], ["280", "I7N3G6G", "280", 0, "no description", 60.2, 1], ["281", "I7N3G6G", "281", 0, "no description", 60.2, 1], ["282", "I7N3G6G", "282", 0, "no description", 60.2, 1], ["283", "I7N3G6G", "283", 0, "no description", 60.2, 1], ["284", "I7N3G6G", "284", 0, "no description", 60.2, 1], ["285", "I7N3G6G", "285", 0, "no description", 60.2, 1], ["286", "I7N3G6G", "286", 0, "no description", 60.2, 1], ["287", "I7N3G6G", "287", 0, "no description", 60.2, 1], ["288", "I7N3G6G", "288", 0, "no description", 60.2, 1], ["289", "I7N3G6G", "289", 0, "no description", 60.2, 1], ["290", "I7N3G6G", "290", 0, "no description", 60.2, 1], ["291", "I7N3G6G", "291", 0, "no description", 60.2, 1], ["292", "I7N3G6G", "292", 0, "no description", 60.2, 1], ["293", "I7N3G6G", "293", 0, "no description", 60.2, 1], ["294", "I7N3G6G", "294", 0, "no description", 60.2, 1], ["295", "I7N3G6G", "295", 0, "no description", 60.2, 1], ["296", "I7N3G6G", "296", 0, "no description", 60.2, 1], ["297", "I7N3G6G", "297", 0, "no description", 60.2, 1], ["298", "I7N3G6G", "298", 0, "no description", 60.2, 1], ["299", "I7N3G6G", "299", 0, "no description", 60.2, 1], ["300", "I7N3G6G", "300", 0, "no description", 60.2, 1], ["301", "I7N3G6G", "301", 0, "no description", 60.2, 1], ["302", "I7N3G6G", "302", 0, "no description", 60.2, 1], ["303", "I7N3G6G", "303", 0, "no description", 60.2, 1], ["304", "I7N3G6G", "304", 0, "no description", 60.2, 1], ["305", "I7N3G6G", "305", 0, "no description", 60.2, 1], ["306", "I7N3G6G", "306", 0, "no description", 60.2, 1], ["307", "I7N3G6G", "307", 0, "no description", 60.2, 1], ["308", "I7N3G6G", "308", 0, "no description", 60.2, 1], ["309", "I7N3G6G", "309", 0, "no description", 60.2, 1], ["310", "I7N3G6G", "310", 0, "no description", 60.2, 1], ["311", "I7N3G6G", "311", 0, "no description", 60.2, 1], ["312", "I7N3G6G", "312", 0, "no description", 60.2, 1], ["313", "I7N3G6G", "313", 0, "no description", 60.2, 1], ["314", "I7N3G6G", "314", 0, "no description", 60.2, 1], ["315", "I7N3G6G", "315", 0, "no description", 60.2, 1], ["316", "I7N3G6G", "316", 0, "no description", 60.2, 1], ["317", "I7N3G6G", "317", 0, "no description", 60.2, 1], ["318", "I7N3G6G", "318", 0, "no description", 60.2, 1], ["319", "I7N3G6G", "319", 0, "no description", 60.2, 1], ["320", "I7N3G6G", "320", 0, "no description", 60.2, 1], ["321", "I7N3G6G", "321", 0, "no description", 60.2, 1], ["322", "I7N3G6G", "322", 0, "no description", 60.2, 1], ["323", "I7N3G6G", "323", 0, "no description", 60.2, 1], ["324", "I7N3G6G", "324", 0, "no description", 60.2, 1], ["325", "I7N3G6G", "325", 0, "no description", 60.2, 1], ["326", "I7N3G6G", "326", 0, "no description", 60.2, 1], ["327", "I7N3G6G", "327", 0, "no description", 60.2, 1], ["328", "I7N3G6G", "328", 0, "no description", 60.2, 1], ["329", "I7N3G6G", "329", 0, "no description", 60.2, 1], ["330", "I7N3G6G", "330", 0, "no description", 60.2, 1], ["331", "I7N3G6G", "331", 0, "no description", 60.2, 1], ["332", "I7N3G6G", "332", 0, "no description", 60.2, 1], ["333", "I7N3G6G", "333", 0, "no description", 60.2, 1], ["334", "I7N3G6G", "334", 0, "no description", 60.2, 1], ["335", "I7N3G6G", "335", 0, "no description", 60.2, 1], ["336", "I7N3G6G", "336", 0, "no description", 60.2, 1], ["337", "I7N3G6G", "337", 0, "no description", 60.2, 1], ["338", "I7N3G6G", "338", 0, "no description", 60.2, 1], ["339", "I7N3G6G", "339", 0, "no description", 60.2, 1], ["340", "I7N3G6G", "340", 0, "no description", 60.2, 1], ["341", "I7N3G6G", "341", 0, "no description", 60.2, 1], ["342", "I7N3G6G", "342", 0, "no description", 60.2, 1], ["343", "I7N3G6G", "343", 0, "no description", 60.2, 1], ["344", "I7N3G6G", "344", 0, "no description", 60.2, 1], ["345", "I7N3G6G", "345", 0, "no description", 60.2, 1], ["346", "I7N3G6G", "346", 0, "no description", 60.2, 1], ["347", "I7N3G6G", "347", 0, "no description", 60.2, 1], ["348", "I7N3G6G", "348", 0, "no description", 60.2, 1], ["349", "I7N3G6G", "349", 0, "no description", 60.2, 1], ["350", "I7N3G6G", "350", 0, "no description", 60.2, 1], ["351", "I7N3G6G", "351", 0, "no description", 60.2, 1], ["352", "I7N3G6G", "352", 0, "no description", 60.2, 1], ["353", "I7N3G6G", "353", 0, "no description", 60.2, 1], ["354", "I7N3G6G", "354", 0, "no description", 60.2, 1], ["355", "I7N3G6G", "355", 0, "no description", 60.2, 1], ["356", "I7N3G6G", "356", 0, "no description", 60.2, 1], ["357", "I7N3G6G", "357", 0, "no description", 60.2, 1], ["358", "I7N3G6G", "358", 0, "no description", 60.2, 1], ["359", "I7N3G6G", "359", 0, "no description", 60.2, 1], ["360", "I7N3G6G", "360", 0, "no description", 60.2, 1], ["361", "I7N3G6G", "361", 0, "no description", 60.2, 1], ["362", "I7N3G6G", "362", 0, "no description", 60.2, 1], ["363", "I7N3G6G", "363", 0, "no description", 60.2, 1], ["364", "I7N3G6G", "364", 0, "no description", 60.2, 1], ["365", "I7N3G6G", "365", 0, "no description", 60.2, 1], ["366", "I7N3G6G", "366", 0, "no description", 60.2, 1], ["367", "I7N3G6G", "367", 0, "no description", 60.2, 1], ["368", "I7N3G6G", "368", 0, "no description", 60.2, 1], ["369", "I7N3G6G", "369", 0, "no description", 60.2, 1], ["370", "I7N3G6G", "370", 0, "no description", 60.2, 1], ["371", "I7N3G6G", "371", 0, "no description", 60.2, 1], ["372", "I7N3G6G", "372", 0, "no description", 60.2, 1], ["373", "I7N3G6G", "373", 0, "no description", 60.2, 1], ["374", "I7N3G6G", "374", 0, "no description", 60.2, 1], ["375", "I7N3G6G", "375", 0, "no description", 60.2, 1], ["376", "I7N3G6G", "376", 0, "no description", 60.2, 1], ["377", "I7N3G6G", "377", 0, "no description", 60.2, 1], ["378", "I7N3G6G", "378", 0, "no description", 60.2, 1], ["379", "I7N3G6G", "379", 0, "no description", 60.2, 1], ["380", "I7N3G6G", "380", 0, "no description", 60.2, 1], ["381", "I7N3G6G", "381", 0, "no description", 60.2, 1], ["382", "I7N3G6G", "382", 0, "no description", 60.2, 1], ["383", "I7N3G6G", "383", 0, "no description", 60.2, 1], ["384", "I7N3G6G", "384", 0, "no description", 60.2, 1], ["385", "I7N3G6G", "385", 0, "no description", 60.2, 1], ["386", "I7N3G6G", "386", 0, "no description", 60.2, 1], ["387", "I7N3G6G", "387", 0, "no description", 60.2, 1], ["388", "I7N3G6G", "388", 0, "no description", 60.2, 1], ["389", "I7N3G6G", "389", 0, "no description", 60.2, 1], ["390", "I7N3G6G", "390", 0, "no description", 60.2, 1], ["391", "I7N3G6G", "391", 0, "no description", 60.2, 1], ["392", "I7N3G6G", "392", 0, "no description", 60.2, 1], ["393", "I7N3G6G", "393", 0, "no description", 60.2, 1], ["394", "I7N3G6G", "394", 0, "no description", 60.2, 1], ["395", "I7N3G6G", "395", 0, "no description", 60.2, 1], ["396", "I7N3G6G", "396", 0, "no description", 60.2, 1], ["397", "I7N3G6G", "397", 0, "no description", 60.2, 1], ["398", "I7N3G6G", "398", 0, "no description", 60.2, 1], ["399", "I7N3G6G", "399", 0, "no description", 60.2, 1], ["400", "I7N3G6G", "400", 0, "no description", 60.2, 1], ["401", "I7N3G6G", "401", 0, "no description", 60.2, 1], ["402", "I7N3G6G", "402", 0, "no description", 60.2, 1], ["403", "I7N3G6G", "403", 0, "no description", 60.2, 1], ["404", "I7N3G6G", "404", 0, "no description", 60.2, 1], ["405", "I7N3G6G", "405", 0, "no description", 60.2, 1], ["406", "I7N3G6G", "406", 0, "no description", 60.2, 1], ["407", "I7N3G6G", "407", 0, "no description", 60.2, 1], ["408", "I7N3G6G", "408", 0, "no description", 60.2, 1], ["409", "I7N3G6G", "409", 0, "no description", 60.2, 1], ["410", "I7N3G6G", "410", 0, "no description", 60.2, 1], ["411", "I7N3G6G", "411", 0, "no description", 60.2, 1], ["412", "I7N3G6G", "412", 0, "no description", 60.2, 1], ["413", "I7N3G6G", "413", 0, "no description", 60.2, 1], ["414", "I7N3G6G", "414", 0, "no description", 60.2, 1], ["415", "I7N3G6G", "415", 0, "no description", 60.2, 1], ["416", "I7N3G6G", "416", 0, "no description", 60.2, 1], ["417", "I7N3G6G", "417", 0, "no description", 60.2, 1], ["418", "I7N3G6G", "418", 0, "no description", 60.2, 1], ["419", "I7N3G6G", "419", 0, "no description", 60.2, 1], ["420", "I7N3G6G", "420", 0, "no description", 60.2, 1], ["421", "I7N3G6G", "421", 0, "no description", 60.2, 1], ["422", "I7N3G6G", "422", 0, "no description", 60.2, 1], ["423", "I7N3G6G", "423", 0, "no description", 60.2, 1], ["424", "I7N3G6G", "424", 0, "no description", 60.2, 1], ["425", "I7N3G6G", "425", 0, "no description", 60.2, 1], ["426", "I7N3G6G", "426", 0, "no description", 60.2, 1], ["427", "I7N3G6G", "427", 0, "no description", 60.2, 1], ["428", "I7N3G6G", "428", 0, "no description", 60.2, 1], ["429", "I7N3G6G", "429", 0, "no description", 60.2, 1], ["430", "I7N3G6G", "430", 0, "no description", 60.2, 1], ["431", "I7N3G6G", "431", 0, "no description", 60.2, 1], ["432", "I7N3G6G", "432", 0, "no description", 60.2, 1], ["433", "I7N3G6G", "433", 0, "no description", 60.2, 1], ["434", "I7N3G6G", "434", 0, "no description", 60.2, 1], ["435", "I7N3G6G", "435", 0, "no description", 60.2, 1], ["436", "I7N3G6G", "436", 0, "no description", 60.2, 1], ["437", "I7N3G6G", "437", 0, "no description", 60.2, 1], ["438", "I7N3G6G", "438", 0, "no description", 60.2, 1], ["439", "I7N3G6G", "439", 0, "no description", 60.2, 1], ["440", "I7N3G6G", "440", 0, "no description", 60.2, 1], ["441", "I7N3G6G", "441", 0, "no description", 60.2, 1], ["442", "I7N3G6G", "442", 0, "no description", 60.2, 1], ["443", "I7N3G6G", "443", 0, "no description", 60.2, 1], ["444", "I7N3G6G", "444", 0, "no description", 60.2, 1], ["445", "I7N3G6G", "445", 0, "no description", 60.2, 1], ["446", "I7N3G6G", "446", 0, "no description", 60.2, 1], ["447", "I7N3G6G", "447", 0, "no description", 60.2, 1], ["448", "I7N3G6G", "448", 0, "no description", 60.2, 1], ["449", "I7N3G6G", "449", 0, "no description", 60.2, 1], ["450", "I7N3G6G", "450", 0, "no description", 60.2, 1], ["451", "I7N3G6G", "451", 0, "no description", 60.2, 1], ["452", "I7N3G6G", "452", 0, "no description", 60.2, 1], ["453", "I7N3G6G", "453", 0, "no description", 60.2, 1], ["454", "I7N3G6G", "454", 0, "no description", 60.2, 1], ["455", "I7N3G6G", "455", 0, "no description", 60.2, 1], ["456", "I7N3G6G", "456", 0, "no description", 60.2, 1], ["457", "I7N3G6G", "457", 0, "no description", 60.2, 1], ["458", "I7N3G6G", "458", 0, "no description", 60.2, 1], ["459", "I7N3G6G", "459", 0, "no description", 60.2, 1], ["460", "I7N3G6G", "460", 0, "no description", 60.2, 1], ["461", "I7N3G6G", "461", 0, "no description", 60.2, 1], ["462", "I7N3G6G", "462", 0, "no description", 60.2, 1], ["463", "I7N3G6G", "463", 0, "no description", 60.2, 1], ["464", "I7N3G6G", "464", 0, "no description", 60.2, 1], ["465", "I7N3G6G", "465", 0, "no description", 60.2, 1], ["466", "I7N3G6G", "466", 0, "no description", 60.2, 1], ["467", "I7N3G6G", "467", 0, "no description", 60.2, 1], ["468", "I7N3G6G", "468", 0, "no description", 60.2, 1], ["469", "I7N3G6G", "469", 0, "no description", 60.2, 1], ["470", "I7N3G6G", "470", 0, "no description", 60.2, 1], ["471", "I7N3G6G", "471", 0, "no description", 60.2, 1], ["472", "I7N3G6G", "472", 0, "no description", 60.2, 1], ["473", "I7N3G6G", "473", 0, "no description", 60.2, 1], ["474", "I7N3G6G", "474", 0, "no description", 60.2, 1], ["475", "I7N3G6G", "475", 0, "no description", 60.2, 1], ["476", "I7N3G6G", "476", 0, "no description", 60.2, 1], ["477", "I7N3G6G", "477", 0, "no description", 60.2, 1], ["478", "I7N3G6G", "478", 0, "no description", 60.2, 1], ["479", "I7N3G6G", "479", 0, "no description", 60.2, 1], ["480", "I7N3G6G", "480", 0, "no description", 60.2, 1], ["481", "I7N3G6G", "481", 0, "no description", 60.2, 1], ["482", "I7N3G6G", "482", 0, "no description", 60.2, 1], ["483", "I7N3G6G", "483", 0, "no description", 60.2, 1], ["484", "I7N3G6G", "484", 0, "no description", 60.2, 1], ["485", "I7N3G6G", "485", 0, "no description", 60.2, 1], ["486", "I7N3G6G", "486", 0, "no description", 60.2, 1], ["487", "I7N3G6G", "487", 0, "no description", 60.2, 1], ["488", "I7N3G6G", "488", 0, "no description", 60.2, 1], ["489", "I7N3G6G", "489", 0, "no description", 60.2, 1], ["490", "I7N3G6G", "490", 0, "no description", 60.2, 1], ["491", "I7N3G6G", "491", 0, "no description", 60.2, 1], ["492", "I7N3G6G", "492", 0, "no description", 60.2, 1], ["493", "I7N3G6G", "493", 0, "no description", 60.2, 1], ["494", "I7N3G6G", "494", 0, "no description", 60.2, 1], ["495", "I7N3G6G", "495", 0, "no description", 60.2, 1], ["496", "I7N3G6G", "496", 0, "no description", 60.2, 1], ["497", "I7N3G6G", "497", 0, "no description", 60.2, 1], ["498", "I7N3G6G", "498", 0, "no description", 60.2, 1], ["499", "I7N3G6G", "499", 0, "no description", 60.2, 1], ["500", "I7N3G6G", "500", 0, "no description", 60.2, 1], ["501", "I7N3G6G", "501", 0, "no description", 60.2, 1], ["502", "I7N3G6G", "502", 0, "no description", 60.2, 1], ["503", "I7N3G6G", "503", 0, "no description", 60.2, 1], ["504", "I7N3G6G", "504", 0, "no description", 60.2, 1], ["505", "I7N3G6G", "505", 0, "no description", 60.2, 1], ["506", "I7N3G6G", "506", 0, "no description", 60.2, 1], ["507", "I7N3G6G", "507", 0, "no description", 60.2, 1], ["508", "I7N3G6G", "508", 0, "no description", 60.2, 1], ["509", "I7N3G6G", "509", 0, "no description", 60.2, 1], ["510", "I7N3G6G", "510", 0, "no description", 60.2, 1], ["511", "I7N3G6G", "511", 0, "no description", 60.2, 1], ["512", "I7N3G6G", "512", 0, "no description", 60.2, 1], ["513", "I7N3G6G", "513", 0, "no description", 60.2, 1], ["514", "I7N3G6G", "514", 0, "no description", 60.2, 1], ["515", "I7N3G6G", "515", 0, "no description", 60.2, 1], ["516", "I7N3G6G", "516", 0, "no description", 60.2, 1], ["517", "I7N3G6G", "517", 0, "no description", 60.2, 1], ["518", "I7N3G6G", "518", 0, "no description", 60.2, 1], ["519", "I7N3G6G", "519", 0, "no description", 60.2, 1], ["520", "I7N3G6G", "520", 0, "no description", 60.2, 1], ["521", "I7N3G6G", "521", 0, "no description", 60.2, 1], ["522", "I7N3G6G", "522", 0, "no description", 60.2, 1], ["523", "I7N3G6G", "523", 0, "no description", 60.2, 1], ["524", "I7N3G6G", "524", 0, "no description", 60.2, 1], ["525", "I7N3G6G", "525", 0, "no description", 60.2, 1], ["526", "I7N3G6G", "526", 0, "no description", 60.2, 1], ["527", "I7N3G6G", "527", 0, "no description", 60.2, 1], ["528", "I7N3G6G", "528", 0, "no description", 60.2, 1], ["529", "I7N3G6G", "529", 0, "no description", 60.2, 1], ["530", "I7N3G6G", "530", 0, "no description", 60.2, 1], ["531", "I7N3G6G", "531", 0, "no description", 60.2, 1], ["532", "I7N3G6G", "532", 0, "no description", 60.2, 1], ["533", "I7N3G6G", "533", 0, "no description", 60.2, 1], ["534", "I7N3G6G", "534", 0, "no description", 60.2, 1], ["535", "I7N3G6G", "535", 0, "no description", 60.2, 1], ["536", "I7N3G6G", "536", 0, "no description", 60.2, 1], ["537", "I7N3G6G", "537", 0, "no description", 60.2, 1], ["538", "I7N3G6G", "538", 0, "no description", 60.2, 1], ["539", "I7N3G6G", "539", 0, "no description", 60.2, 1], ["540", "I7N3G6G", "540", 0, "no description", 60.2, 1], ["541", "I7N3G6G", "541", 0, "no description", 60.2, 1], ["542", "I7N3G6G", "542", 0, "no description", 60.2, 1], ["543", "I7N3G6G", "543", 0, "no description", 60.2, 1], ["544", "I7N3G6G", "544", 0, "no description", 60.2, 1], ["545", "I7N3G6G", "545", 0, "no description", 60.2, 1], ["546", "I7N3G6G", "546", 0, "no description", 60.2, 1], ["547", "I7N3G6G", "547", 0, "no description", 60.2, 1], ["548", "I7N3G6G", "548", 0, "no description", 60.2, 1], ["549", "I7N3G6G", "549", 0, "no description", 60.2, 1], ["550", "I7N3G6G", "550", 0, "no description", 60.2, 1], ["551", "I7N3G6G", "551", 0, "no description", 60.2, 1], ["552", "I7N3G6G", "552", 0, "no description", 60.2, 1], ["553", "I7N3G6G", "553", 0, "no description", 60.2, 1], ["554", "I7N3G6G", "554", 0, "no description", 60.2, 1], ["555", "I7N3G6G", "555", 0, "no description", 60.2, 1], ["556", "I7N3G6G", "556", 0, "no description", 60.2, 1], ["557", "I7N3G6G", "557", 0, "no description", 60.2, 1], ["558", "I7N3G6G", "558", 0, "no description", 60.2, 1], ["559", "I7N3G6G", "559", 0, "no description", 60.2, 1], ["560", "I7N3G6G", "560", 0, "no description", 60.2, 1], ["561", "I7N3G6G", "561", 0, "no description", 60.2, 1], ["562", "I7N3G6G", "562", 0, "no description", 60.2, 1], ["563", "I7N3G6G", "563", 0, "no description", 60.2, 1], ["564", "I7N3G6G", "564", 0, "no description", 60.2, 1], ["565", "I7N3G6G", "565", 0, "no description", 60.2, 1], ["566", "I7N3G6G", "566", 0, "no description", 60.2, 1], ["567", "I7N3G6G", "567", 0, "no description", 60.2, 1], ["568", "I7N3G6G", "568", 0, "no description", 60.2, 1], ["569", "I7N3G6G", "569", 0, "no description", 60.2, 1], ["570", "I7N3G6G", "570", 0, "no description", 60.2, 1], ["571", "I7N3G6G", "571", 0, "no description", 60.2, 1], ["572", "I7N3G6G", "572", 0, "no description", 60.2, 1], ["573", "I7N3G6G", "573", 0, "no description", 60.2, 1], ["574", "I7N3G6G", "574", 0, "no description", 60.2, 1], ["575", "I7N3G6G", "575", 0, "no description", 60.2, 1], ["576", "I7N3G6G", "576", 0, "no description", 60.2, 1], ["577", "I7N3G6G", "577", 0, "no description", 60.2, 1], ["578", "I7N3G6G", "578", 0, "no description", 60.2, 1], ["579", "I7N3G6G", "579", 0, "no description", 60.2, 1], ["580", "I7N3G6G", "580", 0, "no description", 60.2, 1], ["581", "I7N3G6G", "581", 0, "no description", 60.2, 1], ["582", "I7N3G6G", "582", 0, "no description", 60.2, 1], ["583", "I7N3G6G", "583", 0, "no description", 60.2, 1], ["584", "I7N3G6G", "584", 0, "no description", 60.2, 1], ["585", "I7N3G6G", "585", 0, "no description", 60.2, 1], ["586", "I7N3G6G", "586", 0, "no description", 60.2, 1], ["587", "I7N3G6G", "587", 0, "no description", 60.2, 1], ["588", "I7N3G6G", "588", 0, "no description", 60.2, 1], ["589", "I7N3G6G", "589", 0, "no description", 60.2, 1], ["590", "I7N3G6G", "590", 0, "no description", 60.2, 1], ["591", "I7N3G6G", "591", 0, "no description", 60.2, 1], ["592", "I7N3G6G", "592", 0, "no description", 60.2, 1], ["593", "I7N3G6G", "593", 0, "no description", 60.2, 1], ["594", "I7N3G6G", "594", 0, "no description", 60.2, 1], ["595", "I7N3G6G", "595", 0, "no description", 60.2, 1], ["596", "I7N3G6G", "596", 0, "no description", 60.2, 1], ["597", "I7N3G6G", "597", 0, "no description", 60.2, 1], ["598", "I7N3G6G", "598", 0, "no description", 60.2, 1], ["599", "I7N3G6G", "599", 0, "no description", 60.2, 1], ["600", "I7N3G6G", "600", 0, "no description", 60.2, 1], ["601", "I7N3G6G", "601", 0, "no description", 60.2, 1], ["602", "I7N3G6G", "602", 0, "no description", 60.2, 1], ["603", "I7N3G6G", "603", 0, "no description", 60.2, 1], ["604", "I7N3G6G", "604", 0, "no description", 60.2, 1], ["605", "I7N3G6G", "605", 0, "no description", 60.2, 1], ["606", "I7N3G6G", "606", 0, "no description", 60.2, 1], ["607", "I7N3G6G", "607", 0, "no description", 60.2, 1], ["608", "I7N3G6G", "608", 0, "no description", 60.2, 1], ["609", "I7N3G6G", "609", 0, "no description", 60.2, 1], ["610", "I7N3G6G", "610", 0, "no description", 60.2, 1], ["611", "I7N3G6G", "611", 0, "no description", 60.2, 1], ["612", "I7N3G6G", "612", 0, "no description", 60.2, 1], ["613", "I7N3G6G", "613", 0, "no description", 60.2, 1], ["614", "I7N3G6G", "614", 0, "no description", 60.2, 1], ["615", "I7N3G6G", "615", 0, "no description", 60.2, 1], ["616", "I7N3G6G", "616", 0, "no description", 60.2, 1], ["617", "I7N3G6G", "617", 0, "no description", 60.2, 1], ["618", "I7N3G6G", "618", 0, "no description", 60.2, 1], ["619", "I7N3G6G", "619", 0, "no description", 60.2, 1], ["620", "I7N3G6G", "620", 0, "no description", 60.2, 1], ["621", "I7N3G6G", "621", 0, "no description", 60.2, 1], ["622", "I7N3G6G", "622", 0, "no description", 60.2, 1], ["623", "I7N3G6G", "623", 0, "no description", 60.2, 1], ["624", "I7N3G6G", "624", 0, "no description", 60.2, 1], ["625", "I7N3G6G", "625", 0, "no description", 60.2, 1], ["626", "I7N3G6G", "626", 0, "no description", 60.2, 1], ["627", "I7N3G6G", "627", 0, "no description", 60.2, 1], ["628", "I7N3G6G", "628", 0, "no description", 60.2, 1], ["629", "I7N3G6G", "629", 0, "no description", 60.2, 1], ["630", "I7N3G6G", "630", 0, "no description", 60.2, 1], ["631", "I7N3G6G", "631", 0, "no description", 60.2, 1], ["632", "I7N3G6G", "632", 0, "no description", 60.2, 1], ["633", "I7N3G6G", "633", 0, "no description", 60.2, 1], ["634", "I7N3G6G", "634", 0, "no description", 60.2, 1], ["635", "I7N3G6G", "635", 0, "no description", 60.2, 1], ["636", "I7N3G6G", "636", 0, "no description", 60.2, 1], ["637", "I7N3G6G", "637", 0, "no description", 60.2, 1], ["638", "I7N3G6G", "638", 0, "no description", 60.2, 1], ["639", "I7N3G6G", "639", 0, "no description", 60.2, 1], ["640", "I7N3G6G", "640", 0, "no description", 60.2, 1], ["641", "I7N3G6G", "641", 0, "no description", 60.2, 1], ["642", "I7N3G6G", "642", 0, "no description", 60.2, 1], ["643", "I7N3G6G", "643", 0, "no description", 60.2, 1], ["644", "I7N3G6G", "644", 0, "no description", 60.2, 1], ["645", "I7N3G6G", "645", 0, "no description", 60.2, 1], ["646", "I7N3G6G", "646", 0, "no description", 60.2, 1], ["647", "I7N3G6G", "647", 0, "no description", 60.2, 1], ["648", "I7N3G6G", "648", 0, "no description", 60.2, 1], ["649", "I7N3G6G", "649", 0, "no description", 60.2, 1], ["650", "I7N3G6G", "650", 0, "no description", 60.2, 1], ["651", "I7N3G6G", "651", 0, "no description", 60.2, 1], ["652", "I7N3G6G", "652", 0, "no description", 60.2, 1], ["653", "I7N3G6G", "653", 0, "no description", 60.2, 1], ["654", "I7N3G6G", "654", 0, "no description", 60.2, 1], ["655", "I7N3G6G", "655", 0, "no description", 60.2, 1], ["656", "I7N3G6G", "656", 0, "no description", 60.2, 1], ["657", "I7N3G6G", "657", 0, "no description", 60.2, 1], ["658", "I7N3G6G", "658", 0, "no description", 60.2, 1], ["659", "I7N3G6G", "659", 0, "no description", 60.2, 1], ["660", "I7N3G6G", "660", 0, "no description", 60.2, 1], ["661", "I7N3G6G", "661", 0, "no description", 60.2, 1], ["662", "I7N3G6G", "662", 0, "no description", 60.2, 1], ["663", "I7N3G6G", "663", 0, "no description", 60.2, 1], ["664", "I7N3G6G", "664", 0, "no description", 60.2, 1], ["665", "I7N3G6G", "665", 0, "no description", 60.2, 1], ["666", "I7N3G6G", "666", 0, "no description", 60.2, 1], ["667", "I7N3G6G", "667", 0, "no description", 60.2, 1], ["668", "I7N3G6G", "668", 0, "no description", 60.2, 1], ["669", "I7N3G6G", "669", 0, "no description", 60.2, 1], ["670", "I7N3G6G", "670", 0, "no description", 60.2, 1], ["671", "I7N3G6G", "671", 0, "no description", 60.2, 1], ["672", "I7N3G6G", "672", 0, "no description", 60.2, 1], ["673", "I7N3G6G", "673", 0, "no description", 60.2, 1], ["674", "I7N3G6G", "674", 0, "no description", 60.2, 1], ["675", "I7N3G6G", "675", 0, "no description", 60.2, 1], ["676", "I7N3G6G", "676", 0, "no description", 60.2, 1], ["677", "I7N3G6G", "677", 0, "no description", 60.2, 1], ["678", "I7N3G6G", "678", 0, "no description", 60.2, 1], ["679", "I7N3G6G", "679", 0, "no description", 60.2, 1], ["680", "I7N3G6G", "680", 0, "no description", 60.2, 1], ["681", "I7N3G6G", "681", 0, "no description", 60.2, 1], ["682", "I7N3G6G", "682", 0, "no description", 60.2, 1], ["683", "I7N3G6G", "683", 0, "no description", 60.2, 1], ["684", "I7N3G6G", "684", 0, "no description", 60.2, 1], ["685", "I7N3G6G", "685", 0, "no description", 60.2, 1], ["686", "I7N3G6G", "686", 0, "no description", 60.2, 1], ["687", "I7N3G6G", "687", 0, "no description", 60.2, 1], ["688", "I7N3G6G", "688", 0, "no description", 60.2, 1], ["689", "I7N3G6G", "689", 0, "no description", 60.2, 1], ["690", "I7N3G6G", "690", 0, "no description", 60.2, 1], ["691", "I7N3G6G", "691", 0, "no description", 60.2, 1], ["692", "I7N3G6G", "692", 0, "no description", 60.2, 1], ["693", "I7N3G6G", "693", 0, "no description", 60.2, 1], ["694", "I7N3G6G", "694", 0, "no description", 60.2, 1], ["695", "I7N3G6G", "695", 0, "no description", 60.2, 1], ["696", "I7N3G6G", "696", 0, "no description", 60.2, 1], ["697", "I7N3G6G", "697", 0, "no description", 60.2, 1], ["698", "I7N3G6G", "698", 0, "no description", 60.2, 1], ["699", "I7N3G6G", "699", 0, "no description", 60.2, 1], ["700", "I7N3G6G", "700", 0, "no description", 60.2, 1], ["701", "I7N3G6G", "701", 0, "no description", 60.2, 1], ["702", "I7N3G6G", "702", 0, "no description", 60.2, 1], ["703", "I7N3G6G", "703", 0, "no description", 60.2, 1], ["704", "I7N3G6G", "704", 0, "no description", 60.2, 1], ["705", "I7N3G6G", "705", 0, "no description", 60.2, 1], ["706", "I7N3G6G", "706", 0, "no description", 60.2, 1], ["707", "I7N3G6G", "707", 0, "no description", 60.2, 1], ["708", "I7N3G6G", "708", 0, "no description", 60.2, 1], ["709", "I7N3G6G", "709", 0, "no description", 60.2, 1], ["710", "I7N3G6G", "710", 0, "no description", 60.2, 1], ["711", "I7N3G6G", "711", 0, "no description", 60.2, 1], ["712", "I7N3G6G", "712", 0, "no description", 60.2, 1], ["713", "I7N3G6G", "713", 0, "no description", 60.2, 1], ["714", "I7N3G6G", "714", 0, "no description", 60.2, 1], ["715", "I7N3G6G", "715", 0, "no description", 60.2, 1], ["716", "I7N3G6G", "716", 0, "no description", 60.2, 1], ["717", "I7N3G6G", "717", 0, "no description", 60.2, 1], ["718", "I7N3G6G", "718", 0, "no description", 60.2, 1], ["719", "I7N3G6G", "719", 0, "no description", 60.2, 1], ["720", "I7N3G6G", "720", 0, "no description", 60.2, 1], ["721", "I7N3G6G", "721", 0, "no description", 60.2, 1], ["722", "I7N3G6G", "722", 0, "no description", 60.2, 1], ["723", "I7N3G6G", "723", 0, "no description", 60.2, 1], ["724", "I7N3G6G", "724", 0, "no description", 60.2, 1], ["725", "I7N3G6G", "725", 0, "no description", 60.2, 1], ["726", "I7N3G6G", "726", 0, "no description", 60.2, 1], ["727", "I7N3G6G", "727", 0, "no description", 60.2, 1], ["728", "I7N3G6G", "728", 0, "no description", 60.2, 1], ["729", "I7N3G6G", "729", 0, "no description", 60.2, 1], ["730", "I7N3G6G", "730", 0, "no description", 60.2, 1], ["731", "I7N3G6G", "731", 0, "no description", 60.2, 1], ["732", "I7N3G6G", "732", 0, "no description", 60.2, 1], ["733", "I7N3G6G", "733", 0, "no description", 60.2, 1], ["734", "I7N3G6G", "734", 0, "no description", 60.2, 1], ["735", "I7N3G6G", "735", 0, "no description", 60.2, 1], ["736", "I7N3G6G", "736", 0, "no description", 60.2, 1], ["737", "I7N3G6G", "737", 0, "no description", 60.2, 1], ["738", "I7N3G6G", "738", 0, "no description", 60.2, 1], ["739", "I7N3G6G", "739", 0, "no description", 60.2, 1], ["740", "I7N3G6G", "740", 0, "no description", 60.2, 1], ["741", "I7N3G6G", "741", 0, "no description", 60.2, 1], ["742", "I7N3G6G", "742", 0, "no description", 60.2, 1], ["743", "I7N3G6G", "743", 0, "no description", 60.2, 1], ["744", "I7N3G6G", "744", 0, "no description", 60.2, 1], ["745", "I7N3G6G", "745", 0, "no description", 60.2, 1], ["746", "I7N3G6G", "746", 0, "no description", 60.2, 1], ["747", "I7N3G6G", "747", 0, "no description", 60.2, 1], ["748", "I7N3G6G", "748", 0, "no description", 60.2, 1], ["749", "I7N3G6G", "749", 0, "no description", 60.2, 1], ["750", "I7N3G6G", "750", 0, "no description", 60.2, 1], ["751", "I7N3G6G", "751", 0, "no description", 60.2, 1], ["752", "I7N3G6G", "752", 0, "no description", 60.2, 1], ["753", "I7N3G6G", "753", 0, "no description", 60.2, 1], ["754", "I7N3G6G", "754", 0, "no description", 60.2, 1], ["755", "I7N3G6G", "755", 0, "no description", 60.2, 1], ["756", "I7N3G6G", "756", 0, "no description", 60.2, 1], ["757", "I7N3G6G", "757", 0, "no description", 60.2, 1], ["758", "I7N3G6G", "758", 0, "no description", 60.2, 1], ["759", "I7N3G6G", "759", 0, "no description", 60.2, 1], ["760", "I7N3G6G", "760", 0, "no description", 60.2, 1], ["761", "I7N3G6G", "761", 0, "no description", 60.2, 1], ["762", "I7N3G6G", "762", 0, "no description", 60.2, 1], ["763", "I7N3G6G", "763", 0, "no description", 60.2, 1], ["764", "I7N3G6G", "764", 0, "no description", 60.2, 1], ["765", "I7N3G6G", "765", 0, "no description", 60.2, 1], ["766", "I7N3G6G", "766", 0, "no description", 60.2, 1], ["767", "I7N3G6G", "767", 0, "no description", 60.2, 1], ["768", "I7N3G6G", "768", 0, "no description", 60.2, 1], ["769", "I7N3G6G", "769", 0, "no description", 60.2, 1], ["770", "I7N3G6G", "770", 0, "no description", 60.2, 1], ["771", "I7N3G6G", "771", 0, "no description", 60.2, 1], ["772", "I7N3G6G", "772", 0, "no description", 60.2, 1], ["773", "I7N3G6G", "773", 0, "no description", 60.2, 1], ["774", "I7N3G6G", "774", 0, "no description", 60.2, 1], ["775", "I7N3G6G", "775", 0, "no description", 60.2, 1], ["776", "I7N3G6G", "776", 0, "no description", 60.2, 1], ["777", "I7N3G6G", "777", 0, "no description", 60.2, 1], ["778", "I7N3G6G", "778", 0, "no description", 60.2, 1], ["779", "I7N3G6G", "779", 0, "no description", 60.2, 1], ["780", "I7N3G6G", "780", 0, "no description", 60.2, 1], ["781", "I7N3G6G", "781", 0, "no description", 60.2, 1], ["782", "I7N3G6G", "782", 0, "no description", 60.2, 1], ["783", "I7N3G6G", "783", 0, "no description", 60.2, 1], ["784", "I7N3G6G", "784", 0, "no description", 60.2, 1], ["785", "I7N3G6G", "785", 0, "no description", 60.2, 1], ["786", "I7N3G6G", "786", 0, "no description", 60.2, 1], ["787", "I7N3G6G", "787", 0, "no description", 60.2, 1], ["788", "I7N3G6G", "788", 0, "no description", 60.2, 1], ["789", "I7N3G6G", "789", 0, "no description", 60.2, 1], ["790", "I7N3G6G", "790", 0, "no description", 60.2, 1], ["791", "I7N3G6G", "791", 0, "no description", 60.2, 1], ["792", "I7N3G6G", "792", 0, "no description", 60.2, 1], ["793", "I7N3G6G", "793", 0, "no description", 60.2, 1], ["794", "I7N3G6G", "794", 0, "no description", 60.2, 1], ["795", "I7N3G6G", "795", 0, "no description", 60.2, 1], ["796", "I7N3G6G", "796", 0, "no description", 60.2, 1], ["797", "I7N3G6G", "797", 0, "no description", 60.2, 1], ["798", "I7N3G6G", "798", 0, "no description", 60.2, 1], ["799", "I7N3G6G", "799", 0, "no description", 60.2, 1], ["800", "I7N3G6G", "800", 0, "no description", 60.2, 1], ["801", "I7N3G6G", "801", 0, "no description", 60.2, 1], ["802", "I7N3G6G", "802", 0, "no description", 60.2, 1], ["803", "I7N3G6G", "803", 0, "no description", 60.2, 1], ["804", "I7N3G6G", "804", 0, "no description", 60.2, 1], ["805", "I7N3G6G", "805", 0, "no description", 60.2, 1], ["806", "I7N3G6G", "806", 0, "no description", 60.2, 1], ["807", "I7N3G6G", "807", 0, "no description", 60.2, 1], ["808", "I7N3G6G", "808", 0, "no description", 60.2, 1], ["809", "I7N3G6G", "809", 0, "no description", 60.2, 1], ["810", "I7N3G6G", "810", 0, "no description", 60.2, 1], ["811", "I7N3G6G", "811", 0, "no description", 60.2, 1], ["812", "I7N3G6G", "812", 0, "no description", 60.2, 1], ["813", "I7N3G6G", "813", 0, "no description", 60.2, 1], ["814", "I7N3G6G", "814", 0, "no description", 60.2, 1], ["815", "I7N3G6G", "815", 0, "no description", 60.2, 1], ["816", "I7N3G6G", "816", 0, "no description", 60.2, 1], ["817", "I7N3G6G", "817", 0, "no description", 60.2, 1], ["818", "I7N3G6G", "818", 0, "no description", 60.2, 1], ["819", "I7N3G6G", "819", 0, "no description", 60.2, 1], ["820", "I7N3G6G", "820", 0, "no description", 60.2, 1], ["821", "I7N3G6G", "821", 0, "no description", 60.2, 1], ["822", "I7N3G6G", "822", 0, "no description", 60.2, 1], ["823", "I7N3G6G", "823", 0, "no description", 60.2, 1], ["824", "I7N3G6G", "824", 0, "no description", 60.2, 1], ["825", "I7N3G6G", "825", 0, "no description", 60.2, 1], ["826", "I7N3G6G", "826", 0, "no description", 60.2, 1], ["827", "I7N3G6G", "827", 0, "no description", 60.2, 1], ["828", "I7N3G6G", "828", 0, "no description", 60.2, 1], ["829", "I7N3G6G", "829", 0, "no description", 60.2, 1], ["830", "I7N3G6G", "830", 0, "no description", 60.2, 1], ["831", "I7N3G6G", "831", 0, "no description", 60.2, 1], ["832", "I7N3G6G", "832", 0, "no description", 60.2, 1], ["833", "I7N3G6G", "833", 0, "no description", 60.2, 1], ["834", "I7N3G6G", "834", 0, "no description", 60.2, 1], ["835", "I7N3G6G", "835", 0, "no description", 60.2, 1], ["836", "I7N3G6G", "836", 0, "no description", 60.2, 1], ["837", "I7N3G6G", "837", 0, "no description", 60.2, 1], ["838", "I7N3G6G", "838", 0, "no description", 60.2, 1], ["839", "I7N3G6G", "839", 0, "no description", 60.2, 1], ["840", "I7N3G6G", "840", 0, "no description", 60.2, 1], ["841", "I7N3G6G", "841", 0, "no description", 60.2, 1], ["842", "I7N3G6G", "842", 0, "no description", 60.2, 1], ["843", "I7N3G6G", "843", 0, "no description", 60.2, 1], ["844", "I7N3G6G", "844", 0, "no description", 60.2, 1], ["845", "I7N3G6G", "845", 0, "no description", 60.2, 1], ["846", "I7N3G6G", "846", 0, "no description", 60.2, 1], ["847", "I7N3G6G", "847", 0, "no description", 60.2, 1], ["848", "I7N3G6G", "848", 0, "no description", 60.2, 1], ["849", "I7N3G6G", "849", 0, "no description", 60.2, 1], ["850", "I7N3G6G", "850", 0, "no description", 60.2, 1], ["851", "I7N3G6G", "851", 0, "no description", 60.2, 1], ["852", "I7N3G6G", "852", 0, "no description", 60.2, 1], ["853", "I7N3G6G", "853", 0, "no description", 60.2, 1], ["854", "I7N3G6G", "854", 0, "no description", 60.2, 1], ["855", "I7N3G6G", "855", 0, "no description", 60.2, 1], ["856", "I7N3G6G", "856", 0, "no description", 60.2, 1], ["857", "I7N3G6G", "857", 0, "no description", 60.2, 1], ["858", "I7N3G6G", "858", 0, "no description", 60.2, 1], ["859", "I7N3G6G", "859", 0, "no description", 60.2, 1], ["860", "I7N3G6G", "860", 0, "no description", 60.2, 1], ["861", "I7N3G6G", "861", 0, "no description", 60.2, 1], ["862", "I7N3G6G", "862", 0, "no description", 60.2, 1], ["863", "I7N3G6G", "863", 0, "no description", 60.2, 1], ["864", "I7N3G6G", "864", 0, "no description", 60.2, 1], ["865", "I7N3G6G", "865", 0, "no description", 60.2, 1], ["866", "I7N3G6G", "866", 0, "no description", 60.2, 1], ["867", "I7N3G6G", "867", 0, "no description", 60.2, 1], ["868", "I7N3G6G", "868", 0, "no description", 60.2, 1], ["869", "I7N3G6G", "869", 0, "no description", 60.2, 1], ["870", "I7N3G6G", "870", 0, "no description", 60.2, 1], ["871", "I7N3G6G", "871", 0, "no description", 60.2, 1], ["872", "I7N3G6G", "872", 0, "no description", 60.2, 1], ["873", "I7N3G6G", "873", 0, "no description", 60.2, 1], ["874", "I7N3G6G", "874", 0, "no description", 60.2, 1], ["875", "I7N3G6G", "875", 0, "no description", 60.2, 1], ["876", "I7N3G6G", "876", 0, "no description", 60.2, 1], ["877", "I7N3G6G", "877", 0, "no description", 60.2, 1], ["878", "I7N3G6G", "878", 0, "no description", 60.2, 1], ["879", "I7N3G6G", "879", 0, "no description", 60.2, 1], ["880", "I7N3G6G", "880", 0, "no description", 60.2, 1], ["881", "I7N3G6G", "881", 0, "no description", 60.2, 1], ["882", "I7N3G6G", "882", 0, "no description", 60.2, 1], ["883", "I7N3G6G", "883", 0, "no description", 60.2, 1], ["884", "I7N3G6G", "884", 0, "no description", 60.2, 1], ["885", "I7N3G6G", "885", 0, "no description", 60.2, 1], ["886", "I7N3G6G", "886", 0, "no description", 60.2, 1], ["887", "I7N3G6G", "887", 0, "no description", 60.2, 1], ["888", "I7N3G6G", "888", 0, "no description", 60.2, 1], ["889", "I7N3G6G", "889", 0, "no description", 60.2, 1], ["890", "I7N3G6G", "890", 0, "no description", 60.2, 1], ["891", "I7N3G6G", "891", 0, "no description", 60.2, 1], ["892", "I7N3G6G", "892", 0, "no description", 60.2, 1], ["893", "I7N3G6G", "893", 0, "no description", 60.2, 1], ["894", "I7N3G6G", "894", 0, "no description", 60.2, 1], ["895", "I7N3G6G", "895", 0, "no description", 60.2, 1], ["896", "I7N3G6G", "896", 0, "no description", 60.2, 1], ["897", "I7N3G6G", "897", 0, "no description", 60.2, 1], ["898", "I7N3G6G", "898", 0, "no description", 60.2, 1], ["899", "I7N3G6G", "899", 0, "no description", 60.2, 1], ["900", "I7N3G6G", "900", 0, "no description", 60.2, 1], ["901", "I7N3G6G", "901", 0, "no description", 60.2, 1], ["902", "I7N3G6G", "902", 0, "no description", 60.2, 1], ["903", "I7N3G6G", "903", 0, "no description", 60.2, 1], ["904", "I7N3G6G", "904", 0, "no description", 60.2, 1], ["905", "I7N3G6G", "905", 0, "no description", 60.2, 1], ["906", "I7N3G6G", "906", 0, "no description", 60.2, 1], ["907", "I7N3G6G", "907", 0, "no description", 60.2, 1], ["908", "I7N3G6G", "908", 0, "no description", 60.2, 1], ["909", "I7N3G6G", "909", 0, "no description", 60.2, 1], ["910", "I7N3G6G", "910", 0, "no description", 60.2, 1], ["911", "I7N3G6G", "911", 0, "no description", 60.2, 1], ["912", "I7N3G6G", "912", 0, "no description", 60.2, 1], ["913", "I7N3G6G", "913", 0, "no description", 60.2, 1], ["914", "I7N3G6G", "914", 0, "no description", 60.2, 1], ["915", "I7N3G6G", "915", 0, "no description", 60.2, 1], ["916", "I7N3G6G", "916", 0, "no description", 60.2, 1], ["917", "I7N3G6G", "917", 0, "no description", 60.2, 1], ["918", "I7N3G6G", "918", 0, "no description", 60.2, 1], ["919", "I7N3G6G", "919", 0, "no description", 60.2, 1], ["920", "I7N3G6G", "920", 0, "no description", 60.2, 1], ["921", "I7N3G6G", "921", 0, "no description", 60.2, 1], ["922", "I7N3G6G", "922", 0, "no description", 60.2, 1], ["923", "I7N3G6G", "923", 0, "no description", 60.2, 1], ["924", "I7N3G6G", "924", 0, "no description", 60.2, 1], ["925", "I7N3G6G", "925", 0, "no description", 60.2, 1], ["926", "I7N3G6G", "926", 0, "no description", 60.2, 1], ["927", "I7N3G6G", "927", 0, "no description", 60.2, 1], ["928", "I7N3G6G", "928", 0, "no description", 60.2, 1], ["929", "I7N3G6G", "929", 0, "no description", 60.2, 1], ["930", "I7N3G6G", "930", 0, "no description", 60.2, 1], ["931", "I7N3G6G", "931", 0, "no description", 60.2, 1], ["932", "I7N3G6G", "932", 0, "no description", 60.2, 1], ["933", "I7N3G6G", "933", 0, "no description", 60.2, 1], ["934", "I7N3G6G", "934", 0, "no description", 60.2, 1], ["935", "I7N3G6G", "935", 0, "no description", 60.2, 1], ["936", "I7N3G6G", "936", 0, "no description", 60.2, 1], ["937", "I7N3G6G", "937", 0, "no description", 60.2, 1], ["938", "I7N3G6G", "938", 0, "no description", 60.2, 1], ["939", "I7N3G6G", "939", 0, "no description", 60.2, 1], ["940", "I7N3G6G", "940", 0, "no description", 60.2, 1], ["941", "I7N3G6G", "941", 0, "no description", 60.2, 1], ["942", "I7N3G6G", "942", 0, "no description", 60.2, 1], ["943", "I7N3G6G", "943", 0, "no description", 60.2, 1], ["944", "I7N3G6G", "944", 0, "no description", 60.2, 1], ["945", "I7N3G6G", "945", 0, "no description", 60.2, 1], ["946", "I7N3G6G", "946", 0, "no description", 60.2, 1], ["947", "I7N3G6G", "947", 0, "no description", 60.2, 1], ["948", "I7N3G6G", "948", 0, "no description", 60.2, 1], ["949", "I7N3G6G", "949", 0, "no description", 60.2, 1], ["950", "I7N3G6G", "950", 0, "no description", 60.2, 1], ["951", "I7N3G6G", "951", 0, "no description", 60.2, 1], ["952", "I7N3G6G", "952", 0, "no description", 60.2, 1], ["953", "I7N3G6G", "953", 0, "no description", 60.2, 1], ["954", "I7N3G6G", "954", 0, "no description", 60.2, 1], ["955", "I7N3G6G", "955", 0, "no description", 60.2, 1], ["956", "I7N3G6G", "956", 0, "no description", 60.2, 1], ["957", "I7N3G6G", "957", 0, "no description", 60.2, 1], ["958", "I7N3G6G", "958", 0, "no description", 60.2, 1], ["959", "I7N3G6G", "959", 0, "no description", 60.2, 1], ["960", "I7N3G6G", "960", 0, "no description", 60.2, 1], ["961", "I7N3G6G", "961", 0, "no description", 60.2, 1], ["962", "I7N3G6G", "962", 0, "no description", 60.2, 1], ["963", "I7N3G6G", "963", 0, "no description", 60.2, 1], ["964", "I7N3G6G", "964", 0, "no description", 60.2, 1], ["965", "I7N3G6G", "965", 0, "no description", 60.2, 1], ["966", "I7N3G6G", "966", 0, "no description", 60.2, 1], ["967", "I7N3G6G", "967", 0, "no description", 60.2, 1], ["968", "I7N3G6G", "968", 0, "no description", 60.2, 1], ["969", "I7N3G6G", "969", 0, "no description", 60.2, 1], ["970", "I7N3G6G", "970", 0, "no description", 60.2, 1], ["971", "I7N3G6G", "971", 0, "no description", 60.2, 1], ["972", "I7N3G6G", "972", 0, "no description", 60.2, 1], ["973", "I7N3G6G", "973", 0, "no description", 60.2, 1], ["974", "I7N3G6G", "974", 0, "no description", 60.2, 1], ["975", "I7N3G6G", "975", 0, "no description", 60.2, 1], ["976", "I7N3G6G", "976", 0, "no description", 60.2, 1], ["977", "I7N3G6G", "977", 0, "no description", 60.2, 1], ["978", "I7N3G6G", "978", 0, "no description", 60.2, 1], ["979", "I7N3G6G", "979", 0, "no description", 60.2, 1], ["980", "I7N3G6G", "980", 0, "no description", 60.2, 1], ["981", "I7N3G6G", "981", 0, "no description", 60.2, 1], ["982", "I7N3G6G", "982", 0, "no description", 60.2, 1], ["983", "I7N3G6G", "983", 0, "no description", 60.2, 1], ["984", "I7N3G6G", "984", 0, "no description", 60.2, 1], ["985", "I7N3G6G", "985", 0, "no description", 60.2, 1], ["986", "I7N3G6G", "986", 0, "no description", 60.2, 1], ["987", "I7N3G6G", "987", 0, "no description", 60.2, 1], ["988", "I7N3G6G", "988", 0, "no description", 60.2, 1], ["989", "I7N3G6G", "989", 0, "no description", 60.2, 1], ["990", "I7N3G6G", "990", 0, "no description", 60.2, 1], ["991", "I7N3G6G", "991", 0, "no description", 60.2, 1], ["992", "I7N3G6G", "992", 0, "no description", 60.2, 1], ["993", "I7N3G6G", "993", 0, "no description", 60.2, 1], ["994", "I7N3G6G", "994", 0, "no description", 60.2, 1], ["995", "I7N3G6G", "995", 0, "no description", 60.2, 1], ["996", "I7N3G6G", "996", 0, "no description", 60.2, 1], ["997", "I7N3G6G", "997", 0, "no description", 60.2, 1], ["998", "I7N3G6G", "998", 0, "no description", 60.2, 1], ["999", "I7N3G6G", "999", 0, "no description", 60.2, 1], ["1000", "I7N3G6G", "1000", 0, "no description", 60.2, 1], ["1001", "I7N3G6G", "1001", 0, "no description", 60.2, 1], ["1002", "I7N3G6G", "1002", 0, "no description", 60.2, 1], ["1003", "I7N3G6G", "1003", 0, "no description", 60.2, 1], ["1004", "I7N3G6G", "1004", 0, "no description", 60.2, 1], ["1005", "I7N3G6G", "1005", 0, "no description", 60.2, 1], ["1006", "I7N3G6G", "1006", 0, "no description", 60.2, 1], ["1007", "I7N3G6G", "1007", 0, "no description", 60.2, 1], ["1008", "I7N3G6G", "1008", 0, "no description", 60.2, 1], ["1009", "I7N3G6G", "1009", 0, "no description", 60.2, 1], ["1010", "I7N3G6G", "1010", 0, "no description", 60.2, 1], ["1011", "I7N3G6G", "1011", 0, "no description", 60.2, 1], ["1012", "I7N3G6G", "1012", 0, "no description", 60.2, 1], ["1013", "I7N3G6G", "1013", 0, "no description", 60.2, 1], ["1014", "I7N3G6G", "1014", 0, "no description", 60.2, 1], ["1015", "I7N3G6G", "1015", 0, "no description", 60.2, 1], ["1016", "I7N3G6G", "1016", 0, "no description", 60.2, 1], ["1017", "I7N3G6G", "1017", 0, "no description", 60.2, 1], ["1018", "I7N3G6G", "1018", 0, "no description", 60.2, 1], ["1019", "I7N3G6G", "1019", 0, "no description", 60.2, 1], ["1020", "I7N3G6G", "1020", 0, "no description", 60.2, 1], ["1021", "I7N3G6G", "1021", 0, "no description", 60.2, 1], ["1022", "I7N3G6G", "1022", 0, "no description", 60.2, 1], ["1023", "I7N3G6G", "1023", 0, "no description", 60.2, 1], ["1024", "I7N3G6G", "1024", 0, "no description", 60.2, 1], ["1025", "I7N3G6G", "1025", 0, "no description", 60.2, 1], ["1026", "I7N3G6G", "1026", 0, "no description", 60.2, 1], ["1027", "I7N3G6G", "1027", 0, "no description", 60.2, 1], ["1028", "I7N3G6G", "1028", 0, "no description", 60.2, 1], ["1029", "I7N3G6G", "1029", 0, "no description", 60.2, 1], ["1030", "I7N3G6G", "1030", 0, "no description", 60.2, 1], ["1031", "I7N3G6G", "1031", 0, "no description", 60.2, 1], ["1032", "I7N3G6G", "1032", 0, "no description", 60.2, 1], ["1033", "I7N3G6G", "1033", 0, "no description", 60.2, 1], ["1034", "I7N3G6G", "1034", 0, "no description", 60.2, 1], ["1035", "I7N3G6G", "1035", 0, "no description", 60.2, 1], ["1036", "I7N3G6G", "1036", 0, "no description", 60.2, 1], ["1037", "I7N3G6G", "1037", 0, "no description", 60.2, 1], ["1038", "I7N3G6G", "1038", 0, "no description", 60.2, 1], ["1039", "I7N3G6G", "1039", 0, "no description", 60.2, 1], ["1040", "I7N3G6G", "1040", 0, "no description", 60.2, 1], ["1041", "I7N3G6G", "1041", 0, "no description", 60.2, 1], ["1042", "I7N3G6G", "1042", 0, "no description", 60.2, 1], ["1043", "I7N3G6G", "1043", 0, "no description", 60.2, 1], ["1044", "I7N3G6G", "1044", 0, "no description", 60.2, 1], ["1045", "I7N3G6G", "1045", 0, "no description", 60.2, 1], ["1046", "I7N3G6G", "1046", 0, "no description", 60.2, 1], ["1047", "I7N3G6G", "1047", 0, "no description", 60.2, 1], ["1048", "I7N3G6G", "1048", 0, "no description", 60.2, 1], ["1049", "I7N3G6G", "1049", 0, "no description", 60.2, 1], ["1050", "I7N3G6G", "1050", 0, "no description", 60.2, 1], ["1051", "I7N3G6G", "1051", 0, "no description", 60.2, 1], ["1052", "I7N3G6G", "1052", 0, "no description", 60.2, 1], ["1053", "I7N3G6G", "1053", 0, "no description", 60.2, 1], ["1054", "I7N3G6G", "1054", 0, "no description", 60.2, 1], ["1055", "I7N3G6G", "1055", 0, "no description", 60.2, 1], ["1056", "I7N3G6G", "1056", 0, "no description", 60.2, 1], ["1057", "I7N3G6G", "1057", 0, "no description", 60.2, 1], ["1058", "I7N3G6G", "1058", 0, "no description", 60.2, 1], ["1059", "I7N3G6G", "1059", 0, "no description", 60.2, 1], ["1060", "I7N3G6G", "1060", 0, "no description", 60.2, 1], ["1061", "I7N3G6G", "1061", 0, "no description", 60.2, 1], ["1062", "I7N3G6G", "1062", 0, "no description", 60.2, 1], ["1063", "I7N3G6G", "1063", 0, "no description", 60.2, 1], ["1064", "I7N3G6G", "1064", 0, "no description", 60.2, 1], ["1065", "I7N3G6G", "1065", 0, "no description", 60.2, 1], ["1066", "I7N3G6G", "1066", 0, "no description", 60.2, 1], ["1067", "I7N3G6G", "1067", 0, "no description", 60.2, 1], ["1068", "I7N3G6G", "1068", 0, "no description", 60.2, 1], ["1069", "I7N3G6G", "1069", 0, "no description", 60.2, 1], ["1070", "I7N3G6G", "1070", 0, "no description", 60.2, 1], ["1071", "I7N3G6G", "1071", 0, "no description", 60.2, 1], ["1072", "I7N3G6G", "1072", 0, "no description", 60.2, 1], ["1073", "I7N3G6G", "1073", 0, "no description", 60.2, 1], ["1074", "I7N3G6G", "1074", 0, "no description", 60.2, 1], ["1075", "I7N3G6G", "1075", 0, "no description", 60.2, 1], ["1076", "I7N3G6G", "1076", 0, "no description", 60.2, 1], ["1077", "I7N3G6G", "1077", 0, "no description", 60.2, 1], ["1078", "I7N3G6G", "1078", 0, "no description", 60.2, 1], ["1079", "I7N3G6G", "1079", 0, "no description", 60.2, 1], ["1080", "I7N3G6G", "1080", 0, "no description", 60.2, 1], ["1081", "I7N3G6G", "1081", 0, "no description", 60.2, 1], ["1082", "I7N3G6G", "1082", 0, "no description", 60.2, 1], ["1083", "I7N3G6G", "1083", 0, "no description", 60.2, 1], ["1084", "I7N3G6G", "1084", 0, "no description", 60.2, 1], ["1085", "I7N3G6G", "1085", 0, "no description", 60.2, 1], ["1086", "I7N3G6G", "1086", 0, "no description", 60.2, 1], ["1087", "I7N3G6G", "1087", 0, "no description", 60.2, 1], ["1088", "I7N3G6G", "1088", 0, "no description", 60.2, 1], ["1089", "I7N3G6G", "1089", 0, "no description", 60.2, 1], ["1090", "I7N3G6G", "1090", 0, "no description", 60.2, 1], ["1091", "I7N3G6G", "1091", 0, "no description", 60.2, 1], ["1092", "I7N3G6G", "1092", 0, "no description", 60.2, 1], ["1093", "I7N3G6G", "1093", 0, "no description", 60.2, 1], ["1094", "I7N3G6G", "1094", 0, "no description", 60.2, 1], ["1095", "I7N3G6G", "1095", 0, "no description", 60.2, 1], ["1096", "I7N3G6G", "1096", 0, "no description", 60.2, 1], ["1097", "I7N3G6G", "1097", 0, "no description", 60.2, 1], ["1098", "I7N3G6G", "1098", 0, "no description", 60.2, 1], ["1099", "I7N3G6G", "1099", 0, "no description", 60.2, 1], ["1100", "I7N3G6G", "1100", 0, "no description", 60.2, 1], ["1101", "I7N3G6G", "1101", 0, "no description", 60.2, 1], ["1102", "I7N3G6G", "1102", 0, "no description", 60.2, 1], ["1103", "I7N3G6G", "1103", 0, "no description", 60.2, 1], ["1104", "I7N3G6G", "1104", 0, "no description", 60.2, 1], ["1105", "I7N3G6G", "1105", 0, "no description", 60.2, 1], ["1106", "I7N3G6G", "1106", 0, "no description", 60.2, 1], ["1107", "I7N3G6G", "1107", 0, "no description", 60.2, 1], ["1108", "I7N3G6G", "1108", 0, "no description", 60.2, 1], ["1109", "I7N3G6G", "1109", 0, "no description", 60.2, 1], ["1110", "I7N3G6G", "1110", 0, "no description", 60.2, 1], ["1111", "I7N3G6G", "1111", 0, "no description", 60.2, 1], ["1112", "I7N3G6G", "1112", 0, "no description", 60.2, 1], ["1113", "I7N3G6G", "1113", 0, "no description", 60.2, 1], ["1114", "I7N3G6G", "1114", 0, "no description", 60.2, 1], ["1115", "I7N3G6G", "1115", 0, "no description", 60.2, 1], ["1116", "I7N3G6G", "1116", 0, "no description", 60.2, 1], ["1117", "I7N3G6G", "1117", 0, "no description", 60.2, 1], ["1118", "I7N3G6G", "1118", 0, "no description", 60.2, 1], ["1119", "I7N3G6G", "1119", 0, "no description", 60.2, 1], ["1120", "I7N3G6G", "1120", 0, "no description", 60.2, 1], ["1121", "I7N3G6G", "1121", 0, "no description", 60.2, 1], ["1122", "I7N3G6G", "1122", 0, "no description", 60.2, 1], ["1123", "I7N3G6G", "1123", 0, "no description", 60.2, 1], ["1124", "I7N3G6G", "1124", 0, "no description", 60.2, 1], ["1125", "I7N3G6G", "1125", 0, "no description", 60.2, 1], ["1126", "I7N3G6G", "1126", 0, "no description", 60.2, 1], ["1127", "I7N3G6G", "1127", 0, "no description", 60.2, 1], ["1128", "I7N3G6G", "1128", 0, "no description", 60.2, 1], ["1129", "I7N3G6G", "1129", 0, "no description", 60.2, 1], ["1130", "I7N3G6G", "1130", 0, "no description", 60.2, 1], ["1131", "I7N3G6G", "1131", 0, "no description", 60.2, 1], ["1132", "I7N3G6G", "1132", 0, "no description", 60.2, 1], ["1133", "I7N3G6G", "1133", 0, "no description", 60.2, 1], ["1134", "I7N3G6G", "1134", 0, "no description", 60.2, 1], ["1135", "I7N3G6G", "1135", 0, "no description", 60.2, 1], ["1136", "I7N3G6G", "1136", 0, "no description", 60.2, 1], ["1137", "I7N3G6G", "1137", 0, "no description", 60.2, 1], ["1138", "I7N3G6G", "1138", 0, "no description", 60.2, 1], ["1139", "I7N3G6G", "1139", 0, "no description", 60.2, 1], ["1140", "I7N3G6G", "1140", 0, "no description", 60.2, 1], ["1141", "I7N3G6G", "1141", 0, "no description", 60.2, 1], ["1142", "I7N3G6G", "1142", 0, "no description", 60.2, 1], ["1143", "I7N3G6G", "1143", 0, "no description", 60.2, 1], ["1144", "I7N3G6G", "1144", 0, "no description", 60.2, 1], ["1145", "I7N3G6G", "1145", 0, "no description", 60.2, 1], ["1146", "I7N3G6G", "1146", 0, "no description", 60.2, 1], ["1147", "I7N3G6G", "1147", 0, "no description", 60.2, 1], ["1148", "I7N3G6G", "1148", 0, "no description", 60.2, 1], ["1149", "I7N3G6G", "1149", 0, "no description", 60.2, 1], ["1150", "I7N3G6G", "1150", 0, "no description", 60.2, 1], ["1151", "I7N3G6G", "1151", 0, "no description", 60.2, 1], ["1152", "I7N3G6G", "1152", 0, "no description", 60.2, 1], ["1153", "I7N3G6G", "1153", 0, "no description", 60.2, 1], ["1154", "I7N3G6G", "1154", 0, "no description", 60.2, 1], ["1155", "I7N3G6G", "1155", 0, "no description", 60.2, 1], ["1156", "I7N3G6G", "1156", 0, "no description", 60.2, 1], ["1157", "I7N3G6G", "1157", 0, "no description", 60.2, 1], ["1158", "I7N3G6G", "1158", 0, "no description", 60.2, 1], ["1159", "I7N3G6G", "1159", 0, "no description", 60.2, 1], ["1160", "I7N3G6G", "1160", 0, "no description", 60.2, 1], ["1161", "I7N3G6G", "1161", 0, "no description", 60.2, 1], ["1162", "I7N3G6G", "1162", 0, "no description", 60.2, 1], ["1163", "I7N3G6G", "1163", 0, "no description", 60.2, 1], ["1164", "I7N3G6G", "1164", 0, "no description", 60.2, 1], ["1165", "I7N3G6G", "1165", 0, "no description", 60.2, 1], ["1166", "I7N3G6G", "1166", 0, "no description", 60.2, 1], ["1167", "I7N3G6G", "1167", 0, "no description", 60.2, 1], ["1168", "I7N3G6G", "1168", 0, "no description", 60.2, 1], ["1169", "I7N3G6G", "1169", 0, "no description", 60.2, 1], ["1170", "I7N3G6G", "1170", 0, "no description", 60.2, 1], ["1171", "I7N3G6G", "1171", 0, "no description", 60.2, 1], ["1172", "I7N3G6G", "1172", 0, "no description", 60.2, 1], ["1173", "I7N3G6G", "1173", 0, "no description", 60.2, 1], ["1174", "I7N3G6G", "1174", 0, "no description", 60.2, 1], ["1175", "I7N3G6G", "1175", 0, "no description", 60.2, 1], ["1176", "I7N3G6G", "1176", 0, "no description", 60.2, 1], ["1177", "I7N3G6G", "1177", 0, "no description", 60.2, 1], ["1178", "I7N3G6G", "1178", 0, "no description", 60.2, 1], ["1179", "I7N3G6G", "1179", 0, "no description", 60.2, 1], ["1180", "I7N3G6G", "1180", 0, "no description", 60.2, 1], ["1181", "I7N3G6G", "1181", 0, "no description", 60.2, 1], ["1182", "I7N3G6G", "1182", 0, "no description", 60.2, 1], ["1183", "I7N3G6G", "1183", 0, "no description", 60.2, 1], ["1184", "I7N3G6G", "1184", 0, "no description", 60.2, 1], ["1185", "I7N3G6G", "1185", 0, "no description", 60.2, 1], ["1186", "I7N3G6G", "1186", 0, "no description", 60.2, 1], ["1187", "I7N3G6G", "1187", 0, "no description", 60.2, 1], ["1188", "I7N3G6G", "1188", 0, "no description", 60.2, 1], ["1189", "I7N3G6G", "1189", 0, "no description", 60.2, 1], ["1190", "I7N3G6G", "1190", 0, "no description", 60.2, 1], ["1191", "I7N3G6G", "1191", 0, "no description", 60.2, 1], ["1192", "I7N3G6G", "1192", 0, "no description", 60.2, 1], ["1193", "I7N3G6G", "1193", 0, "no description", 60.2, 1], ["1194", "I7N3G6G", "1194", 0, "no description", 60.2, 1], ["1195", "I7N3G6G", "1195", 0, "no description", 60.2, 1], ["1196", "I7N3G6G", "1196", 0, "no description", 60.2, 1], ["1197", "I7N3G6G", "1197", 0, "no description", 60.2, 1], ["1198", "I7N3G6G", "1198", 0, "no description", 60.2, 1], ["1199", "I7N3G6G", "1199", 0, "no description", 60.2, 1], ["1200", "I7N3G6G", "1200", 0, "no description", 60.2, 1], ["1201", "I7N3G6G", "1201", 0, "no description", 60.2, 1], ["1202", "I7N3G6G", "1202", 0, "no description", 60.2, 1], ["1203", "I7N3G6G", "1203", 0, "no description", 60.2, 1], ["1204", "I7N3G6G", "1204", 0, "no description", 60.2, 1], ["1205", "I7N3G6G", "1205", 0, "no description", 60.2, 1], ["1206", "I7N3G6G", "1206", 0, "no description", 60.2, 1], ["1207", "I7N3G6G", "1207", 0, "no description", 60.2, 1], ["1208", "I7N3G6G", "1208", 0, "no description", 60.2, 1], ["1209", "I7N3G6G", "1209", 0, "no description", 60.2, 1], ["1210", "I7N3G6G", "1210", 0, "no description", 60.2, 1], ["1211", "I7N3G6G", "1211", 0, "no description", 60.2, 1], ["1212", "I7N3G6G", "1212", 0, "no description", 60.2, 1], ["1213", "I7N3G6G", "1213", 0, "no description", 60.2, 1], ["1214", "I7N3G6G", "1214", 0, "no description", 60.2, 1], ["1215", "I7N3G6G", "1215", 0, "no description", 60.2, 1], ["1216", "I7N3G6G", "1216", 0, "no description", 60.2, 1], ["1217", "I7N3G6G", "1217", 0, "no description", 60.2, 1], ["1218", "I7N3G6G", "1218", 0, "no description", 60.2, 1], ["1219", "I7N3G6G", "1219", 0, "no description", 60.2, 1], ["1220", "I7N3G6G", "1220", 0, "no description", 60.2, 1], ["1221", "I7N3G6G", "1221", 0, "no description", 60.2, 1], ["1222", "I7N3G6G", "1222", 0, "no description", 60.2, 1], ["1223", "I7N3G6G", "1223", 0, "no description", 60.2, 1], ["1224", "I7N3G6G", "1224", 0, "no description", 60.2, 1], ["1225", "I7N3G6G", "1225", 0, "no description", 60.2, 1], ["1226", "I7N3G6G", "1226", 0, "no description", 60.2, 1], ["1227", "I7N3G6G", "1227", 0, "no description", 60.2, 1], ["1228", "I7N3G6G", "1228", 0, "no description", 60.2, 1], ["1229", "I7N3G6G", "1229", 0, "no description", 60.2, 1], ["1230", "I7N3G6G", "1230", 0, "no description", 60.2, 1], ["1231", "I7N3G6G", "1231", 0, "no description", 60.2, 1], ["1232", "I7N3G6G", "1232", 0, "no description", 60.2, 1], ["1233", "I7N3G6G", "1233", 0, "no description", 60.2, 1], ["1234", "I7N3G6G", "1234", 0, "no description", 60.2, 1], ["1235", "I7N3G6G", "1235", 0, "no description", 60.2, 1], ["1236", "I7N3G6G", "1236", 0, "no description", 60.2, 1], ["1237", "I7N3G6G", "1237", 0, "no description", 60.2, 1], ["1238", "I7N3G6G", "1238", 0, "no description", 60.2, 1], ["1239", "I7N3G6G", "1239", 0, "no description", 60.2, 1], ["1240", "I7N3G6G", "1240", 0, "no description", 60.2, 1], ["1241", "I7N3G6G", "1241", 0, "no description", 60.2, 1], ["1242", "I7N3G6G", "1242", 0, "no description", 60.2, 1], ["1243", "I7N3G6G", "1243", 0, "no description", 60.2, 1], ["1244", "I7N3G6G", "1244", 0, "no description", 60.2, 1], ["1245", "I7N3G6G", "1245", 0, "no description", 60.2, 1], ["1246", "I7N3G6G", "1246", 0, "no description", 60.2, 1], ["1247", "I7N3G6G", "1247", 0, "no description", 60.2, 1], ["1248", "I7N3G6G", "1248", 0, "no description", 60.2, 1], ["1249", "I7N3G6G", "1249", 0, "no description", 60.2, 1], ["1250", "I7N3G6G", "1250", 0, "no description", 60.2, 1], ["1251", "I7N3G6G", "1251", 0, "no description", 60.2, 1], ["1252", "I7N3G6G", "1252", 0, "no description", 60.2, 1], ["1253", "I7N3G6G", "1253", 0, "no description", 60.2, 1], ["1254", "I7N3G6G", "1254", 0, "no description", 60.2, 1], ["1255", "I7N3G6G", "1255", 0, "no description", 60.2, 1], ["1256", "I7N3G6G", "1256", 0, "no description", 60.2, 1], ["1257", "I7N3G6G", "1257", 0, "no description", 60.2, 1], ["1258", "I7N3G6G", "1258", 0, "no description", 60.2, 1], ["1259", "I7N3G6G", "1259", 0, "no description", 60.2, 1], ["1260", "I7N3G6G", "1260", 0, "no description", 60.2, 1], ["1261", "I7N3G6G", "1261", 0, "no description", 60.2, 1], ["1262", "I7N3G6G", "1262", 0, "no description", 60.2, 1], ["1263", "I7N3G6G", "1263", 0, "no description", 60.2, 1], ["1264", "I7N3G6G", "1264", 0, "no description", 60.2, 1], ["1265", "I7N3G6G", "1265", 0, "no description", 60.2, 1], ["1266", "I7N3G6G", "1266", 0, "no description", 60.2, 1], ["1267", "I7N3G6G", "1267", 0, "no description", 60.2, 1], ["1268", "I7N3G6G", "1268", 0, "no description", 60.2, 1], ["1269", "I7N3G6G", "1269", 0, "no description", 60.2, 1], ["1270", "I7N3G6G", "1270", 0, "no description", 60.2, 1], ["1271", "I7N3G6G", "1271", 0, "no description", 60.2, 1], ["1272", "I7N3G6G", "1272", 0, "no description", 60.2, 1], ["1273", "I7N3G6G", "1273", 0, "no description", 60.2, 1], ["1274", "I7N3G6G", "1274", 0, "no description", 60.2, 1], ["1275", "I7N3G6G", "1275", 0, "no description", 60.2, 1], ["1276", "I7N3G6G", "1276", 0, "no description", 60.2, 1], ["1277", "I7N3G6G", "1277", 0, "no description", 60.2, 1], ["1278", "I7N3G6G", "1278", 0, "no description", 60.2, 1], ["1279", "I7N3G6G", "1279", 0, "no description", 60.2, 1], ["1280", "I7N3G6G", "1280", 0, "no description", 60.2, 1], ["1281", "I7N3G6G", "1281", 0, "no description", 60.2, 1], ["1282", "I7N3G6G", "1282", 0, "no description", 60.2, 1], ["1283", "I7N3G6G", "1283", 0, "no description", 60.2, 1], ["1284", "I7N3G6G", "1284", 0, "no description", 60.2, 1], ["1285", "I7N3G6G", "1285", 0, "no description", 60.2, 1], ["1286", "I7N3G6G", "1286", 0, "no description", 60.2, 1], ["1287", "I7N3G6G", "1287", 0, "no description", 60.2, 1], ["1288", "I7N3G6G", "1288", 0, "no description", 60.2, 1], ["1289", "I7N3G6G", "1289", 0, "no description", 60.2, 1], ["1290", "I7N3G6G", "1290", 0, "no description", 60.2, 1], ["1291", "I7N3G6G", "1291", 0, "no description", 60.2, 1], ["1292", "I7N3G6G", "1292", 0, "no description", 60.2, 1], ["1293", "I7N3G6G", "1293", 0, "no description", 60.2, 1], ["1294", "I7N3G6G", "1294", 0, "no description", 60.2, 1], ["1295", "I7N3G6G", "1295", 0, "no description", 60.2, 1], ["1296", "I7N3G6G", "1296", 0, "no description", 60.2, 1], ["1297", "I7N3G6G", "1297", 0, "no description", 60.2, 1], ["1298", "I7N3G6G", "1298", 0, "no description", 60.2, 1], ["1299", "I7N3G6G", "1299", 0, "no description", 60.2, 1], ["1300", "I7N3G6G", "1300", 0, "no description", 60.2, 1], ["1301", "I7N3G6G", "1301", 0, "no description", 60.2, 1], ["1302", "I7N3G6G", "1302", 0, "no description", 60.2, 1], ["1303", "I7N3G6G", "1303", 0, "no description", 60.2, 1], ["1304", "I7N3G6G", "1304", 0, "no description", 60.2, 1], ["1305", "I7N3G6G", "1305", 0, "no description", 60.2, 1], ["1306", "I7N3G6G", "1306", 0, "no description", 60.2, 1], ["1307", "I7N3G6G", "1307", 0, "no description", 60.2, 1], ["1308", "I7N3G6G", "1308", 0, "no description", 60.2, 1], ["1309", "I7N3G6G", "1309", 0, "no description", 60.2, 1], ["1310", "I7N3G6G", "1310", 0, "no description", 60.2, 1], ["1311", "I7N3G6G", "1311", 0, "no description", 60.2, 1], ["1312", "I7N3G6G", "1312", 0, "no description", 60.2, 1], ["1313", "I7N3G6G", "1313", 0, "no description", 60.2, 1], ["1314", "I7N3G6G", "1314", 0, "no description", 60.2, 1], ["1315", "I7N3G6G", "1315", 0, "no description", 60.2, 1], ["1316", "I7N3G6G", "1316", 0, "no description", 60.2, 1], ["1317", "I7N3G6G", "1317", 0, "no description", 60.2, 1], ["1318", "I7N3G6G", "1318", 0, "no description", 60.2, 1], ["1319", "I7N3G6G", "1319", 0, "no description", 60.2, 1], ["1320", "I7N3G6G", "1320", 0, "no description", 60.2, 1], ["1321", "I7N3G6G", "1321", 0, "no description", 60.2, 1], ["1322", "I7N3G6G", "1322", 0, "no description", 60.2, 1], ["1323", "I7N3G6G", "1323", 0, "no description", 60.2, 1], ["1324", "I7N3G6G", "1324", 0, "no description", 60.2, 1], ["1325", "I7N3G6G", "1325", 0, "no description", 60.2, 1], ["1326", "I7N3G6G", "1326", 0, "no description", 60.2, 1], ["1327", "I7N3G6G", "1327", 0, "no description", 60.2, 1], ["1328", "I7N3G6G", "1328", 0, "no description", 60.2, 1], ["1329", "I7N3G6G", "1329", 0, "no description", 60.2, 1], ["1330", "I7N3G6G", "1330", 0, "no description", 60.2, 1], ["1331", "I7N3G6G", "1331", 0, "no description", 60.2, 1], ["1332", "I7N3G6G", "1332", 0, "no description", 60.2, 1], ["1333", "I7N3G6G", "1333", 0, "no description", 60.2, 1], ["1334", "I7N3G6G", "1334", 0, "no description", 60.2, 1], ["1335", "I7N3G6G", "1335", 0, "no description", 60.2, 1], ["1336", "I7N3G6G", "1336", 0, "no description", 60.2, 1], ["1337", "I7N3G6G", "1337", 0, "no description", 60.2, 1], ["1338", "I7N3G6G", "1338", 0, "no description", 60.2, 1], ["1339", "I7N3G6G", "1339", 0, "no description", 60.2, 1], ["1340", "I7N3G6G", "1340", 0, "no description", 60.2, 1], ["1341", "I7N3G6G", "1341", 0, "no description", 60.2, 1], ["1342", "I7N3G6G", "1342", 0, "no description", 60.2, 1], ["1343", "I7N3G6G", "1343", 0, "no description", 60.2, 1], ["1344", "I7N3G6G", "1344", 0, "no description", 60.2, 1], ["1345", "I7N3G6G", "1345", 0, "no description", 60.2, 1], ["1346", "I7N3G6G", "1346", 0, "no description", 60.2, 1], ["1347", "I7N3G6G", "1347", 0, "no description", 60.2, 1], ["1348", "I7N3G6G", "1348", 0, "no description", 60.2, 1], ["1349", "I7N3G6G", "1349", 0, "no description", 60.2, 1], ["1350", "I7N3G6G", "1350", 0, "no description", 60.2, 1], ["1351", "I7N3G6G", "1351", 0, "no description", 60.2, 1], ["1352", "I7N3G6G", "1352", 0, "no description", 60.2, 1], ["1353", "I7N3G6G", "1353", 0, "no description", 60.2, 1], ["1354", "I7N3G6G", "1354", 0, "no description", 60.2, 1], ["1355", "I7N3G6G", "1355", 0, "no description", 60.2, 1], ["1356", "I7N3G6G", "1356", 0, "no description", 60.2, 1], ["1357", "I7N3G6G", "1357", 0, "no description", 60.2, 1], ["1358", "I7N3G6G", "1358", 0, "no description", 60.2, 1], ["1359", "I7N3G6G", "1359", 0, "no description", 60.2, 1], ["1360", "I7N3G6G", "1360", 0, "no description", 60.2, 1], ["1361", "I7N3G6G", "1361", 0, "no description", 60.2, 1], ["1362", "I7N3G6G", "1362", 0, "no description", 60.2, 1], ["1363", "I7N3G6G", "1363", 0, "no description", 60.2, 1], ["1364", "I7N3G6G", "1364", 0, "no description", 60.2, 1], ["1365", "I7N3G6G", "1365", 0, "no description", 60.2, 1], ["1366", "I7N3G6G", "1366", 0, "no description", 60.2, 1], ["1367", "I7N3G6G", "1367", 0, "no description", 60.2, 1], ["1368", "I7N3G6G", "1368", 0, "no description", 60.2, 1], ["1369", "I7N3G6G", "1369", 0, "no description", 60.2, 1], ["1370", "I7N3G6G", "1370", 0, "no description", 60.2, 1], ["1371", "I7N3G6G", "1371", 0, "no description", 60.2, 1], ["1372", "I7N3G6G", "1372", 0, "no description", 60.2, 1], ["1373", "I7N3G6G", "1373", 0, "no description", 60.2, 1], ["1374", "I7N3G6G", "1374", 0, "no description", 60.2, 1], ["1375", "I7N3G6G", "1375", 0, "no description", 60.2, 1], ["1376", "I7N3G6G", "1376", 0, "no description", 60.2, 1], ["1377", "I7N3G6G", "1377", 0, "no description", 60.2, 1], ["1378", "I7N3G6G", "1378", 0, "no description", 60.2, 1], ["1379", "I7N3G6G", "1379", 0, "no description", 60.2, 1], ["1380", "I7N3G6G", "1380", 0, "no description", 60.2, 1], ["1381", "I7N3G6G", "1381", 0, "no description", 60.2, 1], ["1382", "I7N3G6G", "1382", 0, "no description", 60.2, 1], ["1383", "I7N3G6G", "1383", 0, "no description", 60.2, 1], ["1384", "I7N3G6G", "1384", 0, "no description", 60.2, 1], ["1385", "I7N3G6G", "1385", 0, "no description", 60.2, 1], ["1386", "I7N3G6G", "1386", 0, "no description", 60.2, 1], ["1387", "I7N3G6G", "1387", 0, "no description", 60.2, 1], ["1388", "I7N3G6G", "1388", 0, "no description", 60.2, 1], ["1389", "I7N3G6G", "1389", 0, "no description", 60.2, 1], ["1390", "I7N3G6G", "1390", 0, "no description", 60.2, 1], ["1391", "I7N3G6G", "1391", 0, "no description", 60.2, 1], ["1392", "I7N3G6G", "1392", 0, "no description", 60.2, 1], ["1393", "I7N3G6G", "1393", 0, "no description", 60.2, 1], ["1394", "I7N3G6G", "1394", 0, "no description", 60.2, 1], ["1395", "I7N3G6G", "1395", 0, "no description", 60.2, 1], ["1396", "I7N3G6G", "1396", 0, "no description", 60.2, 1], ["1397", "I7N3G6G", "1397", 0, "no description", 60.2, 1], ["1398", "I7N3G6G", "1398", 0, "no description", 60.2, 1], ["1399", "I7N3G6G", "1399", 0, "no description", 60.2, 1], ["1400", "I7N3G6G", "1400", 0, "no description", 60.2, 1], ["1401", "I7N3G6G", "1401", 0, "no description", 60.2, 1], ["1402", "I7N3G6G", "1402", 0, "no description", 60.2, 1], ["1403", "I7N3G6G", "1403", 0, "no description", 60.2, 1], ["1404", "I7N3G6G", "1404", 0, "no description", 60.2, 1], ["1405", "I7N3G6G", "1405", 0, "no description", 60.2, 1], ["1406", "I7N3G6G", "1406", 0, "no description", 60.2, 1], ["1407", "I7N3G6G", "1407", 0, "no description", 60.2, 1], ["1408", "I7N3G6G", "1408", 0, "no description", 60.2, 1], ["1409", "I7N3G6G", "1409", 0, "no description", 60.2, 1], ["1410", "I7N3G6G", "1410", 0, "no description", 60.2, 1], ["1411", "I7N3G6G", "1411", 0, "no description", 60.2, 1], ["1412", "I7N3G6G", "1412", 0, "no description", 60.2, 1], ["1413", "I7N3G6G", "1413", 0, "no description", 60.2, 1], ["1414", "I7N3G6G", "1414", 0, "no description", 60.2, 1], ["1415", "I7N3G6G", "1415", 0, "no description", 60.2, 1], ["1416", "I7N3G6G", "1416", 0, "no description", 60.2, 1], ["1417", "I7N3G6G", "1417", 0, "no description", 60.2, 1], ["1418", "I7N3G6G", "1418", 0, "no description", 60.2, 1], ["1419", "I7N3G6G", "1419", 0, "no description", 60.2, 1], ["1420", "I7N3G6G", "1420", 0, "no description", 60.2, 1], ["1421", "I7N3G6G", "1421", 0, "no description", 60.2, 1], ["1422", "I7N3G6G", "1422", 0, "no description", 60.2, 1], ["1423", "I7N3G6G", "1423", 0, "no description", 60.2, 1], ["1424", "I7N3G6G", "1424", 0, "no description", 60.2, 1], ["1425", "I7N3G6G", "1425", 0, "no description", 60.2, 1], ["1426", "I7N3G6G", "1426", 0, "no description", 60.2, 1], ["1427", "I7N3G6G", "1427", 0, "no description", 60.2, 1], ["1428", "I7N3G6G", "1428", 0, "no description", 60.2, 1], ["1429", "I7N3G6G", "1429", 0, "no description", 60.2, 1], ["1430", "I7N3G6G", "1430", 0, "no description", 60.2, 1], ["1431", "I7N3G6G", "1431", 0, "no description", 60.2, 1], ["1432", "I7N3G6G", "1432", 0, "no description", 60.2, 1], ["1433", "I7N3G6G", "1433", 0, "no description", 60.2, 1], ["1434", "I7N3G6G", "1434", 0, "no description", 60.2, 1], ["1435", "I7N3G6G", "1435", 0, "no description", 60.2, 1], ["1436", "I7N3G6G", "1436", 0, "no description", 60.2, 1], ["1437", "I7N3G6G", "1437", 0, "no description", 60.2, 1], ["1438", "I7N3G6G", "1438", 0, "no description", 60.2, 1], ["1439", "I7N3G6G", "1439", 0, "no description", 60.2, 1], ["1440", "I7N3G6G", "1440", 0, "no description", 60.2, 1], ["1441", "I7N3G6G", "1441", 0, "no description", 60.2, 1], ["1442", "I7N3G6G", "1442", 0, "no description", 60.2, 1], ["1443", "I7N3G6G", "1443", 0, "no description", 60.2, 1], ["1444", "I7N3G6G", "1444", 0, "no description", 60.2, 1], ["1445", "I7N3G6G", "1445", 0, "no description", 60.2, 1], ["1446", "I7N3G6G", "1446", 0, "no description", 60.2, 1], ["1447", "I7N3G6G", "1447", 0, "no description", 60.2, 1], ["1448", "I7N3G6G", "1448", 0, "no description", 60.2, 1], ["1449", "I7N3G6G", "1449", 0, "no description", 60.2, 1], ["1450", "I7N3G6G", "1450", 0, "no description", 60.2, 1], ["1451", "I7N3G6G", "1451", 0, "no description", 60.2, 1], ["1452", "I7N3G6G", "1452", 0, "no description", 60.2, 1], ["1453", "I7N3G6G", "1453", 0, "no description", 60.2, 1], ["1454", "I7N3G6G", "1454", 0, "no description", 60.2, 1], ["1455", "I7N3G6G", "1455", 0, "no description", 60.2, 1], ["1456", "I7N3G6G", "1456", 0, "no description", 60.2, 1], ["1457", "I7N3G6G", "1457", 0, "no description", 60.2, 1], ["1458", "I7N3G6G", "1458", 0, "no description", 60.2, 1], ["1459", "I7N3G6G", "1459", 0, "no description", 60.2, 1], ["1460", "I7N3G6G", "1460", 0, "no description", 60.2, 1], ["1461", "I7N3G6G", "1461", 0, "no description", 60.2, 1], ["1462", "I7N3G6G", "1462", 0, "no description", 60.2, 1], ["1463", "I7N3G6G", "1463", 0, "no description", 60.2, 1], ["1464", "I7N3G6G", "1464", 0, "no description", 60.2, 1], ["1465", "I7N3G6G", "1465", 0, "no description", 60.2, 1], ["1466", "I7N3G6G", "1466", 0, "no description", 60.2, 1], ["1467", "I7N3G6G", "1467", 0, "no description", 60.2, 1], ["1468", "I7N3G6G", "1468", 0, "no description", 60.2, 1], ["1469", "I7N3G6G", "1469", 0, "no description", 60.2, 1], ["1470", "I7N3G6G", "1470", 0, "no description", 60.2, 1], ["1471", "I7N3G6G", "1471", 0, "no description", 60.2, 1], ["1472", "I7N3G6G", "1472", 0, "no description", 60.2, 1], ["1473", "I7N3G6G", "1473", 0, "no description", 60.2, 1], ["1474", "I7N3G6G", "1474", 0, "no description", 60.2, 1], ["1475", "I7N3G6G", "1475", 0, "no description", 60.2, 1], ["1476", "I7N3G6G", "1476", 0, "no description", 60.2, 1], ["1477", "I7N3G6G", "1477", 0, "no description", 60.2, 1], ["1478", "I7N3G6G", "1478", 0, "no description", 60.2, 1], ["1479", "I7N3G6G", "1479", 0, "no description", 60.2, 1], ["1480", "I7N3G6G", "1480", 0, "no description", 60.2, 1], ["1481", "I7N3G6G", "1481", 0, "no description", 60.2, 1], ["1482", "I7N3G6G", "1482", 0, "no description", 60.2, 1], ["1483", "I7N3G6G", "1483", 0, "no description", 60.2, 1], ["1484", "I7N3G6G", "1484", 0, "no description", 60.2, 1], ["1485", "I7N3G6G", "1485", 0, "no description", 60.2, 1], ["1486", "I7N3G6G", "1486", 0, "no description", 60.2, 1], ["1487", "I7N3G6G", "1487", 0, "no description", 60.2, 1], ["1488", "I7N3G6G", "1488", 0, "no description", 60.2, 1], ["1489", "I7N3G6G", "1489", 0, "no description", 60.2, 1], ["1490", "I7N3G6G", "1490", 0, "no description", 60.2, 1], ["1491", "I7N3G6G", "1491", 0, "no description", 60.2, 1], ["1492", "I7N3G6G", "1492", 0, "no description", 60.2, 1], ["1493", "I7N3G6G", "1493", 0, "no description", 60.2, 1], ["1494", "I7N3G6G", "1494", 0, "no description", 60.2, 1], ["1495", "I7N3G6G", "1495", 0, "no description", 60.2, 1], ["1496", "I7N3G6G", "1496", 0, "no description", 60.2, 1], ["1497", "I7N3G6G", "1497", 0, "no description", 60.2, 1], ["1498", "I7N3G6G", "1498", 0, "no description", 60.2, 1], ["1499", "I7N3G6G", "1499", 0, "no description", 60.2, 1], ["1500", "I7N3G6G", "1500", 0, "no description", 60.2, 1], ["1501", "I7N3G6G", "1501", 0, "no description", 60.2, 1], ["1502", "I7N3G6G", "1502", 0, "no description", 60.2, 1], ["1503", "I7N3G6G", "1503", 0, "no description", 60.2, 1], ["1504", "I7N3G6G", "1504", 0, "no description", 60.2, 1], ["1505", "I7N3G6G", "1505", 0, "no description", 60.2, 1], ["1506", "I7N3G6G", "1506", 0, "no description", 60.2, 1], ["1507", "I7N3G6G", "1507", 0, "no description", 60.2, 1], ["1508", "I7N3G6G", "1508", 0, "no description", 60.2, 1], ["1509", "I7N3G6G", "1509", 0, "no description", 60.2, 1], ["1510", "I7N3G6G", "1510", 0, "no description", 60.2, 1], ["1511", "I7N3G6G", "1511", 0, "no description", 60.2, 1], ["1512", "I7N3G6G", "1512", 0, "no description", 60.2, 1], ["1513", "I7N3G6G", "1513", 0, "no description", 60.2, 1], ["1514", "I7N3G6G", "1514", 0, "no description", 60.2, 1], ["1515", "I7N3G6G", "1515", 0, "no description", 60.2, 1], ["1516", "I7N3G6G", "1516", 0, "no description", 60.2, 1], ["1517", "I7N3G6G", "1517", 0, "no description", 60.2, 1], ["1518", "I7N3G6G", "1518", 0, "no description", 60.2, 1], ["1519", "I7N3G6G", "1519", 0, "no description", 60.2, 1], ["1520", "I7N3G6G", "1520", 0, "no description", 60.2, 1], ["1521", "I7N3G6G", "1521", 0, "no description", 60.2, 1], ["1522", "I7N3G6G", "1522", 0, "no description", 60.2, 1], ["1523", "I7N3G6G", "1523", 0, "no description", 60.2, 1], ["1524", "I7N3G6G", "1524", 0, "no description", 60.2, 1], ["1525", "I7N3G6G", "1525", 0, "no description", 60.2, 1], ["1526", "I7N3G6G", "1526", 0, "no description", 60.2, 1], ["1527", "I7N3G6G", "1527", 0, "no description", 60.2, 1], ["1528", "I7N3G6G", "1528", 0, "no description", 60.2, 1], ["1529", "I7N3G6G", "1529", 0, "no description", 60.2, 1], ["1530", "I7N3G6G", "1530", 0, "no description", 60.2, 1], ["1531", "I7N3G6G", "1531", 0, "no description", 60.2, 1], ["1532", "I7N3G6G", "1532", 0, "no description", 60.2, 1], ["1533", "I7N3G6G", "1533", 0, "no description", 60.2, 1], ["1534", "I7N3G6G", "1534", 0, "no description", 60.2, 1], ["1535", "I7N3G6G", "1535", 0, "no description", 60.2, 1], ["1536", "I7N3G6G", "1536", 0, "no description", 60.2, 1], ["1537", "I7N3G6G", "1537", 0, "no description", 60.2, 1], ["1538", "I7N3G6G", "1538", 0, "no description", 60.2, 1], ["1539", "I7N3G6G", "1539", 0, "no description", 60.2, 1], ["1540", "I7N3G6G", "1540", 0, "no description", 60.2, 1], ["1541", "I7N3G6G", "1541", 0, "no description", 60.2, 1], ["1542", "I7N3G6G", "1542", 0, "no description", 60.2, 1], ["1543", "I7N3G6G", "1543", 0, "no description", 60.2, 1], ["1544", "I7N3G6G", "1544", 0, "no description", 60.2, 1], ["1545", "I7N3G6G", "1545", 0, "no description", 60.2, 1], ["1546", "I7N3G6G", "1546", 0, "no description", 60.2, 1], ["1547", "I7N3G6G", "1547", 0, "no description", 60.2, 1], ["1548", "I7N3G6G", "1548", 0, "no description", 60.2, 1], ["1549", "I7N3G6G", "1549", 0, "no description", 60.2, 1], ["1550", "I7N3G6G", "1550", 0, "no description", 60.2, 1], ["1551", "I7N3G6G", "1551", 0, "no description", 60.2, 1], ["1552", "I7N3G6G", "1552", 0, "no description", 60.2, 1], ["1553", "I7N3G6G", "1553", 0, "no description", 60.2, 1], ["1554", "I7N3G6G", "1554", 0, "no description", 60.2, 1], ["1555", "I7N3G6G", "1555", 0, "no description", 60.2, 1], ["1556", "I7N3G6G", "1556", 0, "no description", 60.2, 1], ["1557", "I7N3G6G", "1557", 0, "no description", 60.2, 1], ["1558", "I7N3G6G", "1558", 0, "no description", 60.2, 1], ["1559", "I7N3G6G", "1559", 0, "no description", 60.2, 1], ["1560", "I7N3G6G", "1560", 0, "no description", 60.2, 1], ["1561", "I7N3G6G", "1561", 0, "no description", 60.2, 1], ["1562", "I7N3G6G", "1562", 0, "no description", 60.2, 1], ["1563", "I7N3G6G", "1563", 0, "no description", 60.2, 1], ["1564", "I7N3G6G", "1564", 0, "no description", 60.2, 1], ["1565", "I7N3G6G", "1565", 0, "no description", 60.2, 1], ["1566", "I7N3G6G", "1566", 0, "no description", 60.2, 1], ["1567", "I7N3G6G", "1567", 0, "no description", 60.2, 1], ["1568", "I7N3G6G", "1568", 0, "no description", 60.2, 1], ["1569", "I7N3G6G", "1569", 0, "no description", 60.2, 1], ["1570", "I7N3G6G", "1570", 0, "no description", 60.2, 1], ["1571", "I7N3G6G", "1571", 0, "no description", 60.2, 1], ["1572", "I7N3G6G", "1572", 0, "no description", 60.2, 1], ["1573", "I7N3G6G", "1573", 0, "no description", 60.2, 1], ["1574", "I7N3G6G", "1574", 0, "no description", 60.2, 1], ["1575", "I7N3G6G", "1575", 0, "no description", 60.2, 1], ["1576", "I7N3G6G", "1576", 0, "no description", 60.2, 1], ["1577", "I7N3G6G", "1577", 0, "no description", 60.2, 1], ["1578", "I7N3G6G", "1578", 0, "no description", 60.2, 1], ["1579", "I7N3G6G", "1579", 0, "no description", 60.2, 1], ["1580", "I7N3G6G", "1580", 0, "no description", 60.2, 1], ["1581", "I7N3G6G", "1581", 0, "no description", 60.2, 1], ["1582", "I7N3G6G", "1582", 0, "no description", 60.2, 1], ["1583", "I7N3G6G", "1583", 0, "no description", 60.2, 1], ["1584", "I7N3G6G", "1584", 0, "no description", 60.2, 1], ["1585", "I7N3G6G", "1585", 0, "no description", 60.2, 1], ["1586", "I7N3G6G", "1586", 0, "no description", 60.2, 1], ["1587", "I7N3G6G", "1587", 0, "no description", 60.2, 1], ["1588", "I7N3G6G", "1588", 0, "no description", 60.2, 1], ["1589", "I7N3G6G", "1589", 0, "no description", 60.2, 1], ["1590", "I7N3G6G", "1590", 0, "no description", 60.2, 1], ["1591", "I7N3G6G", "1591", 0, "no description", 60.2, 1], ["1592", "I7N3G6G", "1592", 0, "no description", 60.2, 1], ["1593", "I7N3G6G", "1593", 0, "no description", 60.2, 1], ["1594", "I7N3G6G", "1594", 0, "no description", 60.2, 1], ["1595", "I7N3G6G", "1595", 0, "no description", 60.2, 1], ["1596", "I7N3G6G", "1596", 0, "no description", 60.2, 1], ["1597", "I7N3G6G", "1597", 0, "no description", 60.2, 1], ["1598", "I7N3G6G", "1598", 0, "no description", 60.2, 1], ["1599", "I7N3G6G", "1599", 0, "no description", 60.2, 1], ["1600", "I7N3G6G", "1600", 0, "no description", 60.2, 1], ["1601", "I7N3G6G", "1601", 0, "no description", 60.2, 1], ["1602", "I7N3G6G", "1602", 0, "no description", 60.2, 1], ["1603", "I7N3G6G", "1603", 0, "no description", 60.2, 1], ["1604", "I7N3G6G", "1604", 0, "no description", 60.2, 1], ["1605", "I7N3G6G", "1605", 0, "no description", 60.2, 1], ["1606", "I7N3G6G", "1606", 0, "no description", 60.2, 1], ["1607", "I7N3G6G", "1607", 0, "no description", 60.2, 1], ["1608", "I7N3G6G", "1608", 0, "no description", 60.2, 1], ["1609", "I7N3G6G", "1609", 0, "no description", 60.2, 1], ["1610", "I7N3G6G", "1610", 0, "no description", 60.2, 1], ["1611", "I7N3G6G", "1611", 0, "no description", 60.2, 1], ["1612", "I7N3G6G", "1612", 0, "no description", 60.2, 1], ["1613", "I7N3G6G", "1613", 0, "no description", 60.2, 1], ["1614", "I7N3G6G", "1614", 0, "no description", 60.2, 1], ["1615", "I7N3G6G", "1615", 0, "no description", 60.2, 1], ["1616", "I7N3G6G", "1616", 0, "no description", 60.2, 1], ["1617", "I7N3G6G", "1617", 0, "no description", 60.2, 1], ["1618", "I7N3G6G", "1618", 0, "no description", 60.2, 1], ["1619", "I7N3G6G", "1619", 0, "no description", 60.2, 1], ["1620", "I7N3G6G", "1620", 0, "no description", 60.2, 1], ["1621", "I7N3G6G", "1621", 0, "no description", 60.2, 1], ["1622", "I7N3G6G", "1622", 0, "no description", 60.2, 1], ["1623", "I7N3G6G", "1623", 0, "no description", 60.2, 1], ["1624", "I7N3G6G", "1624", 0, "no description", 60.2, 1], ["1625", "I7N3G6G", "1625", 0, "no description", 60.2, 1], ["1626", "I7N3G6G", "1626", 0, "no description", 60.2, 1], ["1627", "I7N3G6G", "1627", 0, "no description", 60.2, 1], ["1628", "I7N3G6G", "1628", 0, "no description", 60.2, 1], ["1629", "I7N3G6G", "1629", 0, "no description", 60.2, 1], ["1630", "I7N3G6G", "1630", 0, "no description", 60.2, 1], ["1631", "I7N3G6G", "1631", 0, "no description", 60.2, 1], ["1632", "I7N3G6G", "1632", 0, "no description", 60.2, 1], ["1633", "I7N3G6G", "1633", 0, "no description", 60.2, 1], ["1634", "I7N3G6G", "1634", 0, "no description", 60.2, 1], ["1635", "I7N3G6G", "1635", 0, "no description", 60.2, 1], ["1636", "I7N3G6G", "1636", 0, "no description", 60.2, 1], ["1637", "I7N3G6G", "1637", 0, "no description", 60.2, 1], ["1638", "I7N3G6G", "1638", 0, "no description", 60.2, 1], ["1639", "I7N3G6G", "1639", 0, "no description", 60.2, 1], ["1640", "I7N3G6G", "1640", 0, "no description", 60.2, 1], ["1641", "I7N3G6G", "1641", 0, "no description", 60.2, 1], ["1642", "I7N3G6G", "1642", 0, "no description", 60.2, 1], ["1643", "I7N3G6G", "1643", 0, "no description", 60.2, 1], ["1644", "I7N3G6G", "1644", 0, "no description", 60.2, 1], ["1645", "I7N3G6G", "1645", 0, "no description", 60.2, 1], ["1646", "I7N3G6G", "1646", 0, "no description", 60.2, 1], ["1647", "I7N3G6G", "1647", 0, "no description", 60.2, 1], ["1648", "I7N3G6G", "1648", 0, "no description", 60.2, 1], ["1649", "I7N3G6G", "1649", 0, "no description", 60.2, 1], ["1650", "I7N3G6G", "1650", 0, "no description", 60.2, 1], ["1651", "I7N3G6G", "1651", 0, "no description", 60.2, 1], ["1652", "I7N3G6G", "1652", 0, "no description", 60.2, 1], ["1653", "I7N3G6G", "1653", 0, "no description", 60.2, 1], ["1654", "I7N3G6G", "1654", 0, "no description", 60.2, 1], ["1655", "I7N3G6G", "1655", 0, "no description", 60.2, 1], ["1656", "I7N3G6G", "1656", 0, "no description", 60.2, 1], ["1657", "I7N3G6G", "1657", 0, "no description", 60.2, 1], ["1658", "I7N3G6G", "1658", 0, "no description", 60.2, 1], ["1659", "I7N3G6G", "1659", 0, "no description", 60.2, 1], ["1660", "I7N3G6G", "1660", 0, "no description", 60.2, 1], ["1661", "I7N3G6G", "1661", 0, "no description", 60.2, 1], ["1662", "I7N3G6G", "1662", 0, "no description", 60.2, 1], ["1663", "I7N3G6G", "1663", 0, "no description", 60.2, 1], ["1664", "I7N3G6G", "1664", 0, "no description", 60.2, 1], ["1665", "I7N3G6G", "1665", 0, "no description", 60.2, 1], ["1666", "I7N3G6G", "1666", 0, "no description", 60.2, 1], ["1667", "I7N3G6G", "1667", 0, "no description", 60.2, 1], ["1668", "I7N3G6G", "1668", 0, "no description", 60.2, 1], ["1669", "I7N3G6G", "1669", 0, "no description", 60.2, 1], ["1670", "I7N3G6G", "1670", 0, "no description", 60.2, 1], ["1671", "I7N3G6G", "1671", 0, "no description", 60.2, 1], ["1672", "I7N3G6G", "1672", 0, "no description", 60.2, 1], ["1673", "I7N3G6G", "1673", 0, "no description", 60.2, 1], ["1674", "I7N3G6G", "1674", 0, "no description", 60.2, 1], ["1675", "I7N3G6G", "1675", 0, "no description", 60.2, 1], ["1676", "I7N3G6G", "1676", 0, "no description", 60.2, 1], ["1677", "I7N3G6G", "1677", 0, "no description", 60.2, 1], ["1678", "I7N3G6G", "1678", 0, "no description", 60.2, 1], ["1679", "I7N3G6G", "1679", 0, "no description", 60.2, 1], ["1680", "I7N3G6G", "1680", 0, "no description", 60.2, 1], ["1681", "I7N3G6G", "1681", 0, "no description", 60.2, 1], ["1682", "I7N3G6G", "1682", 0, "no description", 60.2, 1], ["1683", "I7N3G6G", "1683", 0, "no description", 60.2, 1], ["1684", "I7N3G6G", "1684", 0, "no description", 60.2, 1], ["1685", "I7N3G6G", "1685", 0, "no description", 60.2, 1], ["1686", "I7N3G6G", "1686", 0, "no description", 60.2, 1], ["1687", "I7N3G6G", "1687", 0, "no description", 60.2, 1], ["1688", "I7N3G6G", "1688", 0, "no description", 60.2, 1], ["1689", "I7N3G6G", "1689", 0, "no description", 60.2, 1], ["1690", "I7N3G6G", "1690", 0, "no description", 60.2, 1], ["1691", "I7N3G6G", "1691", 0, "no description", 60.2, 1], ["1692", "I7N3G6G", "1692", 0, "no description", 60.2, 1], ["1693", "I7N3G6G", "1693", 0, "no description", 60.2, 1], ["1694", "I7N3G6G", "1694", 0, "no description", 60.2, 1], ["1695", "I7N3G6G", "1695", 0, "no description", 60.2, 1], ["1696", "I7N3G6G", "1696", 0, "no description", 60.2, 1], ["1697", "I7N3G6G", "1697", 0, "no description", 60.2, 1], ["1698", "I7N3G6G", "1698", 0, "no description", 60.2, 1], ["1699", "I7N3G6G", "1699", 0, "no description", 60.2, 1], ["1700", "I7N3G6G", "1700", 0, "no description", 60.2, 1], ["1701", "I7N3G6G", "1701", 0, "no description", 60.2, 1], ["1702", "I7N3G6G", "1702", 0, "no description", 60.2, 1], ["1703", "I7N3G6G", "1703", 0, "no description", 60.2, 1], ["1704", "I7N3G6G", "1704", 0, "no description", 60.2, 1], ["1705", "I7N3G6G", "1705", 0, "no description", 60.2, 1], ["1706", "I7N3G6G", "1706", 0, "no description", 60.2, 1], ["1707", "I7N3G6G", "1707", 0, "no description", 60.2, 1], ["1708", "I7N3G6G", "1708", 0, "no description", 60.2, 1], ["1709", "I7N3G6G", "1709", 0, "no description", 60.2, 1], ["1710", "I7N3G6G", "1710", 0, "no description", 60.2, 1], ["1711", "I7N3G6G", "1711", 0, "no description", 60.2, 1], ["1712", "I7N3G6G", "1712", 0, "no description", 60.2, 1], ["1713", "I7N3G6G", "1713", 0, "no description", 60.2, 1], ["1714", "I7N3G6G", "1714", 0, "no description", 60.2, 1], ["1715", "I7N3G6G", "1715", 0, "no description", 60.2, 1], ["1716", "I7N3G6G", "1716", 0, "no description", 60.2, 1], ["1717", "I7N3G6G", "1717", 0, "no description", 60.2, 1], ["1718", "I7N3G6G", "1718", 0, "no description", 60.2, 1], ["1719", "I7N3G6G", "1719", 0, "no description", 60.2, 1], ["1720", "I7N3G6G", "1720", 0, "no description", 60.2, 1], ["1721", "I7N3G6G", "1721", 0, "no description", 60.2, 1], ["1722", "I7N3G6G", "1722", 0, "no description", 60.2, 1], ["1723", "I7N3G6G", "1723", 0, "no description", 60.2, 1], ["1724", "I7N3G6G", "1724", 0, "no description", 60.2, 1], ["1725", "I7N3G6G", "1725", 0, "no description", 60.2, 1], ["1726", "I7N3G6G", "1726", 0, "no description", 60.2, 1], ["1727", "I7N3G6G", "1727", 0, "no description", 60.2, 1], ["1728", "I7N3G6G", "1728", 0, "no description", 60.2, 1], ["1729", "I7N3G6G", "1729", 0, "no description", 60.2, 1], ["1730", "I7N3G6G", "1730", 0, "no description", 60.2, 1], ["1731", "I7N3G6G", "1731", 0, "no description", 60.2, 1], ["1732", "I7N3G6G", "1732", 0, "no description", 60.2, 1], ["1733", "I7N3G6G", "1733", 0, "no description", 60.2, 1], ["1734", "I7N3G6G", "1734", 0, "no description", 60.2, 1], ["1735", "I7N3G6G", "1735", 0, "no description", 60.2, 1], ["1736", "I7N3G6G", "1736", 0, "no description", 60.2, 1], ["1737", "I7N3G6G", "1737", 0, "no description", 60.2, 1], ["1738", "I7N3G6G", "1738", 0, "no description", 60.2, 1], ["1739", "I7N3G6G", "1739", 0, "no description", 60.2, 1], ["1740", "I7N3G6G", "1740", 0, "no description", 60.2, 1], ["1741", "I7N3G6G", "1741", 0, "no description", 60.2, 1], ["1742", "I7N3G6G", "1742", 0, "no description", 60.2, 1], ["1743", "I7N3G6G", "1743", 0, "no description", 60.2, 1], ["1744", "I7N3G6G", "1744", 0, "no description", 60.2, 1], ["1745", "I7N3G6G", "1745", 0, "no description", 60.2, 1], ["1746", "I7N3G6G", "1746", 0, "no description", 60.2, 1], ["1747", "I7N3G6G", "1747", 0, "no description", 60.2, 1], ["1748", "I7N3G6G", "1748", 0, "no description", 60.2, 1], ["1749", "I7N3G6G", "1749", 0, "no description", 60.2, 1], ["1750", "I7N3G6G", "1750", 0, "no description", 60.2, 1], ["1751", "I7N3G6G", "1751", 0, "no description", 60.2, 1], ["1752", "I7N3G6G", "1752", 0, "no description", 60.2, 1], ["1753", "I7N3G6G", "1753", 0, "no description", 60.2, 1], ["1754", "I7N3G6G", "1754", 0, "no description", 60.2, 1], ["1755", "I7N3G6G", "1755", 0, "no description", 60.2, 1], ["1756", "I7N3G6G", "1756", 0, "no description", 60.2, 1], ["1757", "I7N3G6G", "1757", 0, "no description", 60.2, 1], ["1758", "I7N3G6G", "1758", 0, "no description", 60.2, 1], ["1759", "I7N3G6G", "1759", 0, "no description", 60.2, 1], ["1760", "I7N3G6G", "1760", 0, "no description", 60.2, 1], ["1761", "I7N3G6G", "1761", 0, "no description", 60.2, 1], ["1762", "I7N3G6G", "1762", 0, "no description", 60.2, 1], ["1763", "I7N3G6G", "1763", 0, "no description", 60.2, 1], ["1764", "I7N3G6G", "1764", 0, "no description", 60.2, 1], ["1765", "I7N3G6G", "1765", 0, "no description", 60.2, 1], ["1766", "I7N3G6G", "1766", 0, "no description", 60.2, 1], ["1767", "I7N3G6G", "1767", 0, "no description", 60.2, 1], ["1768", "I7N3G6G", "1768", 0, "no description", 60.2, 1], ["1769", "I7N3G6G", "1769", 0, "no description", 60.2, 1], ["1770", "I7N3G6G", "1770", 0, "no description", 60.2, 1], ["1771", "I7N3G6G", "1771", 0, "no description", 60.2, 1], ["1772", "I7N3G6G", "1772", 0, "no description", 60.2, 1], ["1773", "I7N3G6G", "1773", 0, "no description", 60.2, 1], ["1774", "I7N3G6G", "1774", 0, "no description", 60.2, 1], ["1775", "I7N3G6G", "1775", 0, "no description", 60.2, 1], ["1776", "I7N3G6G", "1776", 0, "no description", 60.2, 1], ["1777", "I7N3G6G", "1777", 0, "no description", 60.2, 1], ["1778", "I7N3G6G", "1778", 0, "no description", 60.2, 1], ["1779", "I7N3G6G", "1779", 0, "no description", 60.2, 1], ["1780", "I7N3G6G", "1780", 0, "no description", 60.2, 1], ["1781", "I7N3G6G", "1781", 0, "no description", 60.2, 1], ["1782", "I7N3G6G", "1782", 0, "no description", 60.2, 1], ["1783", "I7N3G6G", "1783", 0, "no description", 60.2, 1], ["1784", "I7N3G6G", "1784", 0, "no description", 60.2, 1], ["1785", "I7N3G6G", "1785", 0, "no description", 60.2, 1], ["1786", "I7N3G6G", "1786", 0, "no description", 60.2, 1], ["1787", "I7N3G6G", "1787", 0, "no description", 60.2, 1], ["1788", "I7N3G6G", "1788", 0, "no description", 60.2, 1], ["1789", "I7N3G6G", "1789", 0, "no description", 60.2, 1], ["1790", "I7N3G6G", "1790", 0, "no description", 60.2, 1], ["1791", "I7N3G6G", "1791", 0, "no description", 60.2, 1], ["1792", "I7N3G6G", "1792", 0, "no description", 60.2, 1], ["1793", "I7N3G6G", "1793", 0, "no description", 60.2, 1], ["1794", "I7N3G6G", "1794", 0, "no description", 60.2, 1], ["1795", "I7N3G6G", "1795", 0, "no description", 60.2, 1], ["1796", "I7N3G6G", "1796", 0, "no description", 60.2, 1], ["1797", "I7N3G6G", "1797", 0, "no description", 60.2, 1], ["1798", "I7N3G6G", "1798", 0, "no description", 60.2, 1], ["1799", "I7N3G6G", "1799", 0, "no description", 60.2, 1], ["1800", "I7N3G6G", "1800", 0, "no description", 60.2, 1], ["1801", "I7N3G6G", "1801", 0, "no description", 60.2, 1], ["1802", "I7N3G6G", "1802", 0, "no description", 60.2, 1], ["1803", "I7N3G6G", "1803", 0, "no description", 60.2, 1], ["1804", "I7N3G6G", "1804", 0, "no description", 60.2, 1], ["1805", "I7N3G6G", "1805", 0, "no description", 60.2, 1], ["1806", "I7N3G6G", "1806", 0, "no description", 60.2, 1], ["1807", "I7N3G6G", "1807", 0, "no description", 60.2, 1], ["1808", "I7N3G6G", "1808", 0, "no description", 60.2, 1], ["1809", "I7N3G6G", "1809", 0, "no description", 60.2, 1], ["1810", "I7N3G6G", "1810", 0, "no description", 60.2, 1], ["1811", "I7N3G6G", "1811", 0, "no description", 60.2, 1], ["1812", "I7N3G6G", "1812", 0, "no description", 60.2, 1], ["1813", "I7N3G6G", "1813", 0, "no description", 60.2, 1], ["1814", "I7N3G6G", "1814", 0, "no description", 60.2, 1], ["1815", "I7N3G6G", "1815", 0, "no description", 60.2, 1], ["1816", "I7N3G6G", "1816", 0, "no description", 60.2, 1], ["1817", "I7N3G6G", "1817", 0, "no description", 60.2, 1], ["1818", "I7N3G6G", "1818", 0, "no description", 60.2, 1], ["1819", "I7N3G6G", "1819", 0, "no description", 60.2, 1], ["1820", "I7N3G6G", "1820", 0, "no description", 60.2, 1], ["1821", "I7N3G6G", "1821", 0, "no description", 60.2, 1], ["1822", "I7N3G6G", "1822", 0, "no description", 60.2, 1], ["1823", "I7N3G6G", "1823", 0, "no description", 60.2, 1], ["1824", "I7N3G6G", "1824", 0, "no description", 60.2, 1], ["1825", "I7N3G6G", "1825", 0, "no description", 60.2, 1], ["1826", "I7N3G6G", "1826", 0, "no description", 60.2, 1], ["1827", "I7N3G6G", "1827", 0, "no description", 60.2, 1], ["1828", "I7N3G6G", "1828", 0, "no description", 60.2, 1], ["1829", "I7N3G6G", "1829", 0, "no description", 60.2, 1], ["1830", "I7N3G6G", "1830", 0, "no description", 60.2, 1], ["1831", "I7N3G6G", "1831", 0, "no description", 60.2, 1], ["1832", "I7N3G6G", "1832", 0, "no description", 60.2, 1], ["1833", "I7N3G6G", "1833", 0, "no description", 60.2, 1], ["1834", "I7N3G6G", "1834", 0, "no description", 60.2, 1], ["1835", "I7N3G6G", "1835", 0, "no description", 60.2, 1], ["1836", "I7N3G6G", "1836", 0, "no description", 60.2, 1], ["1837", "I7N3G6G", "1837", 0, "no description", 60.2, 1], ["1838", "I7N3G6G", "1838", 0, "no description", 60.2, 1], ["1839", "I7N3G6G", "1839", 0, "no description", 60.2, 1], ["1840", "I7N3G6G", "1840", 0, "no description", 60.2, 1], ["1841", "I7N3G6G", "1841", 0, "no description", 60.2, 1], ["1842", "I7N3G6G", "1842", 0, "no description", 60.2, 1], ["1843", "I7N3G6G", "1843", 0, "no description", 60.2, 1], ["1844", "I7N3G6G", "1844", 0, "no description", 60.2, 1], ["1845", "I7N3G6G", "1845", 0, "no description", 60.2, 1], ["1846", "I7N3G6G", "1846", 0, "no description", 60.2, 1], ["1847", "I7N3G6G", "1847", 0, "no description", 60.2, 1], ["1848", "I7N3G6G", "1848", 0, "no description", 60.2, 1], ["1849", "I7N3G6G", "1849", 0, "no description", 60.2, 1], ["1850", "I7N3G6G", "1850", 0, "no description", 60.2, 1], ["1851", "I7N3G6G", "1851", 0, "no description", 60.2, 1], ["1852", "I7N3G6G", "1852", 0, "no description", 60.2, 1], ["1853", "I7N3G6G", "1853", 0, "no description", 60.2, 1], ["1854", "I7N3G6G", "1854", 0, "no description", 60.2, 1], ["1855", "I7N3G6G", "1855", 0, "no description", 60.2, 1], ["1856", "I7N3G6G", "1856", 0, "no description", 60.2, 1], ["1857", "I7N3G6G", "1857", 0, "no description", 60.2, 1], ["1858", "I7N3G6G", "1858", 0, "no description", 60.2, 1], ["1859", "I7N3G6G", "1859", 0, "no description", 60.2, 1], ["1860", "I7N3G6G", "1860", 0, "no description", 60.2, 1], ["1861", "I7N3G6G", "1861", 0, "no description", 60.2, 1], ["1862", "I7N3G6G", "1862", 0, "no description", 60.2, 1], ["1863", "I7N3G6G", "1863", 0, "no description", 60.2, 1], ["1864", "I7N3G6G", "1864", 0, "no description", 60.2, 1], ["1865", "I7N3G6G", "1865", 0, "no description", 60.2, 1], ["1866", "I7N3G6G", "1866", 0, "no description", 60.2, 1], ["1867", "I7N3G6G", "1867", 0, "no description", 60.2, 1], ["1868", "I7N3G6G", "1868", 0, "no description", 60.2, 1], ["1869", "I7N3G6G", "1869", 0, "no description", 60.2, 1], ["1870", "I7N3G6G", "1870", 0, "no description", 60.2, 1], ["1871", "I7N3G6G", "1871", 0, "no description", 60.2, 1], ["1872", "I7N3G6G", "1872", 0, "no description", 60.2, 1], ["1873", "I7N3G6G", "1873", 0, "no description", 60.2, 1], ["1874", "I7N3G6G", "1874", 0, "no description", 60.2, 1], ["1875", "I7N3G6G", "1875", 0, "no description", 60.2, 1], ["1876", "I7N3G6G", "1876", 0, "no description", 60.2, 1], ["1877", "I7N3G6G", "1877", 0, "no description", 60.2, 1], ["1878", "I7N3G6G", "1878", 0, "no description", 60.2, 1], ["1879", "I7N3G6G", "1879", 0, "no description", 60.2, 1], ["1880", "I7N3G6G", "1880", 0, "no description", 60.2, 1], ["1881", "I7N3G6G", "1881", 0, "no description", 60.2, 1], ["1882", "I7N3G6G", "1882", 0, "no description", 60.2, 1], ["1883", "I7N3G6G", "1883", 0, "no description", 60.2, 1], ["1884", "I7N3G6G", "1884", 0, "no description", 60.2, 1], ["1885", "I7N3G6G", "1885", 0, "no description", 60.2, 1], ["1886", "I7N3G6G", "1886", 0, "no description", 60.2, 1], ["1887", "I7N3G6G", "1887", 0, "no description", 60.2, 1], ["1888", "I7N3G6G", "1888", 0, "no description", 60.2, 1], ["1889", "I7N3G6G", "1889", 0, "no description", 60.2, 1], ["1890", "I7N3G6G", "1890", 0, "no description", 60.2, 1], ["1891", "I7N3G6G", "1891", 0, "no description", 60.2, 1], ["1892", "I7N3G6G", "1892", 0, "no description", 60.2, 1], ["1893", "I7N3G6G", "1893", 0, "no description", 60.2, 1], ["1894", "I7N3G6G", "1894", 0, "no description", 60.2, 1], ["1895", "I7N3G6G", "1895", 0, "no description", 60.2, 1], ["1896", "I7N3G6G", "1896", 0, "no description", 60.2, 1], ["1897", "I7N3G6G", "1897", 0, "no description", 60.2, 1], ["1898", "I7N3G6G", "1898", 0, "no description", 60.2, 1], ["1899", "I7N3G6G", "1899", 0, "no description", 60.2, 1], ["1900", "I7N3G6G", "1900", 0, "no description", 60.2, 1], ["1901", "I7N3G6G", "1901", 0, "no description", 60.2, 1], ["1902", "I7N3G6G", "1902", 0, "no description", 60.2, 1], ["1903", "I7N3G6G", "1903", 0, "no description", 60.2, 1], ["1904", "I7N3G6G", "1904", 0, "no description", 60.2, 1], ["1905", "I7N3G6G", "1905", 0, "no description", 60.2, 1], ["1906", "I7N3G6G", "1906", 0, "no description", 60.2, 1], ["1907", "I7N3G6G", "1907", 0, "no description", 60.2, 1], ["1908", "I7N3G6G", "1908", 0, "no description", 60.2, 1], ["1909", "I7N3G6G", "1909", 0, "no description", 60.2, 1], ["1910", "I7N3G6G", "1910", 0, "no description", 60.2, 1], ["1911", "I7N3G6G", "1911", 0, "no description", 60.2, 1], ["1912", "I7N3G6G", "1912", 0, "no description", 60.2, 1], ["1913", "I7N3G6G", "1913", 0, "no description", 60.2, 1], ["1914", "I7N3G6G", "1914", 0, "no description", 60.2, 1], ["1915", "I7N3G6G", "1915", 0, "no description", 60.2, 1], ["1916", "I7N3G6G", "1916", 0, "no description", 60.2, 1], ["1917", "I7N3G6G", "1917", 0, "no description", 60.2, 1], ["1918", "I7N3G6G", "1918", 0, "no description", 60.2, 1], ["1919", "I7N3G6G", "1919", 0, "no description", 60.2, 1], ["1920", "I7N3G6G", "1920", 0, "no description", 60.2, 1], ["1921", "I7N3G6G", "1921", 0, "no description", 60.2, 1], ["1922", "I7N3G6G", "1922", 0, "no description", 60.2, 1], ["1923", "I7N3G6G", "1923", 0, "no description", 60.2, 1], ["1924", "I7N3G6G", "1924", 0, "no description", 60.2, 1], ["1925", "I7N3G6G", "1925", 0, "no description", 60.2, 1], ["1926", "I7N3G6G", "1926", 0, "no description", 60.2, 1], ["1927", "I7N3G6G", "1927", 0, "no description", 60.2, 1], ["1928", "I7N3G6G", "1928", 0, "no description", 60.2, 1], ["1929", "I7N3G6G", "1929", 0, "no description", 60.2, 1], ["1930", "I7N3G6G", "1930", 0, "no description", 60.2, 1], ["1931", "I7N3G6G", "1931", 0, "no description", 60.2, 1], ["1932", "I7N3G6G", "1932", 0, "no description", 60.2, 1], ["1933", "I7N3G6G", "1933", 0, "no description", 60.2, 1], ["1934", "I7N3G6G", "1934", 0, "no description", 60.2, 1], ["1935", "I7N3G6G", "1935", 0, "no description", 60.2, 1], ["1936", "I7N3G6G", "1936", 0, "no description", 60.2, 1], ["1937", "I7N3G6G", "1937", 0, "no description", 60.2, 1], ["1938", "I7N3G6G", "1938", 0, "no description", 60.2, 1], ["1939", "I7N3G6G", "1939", 0, "no description", 60.2, 1], ["1940", "I7N3G6G", "1940", 0, "no description", 60.2, 1], ["1941", "I7N3G6G", "1941", 0, "no description", 60.2, 1], ["1942", "I7N3G6G", "1942", 0, "no description", 60.2, 1], ["1943", "I7N3G6G", "1943", 0, "no description", 60.2, 1], ["1944", "I7N3G6G", "1944", 0, "no description", 60.2, 1], ["1945", "I7N3G6G", "1945", 0, "no description", 60.2, 1], ["1946", "I7N3G6G", "1946", 0, "no description", 60.2, 1], ["1947", "I7N3G6G", "1947", 0, "no description", 60.2, 1], ["1948", "I7N3G6G", "1948", 0, "no description", 60.2, 1], ["1949", "I7N3G6G", "1949", 0, "no description", 60.2, 1], ["1950", "I7N3G6G", "1950", 0, "no description", 60.2, 1], ["1951", "I7N3G6G", "1951", 0, "no description", 60.2, 1], ["1952", "I7N3G6G", "1952", 0, "no description", 60.2, 1], ["1953", "I7N3G6G", "1953", 0, "no description", 60.2, 1], ["1954", "I7N3G6G", "1954", 0, "no description", 60.2, 1], ["1955", "I7N3G6G", "1955", 0, "no description", 60.2, 1], ["1956", "I7N3G6G", "1956", 0, "no description", 60.2, 1], ["1957", "I7N3G6G", "1957", 0, "no description", 60.2, 1], ["1958", "I7N3G6G", "1958", 0, "no description", 60.2, 1], ["1959", "I7N3G6G", "1959", 0, "no description", 60.2, 1], ["1960", "I7N3G6G", "1960", 0, "no description", 60.2, 1], ["1961", "I7N3G6G", "1961", 0, "no description", 60.2, 1], ["1962", "I7N3G6G", "1962", 0, "no description", 60.2, 1], ["1963", "I7N3G6G", "1963", 0, "no description", 60.2, 1], ["1964", "I7N3G6G", "1964", 0, "no description", 60.2, 1], ["1965", "I7N3G6G", "1965", 0, "no description", 60.2, 1], ["1966", "I7N3G6G", "1966", 0, "no description", 60.2, 1], ["1967", "I7N3G6G", "1967", 0, "no description", 60.2, 1], ["1968", "I7N3G6G", "1968", 0, "no description", 60.2, 1], ["1969", "I7N3G6G", "1969", 0, "no description", 60.2, 1], ["1970", "I7N3G6G", "1970", 0, "no description", 60.2, 1], ["1971", "I7N3G6G", "1971", 0, "no description", 60.2, 1], ["1972", "I7N3G6G", "1972", 0, "no description", 60.2, 1], ["1973", "I7N3G6G", "1973", 0, "no description", 60.2, 1], ["1974", "I7N3G6G", "1974", 0, "no description", 60.2, 1], ["1975", "I7N3G6G", "1975", 0, "no description", 60.2, 1], ["1976", "I7N3G6G", "1976", 0, "no description", 60.2, 1], ["1977", "I7N3G6G", "1977", 0, "no description", 60.2, 1], ["1978", "I7N3G6G", "1978", 0, "no description", 60.2, 1], ["1979", "I7N3G6G", "1979", 0, "no description", 60.2, 1], ["1980", "I7N3G6G", "1980", 0, "no description", 60.2, 1], ["1981", "I7N3G6G", "1981", 0, "no description", 60.2, 1], ["1982", "I7N3G6G", "1982", 0, "no description", 60.2, 1], ["1983", "I7N3G6G", "1983", 0, "no description", 60.2, 1], ["1984", "I7N3G6G", "1984", 0, "no description", 60.2, 1], ["1985", "I7N3G6G", "1985", 0, "no description", 60.2, 1], ["1986", "I7N3G6G", "1986", 0, "no description", 60.2, 1], ["1987", "I7N3G6G", "1987", 0, "no description", 60.2, 1], ["1988", "I7N3G6G", "1988", 0, "no description", 60.2, 1], ["1989", "I7N3G6G", "1989", 0, "no description", 60.2, 1], ["1990", "I7N3G6G", "1990", 0, "no description", 60.2, 1], ["1991", "I7N3G6G", "1991", 0, "no description", 60.2, 1], ["1992", "I7N3G6G", "1992", 0, "no description", 60.2, 1], ["1993", "I7N3G6G", "1993", 0, "no description", 60.2, 1], ["1994", "I7N3G6G", "1994", 0, "no description", 60.2, 1], ["1995", "I7N3G6G", "1995", 0, "no description", 60.2, 1], ["1996", "I7N3G6G", "1996", 0, "no description", 60.2, 1], ["1997", "I7N3G6G", "1997", 0, "no description", 60.2, 1], ["1998", "I7N3G6G", "1998", 0, "no description", 60.2, 1], ["1999", "I7N3G6G", "1999", 0, "no description", 60.2, 1], ["2000", "I7N3G6G", "2000", 0, "no description", 60.2, 1], ["2001", "I7N3G6G", "2001", 0, "no description", 60.2], ["2002", "I7N3G6G", "2002", 0, "no description", 60.2, 1], ["2003", "I7N3G6G", "2003", 0, "no description"], ["2004", "I7N3G6G", "2004", 0, "no description", 60.2, 1], ["2005", "I7N3G6G", "2005", 0, "no description", 60.2, 1], ["2006", "I7N3G6G", "2006", 0, "no description", 60.2, 1], ["2007", "I7N3G6G", "2007", 0, "no description", 60.2, 1], ["2008", "I7N3G6G", "2008", 0, "no description", 60.2, 1], ["2009", "I7N3G6G", "2009", 0, "no description", 60.2, 1], ["2010", "I7N3G6G", "2010", 0, "no description", 60.2, 1], ["2011", "I7N3G6G", "2011", 0, "no description", 60.2, 1], ["2012", "I7N3G6G", "2012", 0, "no description", 60.2, 1], ["2013", "I7N3G6G", "2013", 0, "no description", 60.2, 1], ["2014", "I7N3G6G", "2014", 0, "no description", 60.2, 1], ["2015", "I7N3G6G", "2015", 0, "no description", 60.2, 1], ["2016", "I7N3G6G", "2016", 0, "no description", 60.2, 1], ["2017", "I7N3G6G", "2017", 0, "no description", 60.2, 1], ["2018", "I7N3G6G", "2018", 0, "no description", 60.2, 1], ["2019", "I7N3G6G", "2019", 0, "no description", 60.2, 1], ["2020", "I7N3G6G", "2020", 0, "no description", 60.2, 1], ["2021", "I7N3G6G", "2021", 0, "no description", 60.2, 1], ["2022", "I7N3G6G", "2022", 0, "no description", 60.2, 1], ["2023", "I7N3G6G", "2023", 0, "no description", 60.2, 1], ["2024", "I7N3G6G", "2024", 0, "no description", 60.2, 1], ["2025", "I7N3G6G", "2025", 0, "no description", 60.2, 1], ["2026", "I7N3G6G", "2026", 0, "no description", 60.2, 1], ["2027", "I7N3G6G", "2027", 0, "no description", 60.2, 1], ["2028", "I7N3G6G", "2028", 0, "no description", 60.2, 1], ["2029", "I7N3G6G", "2029", 0, "no description", 60.2, 1], ["2030", "I7N3G6G", "2030", 0, "no description", 60.2, 1], ["2031", "I7N3G6G", "2031", 0, "no description", 60.2, 1], ["2032", "I7N3G6G", "2032", 0, "no description", 60.2, 1], ["2033", "I7N3G6G", "2033", 0, "no description", 60.2, 1], ["2034", "I7N3G6G", "2034", 0, "no description", 60.2, 1], ["2035", "I7N3G6G", "2035", 0, "no description", 60.2, 1], ["2036", "I7N3G6G", "2036", 0, "no description", 60.2, 1], ["2037", "I7N3G6G", "2037", 0, "no description", 60.2, 1], ["2038", "I7N3G6G", "2038", 0, "no description", 60.2, 1], ["2039", "I7N3G6G", "2039", 0, "no description", 60.2, 1], ["2040", "I7N3G6G", "2040", 0, "no description", 60.2, 1], ["2041", "I7N3G6G", "2041", 0, "no description", 60.2, 1], ["2042", "I7N3G6G", "2042", 0, "no description", 60.2, 1], ["2043", "I7N3G6G", "2043", 0, "no description", 60.2, 1], ["2044", "I7N3G6G", "2044", 0, "no description", 60.2, 1], ["2045", "I7N3G6G", "2045", 0, "no description", 60.2, 1], ["2046", "I7N3G6G", "2046", 0, "no description", 60.2, 1], ["2047", "I7N3G6G", "2047", 0, "no description", 60.2, 1], ["2048", "I7N3G6G", "2048", 0, "no description", 60.2, 1], ["2049", "I7N3G6G", "2049", 0, "no description", 60.2, 1], ["2050", "I7N3G6G", "2050", 0, "no description", 60.2, 1], ["2051", "I7N3G6G", "2051", 0, "no description", 60.2, 1], ["2052", "I7N3G6G", "2052", 0, "no description", 60.2, 1], ["2053", "I7N3G6G", "2053", 0, "no description", 60.2, 1], ["2054", "I7N3G6G", "2054", 0, "no description", 60.2, 1], ["2055", "I7N3G6G", "2055", 0, "no description", 60.2, 1], ["2056", "I7N3G6G", "2056", 0, "no description", 60.2, 1], ["2057", "I7N3G6G", "2057", 0, "no description", 60.2, 1], ["2058", "I7N3G6G", "2058", 0, "no description", 60.2, 1], ["2059", "I7N3G6G", "2059", 0, "no description", 60.2, 1], ["2060", "I7N3G6G", "2060", 0, "no description", 60.2, 1], ["2061", "I7N3G6G", "2061", 0, "no description", 60.2, 1], ["2062", "I7N3G6G", "2062", 0, "no description", 60.2, 1], ["2063", "I7N3G6G", "2063", 0, "no description", 60.2, 1], ["2064", "I7N3G6G", "2064", 0, "no description", 60.2, 1], ["2065", "I7N3G6G", "2065", 0, "no description", 60.2, 1], ["2066", "I7N3G6G", "2066", 0, "no description", 60.2, 1], ["2067", "I7N3G6G", "2067", 0, "no description", 60.2, 1], ["2068", "I7N3G6G", "2068", 0, "no description", 60.2, 1], ["2069", "I7N3G6G", "2069", 0, "no description", 60.2, 1], ["2070", "I7N3G6G", "2070", 0, "no description", 60.2, 1], ["2071", "I7N3G6G", "2071", 0, "no description", 60.2, 1], ["2072", "I7N3G6G", "2072", 0, "no description", 60.2, 1], ["2073", "I7N3G6G", "2073", 0, "no description", 60.2, 1], ["2074", "I7N3G6G", "2074", 0, "no description", 60.2, 1], ["2075", "I7N3G6G", "2075", 0, "no description", 60.2, 1], ["2076", "I7N3G6G", "2076", 0, "no description", 60.2, 1], ["2077", "I7N3G6G", "2077", 0, "no description", 60.2, 1], ["2078", "I7N3G6G", "2078", 0, "no description", 60.2, 1], ["2079", "I7N3G6G", "2079", 0, "no description", 60.2, 1], ["2080", "I7N3G6G", "2080", 0, "no description", 60.2, 1], ["2081", "I7N3G6G", "2081", 0, "no description", 60.2, 1], ["2082", "I7N3G6G", "2082", 0, "no description", 60.2, 1], ["2083", "I7N3G6G", "2083", 0, "no description", 60.2, 1], ["2084", "I7N3G6G", "2084", 0, "no description", 60.2, 1], ["2085", "I7N3G6G", "2085", 0, "no description", 60.2, 1], ["2086", "I7N3G6G", "2086", 0, "no description", 60.2, 1], ["2087", "I7N3G6G", "2087", 0, "no description", 60.2, 1], ["2088", "I7N3G6G", "2088", 0, "no description", 60.2, 1], ["2089", "I7N3G6G", "2089", 0, "no description", 60.2, 1], ["2090", "I7N3G6G", "2090", 0, "no description", 60.2, 1], ["2091", "I7N3G6G", "2091", 0, "no description", 60.2, 1], ["2092", "I7N3G6G", "2092", 0, "no description", 60.2, 1], ["2093", "I7N3G6G", "2093", 0, "no description", 60.2, 1], ["2094", "I7N3G6G", "2094", 0, "no description", 60.2, 1], ["2095", "I7N3G6G", "2095", 0, "no description", 60.2, 1], ["2096", "I7N3G6G", "2096", 0, "no description", 60.2, 1], ["2097", "I7N3G6G", "2097", 0, "no description", 60.2, 1], ["2098", "I7N3G6G", "2098", 0, "no description", 60.2, 1], ["2099", "I7N3G6G", "2099", 0, "no description", 60.2, 1], ["2100", "I7N3G6G", "2100", 0, "no description", 60.2, 1], ["2101", "I7N3G6G", "2101", 0, "no description", 60.2, 1], ["2102", "I7N3G6G", "2102", 0, "no description", 60.2, 1], ["2103", "I7N3G6G", "2103", 0, "no description", 60.2, 1], ["2104", "I7N3G6G", "2104", 0, "no description", 60.2, 1], ["2105", "I7N3G6G", "2105", 0, "no description", 60.2, 1], ["2106", "I7N3G6G", "2106", 0, "no description", 60.2, 1], ["2107", "I7N3G6G", "2107", 0, "no description", 60.2, 1], ["2108", "I7N3G6G", "2108", 0, "no description", 60.2, 1], ["2109", "I7N3G6G", "2109", 0, "no description", 60.2, 1], ["2110", "I7N3G6G", "2110", 0, "no description", 60.2, 1], ["2111", "I7N3G6G", "2111", 0, "no description", 60.2, 1], ["2112", "I7N3G6G", "2112", 0, "no description", 60.2, 1], ["2113", "I7N3G6G", "2113", 0, "no description", 60.2, 1], ["2114", "I7N3G6G", "2114", 0, "no description", 60.2, 1], ["2115", "I7N3G6G", "2115", 0, "no description", 60.2, 1], ["2116", "I7N3G6G", "2116", 0, "no description", 60.2, 1], ["2117", "I7N3G6G", "2117", 0, "no description", 60.2, 1], ["2118", "I7N3G6G", "2118", 0, "no description", 60.2, 1], ["2119", "I7N3G6G", "2119", 0, "no description", 60.2, 1], ["2120", "I7N3G6G", "2120", 0, "no description", 60.2, 1], ["2121", "I7N3G6G", "2121", 0, "no description", 60.2, 1], ["2122", "I7N3G6G", "2122", 0, "no description", 60.2, 1], ["2123", "I7N3G6G", "2123", 0, "no description", 60.2, 1], ["2124", "I7N3G6G", "2124", 0, "no description", 60.2, 1], ["2125", "I7N3G6G", "2125", 0, "no description", 60.2, 1], ["2126", "I7N3G6G", "2126", 0, "no description", 60.2, 1], ["2127", "I7N3G6G", "2127", 0, "no description", 60.2, 1], ["2128", "I7N3G6G", "2128", 0, "no description", 60.2, 1], ["2129", "I7N3G6G", "2129", 0, "no description", 60.2, 1], ["2130", "I7N3G6G", "2130", 0, "no description", 60.2, 1], ["2131", "I7N3G6G", "2131", 0, "no description", 60.2, 1], ["2132", "I7N3G6G", "2132", 0, "no description", 60.2, 1], ["2133", "I7N3G6G", "2133", 0, "no description", 60.2, 1], ["2134", "I7N3G6G", "2134", 0, "no description", 60.2, 1], ["2135", "I7N3G6G", "2135", 0, "no description", 60.2, 1], ["2136", "I7N3G6G", "2136", 0, "no description", 60.2, 1], ["2137", "I7N3G6G", "2137", 0, "no description", 60.2, 1], ["2138", "I7N3G6G", "2138", 0, "no description", 60.2, 1], ["2139", "I7N3G6G", "2139", 0, "no description", 60.2, 1], ["2140", "I7N3G6G", "2140", 0, "no description", 60.2, 1], ["2141", "I7N3G6G", "2141", 0, "no description", 60.2, 1], ["2142", "I7N3G6G", "2142", 0, "no description", 60.2, 1], ["2143", "I7N3G6G", "2143", 0, "no description", 60.2, 1], ["2144", "I7N3G6G", "2144", 0, "no description", 60.2, 1], ["2145", "I7N3G6G", "2145", 0, "no description", 60.2, 1], ["2146", "I7N3G6G", "2146", 0, "no description", 60.2, 1], ["2147", "I7N3G6G", "2147", 0, "no description", 60.2, 1], ["2148", "I7N3G6G", "2148", 0, "no description", 60.2, 1], ["2149", "I7N3G6G", "2149", 0, "no description", 60.2, 1], ["2150", "I7N3G6G", "2150", 0, "no description", 60.2, 1], ["2151", "I7N3G6G", "2151", 0, "no description", 60.2, 1], ["2152", "I7N3G6G", "2152", 0, "no description", 60.2, 1], ["2153", "I7N3G6G", "2153", 0, "no description", 60.2, 1], ["2154", "I7N3G6G", "2154", 0, "no description", 60.2, 1], ["2155", "I7N3G6G", "2155", 0, "no description", 60.2, 1], ["2156", "I7N3G6G", "2156", 0, "no description", 60.2, 1], ["2157", "I7N3G6G", "2157", 0, "no description", 60.2, 1], ["2158", "I7N3G6G", "2158", 0, "no description", 60.2, 1], ["2159", "I7N3G6G", "2159", 0, "no description", 60.2, 1], ["2160", "I7N3G6G", "2160", 0, "no description", 60.2, 1], ["2161", "I7N3G6G", "2161", 0, "no description", 60.2, 1], ["2162", "I7N3G6G", "2162", 0, "no description", 60.2, 1], ["2163", "I7N3G6G", "2163", 0, "no description", 60.2, 1], ["2164", "I7N3G6G", "2164", 0, "no description", 60.2, 1], ["2165", "I7N3G6G", "2165", 0, "no description", 60.2, 1], ["2166", "I7N3G6G", "2166", 0, "no description", 60.2, 1], ["2167", "I7N3G6G", "2167", 0, "no description", 60.2, 1], ["2168", "I7N3G6G", "2168", 0, "no description", 60.2, 1], ["2169", "I7N3G6G", "2169", 0, "no description", 60.2, 1], ["2170", "I7N3G6G", "2170", 0, "no description", 60.2, 1], ["2171", "I7N3G6G", "2171", 0, "no description", 60.2, 1], ["2172", "I7N3G6G", "2172", 0, "no description", 60.2, 1], ["2173", "I7N3G6G", "2173", 0, "no description", 60.2, 1], ["2174", "I7N3G6G", "2174", 0, "no description", 60.2, 1], ["2175", "I7N3G6G", "2175", 0, "no description", 60.2, 1], ["2176", "I7N3G6G", "2176", 0, "no description", 60.2, 1], ["2177", "I7N3G6G", "2177", 0, "no description", 60.2, 1], ["2178", "I7N3G6G", "2178", 0, "no description", 60.2, 1], ["2179", "I7N3G6G", "2179", 0, "no description", 60.2, 1], ["2180", "I7N3G6G", "2180", 0, "no description", 60.2, 1], ["2181", "I7N3G6G", "2181", 0, "no description", 60.2, 1], ["2182", "I7N3G6G", "2182", 0, "no description", 60.2, 1], ["2183", "I7N3G6G", "2183", 0, "no description", 60.2, 1], ["2184", "I7N3G6G", "2184", 0, "no description", 60.2, 1], ["2185", "I7N3G6G", "2185", 0, "no description", 60.2, 1], ["2186", "I7N3G6G", "2186", 0, "no description", 60.2, 1], ["2187", "I7N3G6G", "2187", 0, "no description", 60.2, 1], ["2188", "I7N3G6G", "2188", 0, "no description", 60.2, 1], ["2189", "I7N3G6G", "2189", 0, "no description", 60.2, 1], ["2190", "I7N3G6G", "2190", 0, "no description", 60.2, 1], ["2191", "I7N3G6G", "2191", 0, "no description", 60.2, 1], ["2192", "I7N3G6G", "2192", 0, "no description", 60.2, 1], ["2193", "I7N3G6G", "2193", 0, "no description", 60.2, 1], ["2194", "I7N3G6G", "2194", 0, "no description", 60.2, 1], ["2195", "I7N3G6G", "2195", 0, "no description", 60.2, 1], ["2196", "I7N3G6G", "2196", 0, "no description", 60.2, 1], ["2197", "I7N3G6G", "2197", 0, "no description", 60.2, 1], ["2198", "I7N3G6G", "2198", 0, "no description", 60.2, 1], ["2199", "I7N3G6G", "2199", 0, "no description", 60.2, 1], ["2200", "I7N3G6G", "2200", 0, "no description", 60.2, 1], ["2201", "I7N3G6G", "2201", 0, "no description", 60.2, 1], ["2202", "I7N3G6G", "2202", 0, "no description", 60.2, 1], ["2203", "I7N3G6G", "2203", 0, "no description", 60.2, 1], ["2204", "I7N3G6G", "2204", 0, "no description", 60.2, 1], ["2205", "I7N3G6G", "2205", 0, "no description", 60.2, 1], ["2206", "I7N3G6G", "2206", 0, "no description", 60.2, 1], ["2207", "I7N3G6G", "2207", 0, "no description", 60.2, 1], ["2208", "I7N3G6G", "2208", 0, "no description", 60.2, 1], ["2209", "I7N3G6G", "2209", 0, "no description", 60.2, 1], ["2210", "I7N3G6G", "2210", 0, "no description", 60.2, 1], ["2211", "I7N3G6G", "2211", 0, "no description", 60.2, 1], ["2212", "I7N3G6G", "2212", 0, "no description", 60.2, 1], ["2213", "I7N3G6G", "2213", 0, "no description", 60.2, 1], ["2214", "I7N3G6G", "2214", 0, "no description", 60.2, 1], ["2215", "I7N3G6G", "2215", 0, "no description", 60.2, 1], ["2216", "I7N3G6G", "2216", 0, "no description", 60.2, 1], ["2217", "I7N3G6G", "2217", 0, "no description", 60.2, 1], ["2218", "I7N3G6G", "2218", 0, "no description", 60.2, 1], ["2219", "I7N3G6G", "2219", 0, "no description", 60.2, 1], ["2220", "I7N3G6G", "2220", 0, "no description", 60.2, 1], ["2221", "I7N3G6G", "2221", 0, "no description", 60.2, 1], ["2222", "I7N3G6G", "2222", 0, "no description", 60.2, 1], ["2223", "I7N3G6G", "2223", 0, "no description", 60.2, 1], ["2224", "I7N3G6G", "2224", 0, "no description", 60.2, 1], ["2225", "I7N3G6G", "2225", 0, "no description", 60.2, 1], ["2226", "I7N3G6G", "2226", 0, "no description", 60.2, 1]] \ No newline at end of file diff --git a/packages/itmat-job-executor/test/unit_tests/csvcurator.test.ts b/packages/itmat-job-executor/test/unit_tests/csvcurator.test.ts deleted file mode 100644 index 989214d7f..000000000 --- a/packages/itmat-job-executor/test/unit_tests/csvcurator.test.ts +++ /dev/null @@ -1,549 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import { IJobEntryForDataCuration, enumValueType } from '@itmat-broker/itmat-types'; -import { processDataRow, processHeader, CSVCurator } from '../../src/curation/CSVCurator'; -import { stub } from './_stubHelper'; - -describe('Unit tests for processHeader function', () => { - const fieldsList = [ - { - fieldId: 1, - fieldName: 'SubjectID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 2, - fieldName: 'VisitID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 31, - fieldName: 'Sex', - possibleValues: [{ code: '1', description: 'male' }, { code: '0', description: 'female' }], - unit: '', - comments: '', - dataType: enumValueType.CATEGORICAL - }, - { - fieldId: 32, - fieldName: 'Description', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 33, - fieldName: 'Weight', - possibleValues: [], - unit: 'Kg', - comments: '', - dataType: enumValueType.DECIMAL - } - ]; - - it('processHeader function', () => { - const exampleheader = ['ID', 'SubjectID', 'VisitID', 'Sex', 'Description', 'Weight']; - const { parsedHeader, error, subjectIdIndex, visitIdIndex } = processHeader(exampleheader, fieldsList); - expect(parsedHeader.length).toBe(5); - expect(parsedHeader).toEqual(fieldsList); - expect(error).toBeUndefined(); - expect(subjectIdIndex).toBe(1); - expect(visitIdIndex).toBe(2); - }); - - it('processHeader function without SubjectID or VisitID', () => { - const exampleheader = ['ID', 'SubjectID', 'Sex', 'Description', 'Weight']; - const { parsedHeader, error, subjectIdIndex, visitIdIndex } = processHeader(exampleheader, fieldsList); - expect(parsedHeader.length).toBe(4); - expect(parsedHeader[0]).toEqual(fieldsList[0]); - expect(parsedHeader[1]).toEqual(fieldsList[2]); - expect(parsedHeader[2]).toEqual(fieldsList[3]); - expect(parsedHeader[3]).toEqual(fieldsList[4]); - expect(error).toBeDefined(); - if (!error) - return; - expect(error.length).toBe(1); - expect(error[0]).toBe('SubjectID or VisitID not found.'); - expect(subjectIdIndex).toBe(1); - expect(visitIdIndex).toBe(0); - }); - - it('processHeader function weeds out duplicates', () => { - const exampleheader = ['ID', 'SubjectID', 'VisitID', 'Sex', 'Description', 'Weight', 'Weight']; - const { error, parsedHeader } = processHeader(exampleheader, fieldsList); - expect(parsedHeader.length).toBe(6); - expect(parsedHeader[0]).toEqual(fieldsList[0]); - expect(parsedHeader[1]).toEqual(fieldsList[1]); - expect(parsedHeader[2]).toEqual(fieldsList[2]); - expect(parsedHeader[3]).toEqual(fieldsList[3]); - expect(parsedHeader[4]).toEqual(fieldsList[4]); - expect(parsedHeader[5]).toEqual({ - dataType: 'dul', - fieldId: undefined, - fieldName: 'Weight' - }); - expect(error).toBeDefined(); - if (!error) - return; - expect(error.length).toBe(1); - expect(error[0]).toBe('Line 1 column 7: Duplicate field.'); - }); - - it('processHeader function weeds with unregistered fields', () => { - const exampleheader = ['ID', 'SubjectID', 'VisitID', 'Sex', 'Description', 'Weight', 'UNKNOWN']; - const { error, parsedHeader } = processHeader(exampleheader, fieldsList); - expect(parsedHeader.length).toBe(6); - expect(parsedHeader[0]).toEqual(fieldsList[0]); - expect(parsedHeader[1]).toEqual(fieldsList[1]); - expect(parsedHeader[2]).toEqual(fieldsList[2]); - expect(parsedHeader[3]).toEqual(fieldsList[3]); - expect(parsedHeader[4]).toEqual(fieldsList[4]); - expect(parsedHeader[5]).toEqual({ fieldName: 'UNKNOWN', dataType: 'unk', fieldId: undefined }); - expect(error).toBeDefined(); - if (!error) - return; - expect(error[0]).toBe('Line 1 column 7: Unknown field.'); - }); -}); - -describe('Unit tests for processDataRow function', () => { - const fieldsList = [ - { - fieldId: 1, - fieldName: 'SubjectID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 2, - fieldName: 'VisitID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 31, - fieldName: 'Sex', - possibleValues: [{ code: '1', description: 'male' }, { code: '0', description: 'female' }], - unit: '', - comments: '', - dataType: enumValueType.CATEGORICAL - }, - { - fieldId: 32, - fieldName: 'Description', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 33, - fieldName: 'Weight', - possibleValues: [], - unit: 'Kg', - comments: '', - dataType: enumValueType.DECIMAL - } - ]; - - const job = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const { subjectIdIndex, visitIdIndex, parsedHeader } = processHeader(['ID', 'SubjectID', 'VisitID', 'Sex', 'Description', 'Weight'], fieldsList); - const templateParams = { - subjectIdIndex: subjectIdIndex, - visitIdIndex: visitIdIndex, - lineNum: 22, - row: [], - parsedHeader: parsedHeader, - job - }; - - it('processDataRow function correctly parse data row', () => { - const { error, dataEntry } = processDataRow(stub({ ...templateParams, row: ['0', 'I7N3G6G', '1', '1', 'description', 60.2] })); - expect(error).toBeUndefined(); - expect(dataEntry).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - m_versionId: null, - 31: '1', - 32: 'description', - 33: 60.2, - deleted: null - }); - }); - - it('processDataRow function weeds out datatype mismatch', () => { - const { error, dataEntry } = processDataRow(stub({ ...templateParams, row: ['0', 'I7N3G6G', '1', 'a', 'description', 'b'] })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(2); - expect(error[0]).toBe('Line 22 column 4: Cannot parse \'a\' as categorical, value is illegal.'); - expect(error[1]).toBe('Line 22 column 6: Cannot parse \'b\' as decimal.'); - expect(dataEntry).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - m_versionId: null, - 32: 'description', - deleted: null - }); - }); - - it('processDataRow function deals with missing value by skipping', () => { - const { error, dataEntry } = processDataRow(stub({ ...templateParams, row: ['0', 'I7N3G6G', '1', '1', 'description', ''] })); - expect(error).toBeUndefined(); - expect(dataEntry).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - m_versionId: null, - 31: '1', - 32: 'description', - deleted: null - }); - }); - - it('processDataRow function deals with missing subject id correctly', () => { - const { error, dataEntry } = processDataRow(stub({ ...templateParams, row: ['0', '', '1', '1', 'description', 60.2] })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(1); - expect(error[0]).toBe('No subject id provided.'); - expect(dataEntry).toEqual({ - m_visitId: '1', - m_studyId: 'mockStudyId', - m_versionId: null, - 31: '1', - 32: 'description', - 33: 60.2, - deleted: null - }); - }); - - it('processDataRow function deals with missing visit id correctly', () => { - const { error, dataEntry } = processDataRow(stub({ ...templateParams, row: ['0', 'I7N3G6G', '', '1', 'description', 60.2] })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(1); - expect(error[0]).toBe('No visit id provided.'); - expect(dataEntry).toEqual({ - m_subjectId: 'I7N3G6G', - m_studyId: 'mockStudyId', - m_versionId: null, - 31: '1', - 32: 'description', - 33: 60.2, - deleted: null - }); - }); -}); - -describe('CSVCuratorClass', () => { - const fieldsList = [ - { - fieldId: 1, - fieldName: 'SubjectID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 2, - fieldName: 'VisitID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 31, - fieldName: 'Sex', - possibleValues: [{ code: '1', description: 'male' }, { code: '0', description: 'female' }], - unit: '', - comments: '', - dataType: enumValueType.CATEGORICAL - }, - { - fieldId: 32, - fieldName: 'Description', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 33, - fieldName: 'Weight', - possibleValues: [], - unit: 'Kg', - comments: '', - dataType: enumValueType.DECIMAL - } - ]; - - // should stop uploading when error occurs - function BulkInsert(this: any) { - this._insertArray = []; - this._executeCalled = []; // array of length of _insertArray when execute() is called - this.insert = (object: any) => { this._insertArray.push(object); }; - this._foundobj = null; - this.find = (object: { [x: string]: any; }) => { - let tag; - for (const each of this._insertArray) { - tag = true; - for (const field of Object.keys(object)) { - if (JSON.stringify(object[field]) !== JSON.stringify(each[field])) { - tag = false; - break; - } - } - if (tag === true) { - this._foundobj = each; - break; - } - } - return this; - }; - this.upsert = () => { return this; }; - this.execute = async () => new Promise((resolve) => { - setTimeout(() => { - this._executeCalled.push(this._insertArray.length); - resolve(); - }, 10); - }); - this.updateOne = (object: { [x: string]: { [x: string]: any; }; }) => { - if (this._foundobj === null) { - this._insertArray.push(object['$set']); - } - for (let i = 0; i < this._insertArray.length; i++) { - if (JSON.stringify(this._insertArray[i]) === JSON.stringify(this._foundobj)) { - for (const field of Object.keys(object['$set'])) { - this._insertArray[i][field] = object['$set'][field]; - } - } - } - this._foundobj = null; - }; - } - - function MongoStub(this: any) { - this._bulkinsert = new (BulkInsert as any)(); - this.initializeUnorderedBulkOp = () => this._bulkinsert; - } - - it('test mongostub update new', async () => { - const bulkinsert = (new (MongoStub as any)()).initializeUnorderedBulkOp(); - bulkinsert.insert({ a: 1 }); - bulkinsert.insert({ b: 2 }); - return bulkinsert.execute().then(() => { - bulkinsert.find({ c: 3 }).upsert().updateOne({ $set: { c: 4 } }); - return bulkinsert.execute(); - }).then(() => { - expect(bulkinsert._insertArray).toEqual([{ a: 1 }, { b: 2 }, { c: 4 }]); - expect(bulkinsert._executeCalled).toEqual([2, 3]); - }); - }, 10000); - - it('test mongostub update existing', async () => { - const bulkinsert = (new (MongoStub as any)()).initializeUnorderedBulkOp(); - bulkinsert.insert({ a: 1 }); - bulkinsert.insert({ b: 2 }); - return bulkinsert.execute().then(() => { - bulkinsert.find({ b: 2 }).upsert().updateOne({ $set: { d: 4 } }); - return bulkinsert.execute(); - }).then(() => { - expect(bulkinsert._insertArray).toEqual([{ a: 1 }, { b: 2, d: 4 }]); - expect(bulkinsert._executeCalled).toEqual([2, 2]); - }); - }, 10000); - - it('csvcurator uploads csv file okay', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/CSVCurator.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const csvcurator = new CSVCurator( - mongoStub, - readStream, - undefined, - jobEntry, - fieldsList - ); - const errors = await csvcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(2226); - expect(mongoStub._bulkinsert._executeCalled).toEqual([1000, 2000, 2226]); - expect(mongoStub._bulkinsert._insertArray[0]).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - m_versionId: null, - 31: '0', - 32: 'no description', - 33: 60.2, - deleted: null - }); - - }); - - it('csvcurator catches non-existing headers', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/CSVCurator_error1.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const csvcurator = new CSVCurator( - mongoStub, - readStream, - undefined, - jobEntry, - fieldsList - ); - const errors = await csvcurator.processIncomingStreamAndUploadToMongo(); - expect(errors.length).toBe(1); - expect(errors[0]).toBe('Line 1 column 7: Unknown field.'); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(0); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - - }); - - it('csvcurator catches duplicate header', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/CSVCurator_error2.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const csvcurator = new CSVCurator( - mongoStub, - readStream, - undefined, - jobEntry, - fieldsList - ); - const errors = await csvcurator.processIncomingStreamAndUploadToMongo(); - expect(errors[0]).toBe('Line 1 column 6: Duplicate field.'); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(0); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - - }); - - it('csvcurator catches uneven field before watermark', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/CSVCurator_error3.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const csvcurator = new CSVCurator( - mongoStub, - readStream, - undefined, - jobEntry, - fieldsList - ); - - const errors = await csvcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([ - 'Line 18: Uneven field Number; expected 6 fields but got 5', - 'Line 28: Uneven field Number; expected 6 fields but got 5' - ]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(16); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0]).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - m_versionId: null, - 31: '0', - 32: 'no description', - 33: 60.2, - deleted: null - }); - - }); - - it('csvcurator catches uneven field after watermark', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/CSVCurator_error4.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const csvcurator = new CSVCurator( - mongoStub, - readStream, - undefined, - jobEntry, - fieldsList - ); - - const errors = await csvcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([ - 'Line 1530: Uneven field Number; expected 6 fields but got 4', - 'Line 1836: Uneven field Number; expected 6 fields but got 5' - ]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(1528); - expect(mongoStub._bulkinsert._executeCalled).toEqual([1000]); - expect(mongoStub._bulkinsert._insertArray[0]).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - m_versionId: null, - 31: '0', - 32: 'no description', - 33: 60.2, - deleted: null - }); - - }); - - it('csvcurator catches mixed errors', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/CSVCurator_error5.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const csvcurator = new CSVCurator( - mongoStub, - readStream, - undefined, - jobEntry, - fieldsList - ); - - const errors = await csvcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([ - 'Line 1 column 7: Unknown field.', - 'Line 8 column 4: Cannot parse \'a\' as categorical, value is illegal.', - 'Line 31: Uneven field Number; expected 7 fields but got 6', - 'Line 32: Uneven field Number; expected 7 fields but got 6', - 'Line 1531: Uneven field Number; expected 7 fields but got 3', - 'Line 1532: Uneven field Number; expected 7 fields but got 4' - ]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(0); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - }); -}); diff --git a/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts b/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts deleted file mode 100644 index 1eaa7a8b4..000000000 --- a/packages/itmat-job-executor/test/unit_tests/fieldcurator.test.ts +++ /dev/null @@ -1,365 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import { IJobEntryForFieldCuration, IJobEntry, enumValueType } from '@itmat-broker/itmat-types'; -import { processFieldRow, FieldCurator } from '../../src/curation/FieldCurator'; -import { stub } from './_stubHelper'; - -describe('Unit tests for processFieldRow function', () => { - const job = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId', - data: { - tag: 'testFieldTree' - } - }); - const templateParams = { - lineNum: 22, - row: [], - job, - fieldTreeId: 'mockFieldTreeId', - codes: {} - }; - - it('processFieldRow function correctly parse data row', () => { - const { error, dataEntry } = processFieldRow(stub({ - ...templateParams, row: [ - '564', 'IDEAFAST', 'Participants', '', '', '', 'SubjectID', 'Subject ID', '', '', '', '', '', '', '', '', '', 'nvarchar', '', 'False', '', '9', '', 'True', 'False', 'True', '', 'False', '', '', '', 'False', '' - ] - })); - expect(error).toBeUndefined(); - expect(dataEntry.id).toBeDefined(); - expect(typeof dataEntry.id).toBe('string'); - expect(dataEntry.fieldName).toBe('SubjectID'); - expect(dataEntry.dataType).toBe(enumValueType.STRING); - expect(dataEntry.possibleValues).toEqual([]); - expect(dataEntry.unit).toBe(''); - expect(dataEntry.comments).toBe(''); - expect(dataEntry.dateDeleted).toBe(null); - expect(typeof dataEntry.dateAdded).toBe('string'); - }); - - it('processFieldRow function detects necessary fields that are empty', () => { - const { error, dataEntry } = processFieldRow(stub({ - ...templateParams, row: [ - '', 'IDEAFAST', 'Participants', '', '', '', '', 'Subject ID', '', '', '', '', '', '', '', '', '', 'nvarchar', '', 'False', '', '9', '', 'True', 'False', 'True', '', 'False', '', '', '', 'False', '' - ] - })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(2); - expect(error[0]).toBe('Line 22 column 1: FieldID cannot be empty.'); - expect(error[1]).toBe('Line 22 column 7: Field Name cannot be empty.'); - expect(dataEntry).toEqual({}); - }); - - it('processFieldRow function detects uneven fields', () => { - const { error, dataEntry } = processFieldRow(stub({ - ...templateParams, row: [ - '564', 'IDEAFAST', 'Participants', '', '', '', 'SubjectID', 'Subject ID', '', '', '', '', '', '', '', '', '', 'nvarchar', '', 'False', '', '9', '', 'True', 'False', 'True', 'False', '', '', '', 'False' - ] - })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(1); - expect(error[0]).toBe('Line 22: Uneven field Number; expected 33 fields but got 31.'); - expect(dataEntry).toEqual({}); - }); - - // it('processFieldRow function requires possibleValues if valueType is "C"', () => { - // const { error, dataEntry } = processFieldRow(stub({ - // ...templateParams, row: [ - // '42', 'Gender', 'c', '', '', 'Demographic>Baseline', '1', '1', '1', '1', 'Sex / Gender' - // ] - // })); - // expect(error).toBeDefined(); - // expect(error).toHaveLength(1); - // expect(error[0]).toBe('Line 22 column 4: "Possible values" cannot be empty if value type is categorical.'); - // expect(dataEntry).toEqual({}); - // }); - - it('processFieldRow function catches unparsable entries for supposed number', () => { - const { error, dataEntry } = processFieldRow(stub({ - ...templateParams, row: [ - '564A', 'IDEAFAST', 'Participants', '', '', '', 'SubjectID', 'Subject ID', '', '', '', '', '', '', '', '', '', 'nvarchar', '', 'False', '', '9A', '', 'True', 'False', 'True', '', 'False', '', '', '', 'False', '' - ] - })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(2); - expect(error[0]).toBe('Line 22 column 1: Cannot parse field ID as number.'); - expect(error[1]).toBe('Line 22 column 22: Cannot parse length of characters as number.'); - expect(dataEntry).toEqual({}); - }); - - it('processFieldRow function catches invalid value type', () => { - const { error, dataEntry } = processFieldRow(stub({ - ...templateParams, row: [ - '564', 'IDEAFAST', 'Participants', '', '', '', 'SubjectID', 'Subject ID', '', '', '', '', '', '', '', '', '', 'str', '', 'False', '', '9', '', 'True', 'False', 'True', '', 'False', '', '', '', 'False', '' - ] - })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(1); - expect(error[0]).toBe('Line 22 column 18: Invalid value type "Participants": use "int" for integers, "decimal()" for decimals, "nvarchar/varchar" for characters/strings, "datetime" for date time, "bit" for bit.'); - expect(dataEntry).toEqual({}); - }); -}); - -describe('FieldCuratorClass', () => { - // should stop uploading when error occurs - function BulkInsert(this: any) { - this._insertArray = []; - this._executeCalled = []; // array of length of _insertArray when execute() is called - this.insert = (object: any) => { this._insertArray.push(object); }; - this.execute = async () => new Promise((resolve) => { - setTimeout(() => { - this._executeCalled.push(this._insertArray.length); - resolve(); - }, 10); - }); - } - - function MongoStub(this: any) { - this._bulkinsert = new (BulkInsert as any)(); - this.initializeUnorderedBulkOp = () => this._bulkinsert; - } - - it('test mongostub', async () => { - const bulkinsert = (new (MongoStub as any)()).initializeUnorderedBulkOp(); - bulkinsert.insert({}); - bulkinsert.insert({}); - return bulkinsert.execute().then(() => { - bulkinsert.insert({}); - return bulkinsert.execute(); - }).then(() => { - expect(bulkinsert._insertArray).toEqual([{}, {}, {}]); - expect(bulkinsert._executeCalled).toEqual([2, 3]); - }); - }); - - it('fieldcurator uploads csv file < 1000 fields okay', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/FieldCurator.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId', - data: { - tag: 'mockTag' - } - }); - const fieldcurator = new FieldCurator( - mongoStub, - readStream, - undefined, - jobEntry, - {} - ); - const errors = await fieldcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(26); - expect(mongoStub._bulkinsert._executeCalled).toEqual([26]); - expect(mongoStub._bulkinsert._insertArray[0].id).toBeDefined(); - expect(typeof mongoStub._bulkinsert._insertArray[0].id).toBe('string'); - expect(mongoStub._bulkinsert._insertArray[0].fieldName).toBe('SubjectID'); - expect(mongoStub._bulkinsert._insertArray[0].dataType).toBe(enumValueType.STRING); - expect(mongoStub._bulkinsert._insertArray[0].possibleValues).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0].unit).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].comments).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].dateDeleted).toBe(null); - expect(typeof mongoStub._bulkinsert._insertArray[0].dateAdded).toBe('string'); - }); - - it('fieldcurator uploads csv file > 1000 fields okay', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/FieldCurator_1000.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId', - data: { - tag: 'mockTag' - } - }); - const fieldcurator = new FieldCurator( - mongoStub, - readStream, - undefined, - jobEntry, - {} - ); - const errors = await fieldcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(1226); - expect(mongoStub._bulkinsert._executeCalled).toEqual([1000, 1226]); - expect(mongoStub._bulkinsert._insertArray[0].id).toBeDefined(); - expect(typeof mongoStub._bulkinsert._insertArray[0].id).toBe('string'); - expect(mongoStub._bulkinsert._insertArray[0].fieldName).toBe('SubjectID'); - expect(mongoStub._bulkinsert._insertArray[0].dataType).toBe(enumValueType.STRING); - expect(mongoStub._bulkinsert._insertArray[0].possibleValues).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0].unit).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].comments).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].dateDeleted).toBe(null); - expect(typeof mongoStub._bulkinsert._insertArray[0].dateAdded).toBe('string'); - }); - - it('fieldcurator catches duplicate fieldId before first watermark', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/FieldCurator_error1.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId', - data: { - tag: 'mockTag' - } - }); - const fieldcurator = new FieldCurator( - mongoStub, - readStream, - undefined, - jobEntry, - {} - ); - const errors = await fieldcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual(['Data Error: There is duplicate field id.']); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(1226); - expect(mongoStub._bulkinsert._executeCalled).toEqual([1000]); - expect(mongoStub._bulkinsert._insertArray[0].id).toBeDefined(); - expect(typeof mongoStub._bulkinsert._insertArray[0].id).toBe('string'); - expect(mongoStub._bulkinsert._insertArray[0].fieldName).toBe('SubjectID'); - expect(mongoStub._bulkinsert._insertArray[0].dataType).toBe(enumValueType.STRING); - expect(mongoStub._bulkinsert._insertArray[0].possibleValues).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0].unit).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].comments).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].dateDeleted).toBe(null); - expect(typeof mongoStub._bulkinsert._insertArray[0].dateAdded).toBe('string'); - }); - - it('fieldcurator catches duplicate fieldId after first watermark', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/FieldCurator_error2.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId', - data: { - tag: 'mockTag' - } - }); - const fieldcurator = new FieldCurator( - mongoStub, - readStream, - undefined, - jobEntry, - {} - ); - const errors = await fieldcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual(['Data Error: There is duplicate field id.']); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(1226); - expect(mongoStub._bulkinsert._executeCalled).toEqual([1000]); - expect(mongoStub._bulkinsert._insertArray[0].id).toBeDefined(); - expect(typeof mongoStub._bulkinsert._insertArray[0].id).toBe('string'); - expect(mongoStub._bulkinsert._insertArray[0].fieldName).toBe('SubjectID'); - expect(mongoStub._bulkinsert._insertArray[0].dataType).toBe(enumValueType.STRING); - expect(mongoStub._bulkinsert._insertArray[0].possibleValues).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0].unit).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].comments).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].dateDeleted).toBe(null); - expect(typeof mongoStub._bulkinsert._insertArray[0].dateAdded).toBe('string'); - }); - - it('fieldcurator catches uneven field before watermark', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/FieldCurator_error3.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId', - data: { - tag: 'mockTag' - } - }); - const fieldcurator = new FieldCurator( - mongoStub, - readStream, - undefined, - jobEntry, - {} - ); - const errors = await fieldcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual(['Line 24: Uneven field Number; expected 33 fields but got 31.']); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(22); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0].id).toBeDefined(); - expect(typeof mongoStub._bulkinsert._insertArray[0].id).toBe('string'); - expect(mongoStub._bulkinsert._insertArray[0].fieldName).toBe('SubjectID'); - expect(mongoStub._bulkinsert._insertArray[0].dataType).toBe(enumValueType.STRING); - expect(mongoStub._bulkinsert._insertArray[0].possibleValues).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0].unit).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].comments).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].dateDeleted).toBe(null); - expect(typeof mongoStub._bulkinsert._insertArray[0].dateAdded).toBe('string'); - }); - - it('fieldcurator catches uneven field after watermark', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/FieldCurator_error4.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId', - data: { - tag: 'mockTag' - } - }); - const fieldcurator = new FieldCurator( - mongoStub, - readStream, - undefined, - jobEntry, - {} - ); - const errors = await fieldcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual(['Line 1121: Uneven field Number; expected 33 fields but got 32.']); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(1119); - expect(mongoStub._bulkinsert._executeCalled).toEqual([1000]); - expect(mongoStub._bulkinsert._insertArray[0].id).toBeDefined(); - expect(typeof mongoStub._bulkinsert._insertArray[0].id).toBe('string'); - expect(mongoStub._bulkinsert._insertArray[0].fieldName).toBe('SubjectID'); - expect(mongoStub._bulkinsert._insertArray[0].dataType).toBe(enumValueType.STRING); - expect(mongoStub._bulkinsert._insertArray[0].possibleValues).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0].unit).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].comments).toBe(''); - expect(mongoStub._bulkinsert._insertArray[0].dateDeleted).toBe(null); - expect(typeof mongoStub._bulkinsert._insertArray[0].dateAdded).toBe('string'); - }); - - it('fieldcurator catches mixed errors', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/FieldCurator_error5.tsv')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId', - data: { - versionTag: 'testData' - } - }); - const fieldcurator = new FieldCurator( - mongoStub, - readStream, - undefined, - jobEntry, - {} - ); - - const errors = await fieldcurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([ - 'Line 10 column 7: Field Name cannot be empty.', - 'Line 69: Uneven field Number; expected 33 fields but got 32.', - 'Line 331 column 18: Invalid value type "Participants": use "int" for integers, "decimal()" for decimals, "nvarchar/varchar" for characters/strings, "datetime" for date time, "bit" for bit.', - 'Line 919 column 1: Cannot parse field ID as number.', - 'Data Error: There is duplicate field id.' - ]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(8); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - }); -}); diff --git a/packages/itmat-job-executor/test/unit_tests/jsoncurator.test.ts b/packages/itmat-job-executor/test/unit_tests/jsoncurator.test.ts deleted file mode 100644 index 8742394ae..000000000 --- a/packages/itmat-job-executor/test/unit_tests/jsoncurator.test.ts +++ /dev/null @@ -1,535 +0,0 @@ -import fs from 'fs'; -import path from 'path'; -import { IJobEntryForDataCuration, enumValueType } from '@itmat-broker/itmat-types'; -import { processJSONHeader, processEachSubject, JSONCurator } from '../../src/curation/JSONCurator'; -import { stub } from './_stubHelper'; - -describe('Unit tests for processJSONHeader function', () => { - const fieldsList = [ - { - fieldId: 1, - fieldName: 'SubjectID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 2, - fieldName: 'VisitID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 31, - fieldName: 'Sex', - possibleValues: [{ code: '1', description: 'male' }, { code: '0', description: 'female' }], - unit: '', - comments: '', - dataType: enumValueType.CATEGORICAL - }, - { - fieldId: 32, - fieldName: 'Description', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 33, - fieldName: 'Weight', - possibleValues: [], - unit: 'Kg', - comments: '', - dataType: enumValueType.DECIMAL - } - ]; - - it('processJSONHeader function', () => { - const exampleheader = ['ID', 'SubjectID', 'VisitID', 'Sex', 'Description', 'Weight']; - const { parsedHeader, error, subjectIdIndex, visitIdIndex } = processJSONHeader(exampleheader, fieldsList); - expect(parsedHeader.length).toBe(5); - expect(parsedHeader).toEqual(fieldsList); - expect(error).toBeUndefined(); - expect(subjectIdIndex).toBe(1); - expect(visitIdIndex).toBe(2); - }); - - it('processJSONHeader function without SubjectID or VisitID', () => { - const exampleheader = ['ID', 'SubjectID', 'Sex', 'Description', 'Weight']; - const { parsedHeader, error, subjectIdIndex, visitIdIndex } = processJSONHeader(exampleheader, fieldsList); - expect(parsedHeader.length).toBe(4); - expect(parsedHeader[0]).toEqual(fieldsList[0]); - expect(parsedHeader[1]).toEqual(fieldsList[2]); - expect(parsedHeader[2]).toEqual(fieldsList[3]); - expect(parsedHeader[3]).toEqual(fieldsList[4]); - expect(error).toBeDefined(); - if (!error) - return; - expect(error.length).toBe(1); - expect(error[0]).toBe('SubjectID or VisitID not found.'); - expect(subjectIdIndex).toBe(1); - expect(visitIdIndex).toBe(0); - }); - - it('processJSONHeader function weeds out duplicates', () => { - const exampleheader = ['ID', 'SubjectID', 'VisitID', 'Sex', 'Description', 'Weight', 'Weight']; - const { error, parsedHeader } = processJSONHeader(exampleheader, fieldsList); - expect(parsedHeader.length).toBe(6); - expect(parsedHeader[0]).toEqual(fieldsList[0]); - expect(parsedHeader[1]).toEqual(fieldsList[1]); - expect(parsedHeader[2]).toEqual(fieldsList[2]); - expect(parsedHeader[3]).toEqual(fieldsList[3]); - expect(parsedHeader[4]).toEqual(fieldsList[4]); - expect(parsedHeader[5]).toEqual({ - dataType: 'dul', - fieldId: undefined, - fieldName: 'Weight' - }); - expect(error).toBeDefined(); - if (!error) - return; - expect(error.length).toBe(1); - expect(error[0]).toBe('Object 1 column 7: Duplicate field.'); - }); - - it('processJSONHeader function weeds with unregistered fields', () => { - const exampleheader = ['ID', 'SubjectID', 'VisitID', 'Sex', 'Description', 'Weight', 'UNKNOWN']; - const { error, parsedHeader } = processJSONHeader(exampleheader, fieldsList); - expect(parsedHeader.length).toBe(6); - expect(parsedHeader[0]).toEqual(fieldsList[0]); - expect(parsedHeader[1]).toEqual(fieldsList[1]); - expect(parsedHeader[2]).toEqual(fieldsList[2]); - expect(parsedHeader[3]).toEqual(fieldsList[3]); - expect(parsedHeader[4]).toEqual(fieldsList[4]); - expect(parsedHeader[5]).toEqual({ fieldName: 'UNKNOWN', dataType: 'unk', fieldId: undefined }); - expect(error).toBeDefined(); - if (!error) - return; - expect(error[0]).toBe('Object 1 column 7: Unknown field.'); - }); -}); - -describe('Unit tests for processEachSubject function', () => { - const fieldsList = [ - { - fieldId: 1, - fieldName: 'SubjectID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 2, - fieldName: 'VisitID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 31, - fieldName: 'Sex', - possibleValues: [{ code: '1', description: 'male' }, { code: '0', description: 'female' }], - unit: '', - comments: '', - dataType: enumValueType.CATEGORICAL - }, - { - fieldId: 32, - fieldName: 'Description', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 33, - fieldName: 'Weight', - possibleValues: [], - unit: 'Kg', - comments: '', - dataType: enumValueType.DECIMAL - } - ]; - - const job = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const { subjectIdIndex, visitIdIndex, parsedHeader } = processJSONHeader(['ID', 'SubjectID', 'VisitID', 'Sex', 'Description', 'Weight'], fieldsList); - const templateParams = { - subjectIdIndex: subjectIdIndex, - visitIdIndex: visitIdIndex, - objectNum: 22, - row: [], - parsedHeader: parsedHeader, - job - }; - - it('processEachSubject function correctly parse data row', () => { - const { error, dataEntry } = processEachSubject(stub({ ...templateParams, subject: ['0', 'I7N3G6G', '1', 0, 'description', 60.2] })); - expect(error).toBeUndefined(); - expect(dataEntry).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - 31: '0', - 32: 'description', - 33: 60.2, - deleted: null - }); - }); - - it('processEachSubject function weeds out datatype mismatch', () => { - const { error, dataEntry } = processEachSubject(stub({ ...templateParams, subject: ['0', 'I7N3G6G', '1', 'a', 'description', 'b'] })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(2); - expect(error[0]).toBe('Object 22 column 4: Cannot parse \'a\' as categorical, value is illegal.'); - expect(error[1]).toBe('Object 22 column 6: Cannot parse \'b\' as decimal.'); - expect(dataEntry).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - 32: 'description', - deleted: null - }); - }); - - it('processEachSubject function deals with missing value by skipping', () => { - const { error, dataEntry } = processEachSubject(stub({ ...templateParams, subject: ['0', 'I7N3G6G', '1', 0, 'description', ''] })); - expect(error).toBeUndefined(); - expect(dataEntry).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - 31: '0', - 32: 'description', - deleted: null - }); - }); - - it('processEachSubject function deals with missing subject id correctly', () => { - const { error, dataEntry } = processEachSubject(stub({ ...templateParams, subject: ['0', '', '1', 0, 'description', 60.2] })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(1); - expect(error[0]).toBe('No subject id provided.'); - expect(dataEntry).toEqual({ - m_visitId: '1', - m_studyId: 'mockStudyId', - 31: '0', - 32: 'description', - 33: 60.2, - deleted: null - }); - }); - - it('processEachSubject function deals with missing visit id correctly', () => { - const { error, dataEntry } = processEachSubject(stub({ ...templateParams, subject: ['0', 'I7N3G6G', '', 0, 'description', 60.2] })); - expect(error).toBeDefined(); - if (!error) - return; - expect(error).toHaveLength(1); - expect(error[0]).toBe('No visit id provided.'); - expect(dataEntry).toEqual({ - m_subjectId: 'I7N3G6G', - m_studyId: 'mockStudyId', - 31: '0', - 32: 'description', - 33: 60.2, - deleted: null - }); - }); -}); - -describe('JSONCuratorClass', () => { - const fieldsList = [ - { - fieldId: 1, - fieldName: 'SubjectID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 2, - fieldName: 'VisitID', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 31, - fieldName: 'Sex', - possibleValues: [{ code: '1', description: 'male' }, { code: '0', description: 'female' }], - unit: '', - comments: '', - dataType: enumValueType.CATEGORICAL - }, - { - fieldId: 32, - fieldName: 'Description', - possibleValues: [], - unit: '', - comments: '', - dataType: enumValueType.STRING - }, - { - fieldId: 33, - fieldName: 'Weight', - possibleValues: [], - unit: 'Kg', - comments: '', - dataType: enumValueType.DECIMAL - } - ]; - // should stop uploading when error occurs - function BulkInsert(this: any) { - this._insertArray = []; - this._executeCalled = []; // array of length of _insertArray when execute() is called - this.insert = (object: any) => { this._insertArray.push(object); }; - this._foundobj = null; - this.find = (object: { [x: string]: any; }) => { - let tag; - for (const each of this._insertArray) { - tag = true; - for (const field of Object.keys(object)) { - if (JSON.stringify(object[field]) !== JSON.stringify(each[field])) { - tag = false; - break; - } - } - if (tag === true) { - this._foundobj = each; - break; - } - } - return this; - }; - this.upsert = () => { return this; }; - this.execute = async () => new Promise((resolve) => { - setTimeout(() => { - this._executeCalled.push(this._insertArray.length); - resolve(); - }, 10); - }); - this.updateOne = (object: { [x: string]: { [x: string]: any; }; }) => { - if (this._foundobj === null) { - this._insertArray.push(object['$set']); - } - for (let i = 0; i < this._insertArray.length; i++) { - if (JSON.stringify(this._insertArray[i]) === JSON.stringify(this._foundobj)) { - for (const field of Object.keys(object['$set'])) { - this._insertArray[i][field] = object['$set'][field]; - } - } - } - this._foundobj = null; - }; - } - - function MongoStub(this: any) { - this._bulkinsert = new (BulkInsert as any)(); - this.initializeUnorderedBulkOp = () => this._bulkinsert; - } - - it('test mongostub update new', async () => { - const bulkinsert = (new (MongoStub as any)()).initializeUnorderedBulkOp(); - bulkinsert.insert({ a: 1 }); - bulkinsert.insert({ b: 2 }); - return bulkinsert.execute().then(() => { - bulkinsert.find({ c: 3 }).upsert().updateOne({ $set: { c: 4 } }); - return bulkinsert.execute(); - }).then(() => { - expect(bulkinsert._insertArray).toEqual([{ a: 1 }, { b: 2 }, { c: 4 }]); - expect(bulkinsert._executeCalled).toEqual([2, 3]); - }); - }, 10000); - - it('test mongostub update existing', async () => { - const bulkinsert = (new (MongoStub as any)()).initializeUnorderedBulkOp(); - bulkinsert.insert({ a: 1 }); - bulkinsert.insert({ b: 2 }); - return bulkinsert.execute().then(() => { - bulkinsert.find({ b: 2 }).upsert().updateOne({ $set: { d: 4 } }); - return bulkinsert.execute(); - }).then(() => { - expect(bulkinsert._insertArray).toEqual([{ a: 1 }, { b: 2, d: 4 }]); - expect(bulkinsert._executeCalled).toEqual([2, 2]); - }); - }, 10000); - - it('jsoncurator uploads json file okay', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/JSONCurator.json')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const jsoncurator = new JSONCurator( - mongoStub, - readStream, - jobEntry, - fieldsList - ); - const errors = await jsoncurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(2226); - expect(mongoStub._bulkinsert._executeCalled).toEqual([1000, 2000, 2226]); - expect(mongoStub._bulkinsert._insertArray[0]).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - 31: '0', - 32: 'no description', - 33: 60.2, - deleted: null - }); - - }); - - it('jsoncurator catches non-esisting headers', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/JSONCurator_error1.json')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const jsoncurator = new JSONCurator( - mongoStub, - readStream, - jobEntry, - fieldsList - ); - const errors = await jsoncurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([ - 'Object 1 column 7: Unknown field.' - ]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(0); // nothing gets uploaded if errors are caught in header - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - - }); - - it('jsoncurator catches duplicate header', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/JSONCurator_error2.json')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const jsoncurator = new JSONCurator( - mongoStub, - readStream, - jobEntry, - fieldsList - ); - const errors = await jsoncurator.processIncomingStreamAndUploadToMongo(); - expect(errors[0]).toBe('Object 1 column 6: Duplicate field.'); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(0); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - - }); - - it('jsoncurator catches uneven field before watermark', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/JSONCurator_error3.json')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const jsoncurator = new JSONCurator( - mongoStub, - readStream, - jobEntry, - fieldsList - ); - - const errors = await jsoncurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([ - 'Object 29: Uneven field Number; expected 6 fields but got 5', - 'Object 31: Uneven field Number; expected 6 fields but got 4' - ]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(26); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - expect(mongoStub._bulkinsert._insertArray[0]).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - 31: '0', - 32: 'no description', - 33: 60.2, - deleted: null - }); - - }); - - it('jsoncurator catches uneven field after watermark', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/JSONCurator_error4.json')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const jsoncurator = new JSONCurator( - mongoStub, - readStream, - jobEntry, - fieldsList - ); - - const errors = await jsoncurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([ - 'Object 1897: Uneven field Number; expected 6 fields but got 5', - 'Object 1899: Uneven field Number; expected 6 fields but got 4' - ]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(1894); - expect(mongoStub._bulkinsert._executeCalled).toEqual([1000]); - expect(mongoStub._bulkinsert._insertArray[0]).toEqual({ - m_subjectId: 'I7N3G6G', - m_visitId: '1', - m_studyId: 'mockStudyId', - 31: '0', - 32: 'no description', - 33: 60.2, - deleted: null - }); - - }); - - it('jsoncurator catches mixed errors', async () => { - const readStream = fs.createReadStream(path.join(__dirname, '../testFiles/JSONCurator_error5.json')); - const mongoStub = new (MongoStub as any)(); - const jobEntry = stub({ // subset of the IJobEntry interface - id: 'mockJobId', - studyId: 'mockStudyId' - }); - const jsoncurator = new JSONCurator( - mongoStub, - readStream, - jobEntry, - fieldsList - ); - - const errors = await jsoncurator.processIncomingStreamAndUploadToMongo(); - expect(errors).toEqual([ - 'Object 1 column 7: Unknown field.', - 'Object 4 column 4: Cannot parse \'a\' as categorical, value is illegal.', - 'Object 130: Uneven field Number; expected 7 fields but got 6', - 'Object 153: Uneven field Number; expected 7 fields but got 5', - 'Object 2003: Uneven field Number; expected 7 fields but got 6', - 'Object 2005: Uneven field Number; expected 7 fields but got 5' - ]); - expect(mongoStub._bulkinsert._insertArray).toHaveLength(0); - expect(mongoStub._bulkinsert._executeCalled).toEqual([]); - }); -}); diff --git a/packages/itmat-types/src/types/common.ts b/packages/itmat-types/src/types/common.ts new file mode 100644 index 000000000..8177a4a7d --- /dev/null +++ b/packages/itmat-types/src/types/common.ts @@ -0,0 +1,6 @@ +export interface IGenericResponse { + successful: boolean; + id?: string; + code?: string; + description?: string; +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/data.ts b/packages/itmat-types/src/types/data.ts index f86b2a4dc..fcc42f6d2 100644 --- a/packages/itmat-types/src/types/data.ts +++ b/packages/itmat-types/src/types/data.ts @@ -5,7 +5,11 @@ export interface IDataEntry { m_visitId: string; // visit Id m_versionId: string | null; // data version Id m_fieldId: string; - metadata?: Record; + metadata?: { + add?: string[]; + remove?: string[]; + [key: string]: unknown; + }; value: unknown; uploadedBy?: string; uploadedAt: number; @@ -13,7 +17,16 @@ export interface IDataEntry { export interface IFieldDescriptionObject { fieldId: string; + fieldName: string; timepoint: number; measurement: number; - datatype: 'c' | 'i' | 'd' | 'b' | 't'; + dataType: 'cat' | 'int' | 'dec' | 'bool' | 'file' | 'json' | 'str' | 'date'; } + +export interface IGroupedData { + [key: string]: { + [key: string]: { + [key: string]: unknown + } + } +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/field.ts b/packages/itmat-types/src/types/field.ts index 1ae984945..9e46754dc 100644 --- a/packages/itmat-types/src/types/field.ts +++ b/packages/itmat-types/src/types/field.ts @@ -9,8 +9,8 @@ export interface IFieldEntry { unit?: string; comments?: string; metadata?: Record; - dateAdded: string; - dateDeleted: string | null; + dateAdded: number; + dateDeleted: number | null; dataVersion: string | null; } diff --git a/packages/itmat-types/src/types/index.ts b/packages/itmat-types/src/types/index.ts index 10479bc67..8319c3fd8 100644 --- a/packages/itmat-types/src/types/index.ts +++ b/packages/itmat-types/src/types/index.ts @@ -9,6 +9,7 @@ import * as Organisation from './organisation'; import * as Pubkey from './pubkey'; import * as Data from './data'; import * as Standardization from './standardization'; +import * as Common from './common'; export * from './field'; export * from './file'; @@ -21,4 +22,5 @@ export * from './organisation'; export * from './pubkey'; export * from './data'; export * from './standardization'; -export const Types = { File, Job, Log, User, Organisation, Pubkey, Study, Query, Field, Data, Standardization }; +export * from './common'; +export const Types = { File, Job, Log, User, Organisation, Pubkey, Study, Query, Field, Data, Standardization, Common }; diff --git a/packages/itmat-types/src/types/log.ts b/packages/itmat-types/src/types/log.ts index 8950336bb..b15a45923 100644 --- a/packages/itmat-types/src/types/log.ts +++ b/packages/itmat-types/src/types/log.ts @@ -7,7 +7,7 @@ export interface ILogEntry { userAgent: USER_AGENT, logType: LOG_TYPE, actionType: LOG_ACTION, - actionData: never, + actionData: string, time: number, status: LOG_STATUS, errors: string | null diff --git a/packages/itmat-types/src/types/query.ts b/packages/itmat-types/src/types/query.ts index 7af0639b8..2b8d925a1 100644 --- a/packages/itmat-types/src/types/query.ts +++ b/packages/itmat-types/src/types/query.ts @@ -1,11 +1,5 @@ export type IQueryEntry = { id: string; - queryString: { - data_requested: string[]; - cohort: ICohortSelection[][]; - new_fields: INewFieldSelection[]; - table_requested?: string; - }; studyId: string; projectId?: string; requester: string; @@ -19,6 +13,14 @@ export type IQueryEntry = { data_requested: string[]; cohort: ICohortSelection[][]; new_fields: INewFieldSelection[]; + queryString: IQueryString; +} + +export interface IQueryString { + data_requested?: string[]; + cohort: ICohortSelection[][]; + new_fields: INewFieldSelection[]; + table_requested?: string; } // we do not reuse the cohort types directly to avoid conflicts diff --git a/packages/itmat-types/src/types/standardization.ts b/packages/itmat-types/src/types/standardization.ts index 852d89644..9ec173430 100644 --- a/packages/itmat-types/src/types/standardization.ts +++ b/packages/itmat-types/src/types/standardization.ts @@ -22,7 +22,21 @@ export enum StandardizationRuleSource { inc = 'inc' } -type StandardizationRuleFilter = unknown; +export enum StandardizationFilterOptions { + convert = 'convert', + delete = 'delete' +} + +export interface StandardizationFilterOptionParameters { + source: 'value' | 'data'; + parameter: string; +} + +interface StandardizationRuleFilter { + [key: string]: Array +} + + export interface IStandardizationRule { id: string, diff --git a/packages/itmat-types/src/types/study.ts b/packages/itmat-types/src/types/study.ts index 415f5943c..d6fda4611 100644 --- a/packages/itmat-types/src/types/study.ts +++ b/packages/itmat-types/src/types/study.ts @@ -42,7 +42,29 @@ export enum IPermissionManagementOptions { ontologyTrees = 'ontologyTrees' } -type RoleBaseFilter = unknown; +type RoleBaseFilter = { + field: string; + op: string; + value: string | number; +}; + +export interface IDataPermission { + subjectIds?: string[]; + visitIds?: string[]; + fieldIds?: string[]; + uploaders?: string[]; // only works for downloading data; for file data, it will check IFile instead of data clip + hasVersioned?: boolean; + operations?: atomicOperation[]; + filters?: RoleBaseFilter[] +} + +export interface IManagementPermission { + [IPermissionManagementOptions.own]?: atomicOperation[]; + [IPermissionManagementOptions.role]?: atomicOperation[]; + [IPermissionManagementOptions.job]?: atomicOperation[]; + [IPermissionManagementOptions.query]?: atomicOperation[]; + [IPermissionManagementOptions.ontologyTrees]: atomicOperation[]; +} interface IRoleBase { id: string; @@ -50,22 +72,8 @@ interface IRoleBase { studyId: string; name: string; permissions: { - data?: { - subjectIds?: string[]; - visitIds?: string[]; - fieldIds?: string[]; - uploaders?: string[]; // only works for downloading data; for file data, it will check IFile instead of data clip - hasVersioned?: boolean; - operations?: atomicOperation[]; - filters?: RoleBaseFilter[] - }, - manage?: { - [IPermissionManagementOptions.own]?: atomicOperation[]; - [IPermissionManagementOptions.role]?: atomicOperation[]; - [IPermissionManagementOptions.job]?: atomicOperation[]; - [IPermissionManagementOptions.query]?: atomicOperation[]; - [IPermissionManagementOptions.ontologyTrees]: atomicOperation[]; - } + data?: IDataPermission, + manage?: IManagementPermission }; description: string; createdBy: string; @@ -87,7 +95,11 @@ export interface IProject { createdBy: string; name: string; dataVersion?: IStudyDataVersion | null; - summary?: string; + summary?: { + subjects: string[]; + visits: string[]; + standardizationTypes: string[] + }; patientMapping: { [originalId: string]: string }; lastModified: number; deleted: number | null; @@ -100,7 +112,12 @@ export interface IDataClip { subjectId: string; visitId: string; file?: FileUpload; - metadata?: JSON + metadata?: { + startDate?: number; + endDate?: number; + deviceId?: string; + [key: string]: unknown + } } export interface ISubjectDataRecordSummary { diff --git a/packages/itmat-types/src/types/user.ts b/packages/itmat-types/src/types/user.ts index 0089c1977..2812c71d0 100644 --- a/packages/itmat-types/src/types/user.ts +++ b/packages/itmat-types/src/types/user.ts @@ -19,7 +19,10 @@ export interface IUserWithoutToken { createdAt: number; expiredAt: number; resetPasswordRequests: IResetPasswordRequest[]; - metadata?: Record; + metadata?: { + logPermission: boolean; + [key: string]: unknown + }; } export interface IResetPasswordRequest { diff --git a/packages/itmat-ui-react/src/components/apolloClient.ts b/packages/itmat-ui-react/src/components/apolloClient.ts index ab321a77f..bca8333f6 100644 --- a/packages/itmat-ui-react/src/components/apolloClient.ts +++ b/packages/itmat-ui-react/src/components/apolloClient.ts @@ -63,7 +63,7 @@ export const client = new ApolloClient({ link: from([ onError(({ response, graphQLErrors, networkError }) => { if (graphQLErrors) { - if (response.errors[0].message === 'NOT_LOGGED_IN') { + if (response && response.errors && response.errors[0].message === 'NOT_LOGGED_IN') { window.location.reload(); } graphQLErrors.map((error) => diff --git a/packages/itmat-ui-react/src/components/datasetDetail/index.tsx b/packages/itmat-ui-react/src/components/datasetDetail/index.tsx index 1e102bdee..c4ed9ba6f 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/index.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Route, Routes, useParams, Navigate } from 'react-router-dom'; import { GET_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { userTypes } from '@itmat-broker/itmat-types'; +import { IJobEntry, IProject, IStudy, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; import css from './projectPage.module.css'; import { DashboardTabContent, DataManagementTabContentFetch, ProjectsTabContent, AdminTabContent, FieldManagementTabContentFetch } from './tabContent'; @@ -13,7 +13,7 @@ export const DatasetDetailPage: FunctionComponent = () => { if (!studyId) return ; return ( - + query={GET_STUDY} variables={{ studyId }} errorPolicy='ignore' // quick fix ; TO_DO change to split graphql requests coupled with UI @@ -26,10 +26,11 @@ export const DatasetDetailPage: FunctionComponent = () => {

{data.getStudy.name.toUpperCase()}

- query={WHO_AM_I}> + query={WHO_AM_I}> {({ loading, error, data: sessionData }) => { if (loading) return ; if (error) return

{error.toString()}

; + if (!sessionData) { return null; } if (sessionData.whoAmI.type === userTypes.ADMIN) { return ( <> diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/adminTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/adminTab.tsx index 93f3f82ad..71713e6e4 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/adminTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/admin/adminTab.tsx @@ -8,6 +8,7 @@ import { GET_STUDY, DELETE_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; import { Mutation, Query } from '@apollo/client/react/components'; import { Navigate, useParams } from 'react-router-dom'; import { Button } from 'antd'; +import { IStudy } from '@itmat-broker/itmat-types'; export const AdminTabContent: FunctionComponent = () => { @@ -29,33 +30,31 @@ export const AdminTabContent: FunctionComponent = () => {

Be careful to check all related projects and files before deleting this dataset!

- query={GET_STUDY} variables={{ studyId }}> + query={GET_STUDY} variables={{ studyId }}> {({ loading, data, error }) => { if (loading) { return ; } if (error) { return

{error.toString()}

; } + if (!data) { return null; } - return + return mutation={DELETE_STUDY} refetchQueries={[ { query: WHO_AM_I, variables: { fetchDetailsAdminOnly: false, fetchAccessPrivileges: false } } ]} > - {(deleteStudy, { loading, error, data: StudyDeletedData }) => { if (StudyDeletedData && StudyDeletedData.deleteStudy && StudyDeletedData.deleteStudy.successful) { return ; } if (error) return

{error.message}

; - if (loading) - return ; + if (loading) return ; return !deleteButtonShown ? : <> -      + ; }} - ; }} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx index f0e23918d..c4fc3f2a5 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { InfoCircleOutlined } from '@ant-design/icons'; import css from './tabContent.module.css'; import { useSubscription } from '@apollo/client/react/hooks'; -import type { IJobEntry } from '@itmat-broker/itmat-types'; +import type { IJobEntry, IStudy } from '@itmat-broker/itmat-types'; import { GET_STUDY, SUBSCRIBE_TO_JOB_STATUS } from '@itmat-broker/itmat-models'; import { Table, Button } from 'antd'; @@ -36,18 +36,18 @@ export const JobSection: FunctionComponent<{ studyId: string; jobs: Array { if (subscriptionData.data.subscribeToJobStatusChange !== null) { - const olddata = store.readQuery({ query: GET_STUDY, variables: { studyId } }); - const oldjobs = olddata.getStudy.jobs; - const newjobs = oldjobs.map((el) => { + const olddata = store.readQuery<{ getStudy: IStudy & { jobs: IJobEntry[] } }, { studyId: string }>({ query: GET_STUDY, variables: { studyId } }); + const oldjobs = olddata?.getStudy.jobs; + const newjobs = (oldjobs ?? []).map((el) => { if (el.id === subscriptionData.data.subscribeToJobStatusChange.jobId) { el.status = subscriptionData.data.subscribeToJobStatusChange.newStatus; - if (el.status === 'error') { + if (el.status === 'ERROR') { el.error = subscriptionData.data.subscribeToJobStatusChange.errors; } } return el; }); - const tmp = { ...olddata.getStudy, jobs: newjobs }; + const tmp = { ...olddata?.getStudy, jobs: newjobs }; store.writeQuery({ query: GET_STUDY, variables: { studyId }, data: { getStudy: tmp } }); } } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx index 72405f06c..b21beb450 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { generateCascader } from '../../../../utils/tools'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; import { Query } from '@apollo/client/react/components'; import { GET_STUDY, GET_STUDY_FIELDS, GET_DATA_RECORDS, CREATE_NEW_DATA_VERSION, SET_DATAVERSION_AS_CURRENT, WHO_AM_I, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { userTypes, IOntologyRoute } from '@itmat-broker/itmat-types'; +import { userTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; import { DataSummaryVisual } from './dataSummary'; @@ -36,7 +36,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { const { loading: whoAmILoading, error: whoAmIError, data: whoAmIData } = useQuery(WHO_AM_I); const [createNewDataVersion] = useMutation(CREATE_NEW_DATA_VERSION); const [setDataVersion, { loading }] = useMutation(SET_DATAVERSION_AS_CURRENT); - const [selectedPath, setSelectedPath] = useState([]); + const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const [selectedVersion, setSelectedVersion] = useState(getStudyData.getStudy.currentDataVersion); const [isModalOn, setIsModalOn] = useState(false); const [treeId, setTreeId] = useState(''); @@ -69,7 +69,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { } ]; - const versions = []; + const versions: string[] = []; for (const item of getStudyData.getStudy.dataVersions) { versions[item['version']] = item['id']; } @@ -105,7 +105,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { } {showSaveVersionButton && (selectedVersion !== getStudyData.getStudy.currentDataVersion) ? - + : null }
: null} @@ -163,7 +163,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => { onOk={() => setIsModalOn(false)} onCancel={() => setIsModalOn(false)} > - query={GET_DATA_RECORDS} variables={{ + query={GET_DATA_RECORDS} variables={{ studyId: studyId, versionId: null, queryString: { data_requested: null, new_fields: null, diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx index e1cc2acb6..5d3fe08c4 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx @@ -2,7 +2,7 @@ import { FunctionComponent, useState } from 'react'; import { Query } from '@apollo/client/react/components'; import { useQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_STUDY } from '@itmat-broker/itmat-models'; -import { IStudyDataVersion } from '@itmat-broker/itmat-types'; +import { IFieldEntry, IStudyDataVersion } from '@itmat-broker/itmat-types'; import { FieldListSection } from '../../../reusable/fieldList/fieldList'; import LoadSpinner from '../../../reusable/loadSpinner'; // number of patients @@ -43,7 +43,7 @@ const FieldListSelectionState: FunctionComponent<{ studyId: string; fieldTreeIds return <>

- query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> + query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> {({ data, loading, error }) => { if (loading) { return ; } if (error) { return

{JSON.stringify(error)}

; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx index c5d492b67..0962be570 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx @@ -32,7 +32,7 @@ export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string notification.open({ message: 'Failed', description: - `Field ${selectedStd.field.toString()} failed to update.`, + `Field ${selectedStd?.field?.toString()} failed to update.`, icon: }); } @@ -40,7 +40,7 @@ export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string const [editMode, setEditMode] = useState(false); const [format, setFormat] = useState(undefined); - const [selectedStd, setSelectedStd] = useState({ + const [selectedStd, setSelectedStd] = useState>({ id: '', studyId: studyId, type: format || '', @@ -119,7 +119,7 @@ export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string name={'standard'} initialValues={selectedStd} onFinish={(value) => { - const stdRules = []; + const stdRules: unknown[] = []; [...value.stdRules].forEach(el => { delete el.__typename; delete el.id; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewData.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewData.tsx deleted file mode 100644 index b3bd10388..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewData.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import { FunctionComponent, useState } from 'react'; -import { Mutation, Query } from '@apollo/client/react/components'; -import { NavLink } from 'react-router-dom'; -import { CREATE_DATA_CURATION_JOB, GET_STUDY } from '@itmat-broker/itmat-models'; -import { IFile } from '@itmat-broker/itmat-types'; -import LoadSpinner from '../../../reusable/loadSpinner'; -import { Select, Button } from 'antd'; -const { Option } = Select; - -export const UploadNewData: FunctionComponent<{ studyId: string; cancelButton?: () => void }> = ({ studyId, cancelButton }) => { - return
-

To upload a new version of the dataset, please make sure you have uploaded the data file to the file repository.

-

- - query={GET_STUDY} variables={{ studyId }}> - {({ loading, data, error }) => { - if (loading) { return ; } - if (error) { return

{error.toString()}

; } - if (!data.getStudy || data.getStudy.files === undefined || data.getStudy.files.length === 0) { - return null; - } - return ; - }} - - -
; -}; - -const UploadNewDataForm: FunctionComponent<{ studyId: string; files: IFile[]; cancelButton?: () => void }> = ({ cancelButton, files, studyId }) => { - const [error, setError] = useState(''); - const [successfullySaved, setSuccessfullySaved] = useState(false); - const [selectedFile, setSelectedFile] = useState([]); // files.length > 0 because of checks above - const handleCancel = cancelButton === undefined ? (() => setSelectedFile([])) : cancelButton; - - const filteredFiles = files.filter(el => !( - el.fileName.indexOf('VariablesList') >= 0 - || el.fileName.indexOf('Site') >= 0 - || el.fileName.indexOf('Codes') >= 0 - || el.fileName.indexOf('SubjectGroup') >= 0 - || el.fileName.indexOf('Tables') >= 0 - || el.fileName.indexOf('Visits') >= 0 - )); - - return <> - Data file: -

- - - mutation={CREATE_DATA_CURATION_JOB} - onCompleted={() => setSuccessfullySaved(true)} - // update={(store, { data: { createDataCurationJob } }) => { - // // Read the data from our cache for this query. - // const data = store.readQuery({ query: GET_STUDY, variables: { studyId } }); - // // Add our comment from the mutation to the end. - // const newjobs = data.getStudy.jobs.concat(createDataCurationJob); - // data.getStudy.jobs = newjobs; - // // Write our data back to the cache. - // store.writeQuery({ query: GET_STUDY, variables: { studyId }, data }); - // }} - > - {(createCurationJob, { loading, error }) => { - if (loading) { return ; } - if (error) { return ; } - return ; - }} - - - - {error ?
{error}
: null} - {successfullySaved ?
Job created and queued.
: null} - ; - -}; - -// const CreateNewDataVersion: FunctionComponent<{ studyId: string; dataVersion: string; tag: string }> = ({ studyId, dataVersion, tag }) => { - -// }; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewFields.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewFields.tsx deleted file mode 100644 index f5c3e7875..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/uploadNewFields.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import { createRef, FunctionComponent, useState } from 'react'; -import { Mutation, Query } from '@apollo/client/react/components'; -import { NavLink } from 'react-router-dom'; -import { CREATE_FIELD_CURATION_JOB, GET_STUDY } from '@itmat-broker/itmat-models'; -import { IFile } from '@itmat-broker/itmat-types'; -import LoadSpinner from '../../../reusable/loadSpinner'; -import css from './tabContent.module.css'; -import { Button, Select } from 'antd'; -const { Option } = Select; - -export const UploadNewFields: FunctionComponent<{ studyId: string }> = ({ studyId }) => { - const [expanded, setExpanded] = useState(false); - const [error, setError] = useState(''); - const [uploadFileTabSelected, setUploadFileTabSelected] = useState(true); - const fileRef = createRef(); - - if (!expanded) { - return ; - } - - return
-

Please note that you will need to upload an entire set of annotations and not just the delta.

-

You can either upload a new annotation files or select one previously uploaded file:

-
setUploadFileTabSelected(true)} className={uploadFileTabSelected ? css.selected_tab : ''}>Upload a new file
setUploadFileTabSelected(false)} className={!uploadFileTabSelected ? css.selected_tab : ''}>Select from existing file
- { - uploadFileTabSelected ? - <> -
- - mutation={CREATE_FIELD_CURATION_JOB}> - {(createCurationJob, { loading }) => { - if (loading) { return ; } - return ( - - ); - }} - - - {error ?
{error}
: null} - - : - - } -
; -}; - - -const UploadFieldBySelectingFileFormFetch: FunctionComponent<{ studyId: string; cancel: (__unused__expanded: boolean) => void }> = ({ studyId, cancel }) => { - return query={GET_STUDY} variables={{ studyId }}> - {({ loading, data, error }) => { - if (loading) return ; - if (error) return

{error.toString()}

; - if (!data.getStudy || data.getStudy.files === undefined || data.getStudy.files.length === 0) { - return

No file has been uploaded to this dataset yet. You can do this in the file repository

; - } - return ; - }} - ; -}; - -const UploadFieldBySelectingFileForm: FunctionComponent<{ studyId: string; files: IFile[]; cancel: (__unused__expanded: boolean) => void }> = ({ cancel, studyId, files }) => { - const [error, setError] = useState(''); - const [successfullySaved, setSuccessfullySaved] = useState(false); - const [selectedFile, setSelectedFile] = useState(''); // files.length > 0 because of checks above - const [tag, setTag] = useState(''); - - return
- -

- - { setTag(e.target.value); setError(''); setSuccessfullySaved(false); }} placeholder='e.g main tree' type='text' />

- mutation={CREATE_FIELD_CURATION_JOB} onCompleted={() => setSuccessfullySaved(true)}> - {(createCurationJob, { loading }) => { - if (loading) { return ; } - return ; - }} - - - - {error ?
{error}
: null} - {successfullySaved ?
Job created and queued.
: null} -
; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx index 84c56b301..8c36c2f5d 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx @@ -1,5 +1,5 @@ import { FunctionComponent, useState, useEffect, useRef, useContext, Fragment, HTMLAttributes, createContext, ReactNode } from 'react'; -import { Button, Upload, notification, Tag, Table, Form, Input, InputRef, DatePicker, Space, Modal } from 'antd'; +import { Button, Upload, notification, Tag, Table, Form, Input, InputRef, DatePicker, Space, Modal, FormInstance } from 'antd'; import type { PickerRef } from 'rc-picker'; import { RcFile } from 'antd/es/upload'; import { UploadOutlined, DeleteOutlined } from '@ant-design/icons'; @@ -7,7 +7,7 @@ import { Query } from '@apollo/client/react/components'; import { useApolloClient, useMutation, useQuery } from '@apollo/client/react/hooks'; import { useDropzone } from 'react-dropzone'; import { GET_STUDY, UPLOAD_FILE, GET_ORGANISATIONS, GET_USERS, EDIT_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IFile, userTypes, deviceTypes } from '@itmat-broker/itmat-types'; +import { IFile, userTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; import { FileList, formatBytes } from '../../../reusable/fileList/fileList'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -16,6 +16,7 @@ import { ApolloError } from '@apollo/client/errors'; import { validate } from '@ideafast/idgen'; import dayjs, { Dayjs } from 'dayjs'; import { v4 as uuid } from 'uuid'; +import { ColumnProps } from 'antd/es/table'; type StudyFile = RcFile & { uuid: string; @@ -37,7 +38,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const [isUploading, setIsUploading] = useState(false); const store = useApolloClient(); const { loading: getOrgsLoading, error: getOrgsError, data: getOrgsData } = useQuery(GET_ORGANISATIONS); - const { loading: getStudyLoading, error: getStudyError, data: getStudyData } = useQuery(GET_STUDY, { variables: { studyId: studyId } }); + const { loading: getStudyLoading, error: getStudyError, data: getStudyData } = useQuery<{ getStudy: IStudy & { files: IFile[] } }>(GET_STUDY, { variables: { studyId: studyId } }); const { loading: getUsersLoading, error: getUsersError, data: getUsersData } = useQuery(GET_USERS, { variables: { fetchDetailsAdminOnly: false, fetchAccessPrivileges: false } }); const { loading: whoAmILoading, error: whoAmIError, data: whoAmIData } = useQuery(WHO_AM_I); const [searchTerm, setSearchTerm] = useState(''); @@ -50,7 +51,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = }); const [uploadFile] = useMutation(UPLOAD_FILE, { onCompleted: ({ uploadFile }) => { - const cachedata = store.readQuery({ + const cachedata = store.readQuery<{ getStudy: IStudy & { files: IFile[] } }, { studyId: string }>({ query: GET_STUDY, variables: { studyId } }); @@ -316,6 +317,10 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = An error occured, please contact your administrator
; + if (!getStudyData) { + return null; + } + const userIdNameMapping = getUsersData.getUsers.reduce((a, b) => { a[b['id']] = b['firstname'].concat(' ').concat(b['lastname']); return a; }, {}); const sites = getOrgsData.getOrganisations.filter(org => org.metadata?.siteIDMarker).reduce((prev, current) => ({ @@ -341,12 +346,14 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = studyLevelFiles.push(file); } } + subjectLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); + studyLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); return [subjectLevelFiles, studyLevelFiles]; } - const sortedFiles = dataSourceFilter(getStudyData.getStudy.files).sort((a, b) => parseInt(b.uploadTime) - parseInt(a.uploadTime)); + const sortedFiles = dataSourceFilter(getStudyData.getStudy.files); const numberOfFiles = sortedFiles[0].length; - const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (parseInt(b.fileSize) || 0), 0); + const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (parseInt(b.fileSize || '0') || 0), 0); const participantOfFiles = sortedFiles[0].reduce(function (values, v) { if (!values.set[JSON.parse(v['description'])['participantId']]) { values.set[JSON.parse(v['description'])['participantId']] = 1; @@ -355,8 +362,8 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = return values; }, { set: {}, count: 0 }).count; // format the file structure - const fileSummary = []; - const categoryColumns = []; + const fileSummary: { site: string, total: number }[] = []; + const categoryColumns: ColumnProps<{ site: string, total: number }>[] = []; if (sortedFiles[0].length > 0) { const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).participantId[0]).sort())); const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).deviceId.substr(0, 3)).sort())); @@ -384,7 +391,8 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = }); for (const site of availableSites) { const tmpData = { - site: site + site: site, + total: 0 }; for (const deviceType of availableDeviceTypes) { tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description).participantId[0] === site @@ -467,11 +475,11 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> =
- query={GET_STUDY} variables={{ studyId }}> + query={GET_STUDY} variables={{ studyId }}> {({ loading, data, error }) => { if (loading || error) return <>To upload files you can click on the button below or drag and drop files directly from your hard drive.; - return <>To upload files to {data.getStudy.name} you can click on the button below or drag and drop files directly from your hard drive.; + return <>To upload files to {data?.getStudy.name} you can click on the button below or drag and drop files directly from your hard drive.; }}
@@ -516,7 +524,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> =
; }; -const EditableContext = createContext({}); +const EditableContext = createContext(null); type EditableRowProps = { index: number; @@ -562,10 +570,14 @@ const EditableCell: FunctionComponent = ({ useEffect(() => { if (editable && !editing) { - form.setFieldsValue(record); + form !== null && form.setFieldsValue(record); setEditing(true); } }, [editable, editing, form, record]); + if (form === null) { + return null; + } + const save = () => { (async () => { diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx index fddfa9071..eca2e417d 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx @@ -2,7 +2,7 @@ import { FunctionComponent, useState } from 'react'; import { Mutation } from '@apollo/client/react/components'; import { Navigate } from 'react-router'; import { WHO_AM_I, DELETE_PROJECT, GET_STUDY } from '@itmat-broker/itmat-models'; -import { IProject } from '@itmat-broker/itmat-types'; +import { IProject, IStudy, IUserWithoutToken } from '@itmat-broker/itmat-types'; export const DeleteProjectSection: FunctionComponent<{ studyId: string; projectId: string; projectName: string }> = ({ studyId, projectId, projectName }) => { const [isExpanded, setIsExpanded] = useState(false); @@ -21,11 +21,14 @@ export const DeleteProjectSection: FunctionComponent<{ studyId: string; projectI return <>

Warning! This is irreversible! If you really want to delete this project, please type the name of the project ({projectName}) below to confirm.

{ setInput(e.target.value); setError(''); }} />

- + mutation={DELETE_PROJECT} update={(store) => { // Read the data from our cache for this query. - const data = store.readQuery({ query: GET_STUDY, variables: { studyId, admin: true } }); + const data = store.readQuery<{ getStudy: IStudy & { projects: IProject[] } }, { studyId: string, admin: boolean }>({ query: GET_STUDY, variables: { studyId, admin: true } }); + if (data === null) { + return; + } // Add our comment from the mutation to the end. const newProjects = data.getStudy.projects.filter((el: IProject) => el.id !== projectId); data.getStudy.projects = newProjects; @@ -33,7 +36,10 @@ export const DeleteProjectSection: FunctionComponent<{ studyId: string; projectI store.writeQuery({ query: GET_STUDY, variables: { studyId, admin: true }, data }); // Read the data from our cache for this query. - const whoAmI = store.readQuery({ query: WHO_AM_I }); + const whoAmI = store.readQuery<{ whoAmI: IUserWithoutToken & { access: { id: string, studies: IStudy[], projects: IProject[] } } }>({ query: WHO_AM_I }); + if (whoAmI === null) { + return; + } // Add our comment from the mutation to the end. // const newWhoAmIProjects = whoAmI.whoAmI.access.projects.filter((el: IProject) => el.id !== projectId); whoAmI.whoAmI.access.projects = newProjects; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx index 1f47b4511..6002f6fba 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx @@ -3,6 +3,7 @@ import { Query } from '@apollo/client/react/components'; import { GET_PROJECT_PATIENT_MAPPING } from '@itmat-broker/itmat-models'; import LoadSpinner from '../../../../reusable/loadSpinner'; import { Button } from 'antd'; +import { IProject } from '@itmat-broker/itmat-types'; export const PatientIdMappingSection: FunctionComponent<{ projectId: string }> = ({ projectId }) => { const [clickedFetch, setClickedFetch] = useState(false); @@ -14,7 +15,7 @@ export const PatientIdMappingSection: FunctionComponent<{ projectId: string }> = } if (!clickedFetch) { return ; } - return query={GET_PROJECT_PATIENT_MAPPING} variables={{ projectId }}> + return query={GET_PROJECT_PATIENT_MAPPING} variables={{ projectId }}> {({ data, loading, error }) => { if (loading) { return ; } if (error) { return

{error.toString()}

; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx index 710258743..994bfe138 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx @@ -9,7 +9,7 @@ import { PatientIdMappingSection } from './patientIdMapping'; import css from './projectDetail.module.css'; import { NavLink, useParams } from 'react-router-dom'; import { useQuery } from '@apollo/client/react/hooks'; -import { userTypes } from '@itmat-broker/itmat-types'; +import { IProject, IRoleQL, userTypes } from '@itmat-broker/itmat-types'; export const ProjectDetail: FunctionComponent = () => { const { projectId, studyId } = useParams(); @@ -19,7 +19,7 @@ export const ProjectDetail: FunctionComponent = () => { if (!projectId || !studyId) return null; - return + return query={GET_PROJECT} variables={{ projectId, admin: whoamidata.whoAmI.type === userTypes.ADMIN }} > diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx index fe6ad158d..df6f93cea 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx @@ -4,6 +4,7 @@ import { NavLink, Navigate } from 'react-router-dom'; import { CREATE_PROJECT } from '@itmat-broker/itmat-models'; import css from './tabContent.module.css'; import { Button, Input } from 'antd'; +import { IProject } from '@itmat-broker/itmat-types'; export const ProjectListSection: FunctionComponent<{ studyId: string; projectList: Array<{ id: string; name: string }> }> = ({ studyId, projectList }) => { return
@@ -26,24 +27,7 @@ export const AddNewProject: FunctionComponent<{ studyId: string }> = ({ studyId return
Project Name: { setError(''); setProjectName(e.target.value); }} type='text' placeholder='Enter name' />

- mutation={CREATE_PROJECT} - // update={(store, { data: { createProject } }) => { - // // Read the data from our cache for this query. - // const data = store.readQuery({ query: GET_STUDY, variables: { studyId, admin: true } }); - // // Add our comment from the mutation to the end. - // const newProjects = data.getStudy.projects.concat(createProject); - // data.getStudy.projects = newProjects; - // // Write our data back to the cache. - // store.writeQuery({ query: GET_STUDY, variables: { studyId, admin: true }, data }); - - // // Read the data from our cache for this query. - // const whoAmI = store.readQuery({ query: WHO_AM_I }); - // // Add our comment from the mutation to the end. - // // const newWhoAmIProjects = whoAmI.whoAmI.access.projects.concat(createProject); - // whoAmI.whoAmI.access.projects = newProjects; - // // Write our data back to the cache. - // store.writeQuery({ query: WHO_AM_I, data: whoAmI }); - // }} + mutation={CREATE_PROJECT} > {(addNewProject, { loading, data }) => <> diff --git a/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx b/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx index 681e98523..a8a1307f6 100644 --- a/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx +++ b/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx @@ -2,7 +2,7 @@ import { FunctionComponent, useState } from 'react'; import { Query } from '@apollo/client/react/components'; import { useMutation } from '@apollo/client/react/hooks'; import { WHO_AM_I, CREATE_STUDY } from '@itmat-broker/itmat-models'; -import { userTypes, studyType } from '@itmat-broker/itmat-types'; +import { userTypes, studyType, IUserWithoutToken } from '@itmat-broker/itmat-types'; import { Button, Form, Input, Alert, Select } from 'antd'; import { PlusOutlined } from '@ant-design/icons'; import { Subsection } from '../reusable'; @@ -22,11 +22,11 @@ export const AddNewDataSet: FunctionComponent = () => { }); return ( - query={WHO_AM_I}> + query={WHO_AM_I}> {({ loading, error, data }) => { if (loading) { return

Loading...

; } if (error) { return

Error {error.name}: {error.message}

; } - if (data.whoAmI && data.whoAmI.type && data.whoAmI.type === userTypes.ADMIN) { + if (data && data.whoAmI && data.whoAmI.type && data.whoAmI.type === userTypes.ADMIN) { return ( !showMore ? diff --git a/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx b/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx index 2f283d8a6..26c32ccb1 100644 --- a/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx +++ b/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx @@ -1,7 +1,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { useNavigate } from 'react-router-dom'; -import { IStudy } from '@itmat-broker/itmat-types'; +import { IProject, IStudy, IUserWithoutToken } from '@itmat-broker/itmat-types'; import { WHO_AM_I } from '@itmat-broker/itmat-models'; import { Button, Table } from 'antd'; import { ContainerOutlined } from '@ant-design/icons'; @@ -9,12 +9,12 @@ import LoadSpinner from '../reusable/loadSpinner'; export const DatasetList: FunctionComponent = () => { return ( - + query={WHO_AM_I}> {({ loading, error, data }) => { if (loading) { return ; } if (error) { return

Error {error.name}: {error.message}

; } - if (data.whoAmI && data.whoAmI.access && data.whoAmI.access.studies) { + if (data && data.whoAmI && data.whoAmI.access && data.whoAmI.access.studies) { const datasets = data.whoAmI.access.studies; if (datasets.length > 0) { return ; diff --git a/packages/itmat-ui-react/src/components/log/logList.tsx b/packages/itmat-ui-react/src/components/log/logList.tsx index c8dabd70e..81f6243a5 100644 --- a/packages/itmat-ui-react/src/components/log/logList.tsx +++ b/packages/itmat-ui-react/src/components/log/logList.tsx @@ -10,7 +10,7 @@ import dayjs from 'dayjs'; export const LogListSection: FunctionComponent = () => { return ( - + query={GET_LOGS} variables={{}} > @@ -23,6 +23,9 @@ export const LogListSection: FunctionComponent = () => {

); } + if (!data) { + return null; + } const logList: ILogEntry[] = data.getLogs; return ( @@ -34,7 +37,16 @@ export const LogListSection: FunctionComponent = () => { const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { const [searchTerm, setSearchTerm] = useState(''); - const initInputs = { + const initInputs: { + requesterName: string, + requesterType: userTypes[], + userAgent: string[], + logType: LOG_TYPE[], + actionType: LOG_ACTION[], + time: string, + status: LOG_STATUS[], + dateRange: dayjs.Dayjs[] + } = { requesterName: '', requesterType: [], userAgent: [], @@ -42,7 +54,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { actionType: [], time: '', status: [], - dateRange: ['', ''] + dateRange: [dayjs().subtract(7, 'days'), dayjs()] }; const [inputs, setInputs] = useState(initInputs); const [verbose, setVerbose] = useState(false); @@ -75,10 +87,11 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { function dataSourceFilter(logList: ILogEntry[]) { return logList.filter((log) => { // convert the contest of log to be string (except for value), as null could not be parsed - const logCopy = { ...log }; + const logCopy: ILogEntry = { ...log }; Object.keys(logCopy).forEach(item => { logCopy[item] = (logCopy[item] || '').toString(); }); + console.log(inputs); return (searchTerm === '' || (logCopy.requesterName.toUpperCase().search(searchTerm) > -1 || logCopy.requesterType.toUpperCase().search(searchTerm) > -1 || logCopy.logType.toUpperCase().search(searchTerm) > -1 || logCopy.actionType.toUpperCase().search(searchTerm) > -1 || logCopy.status.toUpperCase().search(searchTerm) > -1 || logCopy.userAgent.toUpperCase().search(searchTerm) > -1 @@ -89,8 +102,8 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { && (inputs.logType.length === 0 || inputs.logType.includes(logCopy.logType)) && (inputs.actionType.length === 0 || inputs.actionType.includes(logCopy.actionType)) && (inputs.status.length === 0 || inputs.status.includes(logCopy.status)) - && (inputs.dateRange[0] === '' || (dayjs(inputs.dateRange[0].startOf('day')).valueOf() - timeOffset) < logCopy.time) - && (inputs.dateRange[1] === '' || (dayjs(inputs.dateRange[1].startOf('day')).valueOf() + 24 * 60 * 60 * 1000 /* ONE DAY IN MILLSEC */ - timeOffset) > logCopy.time); + && ((dayjs(inputs.dateRange[0].startOf('day')).valueOf() - timeOffset) < logCopy.time) + && ((dayjs(inputs.dateRange[1].startOf('day')).valueOf() + 24 * 60 * 60 * 1000 /* ONE DAY IN MILLSEC */ - timeOffset) > logCopy.time); }); } diff --git a/packages/itmat-ui-react/src/components/login/login.tsx b/packages/itmat-ui-react/src/components/login/login.tsx index af82ff2da..17962ff62 100644 --- a/packages/itmat-ui-react/src/components/login/login.tsx +++ b/packages/itmat-ui-react/src/components/login/login.tsx @@ -4,15 +4,16 @@ import { LOGIN, WHO_AM_I } from '@itmat-broker/itmat-models'; import { NavLink } from 'react-router-dom'; import css from './login.module.css'; import { Input, Form, Button, Alert, Checkbox } from 'antd'; +import { IUserWithoutToken } from '@itmat-broker/itmat-types'; export const LoginBox: FunctionComponent = () => { - return + return mutation={LOGIN} - update={(cache, { data: { login } }) => { - cache.writeQuery({ + update={(cache, { data }) => { + data && data.login && cache.writeQuery({ query: WHO_AM_I, - data: { whoAmI: login } + data: { whoAmI: data.login } }); }} onError={() => { return; }} diff --git a/packages/itmat-ui-react/src/components/profile/profile.tsx b/packages/itmat-ui-react/src/components/profile/profile.tsx index 5c017094d..53551269d 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.tsx +++ b/packages/itmat-ui-react/src/components/profile/profile.tsx @@ -133,7 +133,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce const orgList: IOrganisation[] = getorgsdata.getOrganisations; return ( - + mutation={EDIT_USER} onCompleted={() => setSavedSuccessfully(true)} > @@ -270,7 +270,7 @@ export const RegisterPublicKey: FunctionComponent<{ userId: string }> = ({ userI const exportedKeyPair = await Key.exportRSAKey(keyPair); setExportedKeyPair(exportedKeyPair); const message = exportedKeyPair.publicKey; - const signature = await cryptoInBrowser.signGen(message, keyPair.privateKey!); + const signature = await cryptoInBrowser.signGen(message, keyPair.privateKey); setSignature(signature); setcompletedKeypairGen(true); }; diff --git a/packages/itmat-ui-react/src/components/projectDetail/index.tsx b/packages/itmat-ui-react/src/components/projectDetail/index.tsx index 655abc967..0ede8430e 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/index.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Navigate, Route, Routes, useParams } from 'react-router-dom'; import { GET_PROJECT, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { userTypes } from '@itmat-broker/itmat-types'; +import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; import css_dataset from '../datasetDetail/projectPage.module.css'; import { AdminTabContent, DashboardTabContent, DataTabContent } from './tabContent'; @@ -17,7 +17,7 @@ export const ProjectDetailPage: FunctionComponent = () => { if (whoamierror) { return

ERROR: please try again.

; } return ( - + query={GET_PROJECT} variables={{ projectId, admin: whoamidata.whoAmI.type === userTypes.ADMIN }} > @@ -29,10 +29,11 @@ export const ProjectDetailPage: FunctionComponent = () => { return

{data.getProject.name.toUpperCase()}

- query={WHO_AM_I}> + query={WHO_AM_I}> {({ loading, error, data: sessionData }) => { if (loading) return ; if (error) return

{error.toString()}

; + if (!sessionData) { return null; } if (sessionData.whoAmI.type === userTypes.ADMIN) { return
isActive ? css_dataset.active : undefined}>
DASHBOARD
diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx index 10cfcf4de..c969485b4 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx @@ -1,9 +1,9 @@ -import { FunctionComponent, useEffect, useState } from 'react'; +import { Dispatch, FunctionComponent, SetStateAction, useEffect, useState } from 'react'; import { statisticsTypes, analysisTemplate, options, dataTypeMapping } from '../utils/defaultParameters'; import { get_t_test, get_z_test, mannwhitneyu, findDmField, generateCascader } from '../../../../utils/tools'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute } from '@itmat-broker/itmat-types'; +import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { SubsectionWithComment } from '../../../reusable/subsection/subsection'; import css from './tabContent.module.css'; @@ -18,6 +18,18 @@ const { SHOW_CHILD } = Cascader; const { Panel } = Collapse; const { Title, Text } = Typography; +interface Filter { + groups: { + visit: string | null, + race: string[], + siteID: string[], + genderID: string[], + age: [0, 100], + mh: string[], + filters: ICohortSelection[] + }[], comparedFields: string[] +} + export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ studyId }) => { const { projectId } = useParams(); @@ -27,7 +39,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu fetchPolicy: 'network-only' }); const [currentStep, setCurrentStep] = useState(-1); - const [filters, setFilters] = useState({ + const [filters, setFilters] = useState({ groups: [], comparedFields: [] }); @@ -77,7 +89,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu ontologyTree={getOntologyTreeData.getOntologyTree[0]} fieldPathOptions={fieldPathOptions} dmFields={[genderField, raceField, ageField, siteField]} />
{ - (results && results.length) > 0 ? + results ? : null @@ -85,7 +97,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu
); }; -const FilterSelector: FunctionComponent<{ guideTool, filtersTool, fields: IFieldEntry[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { +const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IFieldEntry[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { const [isModalOn, setIsModalOn] = useState(false); const [isTemplateModalOn, setIsTemplateModalOn] = useState(false); const [templateType, setTemplateType] = useState('NA'); @@ -226,7 +238,7 @@ const FilterSelector: FunctionComponent<{ guideTool, filtersTool, fields: IField return; } else { const newFilters = analysisTemplate[templateType]; - delete newFilters.description; + delete newFilters.descripftion; filtersTool[1](newFilters); setCurrentGroupIndex(newFilters.groups.length - 1); } @@ -331,7 +343,7 @@ const FilterSelector: FunctionComponent<{ guideTool, filtersTool, fields: IField placeholder='Select Visit' getPopupContainer={trigger => trigger.parentElement} > - {[...project.summary.visits].filter(el => el.toString() !== '0').sort((a, b) => { return parseFloat(a) - parseFloat(b); }).map((es) => { + {[...project.summary?.visits || []].filter(el => el.toString() !== '0').sort((a, b) => { return parseFloat(a) - parseFloat(b); }).map((es) => { return ; })} @@ -453,6 +465,9 @@ const FilterSelector: FunctionComponent<{ guideTool, filtersTool, fields: IField const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFieldEntry[], data }> = ({ project, fields, data }) => { const [statisticsType, setStatisticsType] = useState('ttest'); const [signifianceLevel, setSignigicanceLevel] = useState(undefined); + if (data.length === 0) { + return; + } if (data === undefined) { return null; } @@ -482,8 +497,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel key: 'field', render: (__unused__value, record) => { const thisField = fields.filter(el => el.fieldId === record.field)[0]; - const data = []; - data.push({ + const data = [{ key: 'Field Name', value: {thisField?.fieldName ? thisField.fieldName.length > maxShowLength ? thisField.fieldName.substring(0, maxShowLength) + '...' : @@ -501,7 +515,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel }, { key: 'Comments', value: thisField.comments || 'NA' - }); + }]; return { return ( @@ -995,35 +1009,53 @@ function formInitialValues(form, filters, index: number) { } // // we sent the union of the filters as the filters in the request body -function combineFilters(fields: IFieldEntry[], filters, dmFields) { - const queryString = {}; +function combineFilters(fields: IFieldEntry[], filters: Filter, dmFields) { + const queryString: Partial & { format?: string, subjects_requested?: string[] | null, cohort?: ICohortSelection[][] } = {}; queryString.data_requested = Array.from(new Set((filters.groups.map(el => el.filters).flat().map(es => es.field).concat(filters.comparedFields) .concat(dmFields.filter(el => (el !== undefined && el !== null)).map(el => el.fieldId))))); - queryString.newFields = []; + queryString.new_fields = []; queryString.cohort = []; for (const field of dmFields) { if (field === undefined || field === null) { continue; } - queryString.cohort.push([{ field: 'm_visitId', op: '=', value: field.visitRange[0] || '0' }]); + queryString.cohort.push([{ field: 'm_visitId', op: enumCohortSelectionOp['='], value: field.visitRange[0] || '0' }]); } queryString.format = 'grouped'; queryString.subjects_requested = null; for (const eachVisit of Array.from(new Set(filters.groups.map(el => el.visit)))) { - queryString.cohort.push([{ + eachVisit && queryString.cohort.push([{ field: 'm_visitId', - op: '=', + op: enumCohortSelectionOp['='], value: eachVisit }]); } return queryString; } +interface IStatisticsTestGroup { + score: IStatisticsTest[]; + pvalue: IStatisticsTest[]; +} +interface IStatisticsTest { + xLabel: string; + yLabel: string; + score?: number; + pvalue?: number; +} + function divideResults(filters, results, fields, dmFields) { if (filters === undefined || results === undefined || fields === undefined) { return; } - const data = []; + const data: { + field: string, + data: Record, + dataForGraph?: unknown, + ztest?: IStatisticsTestGroup, + ttest?: IStatisticsTestGroup, + utest?: IStatisticsTestGroup + }[] = []; const dms = { genderID: dmFields[0], race: dmFields[1], @@ -1038,9 +1070,17 @@ function divideResults(filters, results, fields, dmFields) { if (fieldDef.tableName === 'Participants') { return; } - const dataClip = {}; - dataClip.field = el; - dataClip.data = {}; + const dataClip: { + field: string, + data: Record, + dataForGraph?: unknown, + ztest?: IStatisticsTestGroup, + ttest?: IStatisticsTestGroup, + utest?: IStatisticsTestGroup + } = { + field: el, + data: {} + }; filters.groups.forEach((es, index) => { if (fieldDef === undefined) { return; @@ -1134,13 +1174,13 @@ function divideResults(filters, results, fields, dmFields) { if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { dataClip.data[curr].forEach(el => { - acc.push({ + typeof el === 'number' && acc.push({ x: curr, y: el }); }); return acc; - }, []); + }, [] as { x: string, y: number }[]); dataClip.dataForGraph = dataForGraph; } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { @@ -1148,7 +1188,7 @@ function divideResults(filters, results, fields, dmFields) { fieldDef.possibleValues.forEach(ek => { acc.push({ x: curr, - y: dataClip.data[curr].filter(es => es.toString() === ek.code.toString()).length, + y: dataClip.data[curr].filter(es => String(es) === ek.code.toString()).length, type: ek.description }); }); @@ -1156,7 +1196,7 @@ function divideResults(filters, results, fields, dmFields) { return acc; } return acc; - }, []); + }, [] as { x: string, y: number, type: string }[]); dataClip.dataForGraph = dataForGraph; } // construct data for statistics diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx index 1e4ae3a39..f2ef10d54 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { filterFields, generateCascader, findDmField } from '../../../../utils/t import { dataTypeMapping } from '../utils/defaultParameters'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute } from '@itmat-broker/itmat-types'; +import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -186,6 +186,11 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology : null; }; +interface IDemographicsReport { + type: string; + value: number; +} + export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IFieldEntry[] }> = ({ ontologyTree, studyId, projectId, fields }) => { const [width, __unused__height__] = useWindowSize(); // process the data @@ -218,7 +223,17 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree,
; } // process the data - const obj = {}; + const obj: { + SEX: IDemographicsReport[], + AGE: IDemographicsReport[], + RACE: IDemographicsReport[], + SITE: IDemographicsReport[] + } = { + SEX: [], + AGE: [], + RACE: [], + SITE: [] + }; const data = getDataRecordsData.getDataRecords.data; if (genderField === null || !data[genderField.fieldId]) { obj.SEX = []; @@ -404,8 +419,18 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, ; }; +interface GroupedData { + [key: string]: { + [key: string]: { + totalNumOfRecords: number, + validNumOfRecords: number, + data: unknown[] + } + } +} + export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IFieldEntry[], project: IProject }> = ({ ontologyTree, fields, project }) => { - const [selectedPath, setSelectedPath] = useState([]); + const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const [selectedGraphType, setSelectedGraphType] = useState(undefined); const routes: IOntologyRoute[] = ontologyTree.routes?.filter(es => { return JSON.stringify([...es.path, es.name]) === JSON.stringify(selectedPath); @@ -541,7 +566,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT
{(routes[0].path.slice(0, routes[0].path.length) || '').concat(fieldNameEllipsis).join(' => ')}


- query={GET_DATA_RECORDS} variables={{ + query={GET_DATA_RECORDS} variables={{ studyId: project.studyId, projectId: project.id, versionId: '-1', @@ -562,8 +587,9 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT if (fieldIdFromData === undefined) { return ; } + let processedData: Array<{ x: string, y: number } | { visit: string, value: string, count: number }> = []; if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { - data = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { + processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { if (el === '99999') { return; @@ -571,9 +597,9 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT acc.push({ x: curr, y: el }); }); return acc; - }, []); + }, [] as { x: string, y: number }[]); } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { - data = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { + processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { let count = 0; data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { if (acc.filter(es => (es.visit === curr && es.value === el)).length === 0) { @@ -586,21 +612,24 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT acc[acc.findIndex(es => (es.visit === curr && es.value === el))].count += 1; }); // if no mising (either no missing or missing is considered as an option) - if (project.summary.subjects.length - count !== 0) { - acc.push({ visit: curr, value: 'No Record', count: project.summary.subjects.length - count }); + if ((project.summary?.subjects || []).length - count !== 0) { + acc.push({ visit: curr, value: 'No Record', count: (project.summary?.subjects || []).length - count }); } return acc; - }, []).sort((a, b) => { return parseFloat(a.value) - parseFloat(b.value); }); + }, [] as { visit: string, value: string, count: number }[]).sort((a, b) => { return parseFloat(a.value) - parseFloat(b.value); }); } else { return null; } - const boxData = data.reduce((acc, curr) => { + const boxData = processedData.reduce((acc, curr) => { + if (!('x' in curr)) { + return acc; + } if (acc.filter(el => el.x === curr.x)[0] === undefined) { acc.push({ x: curr.x, y: [] }); } acc.filter(el => el.x === curr.x)[0].y.push(curr.y); return acc; - }, []).map(el => { + }, [] as { x: string, y: number[] }[]).map(el => { const sortedY = [...el.y].sort(); return { x: el.x, @@ -637,7 +666,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT else return selectedGraphType === 'stackedColumn' || selectedGraphType === 'groupedColumn' ? = ({ studyId, projectId, ontologyTree, fields }) => { - const [selectedPath, setSelectedPath] = useState([]); + const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const requestedFields = ontologyTree.routes?.filter(el => { if (JSON.stringify(el.path) === JSON.stringify(selectedPath)) { return true; @@ -692,7 +721,7 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project } // process the data const data = getDataRecordsData.getDataRecords.data; - const obj = []; + const obj: Array<{ visit: string, field: string, percentage: number }> = []; for (const fieldId of Object.keys(data)) { for (const visitId of Object.keys(data[fieldId])) { obj.push({ @@ -793,7 +822,7 @@ export const DataDownloadBlock: FunctionComponent<{ project: IProject }> = ({ pr } const availableFormats: string[] = project.summary?.standardizationTypes ?? []; - const dataArray = []; + const dataArray: Array<{ path: string, data: unknown[] }> = []; if (getDataRecordsData?.getDataRecords?.data !== undefined) { Object.keys(getDataRecordsData.getDataRecords.data).forEach(domain => { dataArray.push({ diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/file/fileTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/file/fileTab.tsx index baa61a430..1d78ed2f0 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/file/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/file/fileTab.tsx @@ -6,12 +6,13 @@ import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection } from '../../../reusable/subsection/subsection'; import css from './tabContent.module.css'; import { useParams } from 'react-router-dom'; +import { IFile, IProject } from '@itmat-broker/itmat-types'; export const FileTabContent: FunctionComponent<{ studyId: string }> = () => { const { projectId } = useParams(); return
- query={GET_PROJECT} variables={{ projectId, admin: false }}> + query={GET_PROJECT} variables={{ projectId, admin: false }}> {({ loading, data, error }) => { if (loading) { return ; } if (error) { return

Error {JSON.stringify(error)}

; } diff --git a/packages/itmat-ui-react/src/components/projectList/projectList.tsx b/packages/itmat-ui-react/src/components/projectList/projectList.tsx index 44cfe66f5..0e9f4ee89 100644 --- a/packages/itmat-ui-react/src/components/projectList/projectList.tsx +++ b/packages/itmat-ui-react/src/components/projectList/projectList.tsx @@ -1,16 +1,17 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Navigate } from 'react-router-dom'; -import { IProject } from '@itmat-broker/itmat-types'; +import { IProject, IStudy, IUserWithoutToken } from '@itmat-broker/itmat-types'; import { WHO_AM_I } from '@itmat-broker/itmat-models'; import { Button } from 'antd'; export const ProjectList: FunctionComponent = () => { return ( - query={WHO_AM_I}> + query={WHO_AM_I}> {({ loading, error, data }) => { if (loading) { return

Loading...

; } if (error) { return

Error {error.name}: {error.message}

; } + if (!data) { return null; } if (data.whoAmI && data.whoAmI.access && data.whoAmI.access.projects) { const projects = data.whoAmI.access.projects; if (projects.length === 1) { diff --git a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx index 2a163d899..e3364959b 100644 --- a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { enumValueType, IFieldEntry } from '@itmat-broker/itmat-types'; import { Table, Tooltip } from 'antd'; -export const FieldListSection: FunctionComponent<{ studyData, onCheck; checkedList?: string[]; checkable: boolean; fieldList: IFieldEntry[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { +export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IFieldEntry[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { const possibleValuesColumns = [ { title: 'Code', diff --git a/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx b/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx index cc3a10ff8..a4821afe2 100644 --- a/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx +++ b/packages/itmat-ui-react/src/components/reusable/roleControlSection/roleControlSection.tsx @@ -2,7 +2,7 @@ import { FunctionComponent, useState } from 'react'; import { Mutation } from '@apollo/client/react/components'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; import { ADD_NEW_ROLE, EDIT_ROLE, REMOVE_ROLE, GET_USERS, GET_PROJECT, GET_STUDY, GET_ORGANISATIONS } from '@itmat-broker/itmat-models'; -import { IRoleQL, IUser, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; +import { IRoleQL, IUser, atomicOperation, IPermissionManagementOptions, ICohortSelection } from '@itmat-broker/itmat-types'; import LoadSpinner from '../loadSpinner'; import css from './roleControlSection.module.css'; import { Tag, Select, Button, Form, Input, Alert, Popconfirm, Checkbox, Collapse, Divider, Table, Col, Row } from 'antd'; @@ -175,6 +175,29 @@ type PermissionsControlPanelProps = { role: IRoleQL } +type EditRole = { + roleId: string; + permissionChanges: { + data: { + subjectIds: string[], + visitIds: string[], + fieldIds: string[], + uploaders: string[], + hasVersioned: boolean, + operations: string[], + filters: ICohortSelection[][] + }, + manage: { + own: atomicOperation[], + role: atomicOperation[], + job: atomicOperation[], + query: atomicOperation[], + ontologyTrees: atomicOperation[] + } + }, + description: string +} + const PermissionsControlPanel: FunctionComponent = ({ role }) => { @@ -263,7 +286,7 @@ const PermissionsControlPanel: FunctionComponent = ]; }; return ( - + mutation={EDIT_ROLE} // onCompleted={() => setSavedSuccessfully(true)} > diff --git a/packages/itmat-ui-react/src/components/reusable/subsection/subsection.tsx b/packages/itmat-ui-react/src/components/reusable/subsection/subsection.tsx index 599cf281c..865f410e0 100644 --- a/packages/itmat-ui-react/src/components/reusable/subsection/subsection.tsx +++ b/packages/itmat-ui-react/src/components/reusable/subsection/subsection.tsx @@ -10,7 +10,7 @@ export const Subsection: FunctionComponent<{ title; children }> = ({ title, chil
; }; -export const SubsectionWithComment: FunctionComponent<{ title; comment; children; float }> = ({ title, comment, children, float }) => { +export const SubsectionWithComment: FunctionComponent<{ title; comment; children; float?}> = ({ title, comment, children, float }) => { return
{title} {comment}
diff --git a/packages/itmat-ui-react/src/components/scaffold/mainMenuBar.tsx b/packages/itmat-ui-react/src/components/scaffold/mainMenuBar.tsx index 9c67e02e3..3a71a9af7 100644 --- a/packages/itmat-ui-react/src/components/scaffold/mainMenuBar.tsx +++ b/packages/itmat-ui-react/src/components/scaffold/mainMenuBar.tsx @@ -3,7 +3,7 @@ import { Mutation } from '@apollo/client/react/components'; import { useQuery } from '@apollo/client/react/hooks'; import { NavLink } from 'react-router-dom'; import { LOGOUT, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IProject, userTypes } from '@itmat-broker/itmat-types'; +import { IGenericResponse, IProject, userTypes } from '@itmat-broker/itmat-types'; import css from './scaffold.module.css'; import { DatabaseOutlined, TeamOutlined, PoweroffOutlined, HistoryOutlined, SettingOutlined, ProjectOutlined, DesktopOutlined, WarningTwoTone } from '@ant-design/icons'; import LoadSpinner from '../reusable/loadSpinner'; @@ -87,10 +87,10 @@ export const MainMenuBar: FunctionComponent = ({ projects }) =
- + mutation={LOGOUT} - update={(cache, { data: { logout } }) => { - if (logout.successful === true) { + update={(cache, { data }) => { + if (data && data.logout.successful === true) { cache.writeQuery({ query: WHO_AM_I, data: { whoAmI: null } diff --git a/packages/itmat-ui-react/src/components/users/userDetails.tsx b/packages/itmat-ui-react/src/components/users/userDetails.tsx index 236b1bf30..c9fe463e4 100644 --- a/packages/itmat-ui-react/src/components/users/userDetails.tsx +++ b/packages/itmat-ui-react/src/components/users/userDetails.tsx @@ -1,7 +1,7 @@ import { FunctionComponent, useState } from 'react'; import { Mutation } from '@apollo/client/react/components'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; -import { IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IGenericResponse, IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; import { WHO_AM_I, DELETE_USER, EDIT_USER, GET_USERS, REQUEST_USERNAME_OR_RESET_PASSWORD, GET_ORGANISATIONS, GET_STUDY } from '@itmat-broker/itmat-models'; import { Subsection } from '../reusable'; import LoadSpinner from '../reusable/loadSpinner'; @@ -96,6 +96,17 @@ export const UserDetailsSection: FunctionComponent = () => { ); }; +type EditUser = IUserWithoutToken & { + organisation: string, + type: userTypes, + metadata: { + [key: string]: unknown, + aePermission: boolean, + logPermission: boolean + }, + expiredAt: number +} + export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { access?: { id: string, projects: { id: string, name: string, studyId: string }[], studies: { id: string, name: string }[] } }) }> = ({ user }) => { const [userIsDeleted, setUserIsDeleted] = useState(false); @@ -133,7 +144,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce if (getorgserror) { return

ERROR: please try again.

; } const orgList: IOrganisation[] = getorgsdata.getOrganisations; return ( - + mutation={EDIT_USER} onCompleted={() => setSavedSuccessfully(true)} > @@ -225,13 +236,13 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce : null }     - {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === userTypes.ADMIN - ? + {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === userTypes.ADMIN && user.access + ? mutation={DELETE_USER} refetchQueries={[ { query: GET_USERS, variables: { fetchDetailsAdminOnly: false, fetchAccessPrivileges: false } }, /* quick fix: TO_DO, change to cache modification later */ - ...(user.access!.studies.map(el => ({ query: GET_STUDY, variables: { studyId: el.id } }))) + ...(user.access.studies.map(el => ({ query: GET_STUDY, variables: { studyId: el.id } }))) ]} > diff --git a/packages/itmat-ui-react/src/components/users/userList.tsx b/packages/itmat-ui-react/src/components/users/userList.tsx index 636ee01c3..80f802f16 100644 --- a/packages/itmat-ui-react/src/components/users/userList.tsx +++ b/packages/itmat-ui-react/src/components/users/userList.tsx @@ -11,7 +11,7 @@ import { IUserWithoutToken } from '@itmat-broker/itmat-types'; export const UserListSection: FunctionComponent = () => { return ( - + query={GET_USERS} variables={{ fetchDetailsAdminOnly: true, fetchAccessPrivileges: false }} > @@ -25,7 +25,7 @@ export const UserListSection: FunctionComponent = () => {

); } - const userList: IUserWithoutToken[] = data.getUsers; + const userList: IUserWithoutToken[] = data?.getUsers ?? []; return ( ); diff --git a/yarn.lock b/yarn.lock index ebb7bb362..cb2cb164d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,13558 +1,13558 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@adobe/css-tools@^4.0.1": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" - integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@ant-design/charts-util@0.0.1-alpha.5": - version "0.0.1-alpha.5" - resolved "https://registry.yarnpkg.com/@ant-design/charts-util/-/charts-util-0.0.1-alpha.5.tgz#bb8ab113194f0ffeddb688d54bfd63d6f0007fb7" - integrity sha512-EwTUjRPhU2CUyI2e11pAi9aOQg9oEWdFEWxv1f4j+Ta4doYXd1yTl94Zy9JvigiEj4qv8dPGl0PUd3r+qMVrAg== - -"@ant-design/colors@^7.0.0", "@ant-design/colors@^7.0.2": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.2.tgz#c5c753a467ce8d86ba7ca4736d2c01f599bb5492" - integrity sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg== - dependencies: - "@ctrl/tinycolor" "^3.6.1" - -"@ant-design/cssinjs@^1.18.5": - version "1.20.0" - resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.20.0.tgz#878bc6c5b08f73db76da54c347a7ebb3fa4858bb" - integrity sha512-uG3iWzJxgNkADdZmc6W0Ci3iQAUOvLMcM8SnnmWq3r6JeocACft4ChnY/YWvI2Y+rG/68QBla/O+udke1yH3vg== - dependencies: - "@babel/runtime" "^7.11.1" - "@emotion/hash" "^0.8.0" - "@emotion/unitless" "^0.7.5" - classnames "^2.3.1" - csstype "^3.1.3" - rc-util "^5.35.0" - stylis "^4.0.13" - -"@ant-design/icons-svg@^4.4.0": - version "4.4.2" - resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6" - integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== - -"@ant-design/icons@5.3.6", "@ant-design/icons@^5.3.6": - version "5.3.6" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.3.6.tgz#172bbcfcfa39f9a1d9ef73ad5cf98c6184fb83f8" - integrity sha512-JeWsgNjvkTTC73YDPgWOgdScRku/iHN9JU0qk39OSEmJSCiRghQMLlxGTCY5ovbRRoXjxHXnUKgQEgBDnQfKmA== - dependencies: - "@ant-design/colors" "^7.0.0" - "@ant-design/icons-svg" "^4.4.0" - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-util "^5.31.1" - -"@ant-design/plots@2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ant-design/plots/-/plots-2.2.0.tgz#9606de1dfd5ca0297c38a77ea483815d7417c2f5" - integrity sha512-tCsOyPwxQ8xr5wMOWrFO3CEgdboXxMzMPrydZ7szXULi8LzztO9HHrg5WClwjAr9Zgfit0fHjmPd1FkIBP4k7A== - dependencies: - "@ant-design/charts-util" "0.0.1-alpha.5" - "@antv/event-emitter" "^0.1.3" - "@antv/g" "^6.0.0" - "@antv/g2" "^5.1.18" - "@antv/g2-extension-plot" "^0.2.0" - -"@ant-design/react-slick@~1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.1.2.tgz#f84ce3e4d0dc941f02b16f1d1d6d7a371ffbb4f1" - integrity sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA== - dependencies: - "@babel/runtime" "^7.10.4" - classnames "^2.2.5" - json2mq "^0.2.0" - resize-observer-polyfill "^1.5.1" - throttle-debounce "^5.0.0" - -"@antv/component@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@antv/component/-/component-2.0.0.tgz#f1ae55ddc7d94bcd4cb2a38de88889822ff6b94d" - integrity sha512-wl1pmqLIW/Zt9p7twMcAlvowHU81iV4bb5XWS38DL7gimSONHRh5C/uYKCXKB1KtHAH5d25YHESoGMBc0L3r+w== - dependencies: - "@antv/g" "^6.0.0" - "@antv/scale" "^0.4.3" - "@antv/util" "^3.3.5" - svg-path-parser "^1.1.0" - -"@antv/coord@^0.4.6": - version "0.4.7" - resolved "https://registry.yarnpkg.com/@antv/coord/-/coord-0.4.7.tgz#3ef6c6e3f9ca0f024b90888549946061f35df77a" - integrity sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA== - dependencies: - "@antv/scale" "^0.4.12" - "@antv/util" "^2.0.13" - gl-matrix "^3.4.3" - -"@antv/event-emitter@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz#3e06323b9dcd55a3241ddc7c5458cfabd2095164" - integrity sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg== - -"@antv/g-camera-api@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-camera-api/-/g-camera-api-2.0.1.tgz#6b838a636372901a3a46683fa8c40d5a3c30f516" - integrity sha512-TQuX7heO9Dk1bxBvk2Byk42QlHFimpPbI8LdrKQ25RrwTca7+94lZEbWXaN7J58yi4FQQDBiWZsNkbFK5wP37g== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/util" "^3.3.5" - gl-matrix "^3.4.3" - tslib "^2.5.3" - -"@antv/g-canvas@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-canvas/-/g-canvas-2.0.1.tgz#aed2a64bb1811fac14ea58b6e1566dd29676ab8e" - integrity sha512-I9Tc8csfvQ84tq14PbqzxuxybWoxK79m27eyOZIZH6k5QQucMyl7rk8ctjh2+YF/QYrXJeL2OMzKgkbECFxwnA== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/g-plugin-canvas-path-generator" "2.0.1" - "@antv/g-plugin-canvas-picker" "2.0.1" - "@antv/g-plugin-canvas-renderer" "2.0.1" - "@antv/g-plugin-dom-interaction" "2.0.1" - "@antv/g-plugin-html-renderer" "2.0.1" - "@antv/g-plugin-image-loader" "2.0.1" - "@antv/util" "^3.3.5" - tslib "^2.5.3" - -"@antv/g-dom-mutation-observer-api@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-2.0.1.tgz#e140c26945822b8ec9df2022f7100cf7f283320e" - integrity sha512-Jg/nc6klNpjTfvCb1tv1a5ICJRtRRGbXb+vNA37UJvttae/p2hLPOKYbLBcuNs4mQf+AOxY2TZ/3Z3onxjM6Aw== - dependencies: - "@antv/g-lite" "2.0.1" - -"@antv/g-lite@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-lite/-/g-lite-2.0.1.tgz#f765a669956812724b267430f26edf1fb40f91e8" - integrity sha512-buCkPKLWwErCySgwZVvLJow2bw9oK3Xk5VXzzOiuIqn5RAjEIyn0zSmMV6+KFiLteG9weIc/trb75rT2yVXUHw== - dependencies: - "@antv/g-math" "3.0.0" - "@antv/util" "^3.3.5" - d3-color "^1.4.0" - eventemitter3 "^5.0.1" - gl-matrix "^3.4.3" - rbush "^3.0.1" - tslib "^2.5.3" - -"@antv/g-math@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@antv/g-math/-/g-math-3.0.0.tgz#834d993391546e39ae5a30452572fdc49a7c57ec" - integrity sha512-AkmiNIEL1vgqTPeGY2wtsMdBBqKFwF7SKSgs+D1iOS/rqYMsXdhp/HvtuQ5tx/HdawE/ZzTiicIYopc520ADZw== - dependencies: - "@antv/util" "^3.3.5" - gl-matrix "^3.4.3" - tslib "^2.5.3" - -"@antv/g-plugin-canvas-path-generator@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-2.0.1.tgz#de01b59e3a79dce5d6ae672769ebb3a99d521e9f" - integrity sha512-AEWkYW3j2q0dhZpY4w1zOTpl/qkkpQbGsT3XdSLXjQokx+ot4l7X3F+QYGobPoUkJbQxtiU1uiAhUAsIKLVjuQ== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/g-math" "3.0.0" - "@antv/util" "^3.3.5" - tslib "^2.5.3" - -"@antv/g-plugin-canvas-picker@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-2.0.1.tgz#188023307c33ad7fd427a59830d01f8b40ae7c61" - integrity sha512-0GN3Lhq3TtKY0EBk0//pQK1sBOFLd/W7ofNK4HorpP9GZyRugBHz1v8MEPrN7pCRE9jVLnLFGscLCtIuX2KEnA== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/g-math" "3.0.0" - "@antv/g-plugin-canvas-path-generator" "2.0.1" - "@antv/g-plugin-canvas-renderer" "2.0.1" - "@antv/util" "^3.3.5" - gl-matrix "^3.4.3" - tslib "^2.5.3" - -"@antv/g-plugin-canvas-renderer@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-2.0.1.tgz#63afb3a9621e7fb183ae5ca46836d2b53ffa2d8b" - integrity sha512-WcxuqAGsI25yXspLJRc6uZtstWvwDGzFFVZ2FuJLYOFFI8C6v/BJ6Ptzq81e8ocVpy8mNuEUlxzh/V4IOYeg0g== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/g-math" "3.0.0" - "@antv/g-plugin-canvas-path-generator" "2.0.1" - "@antv/g-plugin-image-loader" "2.0.1" - "@antv/util" "^3.3.5" - gl-matrix "^3.4.3" - tslib "^2.5.3" - -"@antv/g-plugin-dom-interaction@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-2.0.1.tgz#fed457d04c704bf66fe99b0e9d004a8c08e6ccd6" - integrity sha512-r6LByuKIReLQs4oU5duDBS+mhnMG8uMX/4jbGpFdf5NoFSCldcRgUiYW7m3RrPBOCSRcDsbXkKUqGAgKf67gnQ== - dependencies: - "@antv/g-lite" "2.0.1" - tslib "^2.5.3" - -"@antv/g-plugin-dragndrop@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-2.0.1.tgz#81a40af003c46826e735e2384d80e146a0a54124" - integrity sha512-ylw0G5SLUtjdYaWmDAZw1FrkK7ECxH1tQAtt8h3x9yQSeFSN3b0Kg559cyeJwf9FpMwCyMUpRjFULdb6zGDvrg== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/util" "^3.3.5" - tslib "^2.5.3" - -"@antv/g-plugin-html-renderer@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-2.0.1.tgz#e89a388a3538dd5adb27a543a6ba8c985e478285" - integrity sha512-+UlRf+0aelxdr3cI5qVdsg3iTZkXR+CpEQHnMzx8Z4Uyf/67qNOJp5JFFVLXAvVqSkH/v8mWRmEcP3fEc9U6Dg== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/util" "^3.3.5" - gl-matrix "^3.4.3" - tslib "^2.5.3" - -"@antv/g-plugin-image-loader@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@antv/g-plugin-image-loader/-/g-plugin-image-loader-2.0.1.tgz#55649c6fc3a0757d6bb3f96ffea62e2625037ec8" - integrity sha512-5FJI7mmoPHlMGhBLJhLXGMZh1//xPvnu6CDZTp0adNRTJiMWVf/QlZSjBTrxlPLk60nmdSPS780K1mBf69fo8w== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/util" "^3.3.5" - gl-matrix "^3.4.3" - tslib "^2.5.3" - -"@antv/g-web-animations-api@2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@antv/g-web-animations-api/-/g-web-animations-api-2.0.2.tgz#c9ba452722ed1077429ad7f92fea21585c1e409f" - integrity sha512-7zkbboSkSEGuUlpyD955KPriozbZ7dYSTPyUgkRdtmmeUrs+38wAfU1N0ZaQHT4rsTXupbsCxnXRfq03q/bEkA== - dependencies: - "@antv/g-lite" "2.0.1" - "@antv/util" "^3.3.5" - tslib "^2.5.3" - -"@antv/g2-extension-plot@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@antv/g2-extension-plot/-/g2-extension-plot-0.2.0.tgz#3c400e4e4bc8d1c8d2ffafa4fbdaf39a90cfebeb" - integrity sha512-XeJquOmZw3dHTj2qRNZJZlkX5qDrGJDMhuknHHMgGsj1PoPc8sOWzACesWVHB9tmHJqwheySWmwf4KLxtUBZ9w== - dependencies: - "@antv/g2" "^5.1.8" - "@antv/util" "^3.3.5" - d3-array "^3.2.4" - d3-hierarchy "^3.1.2" - -"@antv/g2@^5.1.18", "@antv/g2@^5.1.8": - version "5.1.19" - resolved "https://registry.yarnpkg.com/@antv/g2/-/g2-5.1.19.tgz#4b5ab17b643134773012fde95021d3745ce227ab" - integrity sha512-sVzxgAm6DE65wRQpZ3O+OaRlCjESC12oT2Rle6Cifb80dC6LDjZ4aBT9O90QCYibCJj6WCTrDQSasi+7ALo7MA== - dependencies: - "@antv/component" "^2.0.0" - "@antv/coord" "^0.4.6" - "@antv/event-emitter" "^0.1.3" - "@antv/g" "^6.0.0" - "@antv/g-canvas" "^2.0.0" - "@antv/g-plugin-dragndrop" "^2.0.0" - "@antv/path-util" "^3.0.1" - "@antv/scale" "^0.4.12" - "@antv/util" "^3.3.5" - d3-array "^3.2.4" - d3-dsv "^3.0.1" - d3-force "^3.0.0" - d3-format "^3.1.0" - d3-geo "^3.1.0" - d3-hierarchy "^3.1.2" - d3-path "^3.1.0" - d3-scale-chromatic "^3.0.0" - d3-shape "^3.2.0" - d3-voronoi "^1.1.4" - flru "^1.0.2" - fmin "^0.0.2" - pdfast "^0.2.0" - -"@antv/g@^6.0.0": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@antv/g/-/g-6.0.2.tgz#71b9acc6143500f36e55de4a120ce67cfb302c48" - integrity sha512-ZCpxUtU4JU1PIh2bDUlcnqLd8zJ2bOdx4EHYYTgUfMwu/hL2p/OYzg26A2qj91FL00JuZNEXVZdKAy5tm8jzmw== - dependencies: - "@antv/g-camera-api" "2.0.1" - "@antv/g-dom-mutation-observer-api" "2.0.1" - "@antv/g-lite" "2.0.1" - "@antv/g-web-animations-api" "2.0.2" - -"@antv/path-util@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-3.0.1.tgz#42fd84222824e8ad8d1bde70f164a05924870d4a" - integrity sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q== - dependencies: - gl-matrix "^3.1.0" - lodash-es "^4.17.21" - tslib "^2.0.3" - -"@antv/scale@^0.4.12", "@antv/scale@^0.4.3": - version "0.4.15" - resolved "https://registry.yarnpkg.com/@antv/scale/-/scale-0.4.15.tgz#491f3443f81c024f2bd9ac991bffa6e62809fe7f" - integrity sha512-b3b2U1L55fcJg0fB/BloVvcngPo/QxhosWgjn6JmYLVLezxDYMO+zdQou8hxpsLMUVhH15NqRDcM/1n4U6G04g== - dependencies: - "@antv/util" "^2.0.13" - color-string "^1.5.5" - fecha "^4.2.1" - -"@antv/util@^2.0.13": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@antv/util/-/util-2.0.17.tgz#e8ef42aca7892815b229269f3dd10c6b3c7597a9" - integrity sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q== - dependencies: - csstype "^3.0.8" - tslib "^2.0.3" - -"@antv/util@^3.3.5": - version "3.3.7" - resolved "https://registry.yarnpkg.com/@antv/util/-/util-3.3.7.tgz#35a900f0e9b65defbb92ec0e92a20b8189a18815" - integrity sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg== - dependencies: - fast-deep-equal "^3.1.3" - gl-matrix "^3.3.0" - tslib "^2.3.1" - -"@apollo/cache-control-types@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz#5da62cf64c3b4419dabfef4536b57a40c8ff0b47" - integrity sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g== - -"@apollo/client@3.9.11": - version "3.9.11" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.9.11.tgz#737e5c35c21d6f3b78423033ad81837a8a6992e0" - integrity sha512-H7e9m7cRcFO93tokwzqrsbnfKorkpV24xU30hFH5u2g6B+c1DMo/ouyF/YrBPdrTzqxQCjTUmds/FLmJ7626GA== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - "@wry/caches" "^1.0.0" - "@wry/equality" "^0.5.6" - "@wry/trie" "^0.5.0" - graphql-tag "^2.12.6" - hoist-non-react-statics "^3.3.2" - optimism "^0.18.0" - prop-types "^15.7.2" - rehackt "0.0.6" - response-iterator "^0.2.6" - symbol-observable "^4.0.0" - ts-invariant "^0.10.3" - tslib "^2.3.0" - zen-observable-ts "^1.2.5" - -"@apollo/protobufjs@1.2.7": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" - integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.0" - long "^4.0.0" - -"@apollo/server-gateway-interface@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz#a79632aa921edefcd532589943f6b97c96fa4d3c" - integrity sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ== - dependencies: - "@apollo/usage-reporting-protobuf" "^4.1.1" - "@apollo/utils.fetcher" "^2.0.0" - "@apollo/utils.keyvaluecache" "^2.1.0" - "@apollo/utils.logger" "^2.0.0" - -"@apollo/server@4.10.4": - version "4.10.4" - resolved "https://registry.yarnpkg.com/@apollo/server/-/server-4.10.4.tgz#98590173721b63bdec7ab2fe15179c8a04955233" - integrity sha512-HS12CUa1wq8f5zKXOKJRwRdESFp4por9AINecpcsEUV9jsCP/NqPILgx0hCOOFJuKxmnaL7070xO6l5xmOq4Fw== - dependencies: - "@apollo/cache-control-types" "^1.0.3" - "@apollo/server-gateway-interface" "^1.1.1" - "@apollo/usage-reporting-protobuf" "^4.1.1" - "@apollo/utils.createhash" "^2.0.0" - "@apollo/utils.fetcher" "^2.0.0" - "@apollo/utils.isnodelike" "^2.0.0" - "@apollo/utils.keyvaluecache" "^2.1.0" - "@apollo/utils.logger" "^2.0.0" - "@apollo/utils.usagereporting" "^2.1.0" - "@apollo/utils.withrequired" "^2.0.0" - "@graphql-tools/schema" "^9.0.0" - "@josephg/resolvable" "^1.0.0" - "@types/express" "^4.17.13" - "@types/express-serve-static-core" "^4.17.30" - "@types/node-fetch" "^2.6.1" - async-retry "^1.2.1" - cors "^2.8.5" - express "^4.17.1" - loglevel "^1.6.8" - lru-cache "^7.10.1" - negotiator "^0.6.3" - node-abort-controller "^3.1.1" - node-fetch "^2.6.7" - uuid "^9.0.0" - whatwg-mimetype "^3.0.0" - -"@apollo/usage-reporting-protobuf@^4.1.0", "@apollo/usage-reporting-protobuf@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz#407c3d18c7fbed7a264f3b9a3812620b93499de1" - integrity sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA== - dependencies: - "@apollo/protobufjs" "1.2.7" - -"@apollo/utils.createhash@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz#9d982a166833ce08265ff70f8ef781d65109bdaa" - integrity sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg== - dependencies: - "@apollo/utils.isnodelike" "^2.0.1" - sha.js "^2.4.11" - -"@apollo/utils.dropunuseddefinitions@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz#916cd912cbd88769d3b0eab2d24f4674eeda8124" - integrity sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA== - -"@apollo/utils.fetcher@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz#2f6e3edc8ce79fbe916110d9baaddad7e13d955f" - integrity sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A== - -"@apollo/utils.isnodelike@^2.0.0", "@apollo/utils.isnodelike@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz#08a7e50f08d2031122efa25af089d1c6ee609f31" - integrity sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q== - -"@apollo/utils.keyvaluecache@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz#f3f79a2f00520c6ab7a77a680a4e1fec4d19e1a6" - integrity sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw== - dependencies: - "@apollo/utils.logger" "^2.0.1" - lru-cache "^7.14.1" - -"@apollo/utils.logger@^2.0.0", "@apollo/utils.logger@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-2.0.1.tgz#74faeb97d7ad9f22282dfb465bcb2e6873b8a625" - integrity sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg== - -"@apollo/utils.printwithreducedwhitespace@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz#f4fadea0ae849af2c19c339cc5420d1ddfaa905e" - integrity sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg== - -"@apollo/utils.removealiases@2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz#2873c93d72d086c60fc0d77e23d0f75e66a2598f" - integrity sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA== - -"@apollo/utils.sortast@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz#58c90bb8bd24726346b61fa51ba7fcf06e922ef7" - integrity sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw== - dependencies: - lodash.sortby "^4.7.0" - -"@apollo/utils.stripsensitiveliterals@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz#2f3350483be376a98229f90185eaf19888323132" - integrity sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA== - -"@apollo/utils.usagereporting@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz#11bca6a61fcbc6e6d812004503b38916e74313f4" - integrity sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ== - dependencies: - "@apollo/usage-reporting-protobuf" "^4.1.0" - "@apollo/utils.dropunuseddefinitions" "^2.0.1" - "@apollo/utils.printwithreducedwhitespace" "^2.0.1" - "@apollo/utils.removealiases" "2.0.1" - "@apollo/utils.sortast" "^2.0.1" - "@apollo/utils.stripsensitiveliterals" "^2.0.1" - -"@apollo/utils.withrequired@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz#e72bc512582a6f26af150439f7eb7473b46ba874" - integrity sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA== - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== - dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.23.2", "@babel/core@^7.23.9", "@babel/core@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" - integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.24.4" - "@babel/parser" "^7.24.4" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.24.1", "@babel/generator@^7.24.4", "@babel/generator@^7.7.2": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" - integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== - dependencies: - "@babel/types" "^7.24.0" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz#c806f73788a6800a5cfbbc04d2df7ee4d927cce3" - integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" - integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== - -"@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1" - integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.4.tgz#dc00907fd0d95da74563c142ef4cd21f2cb856b6" - integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== - dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.1" - "@babel/types" "^7.24.0" - -"@babel/highlight@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" - integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" - integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz#6125f0158543fb4edf1c22f322f3db67f21cb3e1" - integrity sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf" - integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3" - integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.24.1" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988" - integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-proposal-decorators@^7.22.7": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz#bab2b9e174a2680f0a80f341f3ec70f809f8bb4b" - integrity sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-decorators" "^7.24.1" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz#71d9ad06063a6ac5430db126b5df48c70ee885fa" - integrity sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" - integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-import-attributes@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093" - integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.24.1", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.24.1", "@babel/plugin-syntax-typescript@^7.3.3", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" - integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" - integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-async-generator-functions@^7.24.3": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89" - integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-to-generator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4" - integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== - dependencies: - "@babel/helper-module-imports" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-block-scoped-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380" - integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-block-scoping@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz#28f5c010b66fbb8ccdeef853bef1935c434d7012" - integrity sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29" - integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-class-static-block@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz#1a4653c0cf8ac46441ec406dece6e9bc590356a4" - integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.4" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz#5bc8fc160ed96378184bc10042af47f50884dcb1" - integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7" - integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/template" "^7.24.0" - -"@babel/plugin-transform-destructuring@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz#b1e8243af4a0206841973786292b8c8dd8447345" - integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-dotall-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13" - integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-duplicate-keys@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88" - integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-dynamic-import@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd" - integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4" - integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-export-namespace-from@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd" - integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" - integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361" - integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== - dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-json-strings@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7" - integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096" - integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-logical-assignment-operators@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40" - integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489" - integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-modules-amd@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39" - integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-modules-commonjs@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9" - integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e" - integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef" - integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34" - integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" - integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-transform-numeric-separator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8" - integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-object-rest-spread@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz#5a3ce73caf0e7871a02e1c31e8b473093af241ff" - integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== - dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.1" - -"@babel/plugin-transform-object-super@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520" - integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-replace-supers" "^7.24.1" - -"@babel/plugin-transform-optional-catch-binding@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da" - integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6" - integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz#983c15d114da190506c75b616ceb0f817afcc510" - integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-private-methods@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a" - integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-private-property-in-object@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz#756443d400274f8fb7896742962cc1b9f25c1f6a" - integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825" - integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz#d493a0918b9fdad7540f5afd9b5eb5c52500d18d" - integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-react-display-name@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz#554e3e1a25d181f040cf698b93fd289a03bfdcdb" - integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" - -"@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" - -"@babel/plugin-transform-react-pure-annotations@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz#c86bce22a53956331210d268e49a0ff06e392470" - integrity sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-regenerator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c" - integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1" - integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-runtime@^7.23.2": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz#dc58ad4a31810a890550365cc922e1ff5acb5d7f" - integrity sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ== - dependencies: - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-plugin-utils" "^7.24.0" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.1" - babel-plugin-polyfill-regenerator "^0.6.1" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" - integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-spread@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391" - integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9" - integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-template-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" - integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-typeof-symbol@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz#6831f78647080dec044f7e9f68003d99424f94c7" - integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-typescript@^7.24.1": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz#03e0492537a4b953e491f53f2bc88245574ebd15" - integrity sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.4" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-typescript" "^7.24.1" - -"@babel/plugin-transform-unicode-escapes@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4" - integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-property-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e" - integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385" - integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-sets-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f" - integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.23.2": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.4.tgz#46dbbcd608771373b88f956ffb67d471dce0d23b" - integrity sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== - dependencies: - "@babel/compat-data" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.4" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.1" - "@babel/plugin-syntax-import-attributes" "^7.24.1" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.1" - "@babel/plugin-transform-async-generator-functions" "^7.24.3" - "@babel/plugin-transform-async-to-generator" "^7.24.1" - "@babel/plugin-transform-block-scoped-functions" "^7.24.1" - "@babel/plugin-transform-block-scoping" "^7.24.4" - "@babel/plugin-transform-class-properties" "^7.24.1" - "@babel/plugin-transform-class-static-block" "^7.24.4" - "@babel/plugin-transform-classes" "^7.24.1" - "@babel/plugin-transform-computed-properties" "^7.24.1" - "@babel/plugin-transform-destructuring" "^7.24.1" - "@babel/plugin-transform-dotall-regex" "^7.24.1" - "@babel/plugin-transform-duplicate-keys" "^7.24.1" - "@babel/plugin-transform-dynamic-import" "^7.24.1" - "@babel/plugin-transform-exponentiation-operator" "^7.24.1" - "@babel/plugin-transform-export-namespace-from" "^7.24.1" - "@babel/plugin-transform-for-of" "^7.24.1" - "@babel/plugin-transform-function-name" "^7.24.1" - "@babel/plugin-transform-json-strings" "^7.24.1" - "@babel/plugin-transform-literals" "^7.24.1" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" - "@babel/plugin-transform-member-expression-literals" "^7.24.1" - "@babel/plugin-transform-modules-amd" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-modules-systemjs" "^7.24.1" - "@babel/plugin-transform-modules-umd" "^7.24.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.24.1" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" - "@babel/plugin-transform-numeric-separator" "^7.24.1" - "@babel/plugin-transform-object-rest-spread" "^7.24.1" - "@babel/plugin-transform-object-super" "^7.24.1" - "@babel/plugin-transform-optional-catch-binding" "^7.24.1" - "@babel/plugin-transform-optional-chaining" "^7.24.1" - "@babel/plugin-transform-parameters" "^7.24.1" - "@babel/plugin-transform-private-methods" "^7.24.1" - "@babel/plugin-transform-private-property-in-object" "^7.24.1" - "@babel/plugin-transform-property-literals" "^7.24.1" - "@babel/plugin-transform-regenerator" "^7.24.1" - "@babel/plugin-transform-reserved-words" "^7.24.1" - "@babel/plugin-transform-shorthand-properties" "^7.24.1" - "@babel/plugin-transform-spread" "^7.24.1" - "@babel/plugin-transform-sticky-regex" "^7.24.1" - "@babel/plugin-transform-template-literals" "^7.24.1" - "@babel/plugin-transform-typeof-symbol" "^7.24.1" - "@babel/plugin-transform-unicode-escapes" "^7.24.1" - "@babel/plugin-transform-unicode-property-regex" "^7.24.1" - "@babel/plugin-transform-unicode-regex" "^7.24.1" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.4" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.1.tgz#2450c2ac5cc498ef6101a6ca5474de251e33aa95" - integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-transform-react-display-name" "^7.24.1" - "@babel/plugin-transform-react-jsx" "^7.23.4" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.24.1" - -"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" - integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-syntax-jsx" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-typescript" "^7.24.1" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.6", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" - integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.16.0", "@babel/traverse@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" - integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== - dependencies: - "@babel/code-frame" "^7.24.1" - "@babel/generator" "^7.24.1" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.24.1" - "@babel/types" "^7.24.0" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" - integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@commitlint/cli@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.6.1.tgz#78bffdfa00d6f01425d53096954993d83f2b343d" - integrity sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw== - dependencies: - "@commitlint/format" "^18.6.1" - "@commitlint/lint" "^18.6.1" - "@commitlint/load" "^18.6.1" - "@commitlint/read" "^18.6.1" - "@commitlint/types" "^18.6.1" - execa "^5.0.0" - lodash.isfunction "^3.0.9" - resolve-from "5.0.0" - resolve-global "1.0.0" - yargs "^17.0.0" - -"@commitlint/config-conventional@^18.6.2": - version "18.6.3" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.6.3.tgz#1b2740dbe325d76e05924c46bc1504340b701ca1" - integrity sha512-8ZrRHqF6je+TRaFoJVwszwnOXb/VeYrPmTwPhf0WxpzpGTcYy1p0SPyZ2eRn/sRi/obnWAcobtDAq6+gJQQNhQ== - dependencies: - "@commitlint/types" "^18.6.1" - conventional-changelog-conventionalcommits "^7.0.2" - -"@commitlint/config-nx-scopes@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/config-nx-scopes/-/config-nx-scopes-18.6.1.tgz#18342feff2d88a1abccd96e52692389e5903c586" - integrity sha512-bNO1ts4k0P0QvigO4mibUbif9E4IYbtVA35Bdq2d6tFekJJs5BPaSQs8w+A0HWJfHIHAbrMhgupMDMyKDIEMyw== - -"@commitlint/config-validator@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.6.1.tgz#e0d71a99c984a68586c7ae7afd3f52342022fae8" - integrity sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw== - dependencies: - "@commitlint/types" "^18.6.1" - ajv "^8.11.0" - -"@commitlint/ensure@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.6.1.tgz#17141e083200ca94d8480dc23b0e8f8b1fd37b7f" - integrity sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ== - dependencies: - "@commitlint/types" "^18.6.1" - lodash.camelcase "^4.3.0" - lodash.kebabcase "^4.1.1" - lodash.snakecase "^4.1.1" - lodash.startcase "^4.4.0" - lodash.upperfirst "^4.3.1" - -"@commitlint/execute-rule@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-18.6.1.tgz#18175e043fe6fb5fceea7b8530316c644f93dfe6" - integrity sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg== - -"@commitlint/format@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.6.1.tgz#5f2b8b3ae4d8d80bd9239178e97df63e5b8d280a" - integrity sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg== - dependencies: - "@commitlint/types" "^18.6.1" - chalk "^4.1.0" - -"@commitlint/is-ignored@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.6.1.tgz#4ee08ba91ff3defb06e0ef19259a9c6734a8d06e" - integrity sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA== - dependencies: - "@commitlint/types" "^18.6.1" - semver "7.6.0" - -"@commitlint/lint@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.6.1.tgz#fe3834636c99ee14534a8eb3832831ac362e9fd8" - integrity sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ== - dependencies: - "@commitlint/is-ignored" "^18.6.1" - "@commitlint/parse" "^18.6.1" - "@commitlint/rules" "^18.6.1" - "@commitlint/types" "^18.6.1" - -"@commitlint/load@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.6.1.tgz#fb79ed7ee8b5897a9b5c274c1e24eda9162df816" - integrity sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA== - dependencies: - "@commitlint/config-validator" "^18.6.1" - "@commitlint/execute-rule" "^18.6.1" - "@commitlint/resolve-extends" "^18.6.1" - "@commitlint/types" "^18.6.1" - chalk "^4.1.0" - cosmiconfig "^8.3.6" - cosmiconfig-typescript-loader "^5.0.0" - lodash.isplainobject "^4.0.6" - lodash.merge "^4.6.2" - lodash.uniq "^4.5.0" - resolve-from "^5.0.0" - -"@commitlint/message@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-18.6.1.tgz#107bd40923ad23d2de56c92a68b179ebfb7e314e" - integrity sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw== - -"@commitlint/parse@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.6.1.tgz#2946b814125e907b9c4d63d3e71d0c1b54b30b62" - integrity sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ== - dependencies: - "@commitlint/types" "^18.6.1" - conventional-changelog-angular "^7.0.0" - conventional-commits-parser "^5.0.0" - -"@commitlint/read@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.6.1.tgz#8c138311ed9749427920c369f6276be136f2aa50" - integrity sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w== - dependencies: - "@commitlint/top-level" "^18.6.1" - "@commitlint/types" "^18.6.1" - git-raw-commits "^2.0.11" - minimist "^1.2.6" - -"@commitlint/resolve-extends@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.6.1.tgz#f0572c682fc24dbabe2e0f42873261e0fa42c91a" - integrity sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ== - dependencies: - "@commitlint/config-validator" "^18.6.1" - "@commitlint/types" "^18.6.1" - import-fresh "^3.0.0" - lodash.mergewith "^4.6.2" - resolve-from "^5.0.0" - resolve-global "^1.0.0" - -"@commitlint/rules@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.6.1.tgz#da25aeffe6c0e1c7625e44f46089fb8860986caf" - integrity sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew== - dependencies: - "@commitlint/ensure" "^18.6.1" - "@commitlint/message" "^18.6.1" - "@commitlint/to-lines" "^18.6.1" - "@commitlint/types" "^18.6.1" - execa "^5.0.0" - -"@commitlint/to-lines@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-18.6.1.tgz#d28827a4a540c98eea1aae31dafd66f80b2f1b9e" - integrity sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q== - -"@commitlint/top-level@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-18.6.1.tgz#429fcb985e3beaba9b17e05c0ae61926c647baf0" - integrity sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw== - dependencies: - find-up "^5.0.0" - -"@commitlint/types@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.6.1.tgz#7eb3ab2d799d9166fbb98b96b0744581e59a4ad4" - integrity sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg== - dependencies: - chalk "^4.1.0" - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@ctrl/tinycolor@^3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" - integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== - -"@emotion/hash@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== - -"@emotion/unitless@^0.7.5": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== - -"@esbuild/aix-ppc64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" - integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== - -"@esbuild/android-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" - integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== - -"@esbuild/android-arm@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" - integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== - -"@esbuild/android-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" - integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== - -"@esbuild/darwin-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" - integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== - -"@esbuild/darwin-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" - integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== - -"@esbuild/freebsd-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" - integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== - -"@esbuild/freebsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" - integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== - -"@esbuild/linux-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" - integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== - -"@esbuild/linux-arm@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" - integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== - -"@esbuild/linux-ia32@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" - integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== - -"@esbuild/linux-loong64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" - integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== - -"@esbuild/linux-mips64el@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" - integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== - -"@esbuild/linux-ppc64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" - integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== - -"@esbuild/linux-riscv64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" - integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== - -"@esbuild/linux-s390x@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" - integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== - -"@esbuild/linux-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" - integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== - -"@esbuild/netbsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" - integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== - -"@esbuild/openbsd-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" - integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== - -"@esbuild/sunos-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" - integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== - -"@esbuild/win32-arm64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" - integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== - -"@esbuild/win32-ia32@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" - integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== - -"@esbuild/win32-x64@0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" - integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== - -"@graphql-tools/merge@^8.4.1": - version "8.4.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.2.tgz#95778bbe26b635e8d2f60ce9856b388f11fe8288" - integrity sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw== - dependencies: - "@graphql-tools/utils" "^9.2.1" - tslib "^2.4.0" - -"@graphql-tools/schema@^9.0.0": - version "9.0.19" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.19.tgz#c4ad373b5e1b8a0cf365163435b7d236ebdd06e7" - integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== - dependencies: - "@graphql-tools/merge" "^8.4.1" - "@graphql-tools/utils" "^9.2.1" - tslib "^2.4.0" - value-or-promise "^1.0.12" - -"@graphql-tools/utils@^9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" - integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - tslib "^2.4.0" - -"@graphql-typed-document-node/core@^3.1.1": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" - integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== - -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - -"@ideafast/idgen@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@ideafast/idgen/-/idgen-0.1.1.tgz#966ad2d74238a77881cfa427a8c3e9225ee0c24f" - integrity sha512-1kaaUD9LXRYnUqK2yJnwMXon2F3vqKzViAbEZQTeYAghLB60EEIbC4JXoi+KbKKxYNHNB03MGWUR5y3Ec+yEgA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/create-cache-key-function@^29", "@jest/create-cache-key-function@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" - integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== - dependencies: - "@jest/types" "^29.6.3" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29", "@jest/reporters@^29.4.1", "@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29", "@jest/test-result@^29.4.1", "@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@josephg/resolvable@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" - integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/source-map@^0.3.3": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" - integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" - integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== - -"@ljharb/resumer@~0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@ljharb/resumer/-/resumer-0.0.1.tgz#8a940a9192dd31f6a1df17564bbd26dc6ad3e68d" - integrity sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw== - dependencies: - "@ljharb/through" "^2.3.9" - -"@ljharb/through@^2.3.9", "@ljharb/through@~2.3.9": - version "2.3.13" - resolved "https://registry.yarnpkg.com/@ljharb/through/-/through-2.3.13.tgz#b7e4766e0b65aa82e529be945ab078de79874edc" - integrity sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== - dependencies: - call-bind "^1.0.7" - -"@mapbox/node-pre-gyp@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" - integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== - dependencies: - detect-libc "^2.0.0" - https-proxy-agent "^5.0.0" - make-dir "^3.1.0" - node-fetch "^2.6.7" - nopt "^5.0.0" - npmlog "^5.0.1" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.11" - -"@mole-inc/bin-wrapper@^8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz#d7fd0ceb1cfa8a855293a3ed9d7d135f4d442f0e" - integrity sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA== - dependencies: - bin-check "^4.1.0" - bin-version-check "^5.0.0" - content-disposition "^0.5.4" - ext-name "^5.0.0" - file-type "^17.1.6" - filenamify "^5.0.2" - got "^11.8.5" - os-filter-obj "^2.0.0" - -"@mongodb-js/saslprep@^1.1.0", "@mongodb-js/saslprep@^1.1.5": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz#0c48a96c8d799e81fae311b7251aa5c1dc7c6e95" - integrity sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA== - dependencies: - sparse-bitfield "^3.0.3" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nrwl/devkit@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-18.3.3.tgz#9ec5575afe6d14b17acd5e8da4e98a0de27704c6" - integrity sha512-3zZLE1vfwsNie7qjVUt9lqaM1slU0RTr/dW+Yt/2lxe8Peu6f8bnCM1Pf3kSlzoxQroctfocRtVHFXJsAuAt4g== - dependencies: - "@nx/devkit" "18.3.3" - -"@nrwl/esbuild@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/esbuild/-/esbuild-18.3.3.tgz#d0043b6aa8164970a737efe1c3d293a4e33dbb85" - integrity sha512-bbjgY4170UlnIgmOqMJ55JaCxjpllwJNi3z9EoyG1+8gj+QnVEX/HHRJB9iVpJDpLnte7LQmbOoDcjNy2rx2Sw== - dependencies: - "@nx/esbuild" "18.3.3" - -"@nrwl/eslint-plugin-nx@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.3.3.tgz#b41316daa9ac7f55379cb4510767f7a865c920a6" - integrity sha512-ARqwcA2n2NN+8ATrooZtPbaW5fb9WSjDFZaI8RdphMXFnPrEkZnMpbrjFpLTj+wc1R6hIgTcYbli6fv4Gfbo3Q== - dependencies: - "@nx/eslint-plugin" "18.3.3" - -"@nrwl/express@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/express/-/express-18.3.3.tgz#269bd3bc36fab33862f9a29d6a9bc561dea36a54" - integrity sha512-72exWTPfAR/eKFvb4SvN86Nui/gF5X2HsD4rShe2e0C4grARha6rmdm1QUo8UWWELslIybUEszyMhdEcPzggrA== - dependencies: - "@nx/express" "18.3.3" - -"@nrwl/jest@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-18.3.3.tgz#6d75e59c47be007cbe4b78c23fd3e08fe954ed68" - integrity sha512-BPI0mIbmjTHFb0/qtMND59ECld7gorV+SEVLwf4BLl7SWumVB2gLAA2+yx71cvF1jO4R5Ndi2FrBwBC9E2Va5Q== - dependencies: - "@nx/jest" "18.3.3" - -"@nrwl/js@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-18.3.3.tgz#e1a83fb43541cd06752aced6dd7ad932d0c1afa1" - integrity sha512-7Wtv5kpeMWUDBUFu5go49HM/S8vDrtMOvZf9xnUcnjsFDReWe8XIEkTWudZDbzID3X4T6WQAftzj2Ov6k566lQ== - dependencies: - "@nx/js" "18.3.3" - -"@nrwl/node@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-18.3.3.tgz#eb0850a8e7877332550d7e06e7c959d0842b25e2" - integrity sha512-87PXppPqI/jOl6swYVdQi8RBveOF7Oqmqw9m9eEbts6U2bazPipKTwBO4E9afkz3GMqaxe+d2H794JqH05Mr8w== - dependencies: - "@nx/node" "18.3.3" - -"@nrwl/react@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/react/-/react-18.3.3.tgz#073ce04f39ed87daab5509ad9fa0f0c0a83a2442" - integrity sha512-i81SZJvycadVzbPB2YkFVhjZomeVz2vDty9+jjmaK+NNrQeic769nO4w+m6LdDEogCCV0cpsl1P6LH4YuqwwmA== - dependencies: - "@nx/react" "18.3.3" - -"@nrwl/tao@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-18.3.3.tgz#2d0c60d233f2cc07c85ba08126dd46f21dda1ef0" - integrity sha512-f/PUDLpSMEObiLQ5sIDySJM+5DxSCNunkxxbY1R9rmQ1cFcgrHaXIHQqbSj91mMa3mmtbKACk8u1LbI+oQV0Tg== - dependencies: - nx "18.3.3" - tslib "^2.3.0" - -"@nrwl/web@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-18.3.3.tgz#3e31d086fef5aa1e68ac5af9d5c27592ef2fe39d" - integrity sha512-EuEht/tk9VHLKxjVMEh96wu8WNkRFRabpmLBc++pp2bEaoxz8Qm2xDO+sOU3Wp4zGNx/qQVxA1kKMZCjVjk75g== - dependencies: - "@nx/web" "18.3.3" - -"@nrwl/webpack@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-18.3.3.tgz#0c29dc1561c9b8e613313fd02f805be72515dfa6" - integrity sha512-E/8vr1qAFSan1FnewvLBRBHYIaPG9dxZeYKRcQvcDx+Jf2oPyJNYI+9kkoNxEZg9FeFJMShK2x8YBgwB+ivH5A== - dependencies: - "@nx/webpack" "18.3.3" - -"@nrwl/workspace@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-18.3.3.tgz#291ecda3c4fddcb534f0cc6b7c7796a21483ae49" - integrity sha512-9Giuec9l3PpS8mekD00W9kBIKmWRpQSkp+/RvYmc+7kKtVC+Uj/kc68exBOanVgq6zKzYrn+FqHWHGWnHxp+ww== - dependencies: - "@nx/workspace" "18.3.3" - -"@nx/devkit@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-18.3.3.tgz#2ec37855020da74ad1e77b51711b057b3cb12fec" - integrity sha512-FtkZ6mA5//vEA5lcbT80m080ROVacHYV5F1peztTRA+IY2JZGJoqx425kn5ylDO8aCSAIAwcn2qIdhI8BnpG3Q== - dependencies: - "@nrwl/devkit" "18.3.3" - ejs "^3.1.7" - enquirer "~2.3.6" - ignore "^5.0.4" - semver "^7.5.3" - tmp "~0.2.1" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@nx/esbuild@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/esbuild/-/esbuild-18.3.3.tgz#4b2c49261a5700eb6b2daeb84a8b24ddf791ae5d" - integrity sha512-qhvmLO4mXedBoLnAhuYNOOVJYTRSOp2MNxZH3bvZ3Fwa95XmRlY8pUV9FLxMp80h+kLAaHbuIYRbt2KdJoanmw== - dependencies: - "@nrwl/esbuild" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/js" "18.3.3" - chalk "^4.1.0" - fast-glob "3.2.7" - fs-extra "^11.1.0" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - -"@nx/eslint-plugin@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-18.3.3.tgz#0410261cf7f1a227eefbe2a979c9482ad9c19894" - integrity sha512-ww3r8VRlzJXOBRG+qCTd+VXHRKxiIrOH+cIokTtuzGrnCXWEMSPO5Ts6z/Jsbb0xAcfZ39WUnxuDZdKbp4aHqA== - dependencies: - "@nrwl/eslint-plugin-nx" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/js" "18.3.3" - "@typescript-eslint/type-utils" "^7.3.0" - "@typescript-eslint/utils" "^7.3.0" - chalk "^4.1.0" - confusing-browser-globals "^1.0.9" - jsonc-eslint-parser "^2.1.0" - semver "^7.5.3" - tslib "^2.3.0" - -"@nx/eslint@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-18.3.3.tgz#ce28b4240e0558333dee08c824d8f82d72a11159" - integrity sha512-cvJjyykTEtQN08b5wQFelD/cbye7Nl5zFVESs+mn9/ezCukjAgP9seOk39nchKykRBAm7zzA1xZOB9thNqw9aA== - dependencies: - "@nx/devkit" "18.3.3" - "@nx/js" "18.3.3" - "@nx/linter" "18.3.3" - eslint "^8.0.0" - tslib "^2.3.0" - typescript "~5.4.2" - -"@nx/express@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/express/-/express-18.3.3.tgz#1aaa64d9063ad6b18e0e4e53ecd9b5ab0596afb9" - integrity sha512-FwNWDhn5Ngkw3O+/CdYjxVvepyR+YttTrSOiUjlGHZVppaycOpNFg7i2P5aq4zi0xxPQBMTum2xddMBv0dtOWQ== - dependencies: - "@nrwl/express" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/node" "18.3.3" - tslib "^2.3.0" - -"@nx/jest@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-18.3.3.tgz#4a25f77169d0e630cb9b5f49bd0cde1faf0aae31" - integrity sha512-AwkwYSJqu0vrDFMxKAc3lb0yHZFhsD8rX6rMMwe/fZMlAYml9FvGCp/ixWpcRWIo/1t3pxiF3Vejk9+oq/Avfw== - dependencies: - "@jest/reporters" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@nrwl/jest" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/js" "18.3.3" - "@phenomnomnominal/tsquery" "~5.0.1" - chalk "^4.1.0" - identity-obj-proxy "3.0.0" - jest-config "^29.4.1" - jest-resolve "^29.4.1" - jest-util "^29.4.1" - minimatch "9.0.3" - resolve.exports "1.1.0" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@nx/js@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-18.3.3.tgz#977968160d6edc11f320bc0f654b52d36a9101ac" - integrity sha512-e8u56oG0mlTVz48EeH0C7txX0GeLYN0o4mK1LDAMIHQa4tKefNfwrdqHaZBiVqFOPopeFtqi8s0kqce5prwCaw== - dependencies: - "@babel/core" "^7.23.2" - "@babel/plugin-proposal-decorators" "^7.22.7" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-runtime" "^7.23.2" - "@babel/preset-env" "^7.23.2" - "@babel/preset-typescript" "^7.22.5" - "@babel/runtime" "^7.22.6" - "@nrwl/js" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/workspace" "18.3.3" - "@phenomnomnominal/tsquery" "~5.0.1" - babel-plugin-const-enum "^1.0.1" - babel-plugin-macros "^2.8.0" - babel-plugin-transform-typescript-metadata "^0.3.1" - chalk "^4.1.0" - columnify "^1.6.0" - detect-port "^1.5.1" - fast-glob "3.2.7" - fs-extra "^11.1.0" - ignore "^5.0.4" - js-tokens "^4.0.0" - minimatch "9.0.3" - npm-package-arg "11.0.1" - npm-run-path "^4.0.1" - ora "5.3.0" - semver "^7.5.3" - source-map-support "0.5.19" - ts-node "10.9.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - -"@nx/linter@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-18.3.3.tgz#ae861fb7d10c4f1dcdb4389f5b9f25aecab6fee0" - integrity sha512-5HmAN/8jZ2scrA0OiJSUdBPhIjwIHecK8AK7TxYX4fg1VJ3VcpknV8pWcETuNoBW8WlgF1RX2RW7Gog7vjf+Ww== - dependencies: - "@nx/eslint" "18.3.3" - -"@nx/node@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/node/-/node-18.3.3.tgz#a000284eb88dc58cbb4dad9909c1e0a930560c61" - integrity sha512-OoeRuuvqrdEH8AsFKrJ91lnDVL9mlqvLzUy9D5PZCYspjCesc7Tmt7Xmbu3VEGzhQPilqZz4hVfXH6MLE7TvqA== - dependencies: - "@nrwl/node" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/eslint" "18.3.3" - "@nx/jest" "18.3.3" - "@nx/js" "18.3.3" - tslib "^2.3.0" - -"@nx/nx-darwin-arm64@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.3.tgz#dcdbcfe2796bbe3f1dfd61bce81389b05a50e69b" - integrity sha512-NpA2/7o1uUuaocMYopX9muxKif9HlGfWaXo2UeiR918usF6xri4aUqweZbaXVc9iqCAEbVMWUsjaLYGKPXHAjw== - -"@nx/nx-darwin-x64@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-18.3.3.tgz#aa7bdd1a3ea0bb81682422b805914efccab3b179" - integrity sha512-aydPLbc7DeceJ6szRf6DLT4ERoPvwfWyFiGXdAlEZYWhjEuNZLeG8K6jA3yHeWltKfX/qJqhnyKbnubBNzBKlQ== - -"@nx/nx-freebsd-x64@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.3.3.tgz#331f5dbb56c90b08e99c1ce9ff51e0c5b956f030" - integrity sha512-sEYEWsK/fwC1l7wzls7RNOjhmrooH0lK0mpgj1vDXesLBSZ7k+pddAqaHFECN4QXBSbHZI2PWOEhbnIH+Errsg== - -"@nx/nx-linux-arm-gnueabihf@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.3.3.tgz#d66d4787f5cfc56b5a7aa9a0453174b96b4729a8" - integrity sha512-B9GGMkrrzwiAfvew22x85ITO9TiNxbgRbKJQWQaoopNpXrnSWpY8WTNxpDT24fwV1qdQfsPKcY3F4O0NOUgPRA== - -"@nx/nx-linux-arm64-gnu@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.3.3.tgz#2ab08df1d052a55d4a52ba910fe41c25701d5361" - integrity sha512-1EucHf5/0JeqZmhritqkpEdOcdo9Dl32gpFvhNfS6kCAYmaDlEl4zqedz3VIoj4C7+C0pV3mcRO9qB9H7GM5bQ== - -"@nx/nx-linux-arm64-musl@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.3.3.tgz#69376454bb9759c376d0a90aa876dfff6bbf4d15" - integrity sha512-HPgOgnYYLPVCBEaAkSEGPGzZqTDCiyCAF/qtvx5z0f1U/hZYb1ubgxw70ogY82Cafr7X4gQBz5k4/ZCnoCXlOQ== - -"@nx/nx-linux-x64-gnu@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.3.3.tgz#0b8ba8ec0c2371f0df462742460d52d63b1cc715" - integrity sha512-FgYTQ3VEE6EUOGtJT9riRK8IBwPGFjKS+N2mudQJn2bB/9IumUvVRYQUIX08gqGLlqZPO6uUUhUjwZY8SnjRLQ== - -"@nx/nx-linux-x64-musl@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.3.3.tgz#c96d6f8d2d94b99ac8da723077ebbc92f833beea" - integrity sha512-QnWjGViR1Wj9gJXa1RJ9mXyy2/JzQ7NF2C4ulTYSH5St1HoxhkfnLsV0+uNLFEV9PSZq+2BfxmQuT8Appefv1A== - -"@nx/nx-win32-arm64-msvc@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.3.3.tgz#0d2c7396e7a063849edbd6e3d34ea81445c389b5" - integrity sha512-Xn3LUaPsF8QkEYUVV3lc693NTCMWrfZBFXTy1cQpvLzQ+idsXQ/EGWoq93cIM3Nc2YWyblT2hHHelb8dHCZAlw== - -"@nx/nx-win32-x64-msvc@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.3.3.tgz#ea1a60ae1ffe805529d5cb95e7b28e6b8ae24621" - integrity sha512-t8HvOnQEiaaoTFOOIrql30NPhIwDFO7jg0Jtz3Tbneulh7ceswJp71yFHsRGGrYZ23Tgg+Sna6M9qLRGzlRGkg== - -"@nx/react@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/react/-/react-18.3.3.tgz#318c742dd659e69bf8902a20317c3ec5c6a06b4c" - integrity sha512-eo4zM7Qfr5Un1lZiEL9DLpMgEhWQWYmH8QdnPApABoitak3ssYMvVjUAj4IXwu/sPSaUxfZAqMdzV9cBcAkqAw== - dependencies: - "@nrwl/react" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/eslint" "18.3.3" - "@nx/js" "18.3.3" - "@nx/web" "18.3.3" - "@phenomnomnominal/tsquery" "~5.0.1" - "@svgr/webpack" "^8.0.1" - chalk "^4.1.0" - file-loader "^6.2.0" - minimatch "9.0.3" - tslib "^2.3.0" - -"@nx/web@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/web/-/web-18.3.3.tgz#99e6952942b3e43bc52ba444f6933dd279f49a6a" - integrity sha512-/NfQirVd2Ncq2if+1n8DaxNQF0OLaFaDag7qm5pDWJnjXFNh8N7NGZQRry2k/bTSfSc8gN+KJjqSMLAUNNtKgQ== - dependencies: - "@nrwl/web" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/js" "18.3.3" - chalk "^4.1.0" - detect-port "^1.5.1" - http-server "^14.1.0" - tslib "^2.3.0" - -"@nx/webpack@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-18.3.3.tgz#2b13c08c99821a413edd4ff7749936871ae6ae32" - integrity sha512-DPs8wfmYe/mEZCQ/TQgUqb/zgXY8hevR23d8bDkYjB3Akjk4OOF3QpQ2OXQ4c+Jf0ckGnQYOg6XAkE682UZqzg== - dependencies: - "@babel/core" "^7.23.2" - "@nrwl/webpack" "18.3.3" - "@nx/devkit" "18.3.3" - "@nx/js" "18.3.3" - ajv "^8.12.0" - autoprefixer "^10.4.9" - babel-loader "^9.1.2" - browserslist "^4.21.4" - chalk "^4.1.0" - copy-webpack-plugin "^10.2.4" - css-loader "^6.4.0" - css-minimizer-webpack-plugin "^5.0.0" - fork-ts-checker-webpack-plugin "7.2.13" - less "4.1.3" - less-loader "11.1.0" - license-webpack-plugin "^4.0.2" - loader-utils "^2.0.3" - mini-css-extract-plugin "~2.4.7" - parse5 "4.0.0" - postcss "^8.4.14" - postcss-import "~14.1.0" - postcss-loader "^6.1.1" - rxjs "^7.8.0" - sass "^1.42.1" - sass-loader "^12.2.0" - source-map-loader "^3.0.0" - style-loader "^3.3.0" - stylus "^0.59.0" - stylus-loader "^7.1.0" - terser-webpack-plugin "^5.3.3" - ts-loader "^9.3.1" - tsconfig-paths-webpack-plugin "4.0.0" - tslib "^2.3.0" - webpack "^5.80.0" - webpack-dev-server "^4.9.3" - webpack-node-externals "^3.0.0" - webpack-subresource-integrity "^5.1.0" - -"@nx/workspace@18.3.3": - version "18.3.3" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-18.3.3.tgz#bae369fe9d6c8aca425222ec53f797bcacd715e6" - integrity sha512-SUJJKzOUuNnclpHHde6f6nlF+pQwMjeF026jFpWDFaNzdsADhhRulkz0GLRXB9kKszvzz2JKde9WBWnKrFZ2IQ== - dependencies: - "@nrwl/workspace" "18.3.3" - "@nx/devkit" "18.3.3" - chalk "^4.1.0" - enquirer "~2.3.6" - nx "18.3.3" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@phenomnomnominal/tsquery@~5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz#a2a5abc89f92c01562a32806655817516653a388" - integrity sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA== - dependencies: - esquery "^1.4.0" - -"@pmmmwh/react-refresh-webpack-plugin@^0.5.11": - version "0.5.11" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a" - integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== - dependencies: - ansi-html-community "^0.0.8" - common-path-prefix "^3.0.0" - core-js-pure "^3.23.3" - error-stack-parser "^2.0.6" - find-up "^5.0.0" - html-entities "^2.1.0" - loader-utils "^2.0.4" - schema-utils "^3.0.0" - source-map "^0.7.3" - -"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== - -"@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== - -"@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== - -"@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== - -"@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== - dependencies: - "@protobufjs/aspromise" "^1.1.1" - "@protobufjs/inquire" "^1.1.0" - -"@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== - -"@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== - -"@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== - -"@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== - -"@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== - -"@rc-component/color-picker@~1.5.3": - version "1.5.3" - resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.5.3.tgz#f3b0e14bb67ec5ee77d1fd5d261f63dd4fd00449" - integrity sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw== - dependencies: - "@babel/runtime" "^7.23.6" - "@ctrl/tinycolor" "^3.6.1" - classnames "^2.2.6" - rc-util "^5.38.1" - -"@rc-component/context@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@rc-component/context/-/context-1.4.0.tgz#dc6fb021d6773546af8f016ae4ce9aea088395e8" - integrity sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w== - dependencies: - "@babel/runtime" "^7.10.1" - rc-util "^5.27.0" - -"@rc-component/mini-decimal@^1.0.1": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz#7b7a362b14a0a54cb5bc6fd2b82731f29f11d9b0" - integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ== - dependencies: - "@babel/runtime" "^7.18.0" - -"@rc-component/mutate-observer@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz#ee53cc88b78aade3cd0653609215a44779386fd8" - integrity sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0", "@rc-component/portal@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" - integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/tour@~1.14.2": - version "1.14.2" - resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.14.2.tgz#142f0973975eb0e3af3c75aa868ffc9d8ba27cae" - integrity sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g== - dependencies: - "@babel/runtime" "^7.18.0" - "@rc-component/portal" "^1.0.0-9" - "@rc-component/trigger" "^2.0.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@rc-component/trigger@^2.0.0", "@rc-component/trigger@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-2.1.1.tgz#47973f1156ba63810c913eb46cbaedeba913874b" - integrity sha512-UjHkedkgtEcgQu87w1VuWug1idoDJV7VUt0swxHXRcmei2uu1AuUzGBPEUlmOmXGJ+YtTgZfVLi7kuAUKoZTMA== - dependencies: - "@babel/runtime" "^7.23.2" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.38.0" - -"@remix-run/router@1.15.3": - version "1.15.3" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.3.tgz#d2509048d69dbb72d5389a14945339f1430b2d3c" - integrity sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sindresorhus/is@^4.0.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - -"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" - integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== - -"@svgr/babel-plugin-svg-dynamic-title@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" - integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== - -"@svgr/babel-plugin-svg-em-dimensions@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" - integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== - -"@svgr/babel-plugin-transform-react-native-svg@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" - integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== - -"@svgr/babel-plugin-transform-svg-component@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" - integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== - -"@svgr/babel-preset@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" - integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" - "@svgr/babel-plugin-transform-svg-component" "8.0.0" - -"@svgr/core@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" - integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - camelcase "^6.2.0" - cosmiconfig "^8.1.3" - snake-case "^3.0.4" - -"@svgr/hast-util-to-babel-ast@8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" - integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== - dependencies: - "@babel/types" "^7.21.3" - entities "^4.4.0" - -"@svgr/plugin-jsx@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" - integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== - dependencies: - "@babel/core" "^7.21.3" - "@svgr/babel-preset" "8.1.0" - "@svgr/hast-util-to-babel-ast" "8.0.0" - svg-parser "^2.0.4" - -"@svgr/plugin-svgo@8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" - integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== - dependencies: - cosmiconfig "^8.1.3" - deepmerge "^4.3.1" - svgo "^3.0.2" - -"@svgr/webpack@8.1.0", "@svgr/webpack@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" - integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== - dependencies: - "@babel/core" "^7.21.3" - "@babel/plugin-transform-react-constant-elements" "^7.21.3" - "@babel/preset-env" "^7.20.2" - "@babel/preset-react" "^7.18.6" - "@babel/preset-typescript" "^7.21.0" - "@svgr/core" "8.1.0" - "@svgr/plugin-jsx" "8.1.0" - "@svgr/plugin-svgo" "8.1.0" - -"@swc/cli@0.3.12": - version "0.3.12" - resolved "https://registry.yarnpkg.com/@swc/cli/-/cli-0.3.12.tgz#0c083946989d55c83a5bffdb73273a1756f7fd4b" - integrity sha512-h7bvxT+4+UDrLWJLFHt6V+vNAcUNii2G4aGSSotKz1ECEk4MyEh5CWxmeSscwuz5K3i+4DWTgm4+4EyMCQKn+g== - dependencies: - "@mole-inc/bin-wrapper" "^8.0.1" - "@swc/counter" "^0.1.3" - commander "^8.3.0" - fast-glob "^3.2.5" - minimatch "^9.0.3" - piscina "^4.3.0" - semver "^7.3.8" - slash "3.0.0" - source-map "^0.7.3" - -"@swc/core-darwin-arm64@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.16.tgz#2cd45d709ce76d448d96bf8d0006849541436611" - integrity sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ== - -"@swc/core-darwin-x64@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.16.tgz#a5bc7d8b1dd850adb0bb95c6b5c742b92201fd01" - integrity sha512-t3bgqFoYLWvyVtVL6KkFNCINEoOrIlyggT/kJRgi1y0aXSr0oVgcrQ4ezJpdeahZZ4N+Q6vT3ffM30yIunELNA== - -"@swc/core-linux-arm-gnueabihf@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.16.tgz#961744908ee5cbb79bc009dcf58cc8b831111f38" - integrity sha512-DvHuwvEF86YvSd0lwnzVcjOTZ0jcxewIbsN0vc/0fqm9qBdMMjr9ox6VCam1n3yYeRtj4VFgrjeNFksqbUejdQ== - -"@swc/core-linux-arm64-gnu@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.16.tgz#43713be3f26757d82d2745dc25f8b63400e0a3d0" - integrity sha512-9Uu5YlPbyCvbidjKtYEsPpyZlu16roOZ5c2tP1vHfnU9bgf5Tz5q5VovSduNxPHx+ed2iC1b1URODHvDzbbDuQ== - -"@swc/core-linux-arm64-musl@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.16.tgz#394a7d030f3a61902bd3947bb9d70d26d42f3c81" - integrity sha512-/YZq/qB1CHpeoL0eMzyqK5/tYZn/rzKoCYDviFU4uduSUIJsDJQuQA/skdqUzqbheOXKAd4mnJ1hT04RbJ8FPQ== - -"@swc/core-linux-x64-gnu@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.16.tgz#71eb108b784f9d551ee8a35ebcdaed972f567981" - integrity sha512-UUjaW5VTngZYDcA8yQlrFmqs1tLi1TxbKlnaJwoNhel9zRQ0yG1YEVGrzTvv4YApSuIiDK18t+Ip927bwucuVQ== - -"@swc/core-linux-x64-musl@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.16.tgz#10dbaedb4e3dfc7268e3a9a66ad3431471ef035b" - integrity sha512-aFhxPifevDTwEDKPi4eRYWzC0p/WYJeiFkkpNU5Uc7a7M5iMWPAbPFUbHesdlb9Jfqs5c07oyz86u+/HySBNPQ== - -"@swc/core-win32-arm64-msvc@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.16.tgz#80247adff6c245ff32b44d773c1a148858cd655f" - integrity sha512-bTD43MbhIHL2s5QgCwyleaGwl96Gk/scF2TaVKdUe4QlJCDV/YK9h5oIBAp63ckHtE8GHlH4c8dZNBiAXn4Org== - -"@swc/core-win32-ia32-msvc@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.16.tgz#e540afc3ccf3224267b4ddfb408f9d9737984686" - integrity sha512-/lmZeAN/qV5XbK2SEvi8e2RkIg8FQNYiSA8y2/Zb4gTUMKVO5JMLH0BSWMiIKMstKDPDSxMWgwJaQHF8UMyPmQ== - -"@swc/core-win32-x64-msvc@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.16.tgz#f880939fca32c181adfe7e3abd2b6b7857bd3489" - integrity sha512-BPAfFfODWXtUu6SwaTTftDHvcbDyWBSI/oanUeRbQR5vVWkXoQ3cxLTsDluc3H74IqXS5z1Uyoe0vNo2hB1opA== - -"@swc/core@1.4.16": - version "1.4.16" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.16.tgz#d175bae2acfecd53bcbd4293f1fba5ec316634a0" - integrity sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA== - dependencies: - "@swc/counter" "^0.1.2" - "@swc/types" "^0.1.5" - optionalDependencies: - "@swc/core-darwin-arm64" "1.4.16" - "@swc/core-darwin-x64" "1.4.16" - "@swc/core-linux-arm-gnueabihf" "1.4.16" - "@swc/core-linux-arm64-gnu" "1.4.16" - "@swc/core-linux-arm64-musl" "1.4.16" - "@swc/core-linux-x64-gnu" "1.4.16" - "@swc/core-linux-x64-musl" "1.4.16" - "@swc/core-win32-arm64-msvc" "1.4.16" - "@swc/core-win32-ia32-msvc" "1.4.16" - "@swc/core-win32-x64-msvc" "1.4.16" - -"@swc/counter@^0.1.2", "@swc/counter@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" - integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== - -"@swc/helpers@0.5.10": - version "0.5.10" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.10.tgz#5720082d007197cd85743dd599198097126a3f6e" - integrity sha512-CU+RF9FySljn7HVSkkjiB84hWkvTaI3rtLvF433+jRSBL2hMu3zX5bGhHS8C80SM++h4xy8hBSnUHFQHmRXSBw== - dependencies: - tslib "^2.4.0" - -"@swc/jest@0.2.36": - version "0.2.36" - resolved "https://registry.yarnpkg.com/@swc/jest/-/jest-0.2.36.tgz#2797450a30d28b471997a17e901ccad946fe693e" - integrity sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw== - dependencies: - "@jest/create-cache-key-function" "^29.7.0" - "@swc/counter" "^0.1.3" - jsonc-parser "^3.2.0" - -"@swc/types@^0.1.5": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.6.tgz#2f13f748995b247d146de2784d3eb7195410faba" - integrity sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg== - dependencies: - "@swc/counter" "^0.1.3" - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@testing-library/dom@^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.0.0.tgz#ae1ab88aad35a728a38264041163174cafd7e8dd" - integrity sha512-PmJPnogldqoVFf+EwbHvbBJ98MmqASV8kLrBYgsDNxQcFMeIS7JFL48sfyXvuMtgmWO/wMhh25odr+8VhDmn4g== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.3.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/react@15.0.2": - version "15.0.2" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-15.0.2.tgz#d0fd7e9c41b819557639acf5f18e4cd1007ec295" - integrity sha512-5mzIpuytB1ctpyywvyaY2TAAUQVCZIGqwiqFQf6u9lvj/SJQepGUzNV18Xpk+NLCaCE2j7CWrZE0tEf9xLZYiQ== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^10.0.0" - "@types/react-dom" "^18.0.0" - -"@tokenizer/token@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" - integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@tsconfig/node10@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" - integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/aria-query@^5.0.1": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" - integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== - dependencies: - "@babel/types" "^7.20.7" - -"@types/bcrypt@5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/bcrypt/-/bcrypt-5.0.2.tgz#22fddc11945ea4fbc3655b3e8b8847cc9f811477" - integrity sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ== - dependencies: - "@types/node" "*" - -"@types/body-parser@*": - version "1.19.5" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" - integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== - dependencies: - "@types/node" "*" - -"@types/cacheable-request@^6.0.1": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" - integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" - integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect-timeout@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/connect-timeout/-/connect-timeout-0.0.39.tgz#8b6800599808688ae74d1352e702a24d2cca4ee1" - integrity sha512-PHUX9yixjm4qjQ27Uz+F5cyG9Fio9iY7e6eWHvNT0wbA8eu9JaDqxRRiXn5uYnd09zx1fM+wEHnuBHMm9gwOuQ== - dependencies: - "@types/express" "*" - -"@types/connect@*": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/cookiejar@^2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.5.tgz#14a3e83fa641beb169a2dd8422d91c3c345a9a78" - integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== - -"@types/cors@2.8.17": - version "2.8.17" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" - integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== - dependencies: - "@types/node" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.56.10" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d" - integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.30", "@types/express-serve-static-core@^4.17.33": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz#3ae8ab3767d98d0b682cda063c3339e1e86ccfaa" - integrity sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express-session@1.18.0": - version "1.18.0" - resolved "https://registry.yarnpkg.com/@types/express-session/-/express-session-1.18.0.tgz#7c6f25c3604b28d6bc08a2e3929997bbc7672fa2" - integrity sha512-27JdDRgor6PoYlURY+Y5kCakqp5ulC0kmf7y+QwaY+hv9jEFuQOThgkjyA53RP3jmKuBsH5GR6qEfFmvb8mwOA== - dependencies: - "@types/express" "*" - -"@types/express@*", "@types/express@4.17.21", "@types/express@^4.17.13": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/fs-extra@11.0.4": - version "11.0.4" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.4.tgz#e16a863bb8843fba8c5004362b5a73e17becca45" - integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== - dependencies: - "@types/jsonfile" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/http-cache-semantics@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" - integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== - -"@types/http-errors@*": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== - -"@types/http-proxy@^1.17.10", "@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@29.5.12": - version "29.5.12" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/jsdom@^20.0.0": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" - integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json2csv@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@types/json2csv/-/json2csv-5.0.7.tgz#c80ff09b669f8e3ee60be19d91326275a6a2346b" - integrity sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA== - dependencies: - "@types/node" "*" - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/jsonfile@*": - version "6.1.4" - resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.4.tgz#614afec1a1164e7d670b4a7ad64df3e7beb7b702" - integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== - dependencies: - "@types/node" "*" - -"@types/jsonwebtoken@9.0.6": - version "9.0.6" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz#d1af3544d99ad992fb6681bbe60676e06b032bd3" - integrity sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw== - dependencies: - "@types/node" "*" - -"@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" - -"@types/long@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== - -"@types/methods@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@types/methods/-/methods-1.1.4.tgz#d3b7ac30ac47c91054ea951ce9eed07b1051e547" - integrity sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ== - -"@types/mime@^1": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" - integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== - -"@types/minimist@^1.2.0": - version "1.2.5" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" - integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== - -"@types/node-fetch@^2.6.1": - version "2.6.11" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" - integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== - dependencies: - "@types/node" "*" - form-data "^4.0.0" - -"@types/node-forge@^1.3.0": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== - dependencies: - "@types/node" "*" - -"@types/node@*", "@types/node@^20.12.7": - version "20.12.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" - integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== - dependencies: - undici-types "~5.26.4" - -"@types/nodemailer@6.4.14": - version "6.4.14" - resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.14.tgz#5c81a5e856db7f8ede80013e6dbad7c5fb2283e2" - integrity sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA== - dependencies: - "@types/node" "*" - -"@types/normalize-package-data@^2.4.0": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" - integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/passport@1.0.16": - version "1.0.16" - resolved "https://registry.yarnpkg.com/@types/passport/-/passport-1.0.16.tgz#5a2918b180a16924c4d75c31254c31cdca5ce6cf" - integrity sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A== - dependencies: - "@types/express" "*" - -"@types/prop-types@*": - version "15.7.12" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== - -"@types/qrcode@1.5.5": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.5.tgz#993ff7c6b584277eee7aac0a20861eab682f9dac" - integrity sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg== - dependencies: - "@types/node" "*" - -"@types/qs@*": - version "6.9.15" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" - integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== - -"@types/range-parser@*": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" - integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== - -"@types/react-dom@18.2.25", "@types/react-dom@^18.0.0": - version "18.2.25" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.25.tgz#2946a30081f53e7c8d585eb138277245caedc521" - integrity sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA== - dependencies: - "@types/react" "*" - -"@types/react-highlight-words@0.16.7": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@types/react-highlight-words/-/react-highlight-words-0.16.7.tgz#82fdd2d2abe4c4a5c0da44be749660f6ec42f0c2" - integrity sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@18.2.79": - version "18.2.79" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.79.tgz#c40efb4f255711f554d47b449f796d1c7756d865" - integrity sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w== - dependencies: - "@types/prop-types" "*" - csstype "^3.0.2" - -"@types/responselike@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" - integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== - dependencies: - "@types/node" "*" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/semver@^7.5.8": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== - -"@types/send@*": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-index@^1.9.1": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" - integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.7" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" - integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== - dependencies: - "@types/http-errors" "*" - "@types/node" "*" - "@types/send" "*" - -"@types/sockjs@^0.3.33": - version "0.3.36" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" - integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/superagent@^8.1.0": - version "8.1.6" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-8.1.6.tgz#e660543b1a4b7c7473caec4799de87ff68216270" - integrity sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ== - dependencies: - "@types/cookiejar" "^2.1.5" - "@types/methods" "^1.1.4" - "@types/node" "*" - -"@types/supertest@6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-6.0.2.tgz#2af1c466456aaf82c7c6106c6b5cbd73a5e86588" - integrity sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg== - dependencies: - "@types/methods" "^1.1.4" - "@types/superagent" "^8.1.0" - -"@types/tmp@0.2.6": - version "0.2.6" - resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.6.tgz#d785ee90c52d7cc020e249c948c36f7b32d1e217" - integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== - -"@types/tough-cookie@*": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - -"@types/uuid@9.0.8": - version "9.0.8" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" - integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== - -"@types/webidl-conversions@*": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz#1306dbfa53768bcbcfc95a1c8cde367975581859" - integrity sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA== - -"@types/webpack-env@1.18.4": - version "1.18.4" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.4.tgz#62879b0a9c653f9b1172d403b882f2045ecce032" - integrity sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A== - -"@types/whatwg-url@^11.0.2": - version "11.0.4" - resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-11.0.4.tgz#ffed0dc8d89d91f62e3f368fcbda222a487c4f63" - integrity sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw== - dependencies: - "@types/webidl-conversions" "*" - -"@types/whatwg-url@^8.2.1": - version "8.2.2" - resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" - integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== - dependencies: - "@types/node" "*" - "@types/webidl-conversions" "*" - -"@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz#bf34a02f221811505b8bf2f31060c8560c1bb0a3" - integrity sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.7.0" - "@typescript-eslint/type-utils" "7.7.0" - "@typescript-eslint/utils" "7.7.0" - "@typescript-eslint/visitor-keys" "7.7.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/parser@7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.7.0.tgz#6b1b3ce76c5de002c43af8ae933613b0f2b4bcc6" - integrity sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg== - dependencies: - "@typescript-eslint/scope-manager" "7.7.0" - "@typescript-eslint/types" "7.7.0" - "@typescript-eslint/typescript-estree" "7.7.0" - "@typescript-eslint/visitor-keys" "7.7.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz#3f0db079b275bb8b0cb5be7613fb3130cfb5de77" - integrity sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw== - dependencies: - "@typescript-eslint/types" "7.7.0" - "@typescript-eslint/visitor-keys" "7.7.0" - -"@typescript-eslint/scope-manager@7.7.1": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz#07fe59686ca843f66e3e2b5c151522bc38effab2" - integrity sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA== - dependencies: - "@typescript-eslint/types" "7.7.1" - "@typescript-eslint/visitor-keys" "7.7.1" - -"@typescript-eslint/type-utils@7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz#36792ff4209a781b058de61631a48df17bdefbc5" - integrity sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg== - dependencies: - "@typescript-eslint/typescript-estree" "7.7.0" - "@typescript-eslint/utils" "7.7.0" - debug "^4.3.4" - ts-api-utils "^1.3.0" - -"@typescript-eslint/type-utils@^7.3.0": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz#2f8094edca3bebdaad009008929df645ed9c8743" - integrity sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q== - dependencies: - "@typescript-eslint/typescript-estree" "7.7.1" - "@typescript-eslint/utils" "7.7.1" - debug "^4.3.4" - ts-api-utils "^1.3.0" - -"@typescript-eslint/types@7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.7.0.tgz#23af4d24bf9ce15d8d301236e3e3014143604f27" - integrity sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w== - -"@typescript-eslint/types@7.7.1": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.7.1.tgz#f903a651fb004c75add08e4e9e207f169d4b98d7" - integrity sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w== - -"@typescript-eslint/typescript-estree@7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz#b5dd6383b4c6a852d7b256a37af971e8982be97f" - integrity sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ== - dependencies: - "@typescript-eslint/types" "7.7.0" - "@typescript-eslint/visitor-keys" "7.7.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/typescript-estree@7.7.1": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz#5cafde48fe390fe1c1b329b2ce0ba8a73c1e87b2" - integrity sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ== - dependencies: - "@typescript-eslint/types" "7.7.1" - "@typescript-eslint/visitor-keys" "7.7.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.7.0.tgz#3d2b6606a60ac34f3c625facfb3b3ab7e126f58d" - integrity sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.15" - "@types/semver" "^7.5.8" - "@typescript-eslint/scope-manager" "7.7.0" - "@typescript-eslint/types" "7.7.0" - "@typescript-eslint/typescript-estree" "7.7.0" - semver "^7.6.0" - -"@typescript-eslint/utils@7.7.1", "@typescript-eslint/utils@^7.3.0": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.7.1.tgz#5d161f2b4a55e1bc38b634bebb921e4bd4e4a16e" - integrity sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.15" - "@types/semver" "^7.5.8" - "@typescript-eslint/scope-manager" "7.7.1" - "@typescript-eslint/types" "7.7.1" - "@typescript-eslint/typescript-estree" "7.7.1" - semver "^7.6.0" - -"@typescript-eslint/visitor-keys@7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz#950148cf1ac11562a2d903fdf7acf76714a2dc9e" - integrity sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA== - dependencies: - "@typescript-eslint/types" "7.7.0" - eslint-visitor-keys "^3.4.3" - -"@typescript-eslint/visitor-keys@7.7.1": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz#da2294796220bb0f3b4add5ecbb1b9c3f4f65798" - integrity sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw== - dependencies: - "@typescript-eslint/types" "7.7.1" - eslint-visitor-keys "^3.4.3" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@xtuc/long" "4.2.2" - -"@wry/caches@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@wry/caches/-/caches-1.0.1.tgz#8641fd3b6e09230b86ce8b93558d44cf1ece7e52" - integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== - dependencies: - tslib "^2.3.0" - -"@wry/context@^0.7.0": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.4.tgz#e32d750fa075955c4ab2cfb8c48095e1d42d5990" - integrity sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== - dependencies: - tslib "^2.3.0" - -"@wry/equality@^0.5.6": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.7.tgz#72ec1a73760943d439d56b7b1e9985aec5d497bb" - integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.4.3.tgz#077d52c22365871bf3ffcbab8e95cb8bc5689af4" - integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.5.0.tgz#11e783f3a53f6e4cd1d42d2d1323f5bc3fa99c94" - integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== - dependencies: - tslib "^2.3.0" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - -"@yarnpkg/parsers@3.0.0-rc.46": - version "3.0.0-rc.46" - resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" - integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== - dependencies: - js-yaml "^3.10.0" - tslib "^2.4.0" - -"@zkochan/js-yaml@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" - integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== - dependencies: - argparse "^2.0.1" - -"@zxing/text-encoding@0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" - integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== - -JSONStream@1.3.5, JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.5, abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" - integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.2, acorn-walk@^8.1.1: - version "8.3.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.1.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -address@^1.0.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agent-base@^7.0.2: - version "7.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" - integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== - dependencies: - debug "^4.3.4" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.11.0, ajv@^8.12.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - integrity sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg== - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-escapes@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f" - integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.0.0, ansi-styles@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -antd@5.16.4: - version "5.16.4" - resolved "https://registry.yarnpkg.com/antd/-/antd-5.16.4.tgz#41515c8ff2e866d08e36310a761f187d584d85a7" - integrity sha512-H3LtVz5hiNgs0lL8U6pzi11rluR6RDRw1cm2pWX6CsvgZmybWsaTBV2h+d+zmgFfuch53TWs5uztLdAldIoYYw== - dependencies: - "@ant-design/colors" "^7.0.2" - "@ant-design/cssinjs" "^1.18.5" - "@ant-design/icons" "^5.3.6" - "@ant-design/react-slick" "~1.1.2" - "@babel/runtime" "^7.24.4" - "@ctrl/tinycolor" "^3.6.1" - "@rc-component/color-picker" "~1.5.3" - "@rc-component/mutate-observer" "^1.1.0" - "@rc-component/tour" "~1.14.2" - "@rc-component/trigger" "^2.1.1" - classnames "^2.5.1" - copy-to-clipboard "^3.3.3" - dayjs "^1.11.10" - qrcode.react "^3.1.0" - rc-cascader "~3.24.1" - rc-checkbox "~3.2.0" - rc-collapse "~3.7.3" - rc-dialog "~9.4.0" - rc-drawer "~7.1.0" - rc-dropdown "~4.2.0" - rc-field-form "~1.44.0" - rc-image "~7.6.0" - rc-input "~1.4.5" - rc-input-number "~9.0.0" - rc-mentions "~2.11.1" - rc-menu "~9.13.0" - rc-motion "^2.9.0" - rc-notification "~5.4.0" - rc-pagination "~4.0.4" - rc-picker "~4.4.1" - rc-progress "~4.0.0" - rc-rate "~2.12.0" - rc-resize-observer "^1.4.0" - rc-segmented "~2.3.0" - rc-select "~14.13.1" - rc-slider "~10.6.1" - rc-steps "~6.0.1" - rc-switch "~4.1.0" - rc-table "~7.45.4" - rc-tabs "~14.1.1" - rc-textarea "~1.6.3" - rc-tooltip "~6.2.0" - rc-tree "~5.8.5" - rc-tree-select "~5.19.0" - rc-upload "~4.5.2" - rc-util "^5.39.1" - scroll-into-view-if-needed "^3.1.0" - throttle-debounce "^5.0.0" - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -apollo-upload-client@18.0.1: - version "18.0.1" - resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz#e3811f2f5a36bffef23954f796daf331be748dcb" - integrity sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA== - dependencies: - extract-files "^13.0.0" - -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -arch@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" - integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== - -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@5.3.0, aria-query@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== - dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== - -array-includes@^3.1.6, array-includes@^3.1.7: - version "3.1.8" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" - integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - is-string "^1.0.7" - -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-union@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" - integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== - -array.prototype.findlast@^1.2.4: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" - integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.findlastindex@^1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" - integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.toreversed@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" - integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz#c8c89348337e51b8a3c48a9227f9ce93ceedcba8" - integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.1.0" - es-shim-unscopables "^1.0.2" - -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" - define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" - is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -asn1.js@^5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -ast-types-flow@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" - integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== - -async-mutex@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.1.tgz#bccf55b96f2baf8df90ed798cb5544a1f6ee4c2c" - integrity sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA== - dependencies: - tslib "^2.4.0" - -async-retry@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" - integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== - dependencies: - retry "0.13.1" - -async-validator@^4.1.0: - version "4.2.5" - resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" - integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== - -async@^2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -async@^3.2.3, async@^3.2.4: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -attr-accept@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" - integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== - -autoprefixer@^10.4.9: - version "10.4.19" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== - dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -axe-core@=4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" - integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== - -axios@1.6.8, axios@^1.6.0: - version "1.6.8" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" - integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axobject-query@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" - integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== - dependencies: - dequal "^2.0.3" - -b4a@^1.6.4: - version "1.6.6" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.6.tgz#a4cc349a3851987c3c4ac2d7785c18744f6da9ba" - integrity sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@^9.1.2: - version "9.1.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" - integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== - dependencies: - find-cache-dir "^4.0.0" - schema-utils "^4.0.0" - -babel-plugin-const-enum@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz#3d25524106f68f081e187829ba736b251c289861" - integrity sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.3.3" - "@babel/traverse" "^7.16.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: - version "0.10.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" - integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - core-js-compat "^3.36.1" - -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" - -babel-plugin-transform-typescript-metadata@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz#7a327842d8c36ffe07ee1b5276434e56c297c9b7" - integrity sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -bare-events@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.2.2.tgz#a98a41841f98b2efe7ecc5c5468814469b018078" - integrity sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -basic-auth@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== - dependencies: - safe-buffer "5.1.2" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -bcrypt@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.1.tgz#0f732c6dcb4e12e5b70a25e326a72965879ba6e2" - integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== - dependencies: - "@mapbox/node-pre-gyp" "^1.0.11" - node-addon-api "^5.0.0" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bin-check@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-4.1.0.tgz#fc495970bdc88bb1d5a35fc17e65c4a149fc4a49" - integrity sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA== - dependencies: - execa "^0.7.0" - executable "^4.1.0" - -bin-version-check@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-5.1.0.tgz#788e80e036a87313f8be7908bc20e5abe43f0837" - integrity sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g== - dependencies: - bin-version "^6.0.0" - semver "^7.5.3" - semver-truncate "^3.0.0" - -bin-version@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-6.0.0.tgz#08ecbe5fc87898b441425e145f9e105064d00315" - integrity sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw== - dependencies: - execa "^5.0.0" - find-versions "^5.0.0" - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -block-stream2@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/block-stream2/-/block-stream2-2.1.0.tgz#ac0c5ef4298b3857796e05be8ebed72196fa054b" - integrity sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg== - dependencies: - readable-stream "^3.4.0" - -bn.js@^4.0.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" - integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== - dependencies: - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-or-node@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/browser-or-node/-/browser-or-node-2.1.1.tgz#738790b3a86a8fc020193fa581273fbe65eaea0f" - integrity sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg== - -browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -bson@^5.5.0: - version "5.5.1" - resolved "https://registry.yarnpkg.com/bson/-/bson-5.5.1.tgz#f5849d405711a7f23acdda9a442375df858e6833" - integrity sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g== - -bson@^6.4.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/bson/-/bson-6.6.0.tgz#f225137eb49fe19bee4d87949a0515c05176e2ad" - integrity sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA== - -buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -builtins@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" - integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== - dependencies: - semver "^7.0.0" - -busboy@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-request@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" - integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@~1.0.2: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g== - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0, camelcase@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001612" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz#d34248b4ec1f117b70b24ad9ee04c90e0b8a14ae" - integrity sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g== - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - integrity sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ== - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== - -chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== - -cli-cursor@3.1.0, cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" - integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== - dependencies: - restore-cursor "^4.0.0" - -cli-spinners@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" - integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== - -cli-spinners@^2.5.0: - version "2.9.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== - -cli-truncate@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" - integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== - dependencies: - slice-ansi "^5.0.0" - string-width "^7.0.0" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - integrity sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA== - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.5: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color-support@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -colord@^2.9.3: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10, colorette@^2.0.20: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -columnify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" - integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== - dependencies: - strip-ansi "^6.0.1" - wcwidth "^1.0.0" - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" - integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== - -commander@7, commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -commitlint@^18.6.1: - version "18.6.1" - resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-18.6.1.tgz#0f583f08dbef1d54599b3022b553c52b0c0b5db3" - integrity sha512-I10mj1OmBCrPUHItRqeCEj0uxCdWxL15sCfS1Poq8av2FcX/KvRoiH8jTNG0cVDA2ns7IftugTAM+nLvOavLsw== - dependencies: - "@commitlint/cli" "^18.6.1" - "@commitlint/types" "^18.6.1" - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" - integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" - -component-emitter@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" - integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -compute-scroll-into-view@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87" - integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -confusing-browser-globals@^1.0.9: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -connect-mongo@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/connect-mongo/-/connect-mongo-5.1.0.tgz#8eb66bf94c3e5af0442278a5f43bd15c365eac92" - integrity sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw== - dependencies: - debug "^4.3.1" - kruptein "^3.0.0" - -connect-timeout@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.9.0.tgz#bc27326b122103714bebfa0d958bab33f6522e3a" - integrity sha512-q4bsBIPd+eSGtnh/u6EBOKfuG+4YvwsN0idlOsg6KAw71Qpi0DCf2eCc/Va63QU9qdOeYC8katxoC+rHMNygZg== - dependencies: - http-errors "~1.6.1" - ms "2.0.0" - on-finished "~2.3.0" - on-headers "~1.0.1" - -console-control-strings@^1.0.0, console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -content-disposition@0.5.4, content-disposition@^0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -contour_plot@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/contour_plot/-/contour_plot-0.0.1.tgz#475870f032b8e338412aa5fc507880f0bf495c77" - integrity sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw== - -conventional-changelog-angular@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" - integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== - dependencies: - compare-func "^2.0.0" - -conventional-changelog-conventionalcommits@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz#aa5da0f1b2543094889e8cf7616ebe1a8f5c70d5" - integrity sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w== - dependencies: - compare-func "^2.0.0" - -conventional-commits-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#57f3594b81ad54d40c1b4280f04554df28627d9a" - integrity sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA== - dependencies: - JSONStream "^1.3.5" - is-text-path "^2.0.0" - meow "^12.0.1" - split2 "^4.0.0" - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie-signature@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" - integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -cookiejar@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" - integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== - -copy-anything@^2.0.1: - version "2.0.6" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" - integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== - dependencies: - is-what "^3.14.1" - -copy-to-clipboard@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -copy-webpack-plugin@^10.2.4: - version "10.2.4" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" - integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== - dependencies: - fast-glob "^3.2.7" - glob-parent "^6.0.1" - globby "^12.0.2" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - -core-js-compat@^3.31.0, core-js-compat@^3.36.1: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.0.tgz#d9570e544163779bb4dff1031c7972f44918dc73" - integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA== - dependencies: - browserslist "^4.23.0" - -core-js-pure@^3.23.3: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.37.0.tgz#ce99fb4a7cec023fdbbe5b5bd1f06bbcba83316e" - integrity sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ== - -core-js@^3.37.0: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.0.tgz#d8dde58e91d156b2547c19d8a4efd5c7f6c426bb" - integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cors@2.8.5, cors@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -corser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" - integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== - -cosmiconfig-typescript-loader@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz#0d3becfe022a871f7275ceb2397d692e06045dc8" - integrity sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA== - dependencies: - jiti "^1.19.1" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^8.1.3, cosmiconfig@^8.3.6: - version "8.3.6" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-declaration-sorter@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" - integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== - -css-loader@^6.4.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" - integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.1.0" - postcss-modules-local-by-default "^4.0.5" - postcss-modules-scope "^3.2.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - -css-minimizer-webpack-plugin@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" - integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - cssnano "^6.0.1" - jest-worker "^29.4.3" - postcss "^8.4.24" - schema-utils "^4.0.1" - serialize-javascript "^6.0.1" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -css-tree@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" - integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== - dependencies: - mdn-data "2.0.28" - source-map-js "^1.0.1" - -css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e" - integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== - dependencies: - browserslist "^4.23.0" - css-declaration-sorter "^7.2.0" - cssnano-utils "^4.0.2" - postcss-calc "^9.0.1" - postcss-colormin "^6.1.0" - postcss-convert-values "^6.1.0" - postcss-discard-comments "^6.0.2" - postcss-discard-duplicates "^6.0.3" - postcss-discard-empty "^6.0.3" - postcss-discard-overridden "^6.0.2" - postcss-merge-longhand "^6.0.5" - postcss-merge-rules "^6.1.1" - postcss-minify-font-values "^6.1.0" - postcss-minify-gradients "^6.0.3" - postcss-minify-params "^6.1.0" - postcss-minify-selectors "^6.0.4" - postcss-normalize-charset "^6.0.2" - postcss-normalize-display-values "^6.0.2" - postcss-normalize-positions "^6.0.2" - postcss-normalize-repeat-style "^6.0.2" - postcss-normalize-string "^6.0.2" - postcss-normalize-timing-functions "^6.0.2" - postcss-normalize-unicode "^6.1.0" - postcss-normalize-url "^6.0.2" - postcss-normalize-whitespace "^6.0.2" - postcss-ordered-values "^6.0.2" - postcss-reduce-initial "^6.1.0" - postcss-reduce-transforms "^6.0.2" - postcss-svgo "^6.0.3" - postcss-unique-selectors "^6.0.4" - -cssnano-utils@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c" - integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== - -cssnano@^6.0.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8" - integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== - dependencies: - cssnano-preset-default "^6.1.2" - lilconfig "^3.1.1" - -csso@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" - integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== - dependencies: - css-tree "~2.2.0" - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^3.0.2, csstype@^3.0.8, csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -csv-parse@5.5.5: - version "5.5.5" - resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517" - integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ== - -"d3-array@2.5.0 - 3", d3-array@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" - integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== - dependencies: - internmap "1 - 2" - -"d3-color@1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" - integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== - -d3-color@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a" - integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q== - -"d3-dispatch@1 - 3": - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" - integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== - -d3-dsv@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" - integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== - dependencies: - commander "7" - iconv-lite "0.6" - rw "1" - -d3-force@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" - integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== - dependencies: - d3-dispatch "1 - 3" - d3-quadtree "1 - 3" - d3-timer "1 - 3" - -d3-format@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" - integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== - -d3-geo@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.1.tgz#6027cf51246f9b2ebd64f99e01dc7c3364033a4d" - integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== - dependencies: - d3-array "2.5.0 - 3" - -d3-hierarchy@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" - integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== - -"d3-interpolate@1 - 3": - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" - integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== - dependencies: - d3-color "1 - 3" - -d3-path@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" - integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== - -"d3-quadtree@1 - 3": - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" - integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== - -d3-scale-chromatic@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#34c39da298b23c20e02f1a4b239bd0f22e7f1314" - integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== - dependencies: - d3-color "1 - 3" - d3-interpolate "1 - 3" - -d3-shape@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" - integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== - dependencies: - d3-path "^3.1.0" - -"d3-timer@1 - 3": - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" - integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== - -d3-voronoi@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297" - integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg== - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" - integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== - -data-urls@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -dayjs@1.11.10, dayjs@^1.11.10: - version "1.11.10" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" - integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" - integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decimal.js@^10.4.2: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -decode-uri-component@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -dedent@^1.0.0: - version "1.5.3" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" - integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== - -deep-equal@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" - integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== - dependencies: - is-arguments "^1.1.1" - is-date-object "^1.0.5" - is-regex "^1.1.4" - object-is "^1.1.5" - object-keys "^1.1.1" - regexp.prototype.flags "^1.5.1" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@4.3.1, deepmerge@^4.2.2, deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-data-property@^1.0.1, define-data-property@^1.1.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -defined@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -depd@2.0.0, depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-libc@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" - integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== - dependencies: - address "^1.0.1" - debug "4" - -dezalgo@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" - integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== - dependencies: - asap "^2.0.0" - wrappy "1" - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dijkstrajs@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" - integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dns-packet@^5.2.2: - version "5.6.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" - integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotenv-expand@~10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" - integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== - -dotenv@~16.3.1: - version "16.3.2" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" - integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== - -dotignore@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" - integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== - dependencies: - minimatch "^3.0.4" - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.7: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.4.668: - version "1.4.746" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz#787213e75f6c7bccb55dfe8b68170555c548d093" - integrity sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^10.3.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" - integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encode-utf8@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^5.0.0, enhanced-resolve@^5.16.0, enhanced-resolve@^5.7.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz#65ec88778083056cb32487faa9aef82ed0864787" - integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^4.2.0, entities@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -errno@^0.1.1: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== - dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" - is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-iterator-helpers@^1.0.15, es-iterator-helpers@^1.0.17: - version "1.0.18" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz#4d3424f46b24df38d064af6fbbc89274e29ea69d" - integrity sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.0" - es-errors "^1.3.0" - es-set-tostringtag "^2.0.3" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - globalthis "^1.0.3" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - iterator.prototype "^1.1.2" - safe-array-concat "^1.1.2" - -es-module-lexer@^1.2.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.0.tgz#4878fee3789ad99e065f975fdd3c645529ff0236" - integrity sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw== - -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== - dependencies: - get-intrinsic "^1.2.4" - has-tostringtag "^1.0.2" - hasown "^2.0.1" - -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -esbuild@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" - integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== - optionalDependencies: - "@esbuild/aix-ppc64" "0.20.2" - "@esbuild/android-arm" "0.20.2" - "@esbuild/android-arm64" "0.20.2" - "@esbuild/android-x64" "0.20.2" - "@esbuild/darwin-arm64" "0.20.2" - "@esbuild/darwin-x64" "0.20.2" - "@esbuild/freebsd-arm64" "0.20.2" - "@esbuild/freebsd-x64" "0.20.2" - "@esbuild/linux-arm" "0.20.2" - "@esbuild/linux-arm64" "0.20.2" - "@esbuild/linux-ia32" "0.20.2" - "@esbuild/linux-loong64" "0.20.2" - "@esbuild/linux-mips64el" "0.20.2" - "@esbuild/linux-ppc64" "0.20.2" - "@esbuild/linux-riscv64" "0.20.2" - "@esbuild/linux-s390x" "0.20.2" - "@esbuild/linux-x64" "0.20.2" - "@esbuild/netbsd-x64" "0.20.2" - "@esbuild/openbsd-x64" "0.20.2" - "@esbuild/sunos-x64" "0.20.2" - "@esbuild/win32-arm64" "0.20.2" - "@esbuild/win32-ia32" "0.20.2" - "@esbuild/win32-x64" "0.20.2" - -escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-compat-utils@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz#f7b2eb2befec25a370fac76934d3f9189f312a65" - integrity sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg== - dependencies: - semver "^7.5.4" - -eslint-config-prettier@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== - dependencies: - debug "^3.2.7" - -eslint-plugin-import@2.29.1: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.15.0" - -eslint-plugin-jsonc@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.15.1.tgz#97a5b24e9b14fe2163fd4988fa66d428785d7e7e" - integrity sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - eslint-compat-utils "^0.5.0" - espree "^9.6.1" - graphemer "^1.4.0" - jsonc-eslint-parser "^2.0.4" - natural-compare "^1.4.0" - synckit "^0.6.0" - -eslint-plugin-jsx-a11y@6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" - integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== - dependencies: - "@babel/runtime" "^7.23.2" - aria-query "^5.3.0" - array-includes "^3.1.7" - array.prototype.flatmap "^1.3.2" - ast-types-flow "^0.0.8" - axe-core "=4.7.0" - axobject-query "^3.2.1" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - es-iterator-helpers "^1.0.15" - hasown "^2.0.0" - jsx-ast-utils "^3.3.5" - language-tags "^1.0.9" - minimatch "^3.1.2" - object.entries "^1.1.7" - object.fromentries "^2.0.7" - -eslint-plugin-react-hooks@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@7.34.1: - version "7.34.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz#6806b70c97796f5bbfb235a5d3379ece5f4da997" - integrity sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw== - dependencies: - array-includes "^3.1.7" - array.prototype.findlast "^1.2.4" - array.prototype.flatmap "^1.3.2" - array.prototype.toreversed "^1.1.2" - array.prototype.tosorted "^1.1.3" - doctrine "^2.1.0" - es-iterator-helpers "^1.0.17" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.7" - object.fromentries "^2.0.7" - object.hasown "^1.1.3" - object.values "^1.1.7" - prop-types "^15.8.1" - resolve "^2.0.0-next.5" - semver "^6.3.1" - string.prototype.matchall "^4.0.10" - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@8.57.0, eslint@^8.0.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.0.0, espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0, esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -eventemitter3@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" - integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -executable@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" - integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== - dependencies: - pify "^2.2.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -export-from-json@1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/export-from-json/-/export-from-json-1.7.4.tgz#ea2ea0e88ae27870aba3727a8e7eb8c6439ca4a6" - integrity sha512-FjmpluvZS2PTYyhkoMfQoyEJMfe2bfAyNpa5Apa6C9n7SWUWyJkG/VFnzERuj3q9Jjo3iwBjwVsDQ7Z7sczthA== - -express-rate-limit@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.2.0.tgz#06ce387dd5388f429cab8263c514fc07bf90a445" - integrity sha512-T7nul1t4TNyfZMJ7pKRKkdeVJWa2CqB8NA1P8BwYaoDI5QSBZARv5oMS43J7b7I5P+4asjVXjb7ONuwDKucahg== - -express-session@1.18.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.18.0.tgz#a6ae39d9091f2efba5f20fc5c65a3ce7c9ce16a3" - integrity sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ== - dependencies: - cookie "0.6.0" - cookie-signature "1.0.7" - debug "2.6.9" - depd "~2.0.0" - on-headers "~1.0.2" - parseurl "~1.3.3" - safe-buffer "5.2.1" - uid-safe "~2.1.5" - -express@^4.17.1, express@^4.17.3, express@^4.19.2: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext-list@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" - integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== - dependencies: - mime-db "^1.28.0" - -ext-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" - integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== - dependencies: - ext-list "^2.0.0" - sort-keys-length "^1.0.0" - -extract-files@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-13.0.0.tgz#9065073dedbcfb5e2ae8a90988cf609834b217ec" - integrity sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g== - dependencies: - is-plain-obj "^4.1.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-fifo@^1.1.0, fast-fifo@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" - integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== - -fast-glob@3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fast-xml-parser@^4.2.2: - version "4.3.6" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz#190f9d99097f0c8f2d3a0e681a10404afca052ff" - integrity sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw== - dependencies: - strnum "^1.0.5" - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fecha@^4.2.1: - version "4.2.3" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" - integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== - -figures@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-selector@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" - integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== - dependencies: - tslib "^2.4.0" - -file-type@^17.1.6: - version "17.1.6" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.1.6.tgz#18669e0577a4849ef6e73a41f8bdf1ab5ae21023" - integrity sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw== - dependencies: - readable-web-to-node-stream "^3.0.2" - strtok3 "^7.0.0-alpha.9" - token-types "^5.0.0-alpha.2" - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -filename-reserved-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz#3d5dd6d4e2d73a3fed2ebc4cd0b3448869a081f7" - integrity sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw== - -filenamify@^5.0.2: - version "5.1.1" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-5.1.1.tgz#a1ccc5ae678a5e34f578afcb9b72898264d166d2" - integrity sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA== - dependencies: - filename-reserved-regex "^3.0.0" - strip-outer "^2.0.0" - trim-repeated "^2.0.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-cache-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" - integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== - dependencies: - common-path-prefix "^3.0.0" - pkg-dir "^7.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - -find-versions@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-5.1.0.tgz#973f6739ce20f5e439a27eba8542a4b236c8e685" - integrity sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg== - dependencies: - semver-regex "^4.0.5" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -flru@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flru/-/flru-1.0.2.tgz#1ae514c62b8b035ffff9ca9e4563ddcc817f4845" - integrity sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog== - -fmin@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/fmin/-/fmin-0.0.2.tgz#59bbb40d43ffdc1c94cd00a568c41f95f1973017" - integrity sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A== - dependencies: - contour_plot "^0.0.1" - json2module "^0.0.3" - rollup "^0.25.8" - tape "^4.5.1" - uglify-js "^2.6.2" - -follow-redirects@^1.0.0, follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - -for-each@^0.3.3, for-each@~0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -fork-ts-checker-webpack-plugin@7.2.13: - version "7.2.13" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz#51ffd6a2f96f03ab64b92f8aedf305dbf3dee0f1" - integrity sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg== - dependencies: - "@babel/code-frame" "^7.16.7" - chalk "^4.1.2" - chokidar "^3.5.3" - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - fs-extra "^10.0.0" - memfs "^3.4.1" - minimatch "^3.0.4" - node-abort-controller "^3.0.1" - schema-utils "^3.1.1" - semver "^7.3.5" - tapable "^2.2.1" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -formidable@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" - integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== - dependencies: - dezalgo "^1.0.4" - hexoid "^1.0.0" - once "^1.4.0" - qs "^6.11.0" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@11.2.0, fs-extra@^11.1.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gauge@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" - integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-east-asian-width@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" - integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-port@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-7.1.0.tgz#d5a500ebfc7aa705294ec2b83cc38c5d0e364fec" - integrity sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== - -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== - dependencies: - call-bind "^1.0.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - -git-raw-commits@^2.0.11: - version "2.0.11" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" - integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== - dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -git-rev-sync@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/git-rev-sync/-/git-rev-sync-3.0.2.tgz#9763c730981187c3419b75dd270088cc5f0e161b" - integrity sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ== - dependencies: - escape-string-regexp "1.0.5" - graceful-fs "4.1.15" - shelljs "0.8.5" - -gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" - integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1, glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== - dependencies: - ini "^1.3.4" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^12.0.2: - version "12.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-12.2.0.tgz#2ab8046b4fba4ff6eede835b29f678f90e3d3c22" - integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== - dependencies: - array-union "^3.0.1" - dir-glob "^3.0.1" - fast-glob "^3.2.7" - ignore "^5.1.9" - merge2 "^1.4.1" - slash "^4.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@^11.8.5: - version "11.8.6" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" - integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -graceful-fs@4.1.15: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -graphql-scalars@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/graphql-scalars/-/graphql-scalars-1.23.0.tgz#486785d1a6f9449277054a92afc7e1fb73f459d6" - integrity sha512-YTRNcwitkn8CqYcleKOx9IvedA8JIERn8BRq21nlKgOr4NEcTaWEG0sT+H92eF3ALTFbPgsqfft4cw+MGgv0Gg== - dependencies: - tslib "^2.5.0" - -graphql-subscriptions@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz#11ec181d475852d8aec879183e8e1eb94f2eb79a" - integrity sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA== - dependencies: - iterall "^1.3.0" - -graphql-tag@2.12.6, graphql-tag@^2.12.6: - version "2.12.6" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" - integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== - dependencies: - tslib "^2.1.0" - -graphql-type-json@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" - integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== - -graphql-upload-minimal@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/graphql-upload-minimal/-/graphql-upload-minimal-1.6.1.tgz#1cdc30a8dbc86f16d90450b6a92364822b07410b" - integrity sha512-wNUf/KqA0B/OguL1k6qWa4AmAduLUAhXzovh9i14SKbpBa8HX2vc7f+fR67S0rG7fSpGdM/aivxzC329/+9xXw== - dependencies: - busboy "^1.6.0" - -graphql-ws@5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.16.0.tgz#849efe02f384b4332109329be01d74c345842729" - integrity sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A== - -graphql@16.8.1: - version "16.8.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" - integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -has@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" - integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== - -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hexoid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" - integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== - -hi-base32@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" - integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== - -highlight-words-core@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" - integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== - -hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - -hosted-git-info@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" - integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== - dependencies: - lru-cache "^10.0.1" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -html-entities@^2.1.0, html-entities@^2.3.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" - integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.1, http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-proxy-middleware@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz#550790357d6f92a9b82ab2d63e07343a791cf26b" - integrity sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw== - dependencies: - "@types/http-proxy" "^1.17.10" - debug "^4.3.4" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.5" - -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-server@^14.1.0: - version "14.1.1" - resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" - integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== - dependencies: - basic-auth "^2.0.1" - chalk "^4.1.2" - corser "^2.0.1" - he "^1.2.0" - html-encoding-sniffer "^3.0.0" - http-proxy "^1.18.1" - mime "^1.6.0" - minimist "^1.2.6" - opener "^1.5.1" - portfinder "^1.0.28" - secure-compare "3.0.1" - union "~0.5.0" - url-join "^4.0.1" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -https-browserify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" - integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== - dependencies: - agent-base "^7.0.2" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - -husky@9.0.11: - version "9.0.11" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" - integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.6, iconv-lite@0.6.3, iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.0.4, ignore@^5.1.9, ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== - -immutable@^4.0.0: - version "4.3.5" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0" - integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== - -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@^1.3.4: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" - -"internmap@1 - 2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" - integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ip-address@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" - integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== - dependencies: - jsbn "1.1.0" - sprintf-js "^1.1.3" - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" - integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== - -is-arguments@^1.0.4, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== - dependencies: - has-tostringtag "^1.0.0" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== - dependencies: - is-typed-array "^1.1.13" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== - dependencies: - call-bind "^1.0.2" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== - -is-fullwidth-code-point@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" - integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== - dependencies: - get-east-asian-width "^1.0.0" - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.10, is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" - integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== - -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-obj@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4, is-regex@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-set@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" - integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== - -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== - dependencies: - call-bind "^1.0.7" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-text-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" - integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw== - dependencies: - text-extensions "^2.0.0" - -is-typed-array@^1.1.13, is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-weakmap@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" - integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" - integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - -is-what@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" - integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" - integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -iterall@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" - integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== - -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== - dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" - -jake@^10.8.5: - version "10.8.7" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" - integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29, jest-config@^29.4.1, jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.4.1, jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-jsdom@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" - integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/jsdom" "^20.0.0" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - jsdom "^20.0.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29, jest-resolve@^29.4.1, jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29, jest-util@^29.0.0, jest-util@^29.4.1, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.4.3, jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -jiti@^1.19.1: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.10.0, js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" - integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== - -jsdom@^20.0.0: - version "20.0.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" - integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== - dependencies: - abab "^2.0.6" - acorn "^8.8.1" - acorn-globals "^7.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.4.2" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.2" - parse5 "^7.1.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^4.1.2" - w3c-xmlserializer "^4.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.11.0" - xml-name-validator "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-stream/-/json-stream-1.0.0.tgz#1a3854e28d2bbeeab31cc7ddf683d2ddc5652708" - integrity sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg== - -json2module@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/json2module/-/json2module-0.0.3.tgz#00fb5f4a9b7adfc3f0647c29cb17bcd1979be9b2" - integrity sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA== - dependencies: - rw "^1.3.2" - -json2mq@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" - integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== - dependencies: - string-convert "^0.2.0" - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-eslint-parser@^2.0.4, jsonc-eslint-parser@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz#74ded53f9d716e8d0671bd167bf5391f452d5461" - integrity sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg== - dependencies: - acorn "^8.5.0" - eslint-visitor-keys "^3.0.0" - espree "^9.0.0" - semver "^7.3.5" - -jsonc-parser@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonc-parser@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -jsonwebtoken@9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" - integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -jstat@1.9.6: - version "1.9.6" - resolved "https://registry.yarnpkg.com/jstat/-/jstat-1.9.6.tgz#60e801b0d4c26e37aab0f375d1859fe9d60e10c0" - integrity sha512-rPBkJbK2TnA8pzs93QcDDPlKcrtZWuuCo2dVR0TFLOJSxhqfWOVCSp8aV3/oSbn+4uY4yw1URtLpHQedtmXfug== - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -keyv@^4.0.0, keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4, klona@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -kruptein@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/kruptein/-/kruptein-3.0.6.tgz#9cf976225af4bc1fbeba069dbb24f17eebad974d" - integrity sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA== - dependencies: - asn1.js "^5.4.1" - -language-subtag-registry@^0.3.20: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" - integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== - dependencies: - language-subtag-registry "^0.3.20" - -launch-editor@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" - integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.8.1" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ== - -less-loader@11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-11.1.0.tgz#a452384259bdf8e4f6d5fdcc39543609e6313f82" - integrity sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug== - dependencies: - klona "^2.0.4" - -less@4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" - integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== - dependencies: - copy-anything "^2.0.1" - parse-node-version "^1.0.1" - tslib "^2.3.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - needle "^3.1.0" - source-map "~0.6.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -license-webpack-plugin@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz#1e18442ed20b754b82f1adeff42249b81d11aec6" - integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== - dependencies: - webpack-sources "^3.0.0" - -lilconfig@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" - integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== - -lilconfig@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lines-and-columns@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" - integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== - -lint-staged@15.2.2: - version "15.2.2" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" - integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== - dependencies: - chalk "5.3.0" - commander "11.1.0" - debug "4.3.4" - execa "8.0.1" - lilconfig "3.0.0" - listr2 "8.0.1" - micromatch "4.0.5" - pidtree "0.6.0" - string-argv "0.3.2" - yaml "2.3.4" - -listr2@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" - integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== - dependencies: - cli-truncate "^4.0.0" - colorette "^2.0.20" - eventemitter3 "^5.0.1" - log-update "^6.0.0" - rfdc "^1.3.0" - wrap-ansi "^9.0.0" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0, loader-utils@^2.0.3, loader-utils@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isfunction@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" - integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== - -lodash.memoize@4.x, lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.mergewith@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash.snakecase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" - integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.startcase@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" - integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash.upperfirst@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" - integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== - -lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" - integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== - dependencies: - ansi-escapes "^6.2.0" - cli-cursor "^4.0.0" - slice-ansi "^7.0.0" - strip-ansi "^7.1.0" - wrap-ansi "^9.0.0" - -loglevel@^1.6.8: - version "1.9.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" - integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== - -long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - integrity sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^10.0.1: - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.10.1, lru-cache@^7.14.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -mdn-data@2.0.28: - version "2.0.28" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" - integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.4.1, memfs@^3.4.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -memoize-one@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" - integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== - -memory-pager@^1.0.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" - integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== - -meow@^12.0.1: - version "12.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" - integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== - -meow@^8.0.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@^1.1.2, methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0, mime@^1.4.1, mime@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-css-extract-plugin@~2.4.7: - version "2.4.7" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz#b9f4c4f4d727c7a3cd52a11773bb739f00177fac" - integrity sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg== - dependencies: - schema-utils "^4.0.0" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.3, minimatch@^9.0.4: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== - dependencies: - brace-expansion "^2.0.1" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.2.0, minimist@^1.2.6, minimist@~1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minio@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/minio/-/minio-7.1.3.tgz#86dc95f3671045d6956920db757bb63f25bf20ee" - integrity sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA== - dependencies: - async "^3.2.4" - block-stream2 "^2.1.0" - browser-or-node "^2.1.1" - buffer-crc32 "^0.2.13" - fast-xml-parser "^4.2.2" - ipaddr.js "^2.0.1" - json-stream "^1.0.0" - lodash "^4.17.21" - mime-types "^2.1.35" - query-string "^7.1.3" - through2 "^4.0.2" - web-encoding "^1.1.5" - xml "^1.0.1" - xml2js "^0.5.0" - -minipass@^3.0.0: - version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mock-property@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/mock-property/-/mock-property-1.0.3.tgz#3e37c50a56609d548cabd56559fde3dd8767b10c" - integrity sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ== - dependencies: - define-data-property "^1.1.1" - functions-have-names "^1.2.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - hasown "^2.0.0" - isarray "^2.0.5" - -mongodb-connection-string-url@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" - integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== - dependencies: - "@types/whatwg-url" "^8.2.1" - whatwg-url "^11.0.0" - -mongodb-connection-string-url@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz#b4f87f92fd8593f3b9365f592515a06d304a1e9c" - integrity sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ== - dependencies: - "@types/whatwg-url" "^11.0.2" - whatwg-url "^13.0.0" - -mongodb-memory-server-core@9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/mongodb-memory-server-core/-/mongodb-memory-server-core-9.2.0.tgz#d83e52633df910d8a48c1ff27de139fd4ab7f2d9" - integrity sha512-9SWZEy+dGj5Fvm5RY/mtqHZKS64o4heDwReD4SsfR7+uNgtYo+JN41kPCcJeIH3aJf04j25i5Dia2s52KmsMPA== - dependencies: - async-mutex "^0.4.0" - camelcase "^6.3.0" - debug "^4.3.4" - find-cache-dir "^3.3.2" - follow-redirects "^1.15.6" - https-proxy-agent "^7.0.4" - mongodb "^5.9.1" - new-find-package-json "^2.0.0" - semver "^7.6.0" - tar-stream "^3.1.7" - tslib "^2.6.2" - yauzl "^3.1.3" - -mongodb-memory-server@9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/mongodb-memory-server/-/mongodb-memory-server-9.2.0.tgz#9fe8a0128f5b7409041895ce9e56ed28b2cf337d" - integrity sha512-w/usKdYtby5EALERxmA0+et+D0brP0InH3a26shNDgGefXA61hgl6U0P3IfwqZlEGRZdkbZig3n57AHZgDiwvg== - dependencies: - mongodb-memory-server-core "9.2.0" - tslib "^2.6.2" - -mongodb@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-6.5.0.tgz#3735b4fba085b26ca06f7744e9639bc538e93d87" - integrity sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA== - dependencies: - "@mongodb-js/saslprep" "^1.1.5" - bson "^6.4.0" - mongodb-connection-string-url "^3.0.0" - -mongodb@^5.9.1: - version "5.9.2" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-5.9.2.tgz#39a73b9fbc87ac9d9c1aaf8aab5c5bb69e2b913e" - integrity sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ== - dependencies: - bson "^5.5.0" - mongodb-connection-string-url "^2.6.0" - socks "^2.7.1" - optionalDependencies: - "@mongodb-js/saslprep" "^1.1.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -needle@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049" - integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== - dependencies: - iconv-lite "^0.6.3" - sax "^1.2.4" - -negotiator@0.6.3, negotiator@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -new-find-package-json@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/new-find-package-json/-/new-find-package-json-2.0.0.tgz#96553638781db35061f351e8ccb4d07126b6407d" - integrity sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew== - dependencies: - debug "^4.3.4" - -nice-napi@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nice-napi/-/nice-napi-1.0.2.tgz#dc0ab5a1eac20ce548802fc5686eaa6bc654927b" - integrity sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA== - dependencies: - node-addon-api "^3.0.0" - node-gyp-build "^4.2.2" - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-abort-controller@^3.0.1, node-abort-controller@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - -node-addon-api@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== - -node-addon-api@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== - -node-fetch@^2.6.7: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-gyp-build@^4.2.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" - integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-machine-id@1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" - integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -nodemailer@6.9.13: - version "6.9.13" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.13.tgz#5b292bf1e92645f4852ca872c56a6ba6c4a3d3d6" - integrity sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA== - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-package-arg@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.1.tgz#f208b0022c29240a1c532a449bdde3f0a4708ebc" - integrity sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ== - dependencies: - hosted-git-info "^7.0.0" - proc-log "^3.0.0" - semver "^7.3.5" - validate-npm-package-name "^5.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" - integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== - dependencies: - path-key "^4.0.0" - -npmlog@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.2: - version "2.2.9" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.9.tgz#7f3303218372db2e9f27c27766bcfc59ae7e61c6" - integrity sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg== - -nx@18.3.3: - version "18.3.3" - resolved "https://registry.yarnpkg.com/nx/-/nx-18.3.3.tgz#ab96811961b631efd4f0c83550e92f7b0a625e83" - integrity sha512-GqC5ANfTWV6SFbgquZwuRMI2Z2nO0c0Yx4JzM3x32aJOgXsmRml3WcV0a5648bIXSen34gylHYl2EHaxVWkzNQ== - dependencies: - "@nrwl/tao" "18.3.3" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.0-rc.46" - "@zkochan/js-yaml" "0.0.6" - axios "^1.6.0" - chalk "^4.1.0" - cli-cursor "3.1.0" - cli-spinners "2.6.1" - cliui "^8.0.1" - dotenv "~16.3.1" - dotenv-expand "~10.0.0" - enquirer "~2.3.6" - figures "3.2.0" - flat "^5.0.2" - fs-extra "^11.1.0" - ignore "^5.0.4" - jest-diff "^29.4.1" - js-yaml "4.1.0" - jsonc-parser "3.2.0" - lines-and-columns "~2.0.3" - minimatch "9.0.3" - node-machine-id "1.1.12" - npm-run-path "^4.0.1" - open "^8.4.0" - ora "5.3.0" - semver "^7.5.3" - string-width "^4.2.3" - strong-log-transformer "^2.1.0" - tar-stream "~2.2.0" - tmp "~0.2.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - yargs "^17.6.2" - yargs-parser "21.1.1" - optionalDependencies: - "@nx/nx-darwin-arm64" "18.3.3" - "@nx/nx-darwin-x64" "18.3.3" - "@nx/nx-freebsd-x64" "18.3.3" - "@nx/nx-linux-arm-gnueabihf" "18.3.3" - "@nx/nx-linux-arm64-gnu" "18.3.3" - "@nx/nx-linux-arm64-musl" "18.3.3" - "@nx/nx-linux-x64-gnu" "18.3.3" - "@nx/nx-linux-x64-musl" "18.3.3" - "@nx/nx-win32-arm64-msvc" "18.3.3" - "@nx/nx-win32-x64-msvc" "18.3.3" - -object-assign@^4, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-inspect@~1.12.3: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-is@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" - integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" - integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -object.fromentries@^2.0.7: - version "2.0.8" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" - integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.groupby@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" - integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - -object.hasown@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.4.tgz#e270ae377e4c120cdcb7656ce66884a6218283dc" - integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== - dependencies: - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.values@^1.1.6, object.values@^1.1.7: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1, on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optimism@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.18.0.tgz#e7bb38b24715f3fdad8a9a7fc18e999144bbfa63" - integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== - dependencies: - "@wry/caches" "^1.0.0" - "@wry/context" "^0.7.0" - "@wry/trie" "^0.4.3" - tslib "^2.3.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -ora@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" - integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== - dependencies: - bl "^4.0.3" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - log-symbols "^4.0.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-filter-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-2.0.0.tgz#1c0b62d5f3a2442749a2d139e6dddee6e81d8d16" - integrity sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg== - dependencies: - arch "^2.1.0" - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-node-version@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - -parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -passport-strategy@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" - integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA== - -passport@0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/passport/-/passport-0.7.0.tgz#3688415a59a48cf8068417a8a8092d4492ca3a05" - integrity sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ== - dependencies: - passport-strategy "1.x.x" - pause "0.0.1" - utils-merge "^1.0.1" - -path-browserify@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pause@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" - integrity sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg== - -pdfast@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/pdfast/-/pdfast-0.2.0.tgz#8cbc556e1bf2522177787c0de2e0d4373ba885c9" - integrity sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA== - -peek-readable@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-5.0.0.tgz#7ead2aff25dc40458c60347ea76cfdfd63efdfec" - integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pidtree@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== - -pify@^2.2.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -piscina@^4.3.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/piscina/-/piscina-4.4.0.tgz#e3af8e5721d8fad08c6ccaf8a64f9f42279efbb5" - integrity sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg== - optionalDependencies: - nice-napi "^1.0.2" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-dir@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" - integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== - dependencies: - find-up "^6.3.0" - -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - -portfinder@^1.0.28: - version "1.0.32" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" - integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== - dependencies: - async "^2.6.4" - debug "^3.2.7" - mkdirp "^0.5.6" - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss-calc@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" - integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== - dependencies: - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - -postcss-colormin@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d" - integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - colord "^2.9.3" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48" - integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== - dependencies: - browserslist "^4.23.0" - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c" - integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== - -postcss-discard-duplicates@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb" - integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== - -postcss-discard-empty@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9" - integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== - -postcss-discard-overridden@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d" - integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== - -postcss-import@~14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-loader@^6.1.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - -postcss-merge-longhand@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a" - integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^6.1.1" - -postcss-merge-rules@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d" - integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - cssnano-utils "^4.0.2" - postcss-selector-parser "^6.0.16" - -postcss-minify-font-values@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59" - integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6" - integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== - dependencies: - colord "^2.9.3" - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08" - integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== - dependencies: - browserslist "^4.23.0" - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff" - integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-modules-extract-imports@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" - integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== - -postcss-modules-local-by-default@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz#f1b9bd757a8edf4d8556e8d0f4f894260e3df78f" - integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz#a43d28289a169ce2c15c00c4e64c0858e43457d5" - integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-normalize-charset@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1" - integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== - -postcss-normalize-display-values@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535" - integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a" - integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3" - integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363" - integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0" - integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e" - integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== - dependencies: - browserslist "^4.23.0" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79" - integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd" - integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5" - integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== - dependencies: - cssnano-utils "^4.0.2" - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba" - integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== - dependencies: - browserslist "^4.23.0" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d" - integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.16" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04" - integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa" - integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^3.2.0" - -postcss-unique-selectors@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088" - integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== - dependencies: - postcss-selector-parser "^6.0.16" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.4.14, postcss@^8.4.24, postcss@^8.4.33: - version "8.4.38" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" - integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== - -pretty-format@^27.0.2, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -proc-log@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" - integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.5.8, prop-types@^15.7.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" - integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== - -qrcode.react@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8" - integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== - -qrcode@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" - integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.11.0, qs@^6.11.2, qs@^6.4.0: - version "6.12.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.12.1.tgz#39422111ca7cbdb70425541cba20c7d7b216599a" - integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== - dependencies: - side-channel "^1.0.6" - -query-string@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" - integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== - dependencies: - decode-uri-component "^0.2.2" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" - integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -quickselect@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-2.0.0.tgz#f19680a486a5eefb581303e023e98faaf25dd018" - integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== - -random-bytes@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rbush@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/rbush/-/rbush-3.0.1.tgz#5fafa8a79b3b9afdfe5008403a720cc1de882ecf" - integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== - dependencies: - quickselect "^2.0.0" - -rc-cascader@~3.24.1: - version "3.24.1" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.24.1.tgz#603bac4427f8865b6ec056705bae8485c65d7798" - integrity sha512-RgKuYgEGPx+6wCgguYFHjMsDZdCyydZd58YJRCfYQ8FObqLnZW0x/vUcEyPjhWIj1EhjV958IcR+NFPDbbj9kg== - dependencies: - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - classnames "^2.3.1" - rc-select "~14.13.0" - rc-tree "~5.8.1" - rc-util "^5.37.0" - -rc-checkbox@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.2.0.tgz#04f83b7f2bf63eaf0e2da25e947b88a0a6321b5a" - integrity sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.3.2" - rc-util "^5.25.2" - -rc-collapse@~3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.7.3.tgz#68161683d8fd1004bef4eb281fc106f3c8dc16eb" - integrity sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.3.4" - rc-util "^5.27.0" - -rc-dialog@~9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.4.0.tgz#194c107d34cb36a56f1db4a49dc73f6d59eeae85" - integrity sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.0.0-8" - classnames "^2.2.6" - rc-motion "^2.3.0" - rc-util "^5.21.0" - -rc-drawer@~7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-7.1.0.tgz#2beabb8bab1784aea255d0d850bc206c3dc715da" - integrity sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w== - dependencies: - "@babel/runtime" "^7.23.9" - "@rc-component/portal" "^1.1.1" - classnames "^2.2.6" - rc-motion "^2.6.1" - rc-util "^5.38.1" - -rc-dropdown@~4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.2.0.tgz#c6052fcfe9c701487b141e411cdc277dc7c6f061" - integrity sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng== - dependencies: - "@babel/runtime" "^7.18.3" - "@rc-component/trigger" "^2.0.0" - classnames "^2.2.6" - rc-util "^5.17.0" - -rc-field-form@~1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.44.0.tgz#a66548790fbcee8c5432e9f2efcd1b46b090984b" - integrity sha512-el7w87fyDUsca63Y/s8qJcq9kNkf/J5h+iTdqG5WsSHLH0e6Usl7QuYSmSVzJMgtp40mOVZIY/W/QP9zwrp1FA== - dependencies: - "@babel/runtime" "^7.18.0" - async-validator "^4.1.0" - rc-util "^5.32.2" - -rc-image@~7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-7.6.0.tgz#2867087b77c8595ea9eb37d18ca863e47904b191" - integrity sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg== - dependencies: - "@babel/runtime" "^7.11.2" - "@rc-component/portal" "^1.0.2" - classnames "^2.2.6" - rc-dialog "~9.4.0" - rc-motion "^2.6.2" - rc-util "^5.34.1" - -rc-input-number@~9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-9.0.0.tgz#47da6eaf95b0cf566fcdf68196c4dc82b8c8f166" - integrity sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/mini-decimal" "^1.0.1" - classnames "^2.2.5" - rc-input "~1.4.0" - rc-util "^5.28.0" - -rc-input@~1.4.0, rc-input@~1.4.5: - version "1.4.5" - resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.4.5.tgz#1f2f13fb1adb15fce5936aebcfab354f41b4f348" - integrity sha512-AjzykhwnwYTRSwwgCu70CGKBIAv6bP2nqnFptnNTprph/TF1BAs0Qxl91mie/BR6n827WIJB6ZjaRf9iiMwAfw== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.18.1" - -rc-mentions@~2.11.1: - version "2.11.1" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.11.1.tgz#3e742d4b558965701021cff75b84af6cd4744ed3" - integrity sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw== - dependencies: - "@babel/runtime" "^7.22.5" - "@rc-component/trigger" "^2.0.0" - classnames "^2.2.6" - rc-input "~1.4.0" - rc-menu "~9.13.0" - rc-textarea "~1.6.1" - rc-util "^5.34.1" - -rc-menu@~9.13.0: - version "9.13.0" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.13.0.tgz#55426531af5fd0a2a0e0a50020cbd002b231edf9" - integrity sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^2.0.0" - classnames "2.x" - rc-motion "^2.4.3" - rc-overflow "^1.3.1" - rc-util "^5.27.0" - -rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.0.tgz#9e18a1b8d61e528a97369cf9a7601e9b29205710" - integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.21.0" - -rc-notification@~5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-5.4.0.tgz#c5ea20bfe4ed2dbacc7ef945777626c050945db8" - integrity sha512-li19y9RoYJciF3WRFvD+DvWS70jdL8Fr+Gfb/OshK+iY6iTkwzoigmSIp76/kWh5tF5i/i9im12X3nsF85GYdA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.9.0" - rc-util "^5.20.1" - -rc-overflow@^1.3.1, rc-overflow@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" - integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.37.0" - -rc-pagination@~4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-4.0.4.tgz#ea401388ae86eac17ed5b41212d487f12b65b773" - integrity sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.3.2" - rc-util "^5.38.0" - -rc-picker@~4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-4.4.1.tgz#77e31b112993e72c78401e2b331ba4689f00ead1" - integrity sha512-9/1pV12lMmUZtAbH0Sv/RIkeTdw/HSZs5G4GZFQ9UECLkCjOqhr9UF5Mf8dPuQ3xmw23SbXzOgDquN6eLFmZDw== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^2.0.0" - classnames "^2.2.1" - rc-overflow "^1.3.2" - rc-resize-observer "^1.4.0" - rc-util "^5.38.1" - -rc-progress@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-4.0.0.tgz#5382147d9add33d3a5fbd264001373df6440e126" - integrity sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-util "^5.16.1" - -rc-rate@~2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.12.0.tgz#0182deffed3b009cdcc61660da8746c39ed91ed5" - integrity sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.0.1" - -rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" - integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== - dependencies: - "@babel/runtime" "^7.20.7" - classnames "^2.2.1" - rc-util "^5.38.0" - resize-observer-polyfill "^1.5.1" - -rc-segmented@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.3.0.tgz#b3fe080fb434a266c02e30bb62a47d2c6e094341" - integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-motion "^2.4.4" - rc-util "^5.17.0" - -rc-select@~14.13.0, rc-select@~14.13.1: - version "14.13.1" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.13.1.tgz#2d3ca539032bf8184e511597bb93436e5b9cf02c" - integrity sha512-A1VHqjIOemxLnUGRxLGVqXBs8jGcJemI5NXxOJwU5PQc1wigAu1T4PRLgMkTPDOz8gPhlY9dwsPzMgakMc2QjQ== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^2.1.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-overflow "^1.3.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.2" - -rc-slider@~10.6.1: - version "10.6.2" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.6.2.tgz#8bd3b63b24f2f3682ea1bf86d021073189cf33eb" - integrity sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.36.0" - -rc-steps@~6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-6.0.1.tgz#c2136cd0087733f6d509209a84a5c80dc29a274d" - integrity sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g== - dependencies: - "@babel/runtime" "^7.16.7" - classnames "^2.2.3" - rc-util "^5.16.1" - -rc-switch@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-4.1.0.tgz#f37d81b4e0c5afd1274fd85367b17306bf25e7d7" - integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg== - dependencies: - "@babel/runtime" "^7.21.0" - classnames "^2.2.1" - rc-util "^5.30.0" - -rc-table@~7.45.4: - version "7.45.4" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.45.4.tgz#8657450d836f691e94ff2282a1c8ee344fe551e6" - integrity sha512-6aSbGrnkN2GLSt3s1x+wa4f3j/VEgg1uKPpaLY5qHH1/nFyreS2V7DFJ0TfUb18allf2FQl7oVYEjTixlBXEyQ== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/context" "^1.4.0" - classnames "^2.2.5" - rc-resize-observer "^1.1.0" - rc-util "^5.37.0" - rc-virtual-list "^3.11.1" - -rc-tabs@~14.1.1: - version "14.1.1" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-14.1.1.tgz#f49467feb69af0156c7864d04c21396e4c5c7911" - integrity sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "2.x" - rc-dropdown "~4.2.0" - rc-menu "~9.13.0" - rc-motion "^2.6.2" - rc-resize-observer "^1.0.0" - rc-util "^5.34.1" - -rc-textarea@~1.6.1, rc-textarea@~1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.6.3.tgz#3f294fdf5dfadbe9d0e7b695cea4da557728a9be" - integrity sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-input "~1.4.0" - rc-resize-observer "^1.0.0" - rc-util "^5.27.0" - -rc-tooltip@~6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-6.2.0.tgz#4dd7575674137a5b14f118a5c16435d3f5e4a9c9" - integrity sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw== - dependencies: - "@babel/runtime" "^7.11.2" - "@rc-component/trigger" "^2.0.0" - classnames "^2.3.1" - -rc-tree-select@~5.19.0: - version "5.19.0" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.19.0.tgz#1da83694ffeeeed7ba5e4bd49a1d7df48501677d" - integrity sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-select "~14.13.0" - rc-tree "~5.8.1" - rc-util "^5.16.1" - -rc-tree@~5.8.1, rc-tree@~5.8.5: - version "5.8.5" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.8.5.tgz#f714a383be27bd87366cf32f7f85b2af1fbae6b6" - integrity sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.1" - -rc-upload@~4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.5.2.tgz#ea493fbaaf57d9369ee954b20e1d8bc35c818a1a" - integrity sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA== - dependencies: - "@babel/runtime" "^7.18.3" - classnames "^2.2.5" - rc-util "^5.2.0" - -rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1, rc-util@^5.39.1: - version "5.39.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.39.1.tgz#7bca4fb55e20add0eef5c23166cd9f9e5f51a8a1" - integrity sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ== - dependencies: - "@babel/runtime" "^7.18.3" - react-is "^18.2.0" - -rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: - version "3.11.5" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.5.tgz#d4ba3bbd8e7ceae846f575a7d982d061ace1e76e" - integrity sha512-iZRW99m5jAxtwKNPLwUrPryurcnKpXBdTyhuBp6ythf7kg/otKO5cCiIvL55GQwU0QGSlouQS0tnkciRMJUwRQ== - dependencies: - "@babel/runtime" "^7.20.0" - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.36.0" - -react-csv@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-csv/-/react-csv-2.2.2.tgz#5bbf0d72a846412221a14880f294da9d6def9bfb" - integrity sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw== - -react-dom@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-dropzone@14.2.3: - version "14.2.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" - integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== - dependencies: - attr-accept "^2.2.2" - file-selector "^0.6.0" - prop-types "^15.8.1" - -react-fast-compare@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== - -react-helmet-async@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-2.0.4.tgz#50a4377778f380ed1d0136303916b38eff1bf153" - integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== - dependencies: - invariant "^2.2.4" - react-fast-compare "^3.2.2" - shallowequal "^1.1.0" - -react-highlight-words@0.20.0: - version "0.20.0" - resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.20.0.tgz#c60bfff5d14678c8f0e8fbe4bdcf083e6c70d507" - integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== - dependencies: - highlight-words-core "^1.2.0" - memoize-one "^4.0.0" - prop-types "^15.5.8" - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.0.0, react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react-router-dom@6.22.3: - version "6.22.3" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.3.tgz#9781415667fd1361a475146c5826d9f16752a691" - integrity sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw== - dependencies: - "@remix-run/router" "1.15.3" - react-router "6.22.3" - -react-router@6.22.3: - version "6.22.3" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.3.tgz#9d9142f35e08be08c736a2082db5f0c9540a885e" - integrity sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ== - dependencies: - "@remix-run/router" "1.15.3" - -react@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-web-to-node-stream@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" - integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== - dependencies: - readable-stream "^3.6.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -reflect.getprototypeof@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" - integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.1" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" - -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@0.14.1, regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== - dependencies: - call-bind "^1.0.6" - define-properties "^1.2.1" - es-errors "^1.3.0" - set-function-name "^2.0.1" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -rehackt@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.0.6.tgz#7a0a2247f2295e7548915417e44fbbf03bf004f4" - integrity sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw== - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-alpn@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@5.0.0, resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-global@1.0.0, resolve-global@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" - integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== - dependencies: - global-dirs "^0.1.1" - -resolve.exports@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.6: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.5: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -response-iterator@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" - integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== - -responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -restore-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" - integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -retry@0.13.1, retry@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" - integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - integrity sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg== - dependencies: - align-text "^0.1.1" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^0.25.8: - version "0.25.8" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.25.8.tgz#bf6ce83b87510d163446eeaa577ed6a6fc5835e0" - integrity sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA== - dependencies: - chalk "^1.1.1" - minimist "^1.2.0" - source-map-support "^0.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rw@1, rw@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== - -rxjs@^7.8.0: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sanitize-filename@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" - integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== - dependencies: - truncate-utf8-bytes "^1.0.0" - -sass-loader@^12.2.0: - version "12.6.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - -sass@^1.42.1: - version "1.75.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.75.0.tgz#91bbe87fb02dfcc34e052ddd6ab80f60d392be6c" - integrity sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -sax@>=0.6.0, sax@^1.2.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== - -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0, schema-utils@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -scroll-into-view-if-needed@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f" - integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ== - dependencies: - compute-scroll-into-view "^3.0.2" - -secure-compare@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" - integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== - dependencies: - "@types/node-forge" "^1.3.0" - node-forge "^1" - -semver-regex@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-4.0.5.tgz#fbfa36c7ba70461311f5debcb3928821eb4f9180" - integrity sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw== - -semver-truncate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-3.0.0.tgz#0e3b4825d4a4225d8ae6e7c72231182b42edba40" - integrity sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg== - dependencies: - semver "^7.3.5" - -"semver@2 || 3 || 4 || 5", semver@^5.6.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@7.6.0, semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.1, set-function-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.11: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -shelljs@0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@3.0.0, slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== - dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" - -slice-ansi@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" - integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== - dependencies: - ansi-styles "^6.2.1" - is-fullwidth-code-point "^5.0.0" - -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -socks@^2.7.1: - version "2.8.3" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" - integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== - dependencies: - ip-address "^9.0.5" - smart-buffer "^4.2.0" - -sort-keys-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" - integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== - dependencies: - sort-keys "^1.0.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== - dependencies: - is-plain-obj "^1.0.0" - -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -source-map-loader@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" - integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.3.2: - version "0.3.3" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.3.3.tgz#34900977d5ba3f07c7757ee72e73bb1a9b53754f" - integrity sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg== - dependencies: - source-map "0.1.32" - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.1.32: - version "0.1.32" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" - integrity sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ== - dependencies: - amdefine ">=0.0.4" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3, source-map@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -sparse-bitfield@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" - integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== - dependencies: - memory-pager "^1.0.2" - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" - integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.17" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" - integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -split2@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -sprintf-js@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" - integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -stream-browserify@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-http@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - -streamx@^2.15.0: - version "2.16.1" - resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.16.1.tgz#2b311bd34832f08aa6bb4d6a80297c9caef89614" - integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== - dependencies: - fast-fifo "^1.1.0" - queue-tick "^1.0.1" - optionalDependencies: - bare-events "^2.2.0" - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - -string-argv@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" - integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== - -string-convert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" - integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" - integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== - dependencies: - emoji-regex "^10.3.0" - get-east-asian-width "^1.0.0" - strip-ansi "^7.1.0" - -string.prototype.matchall@^4.0.10: - version "4.0.11" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" - integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - regexp.prototype.flags "^1.5.2" - set-function-name "^2.0.2" - side-channel "^1.0.6" - -string.prototype.trim@^1.2.9, string.prototype.trim@~1.2.8: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.0" - es-object-atoms "^1.0.0" - -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-outer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-2.0.0.tgz#c45c724ed9b1ff6be5f660503791404f4714084b" - integrity sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg== - -strnum@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" - integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== - -strong-log-transformer@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" - integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== - dependencies: - duplexer "^0.1.1" - minimist "^1.2.0" - through "^2.3.4" - -strtok3@^7.0.0-alpha.9: - version "7.0.0" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.0.0.tgz#868c428b4ade64a8fd8fee7364256001c1a4cbe5" - integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== - dependencies: - "@tokenizer/token" "^0.3.0" - peek-readable "^5.0.0" - -style-loader@^3.3.0: - version "3.3.4" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" - integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== - -stylehacks@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6" - integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== - dependencies: - browserslist "^4.23.0" - postcss-selector-parser "^6.0.16" - -stylis@^4.0.13: - version "4.3.1" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" - integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== - -stylus-loader@^7.1.0: - version "7.1.3" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.1.3.tgz#1fdfa0d34e8c05a569bc0902e1ecdb857d764964" - integrity sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw== - dependencies: - fast-glob "^3.2.12" - normalize-path "^3.0.0" - -stylus@^0.59.0: - version "0.59.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.59.0.tgz#a344d5932787142a141946536d6e24e6a6be7aa6" - integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== - dependencies: - "@adobe/css-tools" "^4.0.1" - debug "^4.3.2" - glob "^7.1.6" - sax "~1.2.4" - source-map "^0.7.3" - -superagent@^8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b" - integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== - dependencies: - component-emitter "^1.3.0" - cookiejar "^2.1.4" - debug "^4.3.4" - fast-safe-stringify "^2.1.1" - form-data "^4.0.0" - formidable "^2.1.2" - methods "^1.1.2" - mime "2.6.0" - qs "^6.11.0" - semver "^7.3.8" - -supertest@6.3.4: - version "6.3.4" - resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.4.tgz#2145c250570c2ea5d337db3552dbfb78a2286218" - integrity sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw== - dependencies: - methods "^1.1.2" - superagent "^8.1.2" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svg-path-parser@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/svg-path-parser/-/svg-path-parser-1.1.0.tgz#e16b4b39df0d2b0d39e8347db79fdda1453a6046" - integrity sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A== - -svgo@^3.0.2, svgo@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.2.0.tgz#7a5dff2938d8c6096e00295c2390e8e652fa805d" - integrity sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^5.1.0" - css-tree "^2.3.1" - css-what "^6.1.0" - csso "^5.0.5" - picocolors "^1.0.0" - -swc-loader@0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.6.tgz#bf0cba8eeff34bb19620ead81d1277fefaec6bc8" - integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg== - dependencies: - "@swc/counter" "^0.1.3" - -symbol-observable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -synckit@^0.6.0: - version "0.6.2" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.6.2.tgz#e1540b97825f2855f7170b98276e8463167f33eb" - integrity sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA== - dependencies: - tslib "^2.3.1" - -tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tape@^4.5.1: - version "4.17.0" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.17.0.tgz#de89f3671ddc5dad178d04c28dc6b0183f42268e" - integrity sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw== - dependencies: - "@ljharb/resumer" "~0.0.1" - "@ljharb/through" "~2.3.9" - call-bind "~1.0.2" - deep-equal "~1.1.1" - defined "~1.0.1" - dotignore "~0.1.2" - for-each "~0.3.3" - glob "~7.2.3" - has "~1.0.3" - inherits "~2.0.4" - is-regex "~1.1.4" - minimist "~1.2.8" - mock-property "~1.0.0" - object-inspect "~1.12.3" - resolve "~1.22.6" - string.prototype.trim "~1.2.8" - -tar-stream@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b" - integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== - dependencies: - b4a "^1.6.4" - fast-fifo "^1.2.0" - streamx "^2.15.0" - -tar-stream@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar@^6.1.11: - version "6.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" - integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.3: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.26.0: - version "5.30.4" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.4.tgz#62b4d16a819424e6317fd5ceffb4ee8dc769803a" - integrity sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-extensions@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-2.4.0.tgz#a1cfcc50cf34da41bfd047cc744f804d1680ea34" - integrity sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throttle-debounce@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933" - integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg== - -through2@^4.0.0, through2@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -"through@>=2.2.7 <3", through@^2.3.4: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tmp@0.2.3, tmp@~0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" - integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -token-types@^5.0.0-alpha.2: - version "5.0.1" - resolved "https://registry.yarnpkg.com/token-types/-/token-types-5.0.1.tgz#aa9d9e6b23c420a675e55413b180635b86a093b4" - integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== - dependencies: - "@tokenizer/token" "^0.3.0" - ieee754 "^1.2.1" - -tough-cookie@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - -tr46@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" - integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== - dependencies: - punycode "^2.3.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -trim-repeated@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-2.0.0.tgz#5d60556d6d40d9461b7c7e06c3ac20b6b1d50090" - integrity sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg== - dependencies: - escape-string-regexp "^5.0.0" - -truncate-utf8-bytes@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" - integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== - dependencies: - utf8-byte-length "^1.0.1" - -ts-api-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== - -ts-essentials@9.4.2: - version "9.4.2" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-9.4.2.tgz#6d4bd23b46b61bf3e031816cc887e839eb62c33c" - integrity sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ== - -ts-invariant@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" - integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== - dependencies: - tslib "^2.1.0" - -ts-jest@29.1.2: - version "29.1.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" - integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" - -ts-loader@^9.3.1: - version "9.5.1" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" - integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - source-map "^0.7.4" - -ts-node@10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -ts-node@10.9.2: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths-webpack-plugin@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz#84008fc3e3e0658fdb0262758b07b4da6265ff1a" - integrity sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.7.0" - tsconfig-paths "^4.0.0" - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.3, tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-typed-array "^1.1.13" - -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - -typed-assert@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.9.tgz#8af9d4f93432c4970ec717e3006f33f135b06213" - integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== - -typescript@5.4.5, typescript@~5.4.2: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== - -uglify-js@^2.6.2: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - integrity sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w== - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - integrity sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q== - -uid-safe@~2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" - integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== - dependencies: - random-bytes "~1.0.0" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -union@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" - integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== - dependencies: - qs "^6.4.0" - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-join@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" - integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== - -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" - integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== - dependencies: - punycode "^1.4.1" - qs "^6.11.2" - -utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.3: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utils-merge@1.0.1, utils-merge@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@9.0.1, uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" - integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== - dependencies: - builtins "^5.0.0" - -value-or-promise@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" - integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -w3c-xmlserializer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" - integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== - dependencies: - xml-name-validator "^4.0.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" - integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -wcwidth@^1.0.0, wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -web-encoding@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" - integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== - dependencies: - util "^0.12.3" - optionalDependencies: - "@zxing/text-encoding" "0.9.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-dev-middleware@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" - integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.9.3: - version "4.15.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" - integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.4" - ws "^8.13.0" - -webpack-merge@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" - integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== - dependencies: - clone-deep "^4.0.1" - flat "^5.0.2" - wildcard "^2.0.0" - -webpack-node-externals@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" - integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== - -webpack-sources@^3.0.0, webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack-subresource-integrity@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz#8b7606b033c6ccac14e684267cb7fb1f5c2a132a" - integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== - dependencies: - typed-assert "^1.0.8" - -webpack@^5.80.0, webpack@^5.91.0: - version "5.91.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" - integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.16.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.1" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -whatwg-url@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-13.0.0.tgz#b7b536aca48306394a34e44bda8e99f332410f8f" - integrity sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig== - dependencies: - tr46 "^4.1.1" - webidl-conversions "^7.0.0" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== - dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" - is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" - is-generator-function "^1.0.10" - is-regex "^1.1.4" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" - -which-collection@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" - integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== - dependencies: - is-map "^2.0.3" - is-set "^2.0.3" - is-weakmap "^2.0.2" - is-weakset "^2.0.3" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - integrity sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg== - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - integrity sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" - integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== - dependencies: - ansi-styles "^6.2.1" - string-width "^7.0.0" - strip-ansi "^7.1.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^8.11.0, ws@^8.13.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xml2js@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" - integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xml@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" - integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" - integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== - -yaml@^1.10.0, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.0.0, yargs@^17.3.1, yargs@^17.6.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - integrity sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A== - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yauzl@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-3.1.3.tgz#f61c17ad1a09403bc7adb01dfb302a9e74bf4a50" - integrity sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw== - dependencies: - buffer-crc32 "~0.2.3" - pend "~1.2.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -zen-observable-ts@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" - integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== - dependencies: - zen-observable "0.8.15" - -zen-observable@0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adobe/css-tools@^4.0.1": + version "4.3.3" + resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz" + integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@ant-design/charts-util@0.0.1-alpha.5": + version "0.0.1-alpha.5" + resolved "https://registry.npmjs.org/@ant-design/charts-util/-/charts-util-0.0.1-alpha.5.tgz" + integrity sha512-EwTUjRPhU2CUyI2e11pAi9aOQg9oEWdFEWxv1f4j+Ta4doYXd1yTl94Zy9JvigiEj4qv8dPGl0PUd3r+qMVrAg== + +"@ant-design/colors@^7.0.0", "@ant-design/colors@^7.0.2": + version "7.0.2" + resolved "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.2.tgz" + integrity sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg== + dependencies: + "@ctrl/tinycolor" "^3.6.1" + +"@ant-design/cssinjs@^1.18.5": + version "1.20.0" + resolved "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.20.0.tgz" + integrity sha512-uG3iWzJxgNkADdZmc6W0Ci3iQAUOvLMcM8SnnmWq3r6JeocACft4ChnY/YWvI2Y+rG/68QBla/O+udke1yH3vg== + dependencies: + "@babel/runtime" "^7.11.1" + "@emotion/hash" "^0.8.0" + "@emotion/unitless" "^0.7.5" + classnames "^2.3.1" + csstype "^3.1.3" + rc-util "^5.35.0" + stylis "^4.0.13" + +"@ant-design/icons-svg@^4.4.0": + version "4.4.2" + resolved "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz" + integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== + +"@ant-design/icons@5.3.6", "@ant-design/icons@^5.3.6": + version "5.3.6" + resolved "https://registry.npmjs.org/@ant-design/icons/-/icons-5.3.6.tgz" + integrity sha512-JeWsgNjvkTTC73YDPgWOgdScRku/iHN9JU0qk39OSEmJSCiRghQMLlxGTCY5ovbRRoXjxHXnUKgQEgBDnQfKmA== + dependencies: + "@ant-design/colors" "^7.0.0" + "@ant-design/icons-svg" "^4.4.0" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-util "^5.31.1" + +"@ant-design/plots@2.2.0": + version "2.2.0" + resolved "https://registry.npmjs.org/@ant-design/plots/-/plots-2.2.0.tgz" + integrity sha512-tCsOyPwxQ8xr5wMOWrFO3CEgdboXxMzMPrydZ7szXULi8LzztO9HHrg5WClwjAr9Zgfit0fHjmPd1FkIBP4k7A== + dependencies: + "@ant-design/charts-util" "0.0.1-alpha.5" + "@antv/event-emitter" "^0.1.3" + "@antv/g" "^6.0.0" + "@antv/g2" "^5.1.18" + "@antv/g2-extension-plot" "^0.2.0" + +"@ant-design/react-slick@~1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz" + integrity sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA== + dependencies: + "@babel/runtime" "^7.10.4" + classnames "^2.2.5" + json2mq "^0.2.0" + resize-observer-polyfill "^1.5.1" + throttle-debounce "^5.0.0" + +"@antv/component@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@antv/component/-/component-2.0.0.tgz" + integrity sha512-wl1pmqLIW/Zt9p7twMcAlvowHU81iV4bb5XWS38DL7gimSONHRh5C/uYKCXKB1KtHAH5d25YHESoGMBc0L3r+w== + dependencies: + "@antv/g" "^6.0.0" + "@antv/scale" "^0.4.3" + "@antv/util" "^3.3.5" + svg-path-parser "^1.1.0" + +"@antv/coord@^0.4.6": + version "0.4.7" + resolved "https://registry.npmjs.org/@antv/coord/-/coord-0.4.7.tgz" + integrity sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA== + dependencies: + "@antv/scale" "^0.4.12" + "@antv/util" "^2.0.13" + gl-matrix "^3.4.3" + +"@antv/event-emitter@^0.1.3": + version "0.1.3" + resolved "https://registry.npmjs.org/@antv/event-emitter/-/event-emitter-0.1.3.tgz" + integrity sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg== + +"@antv/g-camera-api@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-camera-api/-/g-camera-api-2.0.1.tgz" + integrity sha512-TQuX7heO9Dk1bxBvk2Byk42QlHFimpPbI8LdrKQ25RrwTca7+94lZEbWXaN7J58yi4FQQDBiWZsNkbFK5wP37g== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-canvas@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-canvas/-/g-canvas-2.0.1.tgz" + integrity sha512-I9Tc8csfvQ84tq14PbqzxuxybWoxK79m27eyOZIZH6k5QQucMyl7rk8ctjh2+YF/QYrXJeL2OMzKgkbECFxwnA== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/g-plugin-canvas-path-generator" "2.0.1" + "@antv/g-plugin-canvas-picker" "2.0.1" + "@antv/g-plugin-canvas-renderer" "2.0.1" + "@antv/g-plugin-dom-interaction" "2.0.1" + "@antv/g-plugin-html-renderer" "2.0.1" + "@antv/g-plugin-image-loader" "2.0.1" + "@antv/util" "^3.3.5" + tslib "^2.5.3" + +"@antv/g-dom-mutation-observer-api@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-2.0.1.tgz" + integrity sha512-Jg/nc6klNpjTfvCb1tv1a5ICJRtRRGbXb+vNA37UJvttae/p2hLPOKYbLBcuNs4mQf+AOxY2TZ/3Z3onxjM6Aw== + dependencies: + "@antv/g-lite" "2.0.1" + +"@antv/g-lite@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-lite/-/g-lite-2.0.1.tgz" + integrity sha512-buCkPKLWwErCySgwZVvLJow2bw9oK3Xk5VXzzOiuIqn5RAjEIyn0zSmMV6+KFiLteG9weIc/trb75rT2yVXUHw== + dependencies: + "@antv/g-math" "3.0.0" + "@antv/util" "^3.3.5" + d3-color "^1.4.0" + eventemitter3 "^5.0.1" + gl-matrix "^3.4.3" + rbush "^3.0.1" + tslib "^2.5.3" + +"@antv/g-math@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@antv/g-math/-/g-math-3.0.0.tgz" + integrity sha512-AkmiNIEL1vgqTPeGY2wtsMdBBqKFwF7SKSgs+D1iOS/rqYMsXdhp/HvtuQ5tx/HdawE/ZzTiicIYopc520ADZw== + dependencies: + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-plugin-canvas-path-generator@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-2.0.1.tgz" + integrity sha512-AEWkYW3j2q0dhZpY4w1zOTpl/qkkpQbGsT3XdSLXjQokx+ot4l7X3F+QYGobPoUkJbQxtiU1uiAhUAsIKLVjuQ== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/g-math" "3.0.0" + "@antv/util" "^3.3.5" + tslib "^2.5.3" + +"@antv/g-plugin-canvas-picker@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-2.0.1.tgz" + integrity sha512-0GN3Lhq3TtKY0EBk0//pQK1sBOFLd/W7ofNK4HorpP9GZyRugBHz1v8MEPrN7pCRE9jVLnLFGscLCtIuX2KEnA== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/g-math" "3.0.0" + "@antv/g-plugin-canvas-path-generator" "2.0.1" + "@antv/g-plugin-canvas-renderer" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-plugin-canvas-renderer@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-2.0.1.tgz" + integrity sha512-WcxuqAGsI25yXspLJRc6uZtstWvwDGzFFVZ2FuJLYOFFI8C6v/BJ6Ptzq81e8ocVpy8mNuEUlxzh/V4IOYeg0g== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/g-math" "3.0.0" + "@antv/g-plugin-canvas-path-generator" "2.0.1" + "@antv/g-plugin-image-loader" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-plugin-dom-interaction@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-2.0.1.tgz" + integrity sha512-r6LByuKIReLQs4oU5duDBS+mhnMG8uMX/4jbGpFdf5NoFSCldcRgUiYW7m3RrPBOCSRcDsbXkKUqGAgKf67gnQ== + dependencies: + "@antv/g-lite" "2.0.1" + tslib "^2.5.3" + +"@antv/g-plugin-dragndrop@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-2.0.1.tgz" + integrity sha512-ylw0G5SLUtjdYaWmDAZw1FrkK7ECxH1tQAtt8h3x9yQSeFSN3b0Kg559cyeJwf9FpMwCyMUpRjFULdb6zGDvrg== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + tslib "^2.5.3" + +"@antv/g-plugin-html-renderer@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-2.0.1.tgz" + integrity sha512-+UlRf+0aelxdr3cI5qVdsg3iTZkXR+CpEQHnMzx8Z4Uyf/67qNOJp5JFFVLXAvVqSkH/v8mWRmEcP3fEc9U6Dg== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-plugin-image-loader@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@antv/g-plugin-image-loader/-/g-plugin-image-loader-2.0.1.tgz" + integrity sha512-5FJI7mmoPHlMGhBLJhLXGMZh1//xPvnu6CDZTp0adNRTJiMWVf/QlZSjBTrxlPLk60nmdSPS780K1mBf69fo8w== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + gl-matrix "^3.4.3" + tslib "^2.5.3" + +"@antv/g-web-animations-api@2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/@antv/g-web-animations-api/-/g-web-animations-api-2.0.2.tgz" + integrity sha512-7zkbboSkSEGuUlpyD955KPriozbZ7dYSTPyUgkRdtmmeUrs+38wAfU1N0ZaQHT4rsTXupbsCxnXRfq03q/bEkA== + dependencies: + "@antv/g-lite" "2.0.1" + "@antv/util" "^3.3.5" + tslib "^2.5.3" + +"@antv/g2-extension-plot@^0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@antv/g2-extension-plot/-/g2-extension-plot-0.2.0.tgz" + integrity sha512-XeJquOmZw3dHTj2qRNZJZlkX5qDrGJDMhuknHHMgGsj1PoPc8sOWzACesWVHB9tmHJqwheySWmwf4KLxtUBZ9w== + dependencies: + "@antv/g2" "^5.1.8" + "@antv/util" "^3.3.5" + d3-array "^3.2.4" + d3-hierarchy "^3.1.2" + +"@antv/g2@^5.1.18", "@antv/g2@^5.1.8": + version "5.1.19" + resolved "https://registry.npmjs.org/@antv/g2/-/g2-5.1.19.tgz" + integrity sha512-sVzxgAm6DE65wRQpZ3O+OaRlCjESC12oT2Rle6Cifb80dC6LDjZ4aBT9O90QCYibCJj6WCTrDQSasi+7ALo7MA== + dependencies: + "@antv/component" "^2.0.0" + "@antv/coord" "^0.4.6" + "@antv/event-emitter" "^0.1.3" + "@antv/g" "^6.0.0" + "@antv/g-canvas" "^2.0.0" + "@antv/g-plugin-dragndrop" "^2.0.0" + "@antv/path-util" "^3.0.1" + "@antv/scale" "^0.4.12" + "@antv/util" "^3.3.5" + d3-array "^3.2.4" + d3-dsv "^3.0.1" + d3-force "^3.0.0" + d3-format "^3.1.0" + d3-geo "^3.1.0" + d3-hierarchy "^3.1.2" + d3-path "^3.1.0" + d3-scale-chromatic "^3.0.0" + d3-shape "^3.2.0" + d3-voronoi "^1.1.4" + flru "^1.0.2" + fmin "^0.0.2" + pdfast "^0.2.0" + +"@antv/g@^6.0.0": + version "6.0.2" + resolved "https://registry.npmjs.org/@antv/g/-/g-6.0.2.tgz" + integrity sha512-ZCpxUtU4JU1PIh2bDUlcnqLd8zJ2bOdx4EHYYTgUfMwu/hL2p/OYzg26A2qj91FL00JuZNEXVZdKAy5tm8jzmw== + dependencies: + "@antv/g-camera-api" "2.0.1" + "@antv/g-dom-mutation-observer-api" "2.0.1" + "@antv/g-lite" "2.0.1" + "@antv/g-web-animations-api" "2.0.2" + +"@antv/path-util@^3.0.1": + version "3.0.1" + resolved "https://registry.npmjs.org/@antv/path-util/-/path-util-3.0.1.tgz" + integrity sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q== + dependencies: + gl-matrix "^3.1.0" + lodash-es "^4.17.21" + tslib "^2.0.3" + +"@antv/scale@^0.4.12", "@antv/scale@^0.4.3": + version "0.4.15" + resolved "https://registry.npmjs.org/@antv/scale/-/scale-0.4.15.tgz" + integrity sha512-b3b2U1L55fcJg0fB/BloVvcngPo/QxhosWgjn6JmYLVLezxDYMO+zdQou8hxpsLMUVhH15NqRDcM/1n4U6G04g== + dependencies: + "@antv/util" "^2.0.13" + color-string "^1.5.5" + fecha "^4.2.1" + +"@antv/util@^2.0.13": + version "2.0.17" + resolved "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz" + integrity sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q== + dependencies: + csstype "^3.0.8" + tslib "^2.0.3" + +"@antv/util@^3.3.5": + version "3.3.7" + resolved "https://registry.npmjs.org/@antv/util/-/util-3.3.7.tgz" + integrity sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg== + dependencies: + fast-deep-equal "^3.1.3" + gl-matrix "^3.3.0" + tslib "^2.3.1" + +"@apollo/cache-control-types@^1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz" + integrity sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g== + +"@apollo/client@3.9.11": + version "3.9.11" + resolved "https://registry.npmjs.org/@apollo/client/-/client-3.9.11.tgz" + integrity sha512-H7e9m7cRcFO93tokwzqrsbnfKorkpV24xU30hFH5u2g6B+c1DMo/ouyF/YrBPdrTzqxQCjTUmds/FLmJ7626GA== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + "@wry/caches" "^1.0.0" + "@wry/equality" "^0.5.6" + "@wry/trie" "^0.5.0" + graphql-tag "^2.12.6" + hoist-non-react-statics "^3.3.2" + optimism "^0.18.0" + prop-types "^15.7.2" + rehackt "0.0.6" + response-iterator "^0.2.6" + symbol-observable "^4.0.0" + ts-invariant "^0.10.3" + tslib "^2.3.0" + zen-observable-ts "^1.2.5" + +"@apollo/protobufjs@1.2.7": + version "1.2.7" + resolved "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz" + integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + long "^4.0.0" + +"@apollo/server-gateway-interface@^1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz" + integrity sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ== + dependencies: + "@apollo/usage-reporting-protobuf" "^4.1.1" + "@apollo/utils.fetcher" "^2.0.0" + "@apollo/utils.keyvaluecache" "^2.1.0" + "@apollo/utils.logger" "^2.0.0" + +"@apollo/server@4.10.4": + version "4.10.4" + resolved "https://registry.npmjs.org/@apollo/server/-/server-4.10.4.tgz" + integrity sha512-HS12CUa1wq8f5zKXOKJRwRdESFp4por9AINecpcsEUV9jsCP/NqPILgx0hCOOFJuKxmnaL7070xO6l5xmOq4Fw== + dependencies: + "@apollo/cache-control-types" "^1.0.3" + "@apollo/server-gateway-interface" "^1.1.1" + "@apollo/usage-reporting-protobuf" "^4.1.1" + "@apollo/utils.createhash" "^2.0.0" + "@apollo/utils.fetcher" "^2.0.0" + "@apollo/utils.isnodelike" "^2.0.0" + "@apollo/utils.keyvaluecache" "^2.1.0" + "@apollo/utils.logger" "^2.0.0" + "@apollo/utils.usagereporting" "^2.1.0" + "@apollo/utils.withrequired" "^2.0.0" + "@graphql-tools/schema" "^9.0.0" + "@josephg/resolvable" "^1.0.0" + "@types/express" "^4.17.13" + "@types/express-serve-static-core" "^4.17.30" + "@types/node-fetch" "^2.6.1" + async-retry "^1.2.1" + cors "^2.8.5" + express "^4.17.1" + loglevel "^1.6.8" + lru-cache "^7.10.1" + negotiator "^0.6.3" + node-abort-controller "^3.1.1" + node-fetch "^2.6.7" + uuid "^9.0.0" + whatwg-mimetype "^3.0.0" + +"@apollo/usage-reporting-protobuf@^4.1.0", "@apollo/usage-reporting-protobuf@^4.1.1": + version "4.1.1" + resolved "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz" + integrity sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA== + dependencies: + "@apollo/protobufjs" "1.2.7" + +"@apollo/utils.createhash@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz" + integrity sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg== + dependencies: + "@apollo/utils.isnodelike" "^2.0.1" + sha.js "^2.4.11" + +"@apollo/utils.dropunuseddefinitions@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz" + integrity sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA== + +"@apollo/utils.fetcher@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz" + integrity sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A== + +"@apollo/utils.isnodelike@^2.0.0", "@apollo/utils.isnodelike@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz" + integrity sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q== + +"@apollo/utils.keyvaluecache@^2.1.0": + version "2.1.1" + resolved "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz" + integrity sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw== + dependencies: + "@apollo/utils.logger" "^2.0.1" + lru-cache "^7.14.1" + +"@apollo/utils.logger@^2.0.0", "@apollo/utils.logger@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-2.0.1.tgz" + integrity sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg== + +"@apollo/utils.printwithreducedwhitespace@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz" + integrity sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg== + +"@apollo/utils.removealiases@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz" + integrity sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA== + +"@apollo/utils.sortast@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz" + integrity sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw== + dependencies: + lodash.sortby "^4.7.0" + +"@apollo/utils.stripsensitiveliterals@^2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz" + integrity sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA== + +"@apollo/utils.usagereporting@^2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz" + integrity sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ== + dependencies: + "@apollo/usage-reporting-protobuf" "^4.1.0" + "@apollo/utils.dropunuseddefinitions" "^2.0.1" + "@apollo/utils.printwithreducedwhitespace" "^2.0.1" + "@apollo/utils.removealiases" "2.0.1" + "@apollo/utils.sortast" "^2.0.1" + "@apollo/utils.stripsensitiveliterals" "^2.0.1" + +"@apollo/utils.withrequired@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz" + integrity sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA== + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": + version "7.24.2" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + dependencies: + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" + integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.23.2", "@babel/core@^7.23.9", "@babel/core@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz" + integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.4" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.24.4" + "@babel/parser" "^7.24.4" + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.1" + "@babel/types" "^7.24.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.24.1", "@babel/generator@^7.24.4", "@babel/generator@^7.7.2": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz" + integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== + dependencies: + "@babel/types" "^7.24.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz" + integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": + version "7.24.3" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz" + integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== + dependencies: + "@babel/types" "^7.24.0" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz" + integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz" + integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz" + integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw== + dependencies: + "@babel/template" "^7.24.0" + "@babel/traverse" "^7.24.1" + "@babel/types" "^7.24.0" + +"@babel/highlight@^7.24.2": + version "7.24.2" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz" + integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz" + integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz" + integrity sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz" + integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz" + integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz" + integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-proposal-decorators@^7.22.7": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz" + integrity sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-decorators" "^7.24.1" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz" + integrity sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz" + integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-attributes@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz" + integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.24.1", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz" + integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.24.1", "@babel/plugin-syntax-typescript@^7.3.3", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz" + integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz" + integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-async-generator-functions@^7.24.3": + version "7.24.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz" + integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz" + integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== + dependencies: + "@babel/helper-module-imports" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz" + integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-block-scoping@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz" + integrity sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz" + integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-class-static-block@^7.24.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz" + integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz" + integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz" + integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/template" "^7.24.0" + +"@babel/plugin-transform-destructuring@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz" + integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-dotall-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz" + integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-duplicate-keys@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz" + integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-dynamic-import@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz" + integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz" + integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-export-namespace-from@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz" + integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz" + integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz" + integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-json-strings@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz" + integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz" + integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-logical-assignment-operators@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz" + integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz" + integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-amd@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz" + integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-modules-commonjs@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz" + integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz" + integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz" + integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz" + integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz" + integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz" + integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz" + integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA== + dependencies: + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.24.1" + +"@babel/plugin-transform-object-super@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz" + integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-replace-supers" "^7.24.1" + +"@babel/plugin-transform-optional-catch-binding@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz" + integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz" + integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz" + integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-private-methods@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz" + integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-private-property-in-object@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz" + integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.1" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz" + integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-constant-elements@^7.21.3": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz" + integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-display-name@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz" + integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.22.5", "@babel/plugin-transform-react-jsx@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" + +"@babel/plugin-transform-react-pure-annotations@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz" + integrity sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-regenerator@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz" + integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz" + integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-runtime@^7.23.2": + version "7.24.3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz" + integrity sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ== + dependencies: + "@babel/helper-module-imports" "^7.24.3" + "@babel/helper-plugin-utils" "^7.24.0" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.1" + babel-plugin-polyfill-regenerator "^0.6.1" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz" + integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-spread@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz" + integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz" + integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-template-literals@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz" + integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-typeof-symbol@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz" + integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-typescript@^7.24.1": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz" + integrity sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.24.4" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/plugin-syntax-typescript" "^7.24.1" + +"@babel/plugin-transform-unicode-escapes@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz" + integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-property-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz" + integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz" + integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/plugin-transform-unicode-sets-regex@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz" + integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.24.0" + +"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.23.2": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz" + integrity sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== + dependencies: + "@babel/compat-data" "^7.24.4" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.4" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.24.1" + "@babel/plugin-syntax-import-attributes" "^7.24.1" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.24.1" + "@babel/plugin-transform-async-generator-functions" "^7.24.3" + "@babel/plugin-transform-async-to-generator" "^7.24.1" + "@babel/plugin-transform-block-scoped-functions" "^7.24.1" + "@babel/plugin-transform-block-scoping" "^7.24.4" + "@babel/plugin-transform-class-properties" "^7.24.1" + "@babel/plugin-transform-class-static-block" "^7.24.4" + "@babel/plugin-transform-classes" "^7.24.1" + "@babel/plugin-transform-computed-properties" "^7.24.1" + "@babel/plugin-transform-destructuring" "^7.24.1" + "@babel/plugin-transform-dotall-regex" "^7.24.1" + "@babel/plugin-transform-duplicate-keys" "^7.24.1" + "@babel/plugin-transform-dynamic-import" "^7.24.1" + "@babel/plugin-transform-exponentiation-operator" "^7.24.1" + "@babel/plugin-transform-export-namespace-from" "^7.24.1" + "@babel/plugin-transform-for-of" "^7.24.1" + "@babel/plugin-transform-function-name" "^7.24.1" + "@babel/plugin-transform-json-strings" "^7.24.1" + "@babel/plugin-transform-literals" "^7.24.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" + "@babel/plugin-transform-member-expression-literals" "^7.24.1" + "@babel/plugin-transform-modules-amd" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-modules-systemjs" "^7.24.1" + "@babel/plugin-transform-modules-umd" "^7.24.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.24.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" + "@babel/plugin-transform-numeric-separator" "^7.24.1" + "@babel/plugin-transform-object-rest-spread" "^7.24.1" + "@babel/plugin-transform-object-super" "^7.24.1" + "@babel/plugin-transform-optional-catch-binding" "^7.24.1" + "@babel/plugin-transform-optional-chaining" "^7.24.1" + "@babel/plugin-transform-parameters" "^7.24.1" + "@babel/plugin-transform-private-methods" "^7.24.1" + "@babel/plugin-transform-private-property-in-object" "^7.24.1" + "@babel/plugin-transform-property-literals" "^7.24.1" + "@babel/plugin-transform-regenerator" "^7.24.1" + "@babel/plugin-transform-reserved-words" "^7.24.1" + "@babel/plugin-transform-shorthand-properties" "^7.24.1" + "@babel/plugin-transform-spread" "^7.24.1" + "@babel/plugin-transform-sticky-regex" "^7.24.1" + "@babel/plugin-transform-template-literals" "^7.24.1" + "@babel/plugin-transform-typeof-symbol" "^7.24.1" + "@babel/plugin-transform-unicode-escapes" "^7.24.1" + "@babel/plugin-transform-unicode-property-regex" "^7.24.1" + "@babel/plugin-transform-unicode-regex" "^7.24.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz" + integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-transform-react-display-name" "^7.24.1" + "@babel/plugin-transform-react-jsx" "^7.23.4" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.24.1" + +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.22.5": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz" + integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-syntax-jsx" "^7.24.1" + "@babel/plugin-transform-modules-commonjs" "^7.24.1" + "@babel/plugin-transform-typescript" "^7.24.1" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.6", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.4", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": + version "7.24.4" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz" + integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz" + integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + +"@babel/traverse@^7.16.0", "@babel/traverse@^7.24.1": + version "7.24.1" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz" + integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== + dependencies: + "@babel/code-frame" "^7.24.1" + "@babel/generator" "^7.24.1" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.1" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz" + integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@commitlint/cli@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/cli/-/cli-18.6.1.tgz" + integrity sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw== + dependencies: + "@commitlint/format" "^18.6.1" + "@commitlint/lint" "^18.6.1" + "@commitlint/load" "^18.6.1" + "@commitlint/read" "^18.6.1" + "@commitlint/types" "^18.6.1" + execa "^5.0.0" + lodash.isfunction "^3.0.9" + resolve-from "5.0.0" + resolve-global "1.0.0" + yargs "^17.0.0" + +"@commitlint/config-conventional@^18.6.2": + version "18.6.3" + resolved "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.6.3.tgz" + integrity sha512-8ZrRHqF6je+TRaFoJVwszwnOXb/VeYrPmTwPhf0WxpzpGTcYy1p0SPyZ2eRn/sRi/obnWAcobtDAq6+gJQQNhQ== + dependencies: + "@commitlint/types" "^18.6.1" + conventional-changelog-conventionalcommits "^7.0.2" + +"@commitlint/config-nx-scopes@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/config-nx-scopes/-/config-nx-scopes-18.6.1.tgz" + integrity sha512-bNO1ts4k0P0QvigO4mibUbif9E4IYbtVA35Bdq2d6tFekJJs5BPaSQs8w+A0HWJfHIHAbrMhgupMDMyKDIEMyw== + +"@commitlint/config-validator@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.6.1.tgz" + integrity sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw== + dependencies: + "@commitlint/types" "^18.6.1" + ajv "^8.11.0" + +"@commitlint/ensure@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.6.1.tgz" + integrity sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ== + dependencies: + "@commitlint/types" "^18.6.1" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" + +"@commitlint/execute-rule@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.6.1.tgz" + integrity sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg== + +"@commitlint/format@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/format/-/format-18.6.1.tgz" + integrity sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg== + dependencies: + "@commitlint/types" "^18.6.1" + chalk "^4.1.0" + +"@commitlint/is-ignored@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.6.1.tgz" + integrity sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA== + dependencies: + "@commitlint/types" "^18.6.1" + semver "7.6.0" + +"@commitlint/lint@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/lint/-/lint-18.6.1.tgz" + integrity sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ== + dependencies: + "@commitlint/is-ignored" "^18.6.1" + "@commitlint/parse" "^18.6.1" + "@commitlint/rules" "^18.6.1" + "@commitlint/types" "^18.6.1" + +"@commitlint/load@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/load/-/load-18.6.1.tgz" + integrity sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA== + dependencies: + "@commitlint/config-validator" "^18.6.1" + "@commitlint/execute-rule" "^18.6.1" + "@commitlint/resolve-extends" "^18.6.1" + "@commitlint/types" "^18.6.1" + chalk "^4.1.0" + cosmiconfig "^8.3.6" + cosmiconfig-typescript-loader "^5.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" + resolve-from "^5.0.0" + +"@commitlint/message@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/message/-/message-18.6.1.tgz" + integrity sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw== + +"@commitlint/parse@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/parse/-/parse-18.6.1.tgz" + integrity sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ== + dependencies: + "@commitlint/types" "^18.6.1" + conventional-changelog-angular "^7.0.0" + conventional-commits-parser "^5.0.0" + +"@commitlint/read@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/read/-/read-18.6.1.tgz" + integrity sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w== + dependencies: + "@commitlint/top-level" "^18.6.1" + "@commitlint/types" "^18.6.1" + git-raw-commits "^2.0.11" + minimist "^1.2.6" + +"@commitlint/resolve-extends@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.6.1.tgz" + integrity sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ== + dependencies: + "@commitlint/config-validator" "^18.6.1" + "@commitlint/types" "^18.6.1" + import-fresh "^3.0.0" + lodash.mergewith "^4.6.2" + resolve-from "^5.0.0" + resolve-global "^1.0.0" + +"@commitlint/rules@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/rules/-/rules-18.6.1.tgz" + integrity sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew== + dependencies: + "@commitlint/ensure" "^18.6.1" + "@commitlint/message" "^18.6.1" + "@commitlint/to-lines" "^18.6.1" + "@commitlint/types" "^18.6.1" + execa "^5.0.0" + +"@commitlint/to-lines@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.6.1.tgz" + integrity sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q== + +"@commitlint/top-level@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.6.1.tgz" + integrity sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw== + dependencies: + find-up "^5.0.0" + +"@commitlint/types@^18.6.1": + version "18.6.1" + resolved "https://registry.npmjs.org/@commitlint/types/-/types-18.6.1.tgz" + integrity sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg== + dependencies: + chalk "^4.1.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@ctrl/tinycolor@^3.6.1": + version "3.6.1" + resolved "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz" + integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz" + integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== + +"@emotion/unitless@^0.7.5": + version "0.7.5" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz" + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== + +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== + +"@graphql-tools/merge@^8.4.1": + version "8.4.2" + resolved "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz" + integrity sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw== + dependencies: + "@graphql-tools/utils" "^9.2.1" + tslib "^2.4.0" + +"@graphql-tools/schema@^9.0.0": + version "9.0.19" + resolved "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz" + integrity sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w== + dependencies: + "@graphql-tools/merge" "^8.4.1" + "@graphql-tools/utils" "^9.2.1" + tslib "^2.4.0" + value-or-promise "^1.0.12" + +"@graphql-tools/utils@^9.2.1": + version "9.2.1" + resolved "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz" + integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + tslib "^2.4.0" + +"@graphql-typed-document-node/core@^3.1.1": + version "3.2.0" + resolved "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== + +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + +"@ideafast/idgen@0.1.1": + version "0.1.1" + resolved "https://registry.npmjs.org/@ideafast/idgen/-/idgen-0.1.1.tgz" + integrity sha512-1kaaUD9LXRYnUqK2yJnwMXon2F3vqKzViAbEZQTeYAghLB60EEIbC4JXoi+KbKKxYNHNB03MGWUR5y3Ec+yEgA== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/create-cache-key-function@^29", "@jest/create-cache-key-function@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== + dependencies: + "@jest/types" "^29.6.3" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29", "@jest/reporters@^29.4.1", "@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29", "@jest/test-result@^29.4.1", "@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@josephg/resolvable@^1.0.0": + version "1.0.1" + resolved "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz" + integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.5" + resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== + +"@ljharb/resumer@~0.0.1": + version "0.0.1" + resolved "https://registry.npmjs.org/@ljharb/resumer/-/resumer-0.0.1.tgz" + integrity sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw== + dependencies: + "@ljharb/through" "^2.3.9" + +"@ljharb/through@^2.3.9", "@ljharb/through@~2.3.9": + version "2.3.13" + resolved "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz" + integrity sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== + dependencies: + call-bind "^1.0.7" + +"@mapbox/node-pre-gyp@^1.0.11": + version "1.0.11" + resolved "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz" + integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== + dependencies: + detect-libc "^2.0.0" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.7" + nopt "^5.0.0" + npmlog "^5.0.1" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.11" + +"@mole-inc/bin-wrapper@^8.0.1": + version "8.0.1" + resolved "https://registry.npmjs.org/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz" + integrity sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA== + dependencies: + bin-check "^4.1.0" + bin-version-check "^5.0.0" + content-disposition "^0.5.4" + ext-name "^5.0.0" + file-type "^17.1.6" + filenamify "^5.0.2" + got "^11.8.5" + os-filter-obj "^2.0.0" + +"@mongodb-js/saslprep@^1.1.0", "@mongodb-js/saslprep@^1.1.5": + version "1.1.5" + resolved "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz" + integrity sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA== + dependencies: + sparse-bitfield "^3.0.3" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@nrwl/devkit@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.3.tgz" + integrity sha512-3zZLE1vfwsNie7qjVUt9lqaM1slU0RTr/dW+Yt/2lxe8Peu6f8bnCM1Pf3kSlzoxQroctfocRtVHFXJsAuAt4g== + dependencies: + "@nx/devkit" "18.3.3" + +"@nrwl/esbuild@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/esbuild/-/esbuild-18.3.3.tgz" + integrity sha512-bbjgY4170UlnIgmOqMJ55JaCxjpllwJNi3z9EoyG1+8gj+QnVEX/HHRJB9iVpJDpLnte7LQmbOoDcjNy2rx2Sw== + dependencies: + "@nx/esbuild" "18.3.3" + +"@nrwl/eslint-plugin-nx@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.3.3.tgz" + integrity sha512-ARqwcA2n2NN+8ATrooZtPbaW5fb9WSjDFZaI8RdphMXFnPrEkZnMpbrjFpLTj+wc1R6hIgTcYbli6fv4Gfbo3Q== + dependencies: + "@nx/eslint-plugin" "18.3.3" + +"@nrwl/express@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/express/-/express-18.3.3.tgz" + integrity sha512-72exWTPfAR/eKFvb4SvN86Nui/gF5X2HsD4rShe2e0C4grARha6rmdm1QUo8UWWELslIybUEszyMhdEcPzggrA== + dependencies: + "@nx/express" "18.3.3" + +"@nrwl/jest@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/jest/-/jest-18.3.3.tgz" + integrity sha512-BPI0mIbmjTHFb0/qtMND59ECld7gorV+SEVLwf4BLl7SWumVB2gLAA2+yx71cvF1jO4R5Ndi2FrBwBC9E2Va5Q== + dependencies: + "@nx/jest" "18.3.3" + +"@nrwl/js@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/js/-/js-18.3.3.tgz" + integrity sha512-7Wtv5kpeMWUDBUFu5go49HM/S8vDrtMOvZf9xnUcnjsFDReWe8XIEkTWudZDbzID3X4T6WQAftzj2Ov6k566lQ== + dependencies: + "@nx/js" "18.3.3" + +"@nrwl/node@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/node/-/node-18.3.3.tgz" + integrity sha512-87PXppPqI/jOl6swYVdQi8RBveOF7Oqmqw9m9eEbts6U2bazPipKTwBO4E9afkz3GMqaxe+d2H794JqH05Mr8w== + dependencies: + "@nx/node" "18.3.3" + +"@nrwl/react@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/react/-/react-18.3.3.tgz" + integrity sha512-i81SZJvycadVzbPB2YkFVhjZomeVz2vDty9+jjmaK+NNrQeic769nO4w+m6LdDEogCCV0cpsl1P6LH4YuqwwmA== + dependencies: + "@nx/react" "18.3.3" + +"@nrwl/tao@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/tao/-/tao-18.3.3.tgz" + integrity sha512-f/PUDLpSMEObiLQ5sIDySJM+5DxSCNunkxxbY1R9rmQ1cFcgrHaXIHQqbSj91mMa3mmtbKACk8u1LbI+oQV0Tg== + dependencies: + nx "18.3.3" + tslib "^2.3.0" + +"@nrwl/web@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/web/-/web-18.3.3.tgz" + integrity sha512-EuEht/tk9VHLKxjVMEh96wu8WNkRFRabpmLBc++pp2bEaoxz8Qm2xDO+sOU3Wp4zGNx/qQVxA1kKMZCjVjk75g== + dependencies: + "@nx/web" "18.3.3" + +"@nrwl/webpack@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/webpack/-/webpack-18.3.3.tgz" + integrity sha512-E/8vr1qAFSan1FnewvLBRBHYIaPG9dxZeYKRcQvcDx+Jf2oPyJNYI+9kkoNxEZg9FeFJMShK2x8YBgwB+ivH5A== + dependencies: + "@nx/webpack" "18.3.3" + +"@nrwl/workspace@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nrwl/workspace/-/workspace-18.3.3.tgz" + integrity sha512-9Giuec9l3PpS8mekD00W9kBIKmWRpQSkp+/RvYmc+7kKtVC+Uj/kc68exBOanVgq6zKzYrn+FqHWHGWnHxp+ww== + dependencies: + "@nx/workspace" "18.3.3" + +"@nx/devkit@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.3.tgz" + integrity sha512-FtkZ6mA5//vEA5lcbT80m080ROVacHYV5F1peztTRA+IY2JZGJoqx425kn5ylDO8aCSAIAwcn2qIdhI8BnpG3Q== + dependencies: + "@nrwl/devkit" "18.3.3" + ejs "^3.1.7" + enquirer "~2.3.6" + ignore "^5.0.4" + semver "^7.5.3" + tmp "~0.2.1" + tslib "^2.3.0" + yargs-parser "21.1.1" + +"@nx/esbuild@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/esbuild/-/esbuild-18.3.3.tgz" + integrity sha512-qhvmLO4mXedBoLnAhuYNOOVJYTRSOp2MNxZH3bvZ3Fwa95XmRlY8pUV9FLxMp80h+kLAaHbuIYRbt2KdJoanmw== + dependencies: + "@nrwl/esbuild" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" + chalk "^4.1.0" + fast-glob "3.2.7" + fs-extra "^11.1.0" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + +"@nx/eslint-plugin@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-18.3.3.tgz" + integrity sha512-ww3r8VRlzJXOBRG+qCTd+VXHRKxiIrOH+cIokTtuzGrnCXWEMSPO5Ts6z/Jsbb0xAcfZ39WUnxuDZdKbp4aHqA== + dependencies: + "@nrwl/eslint-plugin-nx" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" + "@typescript-eslint/type-utils" "^7.3.0" + "@typescript-eslint/utils" "^7.3.0" + chalk "^4.1.0" + confusing-browser-globals "^1.0.9" + jsonc-eslint-parser "^2.1.0" + semver "^7.5.3" + tslib "^2.3.0" + +"@nx/eslint@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/eslint/-/eslint-18.3.3.tgz" + integrity sha512-cvJjyykTEtQN08b5wQFelD/cbye7Nl5zFVESs+mn9/ezCukjAgP9seOk39nchKykRBAm7zzA1xZOB9thNqw9aA== + dependencies: + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" + "@nx/linter" "18.3.3" + eslint "^8.0.0" + tslib "^2.3.0" + typescript "~5.4.2" + +"@nx/express@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/express/-/express-18.3.3.tgz" + integrity sha512-FwNWDhn5Ngkw3O+/CdYjxVvepyR+YttTrSOiUjlGHZVppaycOpNFg7i2P5aq4zi0xxPQBMTum2xddMBv0dtOWQ== + dependencies: + "@nrwl/express" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/node" "18.3.3" + tslib "^2.3.0" + +"@nx/jest@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/jest/-/jest-18.3.3.tgz" + integrity sha512-AwkwYSJqu0vrDFMxKAc3lb0yHZFhsD8rX6rMMwe/fZMlAYml9FvGCp/ixWpcRWIo/1t3pxiF3Vejk9+oq/Avfw== + dependencies: + "@jest/reporters" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@nrwl/jest" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" + "@phenomnomnominal/tsquery" "~5.0.1" + chalk "^4.1.0" + identity-obj-proxy "3.0.0" + jest-config "^29.4.1" + jest-resolve "^29.4.1" + jest-util "^29.4.1" + minimatch "9.0.3" + resolve.exports "1.1.0" + tslib "^2.3.0" + yargs-parser "21.1.1" + +"@nx/js@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/js/-/js-18.3.3.tgz" + integrity sha512-e8u56oG0mlTVz48EeH0C7txX0GeLYN0o4mK1LDAMIHQa4tKefNfwrdqHaZBiVqFOPopeFtqi8s0kqce5prwCaw== + dependencies: + "@babel/core" "^7.23.2" + "@babel/plugin-proposal-decorators" "^7.22.7" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-runtime" "^7.23.2" + "@babel/preset-env" "^7.23.2" + "@babel/preset-typescript" "^7.22.5" + "@babel/runtime" "^7.22.6" + "@nrwl/js" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/workspace" "18.3.3" + "@phenomnomnominal/tsquery" "~5.0.1" + babel-plugin-const-enum "^1.0.1" + babel-plugin-macros "^2.8.0" + babel-plugin-transform-typescript-metadata "^0.3.1" + chalk "^4.1.0" + columnify "^1.6.0" + detect-port "^1.5.1" + fast-glob "3.2.7" + fs-extra "^11.1.0" + ignore "^5.0.4" + js-tokens "^4.0.0" + minimatch "9.0.3" + npm-package-arg "11.0.1" + npm-run-path "^4.0.1" + ora "5.3.0" + semver "^7.5.3" + source-map-support "0.5.19" + ts-node "10.9.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + +"@nx/linter@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/linter/-/linter-18.3.3.tgz" + integrity sha512-5HmAN/8jZ2scrA0OiJSUdBPhIjwIHecK8AK7TxYX4fg1VJ3VcpknV8pWcETuNoBW8WlgF1RX2RW7Gog7vjf+Ww== + dependencies: + "@nx/eslint" "18.3.3" + +"@nx/node@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/node/-/node-18.3.3.tgz" + integrity sha512-OoeRuuvqrdEH8AsFKrJ91lnDVL9mlqvLzUy9D5PZCYspjCesc7Tmt7Xmbu3VEGzhQPilqZz4hVfXH6MLE7TvqA== + dependencies: + "@nrwl/node" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/eslint" "18.3.3" + "@nx/jest" "18.3.3" + "@nx/js" "18.3.3" + tslib "^2.3.0" + +"@nx/nx-darwin-arm64@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.3.tgz" + integrity sha512-NpA2/7o1uUuaocMYopX9muxKif9HlGfWaXo2UeiR918usF6xri4aUqweZbaXVc9iqCAEbVMWUsjaLYGKPXHAjw== + +"@nx/nx-darwin-x64@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-18.3.3.tgz#aa7bdd1a3ea0bb81682422b805914efccab3b179" + integrity sha512-aydPLbc7DeceJ6szRf6DLT4ERoPvwfWyFiGXdAlEZYWhjEuNZLeG8K6jA3yHeWltKfX/qJqhnyKbnubBNzBKlQ== + +"@nx/nx-freebsd-x64@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.3.3.tgz#331f5dbb56c90b08e99c1ce9ff51e0c5b956f030" + integrity sha512-sEYEWsK/fwC1l7wzls7RNOjhmrooH0lK0mpgj1vDXesLBSZ7k+pddAqaHFECN4QXBSbHZI2PWOEhbnIH+Errsg== + +"@nx/nx-linux-arm-gnueabihf@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.3.3.tgz#d66d4787f5cfc56b5a7aa9a0453174b96b4729a8" + integrity sha512-B9GGMkrrzwiAfvew22x85ITO9TiNxbgRbKJQWQaoopNpXrnSWpY8WTNxpDT24fwV1qdQfsPKcY3F4O0NOUgPRA== + +"@nx/nx-linux-arm64-gnu@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.3.3.tgz#2ab08df1d052a55d4a52ba910fe41c25701d5361" + integrity sha512-1EucHf5/0JeqZmhritqkpEdOcdo9Dl32gpFvhNfS6kCAYmaDlEl4zqedz3VIoj4C7+C0pV3mcRO9qB9H7GM5bQ== + +"@nx/nx-linux-arm64-musl@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.3.3.tgz#69376454bb9759c376d0a90aa876dfff6bbf4d15" + integrity sha512-HPgOgnYYLPVCBEaAkSEGPGzZqTDCiyCAF/qtvx5z0f1U/hZYb1ubgxw70ogY82Cafr7X4gQBz5k4/ZCnoCXlOQ== + +"@nx/nx-linux-x64-gnu@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.3.3.tgz#0b8ba8ec0c2371f0df462742460d52d63b1cc715" + integrity sha512-FgYTQ3VEE6EUOGtJT9riRK8IBwPGFjKS+N2mudQJn2bB/9IumUvVRYQUIX08gqGLlqZPO6uUUhUjwZY8SnjRLQ== + +"@nx/nx-linux-x64-musl@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.3.3.tgz#c96d6f8d2d94b99ac8da723077ebbc92f833beea" + integrity sha512-QnWjGViR1Wj9gJXa1RJ9mXyy2/JzQ7NF2C4ulTYSH5St1HoxhkfnLsV0+uNLFEV9PSZq+2BfxmQuT8Appefv1A== + +"@nx/nx-win32-arm64-msvc@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.3.3.tgz#0d2c7396e7a063849edbd6e3d34ea81445c389b5" + integrity sha512-Xn3LUaPsF8QkEYUVV3lc693NTCMWrfZBFXTy1cQpvLzQ+idsXQ/EGWoq93cIM3Nc2YWyblT2hHHelb8dHCZAlw== + +"@nx/nx-win32-x64-msvc@18.3.3": + version "18.3.3" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.3.3.tgz#ea1a60ae1ffe805529d5cb95e7b28e6b8ae24621" + integrity sha512-t8HvOnQEiaaoTFOOIrql30NPhIwDFO7jg0Jtz3Tbneulh7ceswJp71yFHsRGGrYZ23Tgg+Sna6M9qLRGzlRGkg== + +"@nx/react@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/react/-/react-18.3.3.tgz" + integrity sha512-eo4zM7Qfr5Un1lZiEL9DLpMgEhWQWYmH8QdnPApABoitak3ssYMvVjUAj4IXwu/sPSaUxfZAqMdzV9cBcAkqAw== + dependencies: + "@nrwl/react" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/eslint" "18.3.3" + "@nx/js" "18.3.3" + "@nx/web" "18.3.3" + "@phenomnomnominal/tsquery" "~5.0.1" + "@svgr/webpack" "^8.0.1" + chalk "^4.1.0" + file-loader "^6.2.0" + minimatch "9.0.3" + tslib "^2.3.0" + +"@nx/web@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/web/-/web-18.3.3.tgz" + integrity sha512-/NfQirVd2Ncq2if+1n8DaxNQF0OLaFaDag7qm5pDWJnjXFNh8N7NGZQRry2k/bTSfSc8gN+KJjqSMLAUNNtKgQ== + dependencies: + "@nrwl/web" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" + chalk "^4.1.0" + detect-port "^1.5.1" + http-server "^14.1.0" + tslib "^2.3.0" + +"@nx/webpack@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/webpack/-/webpack-18.3.3.tgz" + integrity sha512-DPs8wfmYe/mEZCQ/TQgUqb/zgXY8hevR23d8bDkYjB3Akjk4OOF3QpQ2OXQ4c+Jf0ckGnQYOg6XAkE682UZqzg== + dependencies: + "@babel/core" "^7.23.2" + "@nrwl/webpack" "18.3.3" + "@nx/devkit" "18.3.3" + "@nx/js" "18.3.3" + ajv "^8.12.0" + autoprefixer "^10.4.9" + babel-loader "^9.1.2" + browserslist "^4.21.4" + chalk "^4.1.0" + copy-webpack-plugin "^10.2.4" + css-loader "^6.4.0" + css-minimizer-webpack-plugin "^5.0.0" + fork-ts-checker-webpack-plugin "7.2.13" + less "4.1.3" + less-loader "11.1.0" + license-webpack-plugin "^4.0.2" + loader-utils "^2.0.3" + mini-css-extract-plugin "~2.4.7" + parse5 "4.0.0" + postcss "^8.4.14" + postcss-import "~14.1.0" + postcss-loader "^6.1.1" + rxjs "^7.8.0" + sass "^1.42.1" + sass-loader "^12.2.0" + source-map-loader "^3.0.0" + style-loader "^3.3.0" + stylus "^0.59.0" + stylus-loader "^7.1.0" + terser-webpack-plugin "^5.3.3" + ts-loader "^9.3.1" + tsconfig-paths-webpack-plugin "4.0.0" + tslib "^2.3.0" + webpack "^5.80.0" + webpack-dev-server "^4.9.3" + webpack-node-externals "^3.0.0" + webpack-subresource-integrity "^5.1.0" + +"@nx/workspace@18.3.3": + version "18.3.3" + resolved "https://registry.npmjs.org/@nx/workspace/-/workspace-18.3.3.tgz" + integrity sha512-SUJJKzOUuNnclpHHde6f6nlF+pQwMjeF026jFpWDFaNzdsADhhRulkz0GLRXB9kKszvzz2JKde9WBWnKrFZ2IQ== + dependencies: + "@nrwl/workspace" "18.3.3" + "@nx/devkit" "18.3.3" + chalk "^4.1.0" + enquirer "~2.3.6" + nx "18.3.3" + tslib "^2.3.0" + yargs-parser "21.1.1" + +"@phenomnomnominal/tsquery@~5.0.1": + version "5.0.1" + resolved "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz" + integrity sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA== + dependencies: + esquery "^1.4.0" + +"@pmmmwh/react-refresh-webpack-plugin@^0.5.11": + version "0.5.11" + resolved "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz" + integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== + dependencies: + ansi-html-community "^0.0.8" + common-path-prefix "^3.0.0" + core-js-pure "^3.23.3" + error-stack-parser "^2.0.6" + find-up "^5.0.0" + html-entities "^2.1.0" + loader-utils "^2.0.4" + schema-utils "^3.0.0" + source-map "^0.7.3" + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + +"@rc-component/color-picker@~1.5.3": + version "1.5.3" + resolved "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.5.3.tgz" + integrity sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw== + dependencies: + "@babel/runtime" "^7.23.6" + "@ctrl/tinycolor" "^3.6.1" + classnames "^2.2.6" + rc-util "^5.38.1" + +"@rc-component/context@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz" + integrity sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w== + dependencies: + "@babel/runtime" "^7.10.1" + rc-util "^5.27.0" + +"@rc-component/mini-decimal@^1.0.1": + version "1.1.0" + resolved "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz" + integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ== + dependencies: + "@babel/runtime" "^7.18.0" + +"@rc-component/mutate-observer@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz" + integrity sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0", "@rc-component/portal@^1.1.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz" + integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/tour@~1.14.2": + version "1.14.2" + resolved "https://registry.npmjs.org/@rc-component/tour/-/tour-1.14.2.tgz" + integrity sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g== + dependencies: + "@babel/runtime" "^7.18.0" + "@rc-component/portal" "^1.0.0-9" + "@rc-component/trigger" "^2.0.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@rc-component/trigger@^2.0.0", "@rc-component/trigger@^2.1.1": + version "2.1.1" + resolved "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.1.1.tgz" + integrity sha512-UjHkedkgtEcgQu87w1VuWug1idoDJV7VUt0swxHXRcmei2uu1AuUzGBPEUlmOmXGJ+YtTgZfVLi7kuAUKoZTMA== + dependencies: + "@babel/runtime" "^7.23.2" + "@rc-component/portal" "^1.1.0" + classnames "^2.3.2" + rc-motion "^2.0.0" + rc-resize-observer "^1.3.1" + rc-util "^5.38.0" + +"@remix-run/router@1.15.3": + version "1.15.3" + resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz" + integrity sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@svgr/webpack@8.1.0", "@svgr/webpack@^8.0.1": + version "8.1.0" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz" + integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== + dependencies: + "@babel/core" "^7.21.3" + "@babel/plugin-transform-react-constant-elements" "^7.21.3" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + +"@swc/cli@0.3.12": + version "0.3.12" + resolved "https://registry.npmjs.org/@swc/cli/-/cli-0.3.12.tgz" + integrity sha512-h7bvxT+4+UDrLWJLFHt6V+vNAcUNii2G4aGSSotKz1ECEk4MyEh5CWxmeSscwuz5K3i+4DWTgm4+4EyMCQKn+g== + dependencies: + "@mole-inc/bin-wrapper" "^8.0.1" + "@swc/counter" "^0.1.3" + commander "^8.3.0" + fast-glob "^3.2.5" + minimatch "^9.0.3" + piscina "^4.3.0" + semver "^7.3.8" + slash "3.0.0" + source-map "^0.7.3" + +"@swc/core-darwin-arm64@1.4.16": + version "1.4.16" + resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.16.tgz" + integrity sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ== + +"@swc/core-darwin-x64@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.16.tgz#a5bc7d8b1dd850adb0bb95c6b5c742b92201fd01" + integrity sha512-t3bgqFoYLWvyVtVL6KkFNCINEoOrIlyggT/kJRgi1y0aXSr0oVgcrQ4ezJpdeahZZ4N+Q6vT3ffM30yIunELNA== + +"@swc/core-linux-arm-gnueabihf@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.16.tgz#961744908ee5cbb79bc009dcf58cc8b831111f38" + integrity sha512-DvHuwvEF86YvSd0lwnzVcjOTZ0jcxewIbsN0vc/0fqm9qBdMMjr9ox6VCam1n3yYeRtj4VFgrjeNFksqbUejdQ== + +"@swc/core-linux-arm64-gnu@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.16.tgz#43713be3f26757d82d2745dc25f8b63400e0a3d0" + integrity sha512-9Uu5YlPbyCvbidjKtYEsPpyZlu16roOZ5c2tP1vHfnU9bgf5Tz5q5VovSduNxPHx+ed2iC1b1URODHvDzbbDuQ== + +"@swc/core-linux-arm64-musl@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.16.tgz#394a7d030f3a61902bd3947bb9d70d26d42f3c81" + integrity sha512-/YZq/qB1CHpeoL0eMzyqK5/tYZn/rzKoCYDviFU4uduSUIJsDJQuQA/skdqUzqbheOXKAd4mnJ1hT04RbJ8FPQ== + +"@swc/core-linux-x64-gnu@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.16.tgz#71eb108b784f9d551ee8a35ebcdaed972f567981" + integrity sha512-UUjaW5VTngZYDcA8yQlrFmqs1tLi1TxbKlnaJwoNhel9zRQ0yG1YEVGrzTvv4YApSuIiDK18t+Ip927bwucuVQ== + +"@swc/core-linux-x64-musl@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.16.tgz#10dbaedb4e3dfc7268e3a9a66ad3431471ef035b" + integrity sha512-aFhxPifevDTwEDKPi4eRYWzC0p/WYJeiFkkpNU5Uc7a7M5iMWPAbPFUbHesdlb9Jfqs5c07oyz86u+/HySBNPQ== + +"@swc/core-win32-arm64-msvc@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.16.tgz#80247adff6c245ff32b44d773c1a148858cd655f" + integrity sha512-bTD43MbhIHL2s5QgCwyleaGwl96Gk/scF2TaVKdUe4QlJCDV/YK9h5oIBAp63ckHtE8GHlH4c8dZNBiAXn4Org== + +"@swc/core-win32-ia32-msvc@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.16.tgz#e540afc3ccf3224267b4ddfb408f9d9737984686" + integrity sha512-/lmZeAN/qV5XbK2SEvi8e2RkIg8FQNYiSA8y2/Zb4gTUMKVO5JMLH0BSWMiIKMstKDPDSxMWgwJaQHF8UMyPmQ== + +"@swc/core-win32-x64-msvc@1.4.16": + version "1.4.16" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.16.tgz#f880939fca32c181adfe7e3abd2b6b7857bd3489" + integrity sha512-BPAfFfODWXtUu6SwaTTftDHvcbDyWBSI/oanUeRbQR5vVWkXoQ3cxLTsDluc3H74IqXS5z1Uyoe0vNo2hB1opA== + +"@swc/core@1.4.16": + version "1.4.16" + resolved "https://registry.npmjs.org/@swc/core/-/core-1.4.16.tgz" + integrity sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA== + dependencies: + "@swc/counter" "^0.1.2" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.4.16" + "@swc/core-darwin-x64" "1.4.16" + "@swc/core-linux-arm-gnueabihf" "1.4.16" + "@swc/core-linux-arm64-gnu" "1.4.16" + "@swc/core-linux-arm64-musl" "1.4.16" + "@swc/core-linux-x64-gnu" "1.4.16" + "@swc/core-linux-x64-musl" "1.4.16" + "@swc/core-win32-arm64-msvc" "1.4.16" + "@swc/core-win32-ia32-msvc" "1.4.16" + "@swc/core-win32-x64-msvc" "1.4.16" + +"@swc/counter@^0.1.2", "@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/helpers@0.5.10": + version "0.5.10" + resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.10.tgz" + integrity sha512-CU+RF9FySljn7HVSkkjiB84hWkvTaI3rtLvF433+jRSBL2hMu3zX5bGhHS8C80SM++h4xy8hBSnUHFQHmRXSBw== + dependencies: + tslib "^2.4.0" + +"@swc/jest@0.2.36": + version "0.2.36" + resolved "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz" + integrity sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw== + dependencies: + "@jest/create-cache-key-function" "^29.7.0" + "@swc/counter" "^0.1.3" + jsonc-parser "^3.2.0" + +"@swc/types@^0.1.5": + version "0.1.6" + resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz" + integrity sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg== + dependencies: + "@swc/counter" "^0.1.3" + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@testing-library/dom@^10.0.0": + version "10.0.0" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.0.0.tgz" + integrity sha512-PmJPnogldqoVFf+EwbHvbBJ98MmqASV8kLrBYgsDNxQcFMeIS7JFL48sfyXvuMtgmWO/wMhh25odr+8VhDmn4g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.3.0" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + +"@testing-library/react@15.0.2": + version "15.0.2" + resolved "https://registry.npmjs.org/@testing-library/react/-/react-15.0.2.tgz" + integrity sha512-5mzIpuytB1ctpyywvyaY2TAAUQVCZIGqwiqFQf6u9lvj/SJQepGUzNV18Xpk+NLCaCE2j7CWrZE0tEf9xLZYiQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^10.0.0" + "@types/react-dom" "^18.0.0" + +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/aria-query@^5.0.1": + version "5.0.4" + resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.5" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz" + integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + dependencies: + "@babel/types" "^7.20.7" + +"@types/bcrypt@5.0.2": + version "5.0.2" + resolved "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz" + integrity sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ== + dependencies: + "@types/node" "*" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.13" + resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.4" + resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect-timeout@0.0.39": + version "0.0.39" + resolved "https://registry.npmjs.org/@types/connect-timeout/-/connect-timeout-0.0.39.tgz" + integrity sha512-PHUX9yixjm4qjQ27Uz+F5cyG9Fio9iY7e6eWHvNT0wbA8eu9JaDqxRRiXn5uYnd09zx1fM+wEHnuBHMm9gwOuQ== + dependencies: + "@types/express" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/cookiejar@^2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz" + integrity sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q== + +"@types/cors@2.8.17": + version "2.8.17" + resolved "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz" + integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.56.10" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz" + integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.30", "@types/express-serve-static-core@^4.17.33": + version "4.19.0" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz" + integrity sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express-session@1.18.0": + version "1.18.0" + resolved "https://registry.npmjs.org/@types/express-session/-/express-session-1.18.0.tgz" + integrity sha512-27JdDRgor6PoYlURY+Y5kCakqp5ulC0kmf7y+QwaY+hv9jEFuQOThgkjyA53RP3jmKuBsH5GR6qEfFmvb8mwOA== + dependencies: + "@types/express" "*" + +"@types/express@*", "@types/express@4.17.21", "@types/express@^4.17.13": + version "4.17.21" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/fs-extra@11.0.4": + version "11.0.4" + resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz" + integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== + dependencies: + "@types/jsonfile" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/http-cache-semantics@*": + version "4.0.4" + resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.10", "@types/http-proxy@^1.17.8": + version "1.17.14" + resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@29.5.12": + version "29.5.12" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/jsdom@^20.0.0": + version "20.0.1" + resolved "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz" + integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== + dependencies: + "@types/node" "*" + "@types/tough-cookie" "*" + parse5 "^7.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json2csv@5.0.7": + version "5.0.7" + resolved "https://registry.npmjs.org/@types/json2csv/-/json2csv-5.0.7.tgz" + integrity sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA== + dependencies: + "@types/node" "*" + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/jsonfile@*": + version "6.1.4" + resolved "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz" + integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== + dependencies: + "@types/node" "*" + +"@types/jsonwebtoken@9.0.6": + version "9.0.6" + resolved "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz" + integrity sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw== + dependencies: + "@types/node" "*" + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + +"@types/long@^4.0.0": + version "4.0.2" + resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + +"@types/methods@^1.1.4": + version "1.1.4" + resolved "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz" + integrity sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/minimist@^1.2.0": + version "1.2.5" + resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/node-fetch@^2.6.1": + version "2.6.11" + resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz" + integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== + dependencies: + "@types/node" "*" + form-data "^4.0.0" + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@^20.12.7": + version "20.12.7" + resolved "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz" + integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== + dependencies: + undici-types "~5.26.4" + +"@types/nodemailer@6.4.14": + version "6.4.14" + resolved "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.14.tgz" + integrity sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA== + dependencies: + "@types/node" "*" + +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/passport@1.0.16": + version "1.0.16" + resolved "https://registry.npmjs.org/@types/passport/-/passport-1.0.16.tgz" + integrity sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A== + dependencies: + "@types/express" "*" + +"@types/prop-types@*": + version "15.7.12" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" + integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + +"@types/qrcode@1.5.5": + version "1.5.5" + resolved "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.5.5.tgz" + integrity sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg== + dependencies: + "@types/node" "*" + +"@types/qs@*": + version "6.9.15" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz" + integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/react-dom@18.2.25", "@types/react-dom@^18.0.0": + version "18.2.25" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz" + integrity sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA== + dependencies: + "@types/react" "*" + +"@types/react-highlight-words@0.16.7": + version "0.16.7" + resolved "https://registry.npmjs.org/@types/react-highlight-words/-/react-highlight-words-0.16.7.tgz" + integrity sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@18.2.79": + version "18.2.79" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz" + integrity sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/responselike@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== + dependencies: + "@types/node" "*" + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/semver@^7.5.8": + version "7.5.8" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.4" + resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.7" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz" + integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + "@types/send" "*" + +"@types/sockjs@^0.3.33": + version "0.3.36" + resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/superagent@^8.1.0": + version "8.1.6" + resolved "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.6.tgz" + integrity sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ== + dependencies: + "@types/cookiejar" "^2.1.5" + "@types/methods" "^1.1.4" + "@types/node" "*" + +"@types/supertest@6.0.2": + version "6.0.2" + resolved "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz" + integrity sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg== + dependencies: + "@types/methods" "^1.1.4" + "@types/superagent" "^8.1.0" + +"@types/tmp@0.2.6": + version "0.2.6" + resolved "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz" + integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== + +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + +"@types/uuid@9.0.8": + version "9.0.8" + resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== + +"@types/webidl-conversions@*": + version "7.0.3" + resolved "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz" + integrity sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA== + +"@types/webpack-env@1.18.4": + version "1.18.4" + resolved "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.4.tgz" + integrity sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A== + +"@types/whatwg-url@^11.0.2": + version "11.0.4" + resolved "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.4.tgz" + integrity sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw== + dependencies: + "@types/webidl-conversions" "*" + +"@types/whatwg-url@^8.2.1": + version "8.2.2" + resolved "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz" + integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== + dependencies: + "@types/node" "*" + "@types/webidl-conversions" "*" + +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz" + integrity sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/type-utils" "7.7.0" + "@typescript-eslint/utils" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz" + integrity sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg== + dependencies: + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/typescript-estree" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz" + integrity sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw== + dependencies: + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" + +"@typescript-eslint/scope-manager@7.7.1": + version "7.7.1" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz" + integrity sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA== + dependencies: + "@typescript-eslint/types" "7.7.1" + "@typescript-eslint/visitor-keys" "7.7.1" + +"@typescript-eslint/type-utils@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz" + integrity sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg== + dependencies: + "@typescript-eslint/typescript-estree" "7.7.0" + "@typescript-eslint/utils" "7.7.0" + debug "^4.3.4" + ts-api-utils "^1.3.0" + +"@typescript-eslint/type-utils@^7.3.0": + version "7.7.1" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz" + integrity sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q== + dependencies: + "@typescript-eslint/typescript-estree" "7.7.1" + "@typescript-eslint/utils" "7.7.1" + debug "^4.3.4" + ts-api-utils "^1.3.0" + +"@typescript-eslint/types@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz" + integrity sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w== + +"@typescript-eslint/types@7.7.1": + version "7.7.1" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz" + integrity sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w== + +"@typescript-eslint/typescript-estree@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz" + integrity sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ== + dependencies: + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/visitor-keys" "7.7.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/typescript-estree@7.7.1": + version "7.7.1" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz" + integrity sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ== + dependencies: + "@typescript-eslint/types" "7.7.1" + "@typescript-eslint/visitor-keys" "7.7.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/utils@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz" + integrity sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.15" + "@types/semver" "^7.5.8" + "@typescript-eslint/scope-manager" "7.7.0" + "@typescript-eslint/types" "7.7.0" + "@typescript-eslint/typescript-estree" "7.7.0" + semver "^7.6.0" + +"@typescript-eslint/utils@7.7.1", "@typescript-eslint/utils@^7.3.0": + version "7.7.1" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz" + integrity sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.15" + "@types/semver" "^7.5.8" + "@typescript-eslint/scope-manager" "7.7.1" + "@typescript-eslint/types" "7.7.1" + "@typescript-eslint/typescript-estree" "7.7.1" + semver "^7.6.0" + +"@typescript-eslint/visitor-keys@7.7.0": + version "7.7.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz" + integrity sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA== + dependencies: + "@typescript-eslint/types" "7.7.0" + eslint-visitor-keys "^3.4.3" + +"@typescript-eslint/visitor-keys@7.7.1": + version "7.7.1" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz" + integrity sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw== + dependencies: + "@typescript-eslint/types" "7.7.1" + eslint-visitor-keys "^3.4.3" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@xtuc/long" "4.2.2" + +"@wry/caches@^1.0.0": + version "1.0.1" + resolved "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz" + integrity sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA== + dependencies: + tslib "^2.3.0" + +"@wry/context@^0.7.0": + version "0.7.4" + resolved "https://registry.npmjs.org/@wry/context/-/context-0.7.4.tgz" + integrity sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ== + dependencies: + tslib "^2.3.0" + +"@wry/equality@^0.5.6": + version "0.5.7" + resolved "https://registry.npmjs.org/@wry/equality/-/equality-0.5.7.tgz" + integrity sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.4.3": + version "0.4.3" + resolved "https://registry.npmjs.org/@wry/trie/-/trie-0.4.3.tgz" + integrity sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.5.0": + version "0.5.0" + resolved "https://registry.npmjs.org/@wry/trie/-/trie-0.5.0.tgz" + integrity sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA== + dependencies: + tslib "^2.3.0" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +"@yarnpkg/parsers@3.0.0-rc.46": + version "3.0.0-rc.46" + resolved "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz" + integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== + dependencies: + js-yaml "^3.10.0" + tslib "^2.4.0" + +"@zkochan/js-yaml@0.0.6": + version "0.0.6" + resolved "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz" + integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== + dependencies: + argparse "^2.0.1" + +"@zxing/text-encoding@0.9.0": + version "0.9.0" + resolved "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz" + integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== + +JSONStream@1.3.5, JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abab@^2.0.5, abab@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +abbrev@1: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.2, acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^8.1.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +address@^1.0.1: + version "1.2.2" + resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agent-base@^7.0.2: + version "7.1.1" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.11.0, ajv@^8.12.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" + integrity sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg== + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-escapes@^6.2.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz" + integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.0.0, ansi-styles@^6.2.1: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +antd@5.16.4: + version "5.16.4" + resolved "https://registry.npmjs.org/antd/-/antd-5.16.4.tgz" + integrity sha512-H3LtVz5hiNgs0lL8U6pzi11rluR6RDRw1cm2pWX6CsvgZmybWsaTBV2h+d+zmgFfuch53TWs5uztLdAldIoYYw== + dependencies: + "@ant-design/colors" "^7.0.2" + "@ant-design/cssinjs" "^1.18.5" + "@ant-design/icons" "^5.3.6" + "@ant-design/react-slick" "~1.1.2" + "@babel/runtime" "^7.24.4" + "@ctrl/tinycolor" "^3.6.1" + "@rc-component/color-picker" "~1.5.3" + "@rc-component/mutate-observer" "^1.1.0" + "@rc-component/tour" "~1.14.2" + "@rc-component/trigger" "^2.1.1" + classnames "^2.5.1" + copy-to-clipboard "^3.3.3" + dayjs "^1.11.10" + qrcode.react "^3.1.0" + rc-cascader "~3.24.1" + rc-checkbox "~3.2.0" + rc-collapse "~3.7.3" + rc-dialog "~9.4.0" + rc-drawer "~7.1.0" + rc-dropdown "~4.2.0" + rc-field-form "~1.44.0" + rc-image "~7.6.0" + rc-input "~1.4.5" + rc-input-number "~9.0.0" + rc-mentions "~2.11.1" + rc-menu "~9.13.0" + rc-motion "^2.9.0" + rc-notification "~5.4.0" + rc-pagination "~4.0.4" + rc-picker "~4.4.1" + rc-progress "~4.0.0" + rc-rate "~2.12.0" + rc-resize-observer "^1.4.0" + rc-segmented "~2.3.0" + rc-select "~14.13.1" + rc-slider "~10.6.1" + rc-steps "~6.0.1" + rc-switch "~4.1.0" + rc-table "~7.45.4" + rc-tabs "~14.1.1" + rc-textarea "~1.6.3" + rc-tooltip "~6.2.0" + rc-tree "~5.8.5" + rc-tree-select "~5.19.0" + rc-upload "~4.5.2" + rc-util "^5.39.1" + scroll-into-view-if-needed "^3.1.0" + throttle-debounce "^5.0.0" + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apollo-upload-client@18.0.1: + version "18.0.1" + resolved "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz" + integrity sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA== + dependencies: + extract-files "^13.0.0" + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +arch@^2.1.0: + version "2.2.0" + resolved "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@5.3.0, aria-query@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== + dependencies: + dequal "^2.0.3" + +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + +array-includes@^3.1.6, array-includes@^3.1.7: + version "3.1.8" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-union@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz" + integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== + +array.prototype.findlast@^1.2.4: + version "1.2.5" + resolved "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.3: + version "1.2.5" + resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.toreversed@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz" + integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz" + integrity sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.1.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +asn1.js@^5.4.1: + version "5.4.1" + resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + +async-mutex@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.1.tgz" + integrity sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA== + dependencies: + tslib "^2.4.0" + +async-retry@^1.2.1: + version "1.3.3" + resolved "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +async-validator@^4.1.0: + version "4.2.5" + resolved "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.npmjs.org/async/-/async-2.6.4.tgz" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +async@^3.2.3, async@^3.2.4: + version "3.2.5" + resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +attr-accept@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" + integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== + +autoprefixer@^10.4.9: + version "10.4.19" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz" + integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== + dependencies: + browserslist "^4.23.0" + caniuse-lite "^1.0.30001599" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axe-core@=4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz" + integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== + +axios@1.6.8, axios@^1.6.0: + version "1.6.8" + resolved "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz" + integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axobject-query@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz" + integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== + dependencies: + dequal "^2.0.3" + +b4a@^1.6.4: + version "1.6.6" + resolved "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz" + integrity sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg== + +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@^9.1.2: + version "9.1.3" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== + dependencies: + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" + +babel-plugin-const-enum@^1.0.1: + version "1.2.0" + resolved "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz" + integrity sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-typescript" "^7.3.3" + "@babel/traverse" "^7.16.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.2" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: + version "0.10.4" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" + integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.1" + core-js-compat "^3.36.1" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + +babel-plugin-transform-typescript-metadata@^0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz" + integrity sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +bare-events@^2.2.0: + version "2.2.2" + resolved "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz" + integrity sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bcrypt@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz" + integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.11" + node-addon-api "^5.0.0" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +bin-check@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz" + integrity sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA== + dependencies: + execa "^0.7.0" + executable "^4.1.0" + +bin-version-check@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/bin-version-check/-/bin-version-check-5.1.0.tgz" + integrity sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g== + dependencies: + bin-version "^6.0.0" + semver "^7.5.3" + semver-truncate "^3.0.0" + +bin-version@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/bin-version/-/bin-version-6.0.0.tgz" + integrity sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw== + dependencies: + execa "^5.0.0" + find-versions "^5.0.0" + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +block-stream2@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/block-stream2/-/block-stream2-2.1.0.tgz" + integrity sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg== + dependencies: + readable-stream "^3.4.0" + +bn.js@^4.0.0: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +body-parser@1.20.2: + version "1.20.2" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.2.1" + resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz" + integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-or-node@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz" + integrity sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg== + +browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.23.0: + version "4.23.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +bson@^5.5.0: + version "5.5.1" + resolved "https://registry.npmjs.org/bson/-/bson-5.5.1.tgz" + integrity sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g== + +bson@^6.4.0: + version "6.6.0" + resolved "https://registry.npmjs.org/bson/-/bson-6.6.0.tgz" + integrity sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA== + +buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +builtins@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz" + integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== + dependencies: + semver "^7.0.0" + +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7, call-bind@~1.0.2: + version "1.0.7" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" + integrity sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0, camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: + version "1.0.30001612" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz" + integrity sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g== + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" + integrity sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ== + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +chalk@^1.1.1: + version "1.1.3" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2, classnames@^2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +cli-cursor@3.1.0, cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== + dependencies: + restore-cursor "^4.0.0" + +cli-spinners@2.6.1: + version "2.6.1" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-truncate@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz" + integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== + dependencies: + slice-ansi "^5.0.0" + string-width "^7.0.0" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz" + integrity sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA== + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.5: + version "1.9.1" + resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color-support@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colord@^2.9.3: + version "2.9.3" + resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10, colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + +commander@7, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commitlint@^18.6.1: + version "18.6.1" + resolved "https://registry.npmjs.org/commitlint/-/commitlint-18.6.1.tgz" + integrity sha512-I10mj1OmBCrPUHItRqeCEj0uxCdWxL15sCfS1Poq8av2FcX/KvRoiH8jTNG0cVDA2ns7IftugTAM+nLvOavLsw== + dependencies: + "@commitlint/cli" "^18.6.1" + "@commitlint/types" "^18.6.1" + +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +component-emitter@^1.3.0: + version "1.3.1" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +compute-scroll-into-view@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz" + integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +confusing-browser-globals@^1.0.9: + version "1.0.11" + resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +connect-mongo@5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/connect-mongo/-/connect-mongo-5.1.0.tgz" + integrity sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw== + dependencies: + debug "^4.3.1" + kruptein "^3.0.0" + +connect-timeout@1.9.0: + version "1.9.0" + resolved "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.9.0.tgz" + integrity sha512-q4bsBIPd+eSGtnh/u6EBOKfuG+4YvwsN0idlOsg6KAw71Qpi0DCf2eCc/Va63QU9qdOeYC8katxoC+rHMNygZg== + dependencies: + http-errors "~1.6.1" + ms "2.0.0" + on-finished "~2.3.0" + on-headers "~1.0.1" + +console-control-strings@^1.0.0, console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +content-disposition@0.5.4, content-disposition@^0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +contour_plot@^0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/contour_plot/-/contour_plot-0.0.1.tgz" + integrity sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw== + +conventional-changelog-angular@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz" + integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-conventionalcommits@^7.0.2: + version "7.0.2" + resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz" + integrity sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w== + dependencies: + compare-func "^2.0.0" + +conventional-commits-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz" + integrity sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA== + dependencies: + JSONStream "^1.3.5" + is-text-path "^2.0.0" + meow "^12.0.1" + split2 "^4.0.0" + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie-signature@1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz" + integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== + +cookie@0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== + +cookiejar@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-to-clipboard@^3.3.3: + version "3.3.3" + resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +copy-webpack-plugin@^10.2.4: + version "10.2.4" + resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz" + integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== + dependencies: + fast-glob "^3.2.7" + glob-parent "^6.0.1" + globby "^12.0.2" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.31.0, core-js-compat@^3.36.1: + version "3.37.0" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz" + integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA== + dependencies: + browserslist "^4.23.0" + +core-js-pure@^3.23.3: + version "3.37.0" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz" + integrity sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ== + +core-js@^3.37.0: + version "3.37.0" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.37.0.tgz" + integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@2.8.5, cors@^2.8.5: + version "2.8.5" + resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz" + integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== + +cosmiconfig-typescript-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz" + integrity sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA== + dependencies: + jiti "^1.19.1" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@^8.1.3, cosmiconfig@^8.3.6: + version "8.3.6" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-declaration-sorter@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz" + integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== + +css-loader@^6.4.0: + version "6.11.0" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz" + integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-minimizer-webpack-plugin@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz" + integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + cssnano "^6.0.1" + jest-worker "^29.4.3" + postcss "^8.4.24" + schema-utils "^4.0.1" + serialize-javascript "^6.0.1" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^6.1.2: + version "6.1.2" + resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz" + integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== + dependencies: + browserslist "^4.23.0" + css-declaration-sorter "^7.2.0" + cssnano-utils "^4.0.2" + postcss-calc "^9.0.1" + postcss-colormin "^6.1.0" + postcss-convert-values "^6.1.0" + postcss-discard-comments "^6.0.2" + postcss-discard-duplicates "^6.0.3" + postcss-discard-empty "^6.0.3" + postcss-discard-overridden "^6.0.2" + postcss-merge-longhand "^6.0.5" + postcss-merge-rules "^6.1.1" + postcss-minify-font-values "^6.1.0" + postcss-minify-gradients "^6.0.3" + postcss-minify-params "^6.1.0" + postcss-minify-selectors "^6.0.4" + postcss-normalize-charset "^6.0.2" + postcss-normalize-display-values "^6.0.2" + postcss-normalize-positions "^6.0.2" + postcss-normalize-repeat-style "^6.0.2" + postcss-normalize-string "^6.0.2" + postcss-normalize-timing-functions "^6.0.2" + postcss-normalize-unicode "^6.1.0" + postcss-normalize-url "^6.0.2" + postcss-normalize-whitespace "^6.0.2" + postcss-ordered-values "^6.0.2" + postcss-reduce-initial "^6.1.0" + postcss-reduce-transforms "^6.0.2" + postcss-svgo "^6.0.3" + postcss-unique-selectors "^6.0.4" + +cssnano-utils@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz" + integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== + +cssnano@^6.0.1: + version "6.1.2" + resolved "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz" + integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== + dependencies: + cssnano-preset-default "^6.1.2" + lilconfig "^3.1.1" + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + +cssom@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz" + integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2, csstype@^3.0.8, csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +csv-parse@5.5.5: + version "5.5.5" + resolved "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.5.tgz" + integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ== + +"d3-array@2.5.0 - 3", d3-array@^3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +"d3-color@1 - 3": + version "3.1.0" + resolved "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-color@^1.4.0: + version "1.4.1" + resolved "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz" + integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q== + +"d3-dispatch@1 - 3": + version "3.0.1" + resolved "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +d3-dsv@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz" + integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== + dependencies: + commander "7" + iconv-lite "0.6" + rw "1" + +d3-force@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz" + integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== + dependencies: + d3-dispatch "1 - 3" + d3-quadtree "1 - 3" + d3-timer "1 - 3" + +d3-format@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz" + integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== + +d3-geo@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz" + integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== + dependencies: + d3-array "2.5.0 - 3" + +d3-hierarchy@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== + +"d3-interpolate@1 - 3": + version "3.0.1" + resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + +"d3-quadtree@1 - 3": + version "3.0.1" + resolved "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz" + integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== + +d3-scale-chromatic@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz" + integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== + dependencies: + d3-color "1 - 3" + d3-interpolate "1 - 3" + +d3-shape@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + +"d3-timer@1 - 3": + version "3.0.1" + resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +d3-voronoi@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz" + integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + +data-urls@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz" + integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +dayjs@1.11.10, dayjs@^1.11.10: + version "1.11.10" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +dedent@^1.0.0: + version "1.5.3" + resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== + +deep-equal@~1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== + dependencies: + is-arguments "^1.1.1" + is-date-object "^1.0.5" + is-regex "^1.1.4" + object-is "^1.1.5" + object-keys "^1.1.1" + regexp.prototype.flags "^1.5.1" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@4.3.1, deepmerge@^4.2.2, deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +defined@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz" + integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-libc@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + dependencies: + address "^1.0.1" + debug "4" + +dezalgo@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== + dependencies: + asap "^2.0.0" + wrappy "1" + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@~10.0.0: + version "10.0.0" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz" + integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== + +dotenv@~16.3.1: + version "16.3.2" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz" + integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== + +dotignore@~0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz" + integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== + dependencies: + minimatch "^3.0.4" + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +ejs@^3.1.7: + version "3.1.10" + resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.4.668: + version "1.4.746" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz" + integrity sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^10.3.0: + version "10.3.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0, enhanced-resolve@^5.16.0, enhanced-resolve@^5.7.0: + version "5.16.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz" + integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@~2.3.6: + version "2.3.6" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-iterator-helpers@^1.0.15, es-iterator-helpers@^1.0.17: + version "1.0.18" + resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz" + integrity sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + iterator.prototype "^1.1.2" + safe-array-concat "^1.1.2" + +es-module-lexer@^1.2.1: + version "1.5.0" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz" + integrity sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw== + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +esbuild@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + optionalDependencies: + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-compat-utils@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz" + integrity sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg== + dependencies: + semver "^7.5.4" + +eslint-config-prettier@9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.8.0: + version "2.8.1" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz" + integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== + dependencies: + debug "^3.2.7" + +eslint-plugin-import@2.29.1: + version "2.29.1" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.15.0" + +eslint-plugin-jsonc@2.15.1: + version "2.15.1" + resolved "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.15.1.tgz" + integrity sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + eslint-compat-utils "^0.5.0" + espree "^9.6.1" + graphemer "^1.4.0" + jsonc-eslint-parser "^2.0.4" + natural-compare "^1.4.0" + synckit "^0.6.0" + +eslint-plugin-jsx-a11y@6.8.0: + version "6.8.0" + resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz" + integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== + dependencies: + "@babel/runtime" "^7.23.2" + aria-query "^5.3.0" + array-includes "^3.1.7" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "=4.7.0" + axobject-query "^3.2.1" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + es-iterator-helpers "^1.0.15" + hasown "^2.0.0" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.entries "^1.1.7" + object.fromentries "^2.0.7" + +eslint-plugin-react-hooks@4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@7.34.1: + version "7.34.1" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz" + integrity sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw== + dependencies: + array-includes "^3.1.7" + array.prototype.findlast "^1.2.4" + array.prototype.flatmap "^1.3.2" + array.prototype.toreversed "^1.1.2" + array.prototype.tosorted "^1.1.3" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.17" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.7" + object.fromentries "^2.0.7" + object.hasown "^1.1.3" + object.values "^1.1.7" + prop-types "^15.8.1" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.10" + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@8.57.0, eslint@^8.0.0: + version "8.57.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.0.0, espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0, esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz" + integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +executable@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +export-from-json@1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/export-from-json/-/export-from-json-1.7.4.tgz" + integrity sha512-FjmpluvZS2PTYyhkoMfQoyEJMfe2bfAyNpa5Apa6C9n7SWUWyJkG/VFnzERuj3q9Jjo3iwBjwVsDQ7Z7sczthA== + +express-rate-limit@7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.2.0.tgz" + integrity sha512-T7nul1t4TNyfZMJ7pKRKkdeVJWa2CqB8NA1P8BwYaoDI5QSBZARv5oMS43J7b7I5P+4asjVXjb7ONuwDKucahg== + +express-session@1.18.0: + version "1.18.0" + resolved "https://registry.npmjs.org/express-session/-/express-session-1.18.0.tgz" + integrity sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ== + dependencies: + cookie "0.6.0" + cookie-signature "1.0.7" + debug "2.6.9" + depd "~2.0.0" + on-headers "~1.0.2" + parseurl "~1.3.3" + safe-buffer "5.2.1" + uid-safe "~2.1.5" + +express@^4.17.1, express@^4.17.3, express@^4.19.2: + version "4.19.2" + resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz" + integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.2" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.6.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext-list@^2.0.0: + version "2.2.2" + resolved "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz" + integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== + dependencies: + mime-db "^1.28.0" + +ext-name@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz" + integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== + dependencies: + ext-list "^2.0.0" + sort-keys-length "^1.0.0" + +extract-files@^13.0.0: + version "13.0.0" + resolved "https://registry.npmjs.org/extract-files/-/extract-files-13.0.0.tgz" + integrity sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g== + dependencies: + is-plain-obj "^4.1.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-fifo@^1.1.0, fast-fifo@^1.2.0: + version "1.3.2" + resolved "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + +fast-glob@3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-safe-stringify@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fast-xml-parser@^4.2.2: + version "4.3.6" + resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz" + integrity sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw== + dependencies: + strnum "^1.0.5" + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fecha@^4.2.1: + version "4.2.3" + resolved "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz" + integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== + +figures@3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-selector@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz" + integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== + dependencies: + tslib "^2.4.0" + +file-type@^17.1.6: + version "17.1.6" + resolved "https://registry.npmjs.org/file-type/-/file-type-17.1.6.tgz" + integrity sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw== + dependencies: + readable-web-to-node-stream "^3.0.2" + strtok3 "^7.0.0-alpha.9" + token-types "^5.0.0-alpha.2" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +filename-reserved-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz" + integrity sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw== + +filenamify@^5.0.2: + version "5.1.1" + resolved "https://registry.npmjs.org/filenamify/-/filenamify-5.1.1.tgz" + integrity sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA== + dependencies: + filename-reserved-regex "^3.0.0" + strip-outer "^2.0.0" + trim-repeated "^2.0.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +find-versions@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz" + integrity sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg== + dependencies: + semver-regex "^4.0.5" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +flru@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/flru/-/flru-1.0.2.tgz" + integrity sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog== + +fmin@^0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/fmin/-/fmin-0.0.2.tgz" + integrity sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A== + dependencies: + contour_plot "^0.0.1" + json2module "^0.0.3" + rollup "^0.25.8" + tape "^4.5.1" + uglify-js "^2.6.2" + +follow-redirects@^1.0.0, follow-redirects@^1.15.6: + version "1.15.6" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + +for-each@^0.3.3, for-each@~0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +fork-ts-checker-webpack-plugin@7.2.13: + version "7.2.13" + resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz" + integrity sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg== + dependencies: + "@babel/code-frame" "^7.16.7" + chalk "^4.1.2" + chokidar "^3.5.3" + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + fs-extra "^10.0.0" + memfs "^3.4.1" + minimatch "^3.0.4" + node-abort-controller "^3.0.1" + schema-utils "^3.1.1" + semver "^7.3.5" + tapable "^2.2.1" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +formidable@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz" + integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== + dependencies: + dezalgo "^1.0.4" + hexoid "^1.0.0" + once "^1.4.0" + qs "^6.11.0" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@11.2.0, fs-extra@^11.1.0: + version "11.2.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-east-asian-width@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz" + integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-port@7.1.0: + version "7.1.0" + resolved "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz" + integrity sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw== + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +git-raw-commits@^2.0.11: + version "2.0.11" + resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +git-rev-sync@3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-3.0.2.tgz" + integrity sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ== + dependencies: + escape-string-regexp "1.0.5" + graceful-fs "4.1.15" + shelljs "0.8.5" + +gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz" + integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.2.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz" + integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== + dependencies: + ini "^1.3.4" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^12.0.2: + version "12.2.0" + resolved "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz" + integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== + dependencies: + array-union "^3.0.1" + dir-glob "^3.0.1" + fast-glob "^3.2.7" + ignore "^5.1.9" + merge2 "^1.4.1" + slash "^4.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^11.8.5: + version "11.8.6" + resolved "https://registry.npmjs.org/got/-/got-11.8.6.tgz" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@4.1.15: + version "4.1.15" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +graphql-scalars@1.23.0: + version "1.23.0" + resolved "https://registry.npmjs.org/graphql-scalars/-/graphql-scalars-1.23.0.tgz" + integrity sha512-YTRNcwitkn8CqYcleKOx9IvedA8JIERn8BRq21nlKgOr4NEcTaWEG0sT+H92eF3ALTFbPgsqfft4cw+MGgv0Gg== + dependencies: + tslib "^2.5.0" + +graphql-subscriptions@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz" + integrity sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA== + dependencies: + iterall "^1.3.0" + +graphql-tag@2.12.6, graphql-tag@^2.12.6: + version "2.12.6" + resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + +graphql-type-json@0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz" + integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== + +graphql-upload-minimal@1.6.1: + version "1.6.1" + resolved "https://registry.npmjs.org/graphql-upload-minimal/-/graphql-upload-minimal-1.6.1.tgz" + integrity sha512-wNUf/KqA0B/OguL1k6qWa4AmAduLUAhXzovh9i14SKbpBa8HX2vc7f+fR67S0rG7fSpGdM/aivxzC329/+9xXw== + dependencies: + busboy "^1.6.0" + +graphql-ws@5.16.0: + version "5.16.0" + resolved "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.0.tgz" + integrity sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A== + +graphql@16.8.1: + version "16.8.1" + resolved "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz" + integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +has@~1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/has/-/has-1.0.4.tgz" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hexoid@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz" + integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== + +hi-base32@0.5.1: + version "0.5.1" + resolved "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz" + integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== + +highlight-words-core@^1.2.0: + version "1.2.2" + resolved "https://registry.npmjs.org/highlight-words-core/-/highlight-words-core-1.2.2.tgz" + integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== + +hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz" + integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== + dependencies: + lru-cache "^10.0.1" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +html-entities@^2.1.0, html-entities@^2.3.2: + version "2.5.2" + resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz" + integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.1, http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +http-proxy-middleware@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz" + integrity sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw== + dependencies: + "@types/http-proxy" "^1.17.10" + debug "^4.3.4" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.5" + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-server@^14.1.0: + version "14.1.1" + resolved "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== + dependencies: + basic-auth "^2.0.1" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.2.0" + html-encoding-sniffer "^3.0.0" + http-proxy "^1.18.1" + mime "^1.6.0" + minimist "^1.2.6" + opener "^1.5.1" + portfinder "^1.0.28" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^4.0.1" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-browserify@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@^7.0.4: + version "7.0.4" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz" + integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== + dependencies: + agent-base "^7.0.2" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + +husky@^8.0.0: + version "8.0.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" + integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@0.6, iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz" + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.13, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.0.4, ignore@^5.1.9, ignore@^5.2.0, ignore@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +immutable@^4.0.0: + version "4.3.5" + resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz" + integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.2.0" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== + +is-arguments@^1.0.4, is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: + version "2.13.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-fullwidth-code-point@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz" + integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== + dependencies: + get-east-asian-width "^1.0.0" + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-generator-function@^1.0.10, is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-obj@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.1.4, is-regex@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-text-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz" + integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw== + dependencies: + text-extensions "^2.0.0" + +is-typed-array@^1.1.13, is-typed-array@^1.1.3: + version "1.1.13" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.2" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz" + integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterall@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +jake@^10.8.5: + version "10.8.7" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz" + integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29, jest-config@^29.4.1, jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.4.1, jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-jsdom@29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/jsdom" "^20.0.0" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + jsdom "^20.0.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29, jest-resolve@^29.4.1, jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29, jest-util@^29.0.0, jest-util@^29.4.1, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.4.3, jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +jiti@^1.19.1: + version "1.21.0" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.10.0, js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + +jsdom@^20.0.0: + version "20.0.3" + resolved "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== + dependencies: + abab "^2.0.6" + acorn "^8.8.1" + acorn-globals "^7.0.0" + cssom "^0.5.0" + cssstyle "^2.3.0" + data-urls "^3.0.2" + decimal.js "^10.4.2" + domexception "^4.0.0" + escodegen "^2.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.2" + parse5 "^7.1.1" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + ws "^8.11.0" + xml-name-validator "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz" + integrity sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg== + +json2module@^0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/json2module/-/json2module-0.0.3.tgz" + integrity sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA== + dependencies: + rw "^1.3.2" + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz" + integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== + dependencies: + string-convert "^0.2.0" + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-eslint-parser@^2.0.4, jsonc-eslint-parser@^2.1.0: + version "2.4.0" + resolved "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz" + integrity sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg== + dependencies: + acorn "^8.5.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + semver "^7.3.5" + +jsonc-parser@3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +jsonc-parser@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +jsonwebtoken@9.0.2: + version "9.0.2" + resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz" + integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^7.5.4" + +jstat@1.9.6: + version "1.9.6" + resolved "https://registry.npmjs.org/jstat/-/jstat-1.9.6.tgz" + integrity sha512-rPBkJbK2TnA8pzs93QcDDPlKcrtZWuuCo2dVR0TFLOJSxhqfWOVCSp8aV3/oSbn+4uY4yw1URtLpHQedtmXfug== + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +keyv@^4.0.0, keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.4, klona@^2.0.5: + version "2.0.6" + resolved "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +kruptein@^3.0.0: + version "3.0.6" + resolved "https://registry.npmjs.org/kruptein/-/kruptein-3.0.6.tgz" + integrity sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA== + dependencies: + asn1.js "^5.4.1" + +language-subtag-registry@^0.3.20: + version "0.3.22" + resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" + integrity sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ== + +less-loader@11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz" + integrity sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug== + dependencies: + klona "^2.0.4" + +less@4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/less/-/less-4.1.3.tgz" + integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^3.1.0" + source-map "~0.6.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +license-webpack-plugin@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz" + integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== + dependencies: + webpack-sources "^3.0.0" + +lilconfig@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + +lilconfig@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz" + integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lines-and-columns@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz" + integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== + +lint-staged@15.2.2: + version "15.2.2" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz" + integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== + dependencies: + chalk "5.3.0" + commander "11.1.0" + debug "4.3.4" + execa "8.0.1" + lilconfig "3.0.0" + listr2 "8.0.1" + micromatch "4.0.5" + pidtree "0.6.0" + string-argv "0.3.2" + yaml "2.3.4" + +listr2@8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz" + integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== + dependencies: + cli-truncate "^4.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.0.0" + rfdc "^1.3.0" + wrap-ansi "^9.0.0" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0, loader-utils@^2.0.3, loader-utils@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + +lodash.isfunction@^3.0.9: + version "3.0.9" + resolved "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz" + integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz" + integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== + dependencies: + ansi-escapes "^6.2.0" + cli-cursor "^4.0.0" + slice-ansi "^7.0.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" + +loglevel@^1.6.8: + version "1.9.1" + resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz" + integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + integrity sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^10.0.1: + version "10.2.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.10.1, lru-cache@^7.14.1: + version "7.18.3" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@1.x, make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.1, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-4.1.0.tgz" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + +memory-pager@^1.0.2: + version "1.5.0" + resolved "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz" + integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + +meow@^12.0.1: + version "12.1.1" + resolved "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz" + integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== + +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@^1.1.2, methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@^2.1.35, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.4.1, mime@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@2.6.0: + version "2.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +mini-css-extract-plugin@~2.4.7: + version "2.4.7" + resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz" + integrity sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg== + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@9.0.3: + version "9.0.3" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.3, minimatch@^9.0.4: + version "9.0.4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.6, minimist@~1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minio@7.1.3: + version "7.1.3" + resolved "https://registry.npmjs.org/minio/-/minio-7.1.3.tgz" + integrity sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA== + dependencies: + async "^3.2.4" + block-stream2 "^2.1.0" + browser-or-node "^2.1.1" + buffer-crc32 "^0.2.13" + fast-xml-parser "^4.2.2" + ipaddr.js "^2.0.1" + json-stream "^1.0.0" + lodash "^4.17.21" + mime-types "^2.1.35" + query-string "^7.1.3" + through2 "^4.0.2" + web-encoding "^1.1.5" + xml "^1.0.1" + xml2js "^0.5.0" + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mock-property@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/mock-property/-/mock-property-1.0.3.tgz" + integrity sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ== + dependencies: + define-data-property "^1.1.1" + functions-have-names "^1.2.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + hasown "^2.0.0" + isarray "^2.0.5" + +mongodb-connection-string-url@^2.6.0: + version "2.6.0" + resolved "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz" + integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== + dependencies: + "@types/whatwg-url" "^8.2.1" + whatwg-url "^11.0.0" + +mongodb-connection-string-url@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz" + integrity sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ== + dependencies: + "@types/whatwg-url" "^11.0.2" + whatwg-url "^13.0.0" + +mongodb-memory-server-core@9.2.0: + version "9.2.0" + resolved "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-9.2.0.tgz" + integrity sha512-9SWZEy+dGj5Fvm5RY/mtqHZKS64o4heDwReD4SsfR7+uNgtYo+JN41kPCcJeIH3aJf04j25i5Dia2s52KmsMPA== + dependencies: + async-mutex "^0.4.0" + camelcase "^6.3.0" + debug "^4.3.4" + find-cache-dir "^3.3.2" + follow-redirects "^1.15.6" + https-proxy-agent "^7.0.4" + mongodb "^5.9.1" + new-find-package-json "^2.0.0" + semver "^7.6.0" + tar-stream "^3.1.7" + tslib "^2.6.2" + yauzl "^3.1.3" + +mongodb-memory-server@9.2.0: + version "9.2.0" + resolved "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-9.2.0.tgz" + integrity sha512-w/usKdYtby5EALERxmA0+et+D0brP0InH3a26shNDgGefXA61hgl6U0P3IfwqZlEGRZdkbZig3n57AHZgDiwvg== + dependencies: + mongodb-memory-server-core "9.2.0" + tslib "^2.6.2" + +mongodb@6.5.0: + version "6.5.0" + resolved "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz" + integrity sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA== + dependencies: + "@mongodb-js/saslprep" "^1.1.5" + bson "^6.4.0" + mongodb-connection-string-url "^3.0.0" + +mongodb@^5.9.1: + version "5.9.2" + resolved "https://registry.npmjs.org/mongodb/-/mongodb-5.9.2.tgz" + integrity sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ== + dependencies: + bson "^5.5.0" + mongodb-connection-string-url "^2.6.0" + socks "^2.7.1" + optionalDependencies: + "@mongodb-js/saslprep" "^1.1.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +needle@^3.1.0: + version "3.3.1" + resolved "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz" + integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== + dependencies: + iconv-lite "^0.6.3" + sax "^1.2.4" + +negotiator@0.6.3, negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +new-find-package-json@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/new-find-package-json/-/new-find-package-json-2.0.0.tgz" + integrity sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew== + dependencies: + debug "^4.3.4" + +nice-napi@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nice-napi/-/nice-napi-1.0.2.tgz#dc0ab5a1eac20ce548802fc5686eaa6bc654927b" + integrity sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA== + dependencies: + node-addon-api "^3.0.0" + node-gyp-build "^4.2.2" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-abort-controller@^3.0.1, node-abort-controller@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp-build@^4.2.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd" + integrity sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-machine-id@1.1.12: + version "1.1.12" + resolved "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz" + integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +nodemailer@6.9.13: + version "6.9.13" + resolved "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.13.tgz" + integrity sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-package-arg@11.0.1: + version "11.0.1" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz" + integrity sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ== + dependencies: + hosted-git-info "^7.0.0" + proc-log "^3.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.2: + version "2.2.9" + resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz" + integrity sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg== + +nx@18.3.3: + version "18.3.3" + resolved "https://registry.npmjs.org/nx/-/nx-18.3.3.tgz" + integrity sha512-GqC5ANfTWV6SFbgquZwuRMI2Z2nO0c0Yx4JzM3x32aJOgXsmRml3WcV0a5648bIXSen34gylHYl2EHaxVWkzNQ== + dependencies: + "@nrwl/tao" "18.3.3" + "@yarnpkg/lockfile" "^1.1.0" + "@yarnpkg/parsers" "3.0.0-rc.46" + "@zkochan/js-yaml" "0.0.6" + axios "^1.6.0" + chalk "^4.1.0" + cli-cursor "3.1.0" + cli-spinners "2.6.1" + cliui "^8.0.1" + dotenv "~16.3.1" + dotenv-expand "~10.0.0" + enquirer "~2.3.6" + figures "3.2.0" + flat "^5.0.2" + fs-extra "^11.1.0" + ignore "^5.0.4" + jest-diff "^29.4.1" + js-yaml "4.1.0" + jsonc-parser "3.2.0" + lines-and-columns "~2.0.3" + minimatch "9.0.3" + node-machine-id "1.1.12" + npm-run-path "^4.0.1" + open "^8.4.0" + ora "5.3.0" + semver "^7.5.3" + string-width "^4.2.3" + strong-log-transformer "^2.1.0" + tar-stream "~2.2.0" + tmp "~0.2.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + yargs "^17.6.2" + yargs-parser "21.1.1" + optionalDependencies: + "@nx/nx-darwin-arm64" "18.3.3" + "@nx/nx-darwin-x64" "18.3.3" + "@nx/nx-freebsd-x64" "18.3.3" + "@nx/nx-linux-arm-gnueabihf" "18.3.3" + "@nx/nx-linux-arm64-gnu" "18.3.3" + "@nx/nx-linux-arm64-musl" "18.3.3" + "@nx/nx-linux-x64-gnu" "18.3.3" + "@nx/nx-linux-x64-musl" "18.3.3" + "@nx/nx-win32-arm64-msvc" "18.3.3" + "@nx/nx-win32-x64-msvc" "18.3.3" + +object-assign@^4, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-inspect@~1.12.3: + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.7: + version "1.1.8" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +object.fromentries@^2.0.7: + version "2.0.8" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.hasown@^1.1.3: + version "1.1.4" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz" + integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== + dependencies: + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.values@^1.1.6, object.values@^1.1.7: + version "1.2.0" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.1, on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +open@^8.0.9, open@^8.4.0: + version "8.4.2" + resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optimism@^0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/optimism/-/optimism-0.18.0.tgz" + integrity sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ== + dependencies: + "@wry/caches" "^1.0.0" + "@wry/context" "^0.7.0" + "@wry/trie" "^0.4.3" + tslib "^2.3.0" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ora@5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz" + integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== + dependencies: + bl "^4.0.3" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + log-symbols "^4.0.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-filter-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz" + integrity sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg== + dependencies: + arch "^2.1.0" + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +parse5@^7.0.0, parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +passport-strategy@1.x.x: + version "1.0.0" + resolved "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz" + integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA== + +passport@0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz" + integrity sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ== + dependencies: + passport-strategy "1.x.x" + pause "0.0.1" + utils-merge "^1.0.1" + +path-browserify@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pause@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" + integrity sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg== + +pdfast@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/pdfast/-/pdfast-0.2.0.tgz" + integrity sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA== + +peek-readable@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz" + integrity sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + +pify@^2.2.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +piscina@^4.3.0: + version "4.4.0" + resolved "https://registry.npmjs.org/piscina/-/piscina-4.4.0.tgz" + integrity sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg== + optionalDependencies: + nice-napi "^1.0.2" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +portfinder@^1.0.28: + version "1.0.32" + resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +postcss-calc@^9.0.1: + version "9.0.1" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz" + integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== + dependencies: + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + +postcss-colormin@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz" + integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + colord "^2.9.3" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz" + integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz" + integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== + +postcss-discard-duplicates@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz" + integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== + +postcss-discard-empty@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz" + integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== + +postcss-discard-overridden@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz" + integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== + +postcss-import@~14.1.0: + version "14.1.0" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz" + integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-loader@^6.1.1: + version "6.2.1" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-merge-longhand@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz" + integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^6.1.1" + +postcss-merge-rules@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz" + integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + cssnano-utils "^4.0.2" + postcss-selector-parser "^6.0.16" + +postcss-minify-font-values@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz" + integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz" + integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== + dependencies: + colord "^2.9.3" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz" + integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== + dependencies: + browserslist "^4.23.0" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz" + integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== + +postcss-modules-local-by-default@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz" + integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz" + integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz" + integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== + +postcss-normalize-display-values@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz" + integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz" + integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz" + integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz" + integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz" + integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz" + integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz" + integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz" + integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz" + integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== + dependencies: + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz" + integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz" + integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.16" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz" + integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz" + integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^3.2.0" + +postcss-unique-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz" + integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.14, postcss@^8.4.24, postcss@^8.4.33: + version "8.4.38" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.2.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^3.2.5: + version "3.2.5" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + +pretty-format@^27.0.2, pretty-format@^29, pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +proc-log@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz" + integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.5.8, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pure-rand@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== + +qrcode.react@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz" + integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== + +qrcode@1.5.3: + version "1.5.3" + resolved "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +qs@^6.11.0, qs@^6.11.2, qs@^6.4.0: + version "6.12.1" + resolved "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz" + integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ== + dependencies: + side-channel "^1.0.6" + +query-string@^7.1.3: + version "7.1.3" + resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +queue-tick@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz" + integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +quickselect@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz" + integrity sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw== + +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz" + integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rbush@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz" + integrity sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w== + dependencies: + quickselect "^2.0.0" + +rc-cascader@~3.24.1: + version "3.24.1" + resolved "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.24.1.tgz" + integrity sha512-RgKuYgEGPx+6wCgguYFHjMsDZdCyydZd58YJRCfYQ8FObqLnZW0x/vUcEyPjhWIj1EhjV958IcR+NFPDbbj9kg== + dependencies: + "@babel/runtime" "^7.12.5" + array-tree-filter "^2.1.0" + classnames "^2.3.1" + rc-select "~14.13.0" + rc-tree "~5.8.1" + rc-util "^5.37.0" + +rc-checkbox@~3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.2.0.tgz" + integrity sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.3.2" + rc-util "^5.25.2" + +rc-collapse@~3.7.3: + version "3.7.3" + resolved "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.3.tgz" + integrity sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.3.4" + rc-util "^5.27.0" + +rc-dialog@~9.4.0: + version "9.4.0" + resolved "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.4.0.tgz" + integrity sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/portal" "^1.0.0-8" + classnames "^2.2.6" + rc-motion "^2.3.0" + rc-util "^5.21.0" + +rc-drawer@~7.1.0: + version "7.1.0" + resolved "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.1.0.tgz" + integrity sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w== + dependencies: + "@babel/runtime" "^7.23.9" + "@rc-component/portal" "^1.1.1" + classnames "^2.2.6" + rc-motion "^2.6.1" + rc-util "^5.38.1" + +rc-dropdown@~4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz" + integrity sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng== + dependencies: + "@babel/runtime" "^7.18.3" + "@rc-component/trigger" "^2.0.0" + classnames "^2.2.6" + rc-util "^5.17.0" + +rc-field-form@~1.44.0: + version "1.44.0" + resolved "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.44.0.tgz" + integrity sha512-el7w87fyDUsca63Y/s8qJcq9kNkf/J5h+iTdqG5WsSHLH0e6Usl7QuYSmSVzJMgtp40mOVZIY/W/QP9zwrp1FA== + dependencies: + "@babel/runtime" "^7.18.0" + async-validator "^4.1.0" + rc-util "^5.32.2" + +rc-image@~7.6.0: + version "7.6.0" + resolved "https://registry.npmjs.org/rc-image/-/rc-image-7.6.0.tgz" + integrity sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg== + dependencies: + "@babel/runtime" "^7.11.2" + "@rc-component/portal" "^1.0.2" + classnames "^2.2.6" + rc-dialog "~9.4.0" + rc-motion "^2.6.2" + rc-util "^5.34.1" + +rc-input-number@~9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.0.0.tgz" + integrity sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/mini-decimal" "^1.0.1" + classnames "^2.2.5" + rc-input "~1.4.0" + rc-util "^5.28.0" + +rc-input@~1.4.0, rc-input@~1.4.5: + version "1.4.5" + resolved "https://registry.npmjs.org/rc-input/-/rc-input-1.4.5.tgz" + integrity sha512-AjzykhwnwYTRSwwgCu70CGKBIAv6bP2nqnFptnNTprph/TF1BAs0Qxl91mie/BR6n827WIJB6ZjaRf9iiMwAfw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.18.1" + +rc-mentions@~2.11.1: + version "2.11.1" + resolved "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.11.1.tgz" + integrity sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw== + dependencies: + "@babel/runtime" "^7.22.5" + "@rc-component/trigger" "^2.0.0" + classnames "^2.2.6" + rc-input "~1.4.0" + rc-menu "~9.13.0" + rc-textarea "~1.6.1" + rc-util "^5.34.1" + +rc-menu@~9.13.0: + version "9.13.0" + resolved "https://registry.npmjs.org/rc-menu/-/rc-menu-9.13.0.tgz" + integrity sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^2.0.0" + classnames "2.x" + rc-motion "^2.4.3" + rc-overflow "^1.3.1" + rc-util "^5.27.0" + +rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0: + version "2.9.0" + resolved "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz" + integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.21.0" + +rc-notification@~5.4.0: + version "5.4.0" + resolved "https://registry.npmjs.org/rc-notification/-/rc-notification-5.4.0.tgz" + integrity sha512-li19y9RoYJciF3WRFvD+DvWS70jdL8Fr+Gfb/OshK+iY6iTkwzoigmSIp76/kWh5tF5i/i9im12X3nsF85GYdA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.9.0" + rc-util "^5.20.1" + +rc-overflow@^1.3.1, rc-overflow@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz" + integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.37.0" + +rc-pagination@~4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.4.tgz" + integrity sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.3.2" + rc-util "^5.38.0" + +rc-picker@~4.4.1: + version "4.4.1" + resolved "https://registry.npmjs.org/rc-picker/-/rc-picker-4.4.1.tgz" + integrity sha512-9/1pV12lMmUZtAbH0Sv/RIkeTdw/HSZs5G4GZFQ9UECLkCjOqhr9UF5Mf8dPuQ3xmw23SbXzOgDquN6eLFmZDw== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^2.0.0" + classnames "^2.2.1" + rc-overflow "^1.3.2" + rc-resize-observer "^1.4.0" + rc-util "^5.38.1" + +rc-progress@~4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz" + integrity sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-util "^5.16.1" + +rc-rate@~2.12.0: + version "2.12.0" + resolved "https://registry.npmjs.org/rc-rate/-/rc-rate-2.12.0.tgz" + integrity sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.0.1" + +rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz" + integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== + dependencies: + "@babel/runtime" "^7.20.7" + classnames "^2.2.1" + rc-util "^5.38.0" + resize-observer-polyfill "^1.5.1" + +rc-segmented@~2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz" + integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-motion "^2.4.4" + rc-util "^5.17.0" + +rc-select@~14.13.0, rc-select@~14.13.1: + version "14.13.1" + resolved "https://registry.npmjs.org/rc-select/-/rc-select-14.13.1.tgz" + integrity sha512-A1VHqjIOemxLnUGRxLGVqXBs8jGcJemI5NXxOJwU5PQc1wigAu1T4PRLgMkTPDOz8gPhlY9dwsPzMgakMc2QjQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/trigger" "^2.1.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-overflow "^1.3.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.2" + +rc-slider@~10.6.1: + version "10.6.2" + resolved "https://registry.npmjs.org/rc-slider/-/rc-slider-10.6.2.tgz" + integrity sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.36.0" + +rc-steps@~6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz" + integrity sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g== + dependencies: + "@babel/runtime" "^7.16.7" + classnames "^2.2.3" + rc-util "^5.16.1" + +rc-switch@~4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz" + integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg== + dependencies: + "@babel/runtime" "^7.21.0" + classnames "^2.2.1" + rc-util "^5.30.0" + +rc-table@~7.45.4: + version "7.45.4" + resolved "https://registry.npmjs.org/rc-table/-/rc-table-7.45.4.tgz" + integrity sha512-6aSbGrnkN2GLSt3s1x+wa4f3j/VEgg1uKPpaLY5qHH1/nFyreS2V7DFJ0TfUb18allf2FQl7oVYEjTixlBXEyQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/context" "^1.4.0" + classnames "^2.2.5" + rc-resize-observer "^1.1.0" + rc-util "^5.37.0" + rc-virtual-list "^3.11.1" + +rc-tabs@~14.1.1: + version "14.1.1" + resolved "https://registry.npmjs.org/rc-tabs/-/rc-tabs-14.1.1.tgz" + integrity sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "2.x" + rc-dropdown "~4.2.0" + rc-menu "~9.13.0" + rc-motion "^2.6.2" + rc-resize-observer "^1.0.0" + rc-util "^5.34.1" + +rc-textarea@~1.6.1, rc-textarea@~1.6.3: + version "1.6.3" + resolved "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.6.3.tgz" + integrity sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-input "~1.4.0" + rc-resize-observer "^1.0.0" + rc-util "^5.27.0" + +rc-tooltip@~6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.0.tgz" + integrity sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw== + dependencies: + "@babel/runtime" "^7.11.2" + "@rc-component/trigger" "^2.0.0" + classnames "^2.3.1" + +rc-tree-select@~5.19.0: + version "5.19.0" + resolved "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.19.0.tgz" + integrity sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-select "~14.13.0" + rc-tree "~5.8.1" + rc-util "^5.16.1" + +rc-tree@~5.8.1, rc-tree@~5.8.5: + version "5.8.5" + resolved "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.5.tgz" + integrity sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.1" + +rc-upload@~4.5.2: + version "4.5.2" + resolved "https://registry.npmjs.org/rc-upload/-/rc-upload-4.5.2.tgz" + integrity sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.5" + rc-util "^5.2.0" + +rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1, rc-util@^5.39.1: + version "5.39.1" + resolved "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz" + integrity sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + +rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: + version "3.11.5" + resolved "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.5.tgz" + integrity sha512-iZRW99m5jAxtwKNPLwUrPryurcnKpXBdTyhuBp6ythf7kg/otKO5cCiIvL55GQwU0QGSlouQS0tnkciRMJUwRQ== + dependencies: + "@babel/runtime" "^7.20.0" + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.36.0" + +react-csv@2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz" + integrity sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw== + +react-dom@18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-dropzone@14.2.3: + version "14.2.3" + resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz" + integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== + dependencies: + attr-accept "^2.2.2" + file-selector "^0.6.0" + prop-types "^15.8.1" + +react-fast-compare@^3.2.2: + version "3.2.2" + resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-helmet-async@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz" + integrity sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ== + dependencies: + invariant "^2.2.4" + react-fast-compare "^3.2.2" + shallowequal "^1.1.0" + +react-highlight-words@0.20.0: + version "0.20.0" + resolved "https://registry.npmjs.org/react-highlight-words/-/react-highlight-words-0.20.0.tgz" + integrity sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA== + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.0.0, react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +react-router-dom@6.22.3: + version "6.22.3" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz" + integrity sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw== + dependencies: + "@remix-run/router" "1.15.3" + react-router "6.22.3" + +react-router@6.22.3: + version "6.22.3" + resolved "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz" + integrity sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ== + dependencies: + "@remix-run/router" "1.15.3" + +react@18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-web-to-node-stream@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz" + integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== + dependencies: + readable-stream "^3.6.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +reflect.getprototypeof@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz" + integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@0.14.1, regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +rehackt@0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/rehackt/-/rehackt-0.0.6.tgz" + integrity sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw== + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@5.0.0, resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-global@1.0.0, resolve-global@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz" + integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== + dependencies: + global-dirs "^0.1.1" + +resolve.exports@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.6: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +response-iterator@^0.2.6: + version "0.2.6" + resolved "https://registry.npmjs.org/response-iterator/-/response-iterator-0.2.6.tgz" + integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@0.13.1, retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" + integrity sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg== + dependencies: + align-text "^0.1.1" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup@^0.25.8: + version "0.25.8" + resolved "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz" + integrity sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA== + dependencies: + chalk "^1.1.1" + minimist "^1.2.0" + source-map-support "^0.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rw@1, rw@^1.3.2: + version "1.3.3" + resolved "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== + +rxjs@^7.8.0: + version "7.8.1" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-filename@1.6.3: + version "1.6.3" + resolved "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +sass-loader@^12.2.0: + version "12.6.0" + resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sass@^1.42.1: + version "1.75.0" + resolved "https://registry.npmjs.org/sass/-/sass-1.75.0.tgz" + integrity sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + +sax@>=0.6.0, sax@^1.2.4: + version "1.3.0" + resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0, schema-utils@^4.0.1: + version "4.2.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +scroll-into-view-if-needed@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz" + integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ== + dependencies: + compute-scroll-into-view "^3.0.2" + +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz" + integrity sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw== + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +semver-regex@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz" + integrity sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw== + +semver-truncate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/semver-truncate/-/semver-truncate-3.0.0.tgz" + integrity sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg== + dependencies: + semver "^7.3.5" + +"semver@2 || 3 || 4 || 5", semver@^5.6.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@7.6.0, semver@^7.0.0, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1, set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.11: + version "2.4.11" + resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +shelljs@0.8.5: + version "0.8.5" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4, side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@3.0.0, slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +slice-ansi@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz" + integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== + dependencies: + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +socks@^2.7.1: + version "2.8.3" + resolved "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +sort-keys-length@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz" + integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== + dependencies: + sort-keys "^1.0.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + dependencies: + is-plain-obj "^1.0.0" + +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map-loader@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz" + integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== + dependencies: + abab "^2.0.5" + iconv-lite "^0.6.3" + source-map-js "^1.0.1" + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@0.5.19: + version "0.5.19" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.3.2: + version "0.3.3" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz" + integrity sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg== + dependencies: + source-map "0.1.32" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.1.32: + version "0.1.32" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz" + integrity sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ== + dependencies: + amdefine ">=0.0.4" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3, source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +sparse-bitfield@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz" + integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== + dependencies: + memory-pager "^1.0.2" + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.17" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stream-browserify@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-http@3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz" + integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.4" + readable-stream "^3.6.0" + xtend "^4.0.2" + +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + +streamx@^2.15.0: + version "2.16.1" + resolved "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz" + integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== + dependencies: + fast-fifo "^1.1.0" + queue-tick "^1.0.1" + optionalDependencies: + bare-events "^2.2.0" + +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + +string-argv@0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz" + integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz" + integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + +string.prototype.matchall@^4.0.10: + version "4.0.11" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" + +string.prototype.trim@^1.2.9, string.prototype.trim@~1.2.8: + version "1.2.9" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-outer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-outer/-/strip-outer-2.0.0.tgz" + integrity sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg== + +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + +strong-log-transformer@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz" + integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + +strtok3@^7.0.0-alpha.9: + version "7.0.0" + resolved "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz" + integrity sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^5.0.0" + +style-loader@^3.3.0: + version "3.3.4" + resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz" + integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== + +stylehacks@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz" + integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== + dependencies: + browserslist "^4.23.0" + postcss-selector-parser "^6.0.16" + +stylis@^4.0.13: + version "4.3.1" + resolved "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz" + integrity sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ== + +stylus-loader@^7.1.0: + version "7.1.3" + resolved "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.1.3.tgz" + integrity sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw== + dependencies: + fast-glob "^3.2.12" + normalize-path "^3.0.0" + +stylus@^0.59.0: + version "0.59.0" + resolved "https://registry.npmjs.org/stylus/-/stylus-0.59.0.tgz" + integrity sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg== + dependencies: + "@adobe/css-tools" "^4.0.1" + debug "^4.3.2" + glob "^7.1.6" + sax "~1.2.4" + source-map "^0.7.3" + +superagent@^8.1.2: + version "8.1.2" + resolved "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz" + integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA== + dependencies: + component-emitter "^1.3.0" + cookiejar "^2.1.4" + debug "^4.3.4" + fast-safe-stringify "^2.1.1" + form-data "^4.0.0" + formidable "^2.1.2" + methods "^1.1.2" + mime "2.6.0" + qs "^6.11.0" + semver "^7.3.8" + +supertest@6.3.4: + version "6.3.4" + resolved "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz" + integrity sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw== + dependencies: + methods "^1.1.2" + superagent "^8.1.2" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svg-path-parser@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/svg-path-parser/-/svg-path-parser-1.1.0.tgz" + integrity sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A== + +svgo@^3.0.2, svgo@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz" + integrity sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.3.1" + css-what "^6.1.0" + csso "^5.0.5" + picocolors "^1.0.0" + +swc-loader@0.2.6: + version "0.2.6" + resolved "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz" + integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg== + dependencies: + "@swc/counter" "^0.1.3" + +symbol-observable@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +synckit@^0.6.0: + version "0.6.2" + resolved "https://registry.npmjs.org/synckit/-/synckit-0.6.2.tgz" + integrity sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA== + dependencies: + tslib "^2.3.1" + +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tape@^4.5.1: + version "4.17.0" + resolved "https://registry.npmjs.org/tape/-/tape-4.17.0.tgz" + integrity sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw== + dependencies: + "@ljharb/resumer" "~0.0.1" + "@ljharb/through" "~2.3.9" + call-bind "~1.0.2" + deep-equal "~1.1.1" + defined "~1.0.1" + dotignore "~0.1.2" + for-each "~0.3.3" + glob "~7.2.3" + has "~1.0.3" + inherits "~2.0.4" + is-regex "~1.1.4" + minimist "~1.2.8" + mock-property "~1.0.0" + object-inspect "~1.12.3" + resolve "~1.22.6" + string.prototype.trim "~1.2.8" + +tar-stream@^3.1.7: + version "3.1.7" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz" + integrity sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== + dependencies: + b4a "^1.6.4" + fast-fifo "^1.2.0" + streamx "^2.15.0" + +tar-stream@~2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@^6.1.11: + version "6.2.1" + resolved "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.3: + version "5.3.10" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.30.4" + resolved "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz" + integrity sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-extensions@^2.0.0: + version "2.4.0" + resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz" + integrity sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throttle-debounce@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz" + integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg== + +through2@^4.0.0, through2@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +"through@>=2.2.7 <3", through@^2.3.4: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tmp@0.2.3, tmp@~0.2.1: + version "0.2.3" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +token-types@^5.0.0-alpha.2: + version "5.0.1" + resolved "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz" + integrity sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + +tough-cookie@^4.1.2: + version "4.1.3" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + +tr46@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz" + integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== + dependencies: + punycode "^2.3.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +trim-repeated@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/trim-repeated/-/trim-repeated-2.0.0.tgz" + integrity sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg== + dependencies: + escape-string-regexp "^5.0.0" + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== + dependencies: + utf8-byte-length "^1.0.1" + +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + +ts-essentials@9.4.2: + version "9.4.2" + resolved "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.4.2.tgz" + integrity sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ== + +ts-invariant@^0.10.3: + version "0.10.3" + resolved "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz" + integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== + dependencies: + tslib "^2.1.0" + +ts-jest@29.1.2: + version "29.1.2" + resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz" + integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g== + dependencies: + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" + lodash.memoize "4.x" + make-error "1.x" + semver "^7.5.3" + yargs-parser "^21.0.1" + +ts-loader@^9.3.1: + version "9.5.1" + resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz" + integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + source-map "^0.7.4" + +ts-node@10.9.1: + version "10.9.1" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +ts-node@10.9.2: + version "10.9.2" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tsconfig-paths-webpack-plugin@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz" + integrity sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.7.0" + tsconfig-paths "^4.0.0" + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tsconfig-paths@^4.0.0, tsconfig-paths@^4.1.2: + version "4.2.0" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.3, tslib@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typed-assert@^1.0.8: + version "1.0.9" + resolved "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz" + integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== + +typescript@5.4.5, typescript@~5.4.2: + version "5.4.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== + +uglify-js@^2.6.2: + version "2.8.29" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz" + integrity sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w== + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" + integrity sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q== + +uid-safe@~2.1.5: + version "2.1.5" + resolved "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz" + integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== + dependencies: + random-bytes "~1.0.0" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +union@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/union/-/union-0.5.0.tgz" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@0.11.3: + version "0.11.3" + resolved "https://registry.npmjs.org/url/-/url-0.11.3.tgz" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== + dependencies: + punycode "^1.4.1" + qs "^6.11.2" + +utf8-byte-length@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz" + integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.3: + version "0.12.5" + resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +utils-merge@1.0.1, utils-merge@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@9.0.1, uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz" + integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== + dependencies: + builtins "^5.0.0" + +value-or-promise@^1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz" + integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +watchpack@^2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz" + integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.0, wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web-encoding@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz" + integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== + dependencies: + util "^0.12.3" + optionalDependencies: + "@zxing/text-encoding" "0.9.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +webpack-dev-middleware@^5.3.4: + version "5.3.4" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz" + integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.9.3: + version "4.15.2" + resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz" + integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.4" + ws "^8.13.0" + +webpack-merge@^5.10.0: + version "5.10.0" + resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-node-externals@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz" + integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== + +webpack-sources@^3.0.0, webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-subresource-integrity@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz" + integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== + dependencies: + typed-assert "^1.0.8" + +webpack@^5.80.0, webpack@^5.91.0: + version "5.91.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz" + integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.16.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + +whatwg-url@^13.0.0: + version "13.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz" + integrity sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig== + dependencies: + tr46 "^4.1.1" + webidl-conversions "^7.0.0" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-builtin-type@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz" + integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + dependencies: + function.prototype.name "^1.1.5" + has-tostringtag "^1.0.0" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +which-collection@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.15" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.2: + version "1.1.5" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" + integrity sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg== + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + integrity sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz" + integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^8.11.0, ws@^8.13.0: + version "8.16.0" + resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xml2js@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz" + integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xml@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz" + integrity sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw== + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@2.3.4: + version "2.3.4" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + +yaml@^1.10.0, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.0.0, yargs@^17.3.1, yargs@^17.6.2: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" + integrity sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A== + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yauzl@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz" + integrity sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw== + dependencies: + buffer-crc32 "~0.2.3" + pend "~1.2.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +zen-observable-ts@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz" + integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== + dependencies: + zen-observable "0.8.15" + +zen-observable@0.8.15: + version "0.8.15" + resolved "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== From 8b95256b2f65fafeccca0aab5423b08db60581c8 Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Wed, 1 May 2024 11:15:43 +0100 Subject: [PATCH 155/252] fix(type): fix interface and type def --- .husky/pre-commit | 6 +- package-lock.json | 24295 ---------------- package.json | 338 +- .../itmat-docker/config/config.sample.json | 7 +- .../itmat-interface/config/config.sample.json | 5 +- .../src/graphql/ApolloServerContext 2.ts | 3 - .../src/graphql/core/fieldCore.ts | 5 +- .../src/graphql/resolvers/context 2.ts | 11 - .../src/graphql/resolvers/fileResolvers.ts | 32 +- .../src/graphql/resolvers/pubkeyResolvers.ts | 4 +- .../src/graphql/resolvers/studyResolvers.ts | 16 +- .../src/graphql/resolvers/userResolvers.ts | 56 +- packages/itmat-interface/src/index.ts | 2 +- packages/itmat-interface/src/server/router.ts | 1 - .../src/utils/configManager.ts | 2 +- .../test/serverTests/log.test.ts | 2 - .../test/serverTests/study.test.ts | 92 +- packages/itmat-types/src/types/data.ts | 8 - packages/itmat-types/src/types/field.ts | 2 +- .../src/components/apolloClient.ts | 2 +- .../tabContent/analysis/analysisTab.tsx | 2 +- 21 files changed, 308 insertions(+), 24583 deletions(-) delete mode 100644 package-lock.json delete mode 100644 packages/itmat-interface/src/graphql/ApolloServerContext 2.ts delete mode 100644 packages/itmat-interface/src/graphql/resolvers/context 2.ts diff --git a/.husky/pre-commit b/.husky/pre-commit index 610c2a54f..31eb172ea 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ -#!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" -npm test +yarn run lint-staged \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 36ffb20d4..000000000 --- a/package-lock.json +++ /dev/null @@ -1,24295 +0,0 @@ -{ - "name": "itmat-broker", - "version": "2.5.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "itmat-broker", - "version": "2.5.1", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@ant-design/icons": "5.3.6", - "@ant-design/plots": "2.2.0", - "@apollo/client": "3.9.11", - "@apollo/server": "4.10.4", - "@commitlint/config-conventional": "^18.6.2", - "@commitlint/config-nx-scopes": "^18.6.1", - "@ideafast/idgen": "0.1.1", - "@swc/helpers": "0.5.10", - "antd": "5.16.4", - "apollo-upload-client": "18.0.1", - "axios": "1.6.8", - "bcrypt": "5.1.1", - "commitlint": "^18.6.1", - "connect-mongo": "5.1.0", - "connect-timeout": "1.9.0", - "core-js": "^3.37.0", - "cors": "2.8.5", - "csv-parse": "5.5.5", - "dayjs": "1.11.10", - "deepmerge": "4.3.1", - "esbuild": "^0.20.2", - "export-from-json": "1.7.4", - "express": "^4.19.2", - "express-rate-limit": "7.2.0", - "express-session": "1.18.0", - "fs-extra": "11.2.0", - "graphql": "16.8.1", - "graphql-scalars": "1.23.0", - "graphql-subscriptions": "2.0.0", - "graphql-tag": "2.12.6", - "graphql-type-json": "0.3.2", - "graphql-upload-minimal": "1.6.1", - "graphql-ws": "5.16.0", - "hi-base32": "0.5.1", - "http-proxy-middleware": "3.0.0", - "https-browserify": "1.0.0", - "JSONStream": "1.3.5", - "jsonwebtoken": "9.0.2", - "jstat": "1.9.6", - "lint-staged": "15.2.2", - "minio": "7.1.3", - "mongodb": "6.5.0", - "nodemailer": "6.9.13", - "passport": "0.7.0", - "path-browserify": "1.0.1", - "qrcode": "1.5.3", - "react": "18.2.0", - "react-csv": "2.2.2", - "react-dom": "18.2.0", - "react-dropzone": "14.2.3", - "react-helmet-async": "2.0.4", - "react-highlight-words": "0.20.0", - "react-router-dom": "6.22.3", - "regenerator-runtime": "0.14.1", - "sanitize-filename": "1.6.3", - "stream-browserify": "3.0.0", - "stream-http": "3.2.0", - "tmp": "0.2.3", - "tslib": "^2.6.2", - "url": "0.11.3", - "uuid": "9.0.1" - }, - "devDependencies": { - "@babel/core": "^7.24.4", - "@babel/preset-react": "^7.24.1", - "@nx/esbuild": "18.3.3", - "@nx/eslint": "18.3.3", - "@nx/eslint-plugin": "18.3.3", - "@nx/express": "18.3.3", - "@nx/jest": "18.3.3", - "@nx/js": "18.3.3", - "@nx/node": "18.3.3", - "@nx/react": "18.3.3", - "@nx/web": "18.3.3", - "@nx/webpack": "18.3.3", - "@nx/workspace": "18.3.3", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", - "@svgr/webpack": "8.1.0", - "@swc/cli": "0.3.12", - "@swc/core": "1.4.16", - "@swc/jest": "0.2.36", - "@testing-library/react": "15.0.2", - "@types/bcrypt": "5.0.2", - "@types/connect-timeout": "0.0.39", - "@types/cors": "2.8.17", - "@types/express": "4.17.21", - "@types/express-session": "1.18.0", - "@types/fs-extra": "11.0.4", - "@types/jest": "29.5.12", - "@types/json2csv": "5.0.7", - "@types/jsonwebtoken": "9.0.6", - "@types/node": "^20.12.7", - "@types/nodemailer": "6.4.14", - "@types/passport": "1.0.16", - "@types/qrcode": "1.5.5", - "@types/react": "18.2.79", - "@types/react-dom": "18.2.25", - "@types/react-highlight-words": "0.16.7", - "@types/supertest": "6.0.2", - "@types/tmp": "0.2.6", - "@types/uuid": "9.0.8", - "@types/webpack-env": "1.18.4", - "@typescript-eslint/eslint-plugin": "7.7.0", - "@typescript-eslint/parser": "7.7.0", - "eslint": "8.57.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsonc": "2.15.1", - "eslint-plugin-jsx-a11y": "6.8.0", - "eslint-plugin-react": "7.34.1", - "eslint-plugin-react-hooks": "4.6.0", - "get-port": "7.1.0", - "git-rev-sync": "3.0.2", - "husky": "^9.0.11", - "jest": "29.7.0", - "jest-environment-jsdom": "29.7.0", - "mongodb-memory-server": "9.2.0", - "nx": "18.3.3", - "prettier": "^3.2.5", - "react-refresh": "^0.14.0", - "supertest": "6.3.4", - "swc-loader": "0.2.6", - "ts-essentials": "9.4.2", - "ts-jest": "29.1.2", - "ts-node": "10.9.2", - "typescript": "5.4.5", - "url-loader": "^4.1.1", - "webpack": "^5.91.0", - "webpack-merge": "^5.10.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", - "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@ant-design/charts-util": { - "version": "0.0.1-alpha.5", - "resolved": "https://registry.npmjs.org/@ant-design/charts-util/-/charts-util-0.0.1-alpha.5.tgz", - "integrity": "sha512-EwTUjRPhU2CUyI2e11pAi9aOQg9oEWdFEWxv1f4j+Ta4doYXd1yTl94Zy9JvigiEj4qv8dPGl0PUd3r+qMVrAg==", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8.4", - "react-dom": ">=16.8.4" - } - }, - "node_modules/@ant-design/colors": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.2.tgz", - "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", - "license": "MIT", - "dependencies": { - "@ctrl/tinycolor": "^3.6.1" - } - }, - "node_modules/@ant-design/cssinjs": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.20.0.tgz", - "integrity": "sha512-uG3iWzJxgNkADdZmc6W0Ci3iQAUOvLMcM8SnnmWq3r6JeocACft4ChnY/YWvI2Y+rG/68QBla/O+udke1yH3vg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "@emotion/hash": "^0.8.0", - "@emotion/unitless": "^0.7.5", - "classnames": "^2.3.1", - "csstype": "^3.1.3", - "rc-util": "^5.35.0", - "stylis": "^4.0.13" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/@ant-design/icons": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.3.6.tgz", - "integrity": "sha512-JeWsgNjvkTTC73YDPgWOgdScRku/iHN9JU0qk39OSEmJSCiRghQMLlxGTCY5ovbRRoXjxHXnUKgQEgBDnQfKmA==", - "license": "MIT", - "dependencies": { - "@ant-design/colors": "^7.0.0", - "@ant-design/icons-svg": "^4.4.0", - "@babel/runtime": "^7.11.2", - "classnames": "^2.2.6", - "rc-util": "^5.31.1" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/@ant-design/icons-svg": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", - "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==", - "license": "MIT" - }, - "node_modules/@ant-design/plots": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ant-design/plots/-/plots-2.2.0.tgz", - "integrity": "sha512-tCsOyPwxQ8xr5wMOWrFO3CEgdboXxMzMPrydZ7szXULi8LzztO9HHrg5WClwjAr9Zgfit0fHjmPd1FkIBP4k7A==", - "license": "MIT", - "dependencies": { - "@ant-design/charts-util": "0.0.1-alpha.5", - "@antv/event-emitter": "^0.1.3", - "@antv/g": "^6.0.0", - "@antv/g2": "^5.1.18", - "@antv/g2-extension-plot": "^0.2.0" - }, - "peerDependencies": { - "lodash-es": "^4.17.21", - "react": ">=16.8.4", - "react-dom": ">=16.8.4" - } - }, - "node_modules/@ant-design/react-slick": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", - "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.4", - "classnames": "^2.2.5", - "json2mq": "^0.2.0", - "resize-observer-polyfill": "^1.5.1", - "throttle-debounce": "^5.0.0" - }, - "peerDependencies": { - "react": ">=16.9.0" - } - }, - "node_modules/@antv/component": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@antv/component/-/component-2.0.0.tgz", - "integrity": "sha512-wl1pmqLIW/Zt9p7twMcAlvowHU81iV4bb5XWS38DL7gimSONHRh5C/uYKCXKB1KtHAH5d25YHESoGMBc0L3r+w==", - "license": "MIT", - "dependencies": { - "@antv/g": "^6.0.0", - "@antv/scale": "^0.4.3", - "@antv/util": "^3.3.5", - "svg-path-parser": "^1.1.0" - } - }, - "node_modules/@antv/coord": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/@antv/coord/-/coord-0.4.7.tgz", - "integrity": "sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==", - "license": "MIT", - "dependencies": { - "@antv/scale": "^0.4.12", - "@antv/util": "^2.0.13", - "gl-matrix": "^3.4.3" - } - }, - "node_modules/@antv/coord/node_modules/@antv/util": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", - "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", - "license": "ISC", - "dependencies": { - "csstype": "^3.0.8", - "tslib": "^2.0.3" - } - }, - "node_modules/@antv/event-emitter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@antv/event-emitter/-/event-emitter-0.1.3.tgz", - "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==", - "license": "MIT" - }, - "node_modules/@antv/g": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@antv/g/-/g-6.0.2.tgz", - "integrity": "sha512-ZCpxUtU4JU1PIh2bDUlcnqLd8zJ2bOdx4EHYYTgUfMwu/hL2p/OYzg26A2qj91FL00JuZNEXVZdKAy5tm8jzmw==", - "license": "MIT", - "dependencies": { - "@antv/g-camera-api": "2.0.1", - "@antv/g-dom-mutation-observer-api": "2.0.1", - "@antv/g-lite": "2.0.1", - "@antv/g-web-animations-api": "2.0.2" - } - }, - "node_modules/@antv/g-camera-api": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-camera-api/-/g-camera-api-2.0.1.tgz", - "integrity": "sha512-TQuX7heO9Dk1bxBvk2Byk42QlHFimpPbI8LdrKQ25RrwTca7+94lZEbWXaN7J58yi4FQQDBiWZsNkbFK5wP37g==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/util": "^3.3.5", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-canvas": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-canvas/-/g-canvas-2.0.1.tgz", - "integrity": "sha512-I9Tc8csfvQ84tq14PbqzxuxybWoxK79m27eyOZIZH6k5QQucMyl7rk8ctjh2+YF/QYrXJeL2OMzKgkbECFxwnA==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/g-plugin-canvas-path-generator": "2.0.1", - "@antv/g-plugin-canvas-picker": "2.0.1", - "@antv/g-plugin-canvas-renderer": "2.0.1", - "@antv/g-plugin-dom-interaction": "2.0.1", - "@antv/g-plugin-html-renderer": "2.0.1", - "@antv/g-plugin-image-loader": "2.0.1", - "@antv/util": "^3.3.5", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-dom-mutation-observer-api": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-2.0.1.tgz", - "integrity": "sha512-Jg/nc6klNpjTfvCb1tv1a5ICJRtRRGbXb+vNA37UJvttae/p2hLPOKYbLBcuNs4mQf+AOxY2TZ/3Z3onxjM6Aw==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1" - } - }, - "node_modules/@antv/g-lite": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-lite/-/g-lite-2.0.1.tgz", - "integrity": "sha512-buCkPKLWwErCySgwZVvLJow2bw9oK3Xk5VXzzOiuIqn5RAjEIyn0zSmMV6+KFiLteG9weIc/trb75rT2yVXUHw==", - "license": "MIT", - "dependencies": { - "@antv/g-math": "3.0.0", - "@antv/util": "^3.3.5", - "d3-color": "^1.4.0", - "eventemitter3": "^5.0.1", - "gl-matrix": "^3.4.3", - "rbush": "^3.0.1", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-lite/node_modules/d3-color": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", - "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@antv/g-math": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@antv/g-math/-/g-math-3.0.0.tgz", - "integrity": "sha512-AkmiNIEL1vgqTPeGY2wtsMdBBqKFwF7SKSgs+D1iOS/rqYMsXdhp/HvtuQ5tx/HdawE/ZzTiicIYopc520ADZw==", - "license": "MIT", - "dependencies": { - "@antv/util": "^3.3.5", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-canvas-path-generator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-2.0.1.tgz", - "integrity": "sha512-AEWkYW3j2q0dhZpY4w1zOTpl/qkkpQbGsT3XdSLXjQokx+ot4l7X3F+QYGobPoUkJbQxtiU1uiAhUAsIKLVjuQ==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/g-math": "3.0.0", - "@antv/util": "^3.3.5", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-canvas-picker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-2.0.1.tgz", - "integrity": "sha512-0GN3Lhq3TtKY0EBk0//pQK1sBOFLd/W7ofNK4HorpP9GZyRugBHz1v8MEPrN7pCRE9jVLnLFGscLCtIuX2KEnA==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/g-math": "3.0.0", - "@antv/g-plugin-canvas-path-generator": "2.0.1", - "@antv/g-plugin-canvas-renderer": "2.0.1", - "@antv/util": "^3.3.5", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-canvas-renderer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-2.0.1.tgz", - "integrity": "sha512-WcxuqAGsI25yXspLJRc6uZtstWvwDGzFFVZ2FuJLYOFFI8C6v/BJ6Ptzq81e8ocVpy8mNuEUlxzh/V4IOYeg0g==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/g-math": "3.0.0", - "@antv/g-plugin-canvas-path-generator": "2.0.1", - "@antv/g-plugin-image-loader": "2.0.1", - "@antv/util": "^3.3.5", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-dom-interaction": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-2.0.1.tgz", - "integrity": "sha512-r6LByuKIReLQs4oU5duDBS+mhnMG8uMX/4jbGpFdf5NoFSCldcRgUiYW7m3RrPBOCSRcDsbXkKUqGAgKf67gnQ==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-dragndrop": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-2.0.1.tgz", - "integrity": "sha512-ylw0G5SLUtjdYaWmDAZw1FrkK7ECxH1tQAtt8h3x9yQSeFSN3b0Kg559cyeJwf9FpMwCyMUpRjFULdb6zGDvrg==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/util": "^3.3.5", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-html-renderer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-2.0.1.tgz", - "integrity": "sha512-+UlRf+0aelxdr3cI5qVdsg3iTZkXR+CpEQHnMzx8Z4Uyf/67qNOJp5JFFVLXAvVqSkH/v8mWRmEcP3fEc9U6Dg==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/util": "^3.3.5", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-image-loader": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-image-loader/-/g-plugin-image-loader-2.0.1.tgz", - "integrity": "sha512-5FJI7mmoPHlMGhBLJhLXGMZh1//xPvnu6CDZTp0adNRTJiMWVf/QlZSjBTrxlPLk60nmdSPS780K1mBf69fo8w==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/util": "^3.3.5", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-web-animations-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@antv/g-web-animations-api/-/g-web-animations-api-2.0.2.tgz", - "integrity": "sha512-7zkbboSkSEGuUlpyD955KPriozbZ7dYSTPyUgkRdtmmeUrs+38wAfU1N0ZaQHT4rsTXupbsCxnXRfq03q/bEkA==", - "license": "MIT", - "dependencies": { - "@antv/g-lite": "2.0.1", - "@antv/util": "^3.3.5", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g2": { - "version": "5.1.19", - "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-5.1.19.tgz", - "integrity": "sha512-sVzxgAm6DE65wRQpZ3O+OaRlCjESC12oT2Rle6Cifb80dC6LDjZ4aBT9O90QCYibCJj6WCTrDQSasi+7ALo7MA==", - "license": "MIT", - "dependencies": { - "@antv/component": "^2.0.0", - "@antv/coord": "^0.4.6", - "@antv/event-emitter": "^0.1.3", - "@antv/g": "^6.0.0", - "@antv/g-canvas": "^2.0.0", - "@antv/g-plugin-dragndrop": "^2.0.0", - "@antv/path-util": "^3.0.1", - "@antv/scale": "^0.4.12", - "@antv/util": "^3.3.5", - "d3-array": "^3.2.4", - "d3-dsv": "^3.0.1", - "d3-force": "^3.0.0", - "d3-format": "^3.1.0", - "d3-geo": "^3.1.0", - "d3-hierarchy": "^3.1.2", - "d3-path": "^3.1.0", - "d3-scale-chromatic": "^3.0.0", - "d3-shape": "^3.2.0", - "d3-voronoi": "^1.1.4", - "flru": "^1.0.2", - "fmin": "^0.0.2", - "pdfast": "^0.2.0" - } - }, - "node_modules/@antv/g2-extension-plot": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@antv/g2-extension-plot/-/g2-extension-plot-0.2.0.tgz", - "integrity": "sha512-XeJquOmZw3dHTj2qRNZJZlkX5qDrGJDMhuknHHMgGsj1PoPc8sOWzACesWVHB9tmHJqwheySWmwf4KLxtUBZ9w==", - "dependencies": { - "@antv/g2": "^5.1.8", - "@antv/util": "^3.3.5", - "d3-array": "^3.2.4", - "d3-hierarchy": "^3.1.2" - } - }, - "node_modules/@antv/path-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@antv/path-util/-/path-util-3.0.1.tgz", - "integrity": "sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q==", - "license": "MIT", - "dependencies": { - "gl-matrix": "^3.1.0", - "lodash-es": "^4.17.21", - "tslib": "^2.0.3" - } - }, - "node_modules/@antv/scale": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.4.15.tgz", - "integrity": "sha512-b3b2U1L55fcJg0fB/BloVvcngPo/QxhosWgjn6JmYLVLezxDYMO+zdQou8hxpsLMUVhH15NqRDcM/1n4U6G04g==", - "license": "MIT", - "dependencies": { - "@antv/util": "^2.0.13", - "color-string": "^1.5.5", - "fecha": "^4.2.1" - } - }, - "node_modules/@antv/scale/node_modules/@antv/util": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", - "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", - "license": "ISC", - "dependencies": { - "csstype": "^3.0.8", - "tslib": "^2.0.3" - } - }, - "node_modules/@antv/util": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-3.3.7.tgz", - "integrity": "sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "gl-matrix": "^3.3.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@apollo/cache-control-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz", - "integrity": "sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==", - "license": "MIT", - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/client": { - "version": "3.9.11", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.9.11.tgz", - "integrity": "sha512-H7e9m7cRcFO93tokwzqrsbnfKorkpV24xU30hFH5u2g6B+c1DMo/ouyF/YrBPdrTzqxQCjTUmds/FLmJ7626GA==", - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@wry/caches": "^1.0.0", - "@wry/equality": "^0.5.6", - "@wry/trie": "^0.5.0", - "graphql-tag": "^2.12.6", - "hoist-non-react-statics": "^3.3.2", - "optimism": "^0.18.0", - "prop-types": "^15.7.2", - "rehackt": "0.0.6", - "response-iterator": "^0.2.6", - "symbol-observable": "^4.0.0", - "ts-invariant": "^0.10.3", - "tslib": "^2.3.0", - "zen-observable-ts": "^1.2.5" - }, - "peerDependencies": { - "graphql": "^15.0.0 || ^16.0.0", - "graphql-ws": "^5.5.5", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "subscriptions-transport-ws": "^0.9.0 || ^0.11.0" - }, - "peerDependenciesMeta": { - "graphql-ws": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "subscriptions-transport-ws": { - "optional": true - } - } - }, - "node_modules/@apollo/protobufjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", - "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.0", - "long": "^4.0.0" - }, - "bin": { - "apollo-pbjs": "bin/pbjs", - "apollo-pbts": "bin/pbts" - } - }, - "node_modules/@apollo/server": { - "version": "4.10.4", - "resolved": "https://registry.npmjs.org/@apollo/server/-/server-4.10.4.tgz", - "integrity": "sha512-HS12CUa1wq8f5zKXOKJRwRdESFp4por9AINecpcsEUV9jsCP/NqPILgx0hCOOFJuKxmnaL7070xO6l5xmOq4Fw==", - "license": "MIT", - "dependencies": { - "@apollo/cache-control-types": "^1.0.3", - "@apollo/server-gateway-interface": "^1.1.1", - "@apollo/usage-reporting-protobuf": "^4.1.1", - "@apollo/utils.createhash": "^2.0.0", - "@apollo/utils.fetcher": "^2.0.0", - "@apollo/utils.isnodelike": "^2.0.0", - "@apollo/utils.keyvaluecache": "^2.1.0", - "@apollo/utils.logger": "^2.0.0", - "@apollo/utils.usagereporting": "^2.1.0", - "@apollo/utils.withrequired": "^2.0.0", - "@graphql-tools/schema": "^9.0.0", - "@josephg/resolvable": "^1.0.0", - "@types/express": "^4.17.13", - "@types/express-serve-static-core": "^4.17.30", - "@types/node-fetch": "^2.6.1", - "async-retry": "^1.2.1", - "cors": "^2.8.5", - "express": "^4.17.1", - "loglevel": "^1.6.8", - "lru-cache": "^7.10.1", - "negotiator": "^0.6.3", - "node-abort-controller": "^3.1.1", - "node-fetch": "^2.6.7", - "uuid": "^9.0.0", - "whatwg-mimetype": "^3.0.0" - }, - "engines": { - "node": ">=14.16.0" - }, - "peerDependencies": { - "graphql": "^16.6.0" - } - }, - "node_modules/@apollo/server-gateway-interface": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@apollo/server-gateway-interface/-/server-gateway-interface-1.1.1.tgz", - "integrity": "sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ==", - "license": "MIT", - "dependencies": { - "@apollo/usage-reporting-protobuf": "^4.1.1", - "@apollo/utils.fetcher": "^2.0.0", - "@apollo/utils.keyvaluecache": "^2.1.0", - "@apollo/utils.logger": "^2.0.0" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/server/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/@apollo/usage-reporting-protobuf": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz", - "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==", - "license": "MIT", - "dependencies": { - "@apollo/protobufjs": "1.2.7" - } - }, - "node_modules/@apollo/utils.createhash": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.createhash/-/utils.createhash-2.0.1.tgz", - "integrity": "sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg==", - "license": "MIT", - "dependencies": { - "@apollo/utils.isnodelike": "^2.0.1", - "sha.js": "^2.4.11" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.dropunuseddefinitions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz", - "integrity": "sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.fetcher": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.fetcher/-/utils.fetcher-2.0.1.tgz", - "integrity": "sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.isnodelike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.isnodelike/-/utils.isnodelike-2.0.1.tgz", - "integrity": "sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.keyvaluecache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-2.1.1.tgz", - "integrity": "sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw==", - "license": "MIT", - "dependencies": { - "@apollo/utils.logger": "^2.0.1", - "lru-cache": "^7.14.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.keyvaluecache/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/@apollo/utils.logger": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-2.0.1.tgz", - "integrity": "sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/@apollo/utils.printwithreducedwhitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz", - "integrity": "sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.removealiases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz", - "integrity": "sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.sortast": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-2.0.1.tgz", - "integrity": "sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==", - "license": "MIT", - "dependencies": { - "lodash.sortby": "^4.7.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.stripsensitiveliterals": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz", - "integrity": "sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==", - "license": "MIT", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.usagereporting": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-2.1.0.tgz", - "integrity": "sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==", - "license": "MIT", - "dependencies": { - "@apollo/usage-reporting-protobuf": "^4.1.0", - "@apollo/utils.dropunuseddefinitions": "^2.0.1", - "@apollo/utils.printwithreducedwhitespace": "^2.0.1", - "@apollo/utils.removealiases": "2.0.1", - "@apollo/utils.sortast": "^2.0.1", - "@apollo/utils.stripsensitiveliterals": "^2.0.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "graphql": "14.x || 15.x || 16.x" - } - }, - "node_modules/@apollo/utils.withrequired": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@apollo/utils.withrequired/-/utils.withrequired-2.0.1.tgz", - "integrity": "sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", - "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.4", - "@babel/parser": "^7.24.4", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz", - "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz", - "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz", - "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz", - "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.1", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz", - "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz", - "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz", - "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz", - "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz", - "integrity": "sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-decorators": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz", - "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz", - "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz", - "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz", - "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz", - "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz", - "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", - "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", - "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz", - "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz", - "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz", - "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz", - "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz", - "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz", - "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/template": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz", - "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz", - "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz", - "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz", - "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz", - "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz", - "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz", - "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz", - "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz", - "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz", - "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz", - "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz", - "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz", - "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz", - "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz", - "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz", - "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz", - "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz", - "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz", - "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz", - "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz", - "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-replace-supers": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz", - "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz", - "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz", - "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz", - "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz", - "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.1", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz", - "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz", - "integrity": "sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz", - "integrity": "sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/types": "^7.23.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.1.tgz", - "integrity": "sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz", - "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz", - "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz", - "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-plugin-utils": "^7.24.0", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz", - "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz", - "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz", - "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz", - "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz", - "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz", - "integrity": "sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.24.4", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-typescript": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz", - "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz", - "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz", - "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz", - "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz", - "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.24.4", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.1", - "@babel/plugin-syntax-import-attributes": "^7.24.1", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.24.1", - "@babel/plugin-transform-block-scoped-functions": "^7.24.1", - "@babel/plugin-transform-block-scoping": "^7.24.4", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-class-static-block": "^7.24.4", - "@babel/plugin-transform-classes": "^7.24.1", - "@babel/plugin-transform-computed-properties": "^7.24.1", - "@babel/plugin-transform-destructuring": "^7.24.1", - "@babel/plugin-transform-dotall-regex": "^7.24.1", - "@babel/plugin-transform-duplicate-keys": "^7.24.1", - "@babel/plugin-transform-dynamic-import": "^7.24.1", - "@babel/plugin-transform-exponentiation-operator": "^7.24.1", - "@babel/plugin-transform-export-namespace-from": "^7.24.1", - "@babel/plugin-transform-for-of": "^7.24.1", - "@babel/plugin-transform-function-name": "^7.24.1", - "@babel/plugin-transform-json-strings": "^7.24.1", - "@babel/plugin-transform-literals": "^7.24.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-member-expression-literals": "^7.24.1", - "@babel/plugin-transform-modules-amd": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-modules-systemjs": "^7.24.1", - "@babel/plugin-transform-modules-umd": "^7.24.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.1", - "@babel/plugin-transform-object-super": "^7.24.1", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.1", - "@babel/plugin-transform-parameters": "^7.24.1", - "@babel/plugin-transform-private-methods": "^7.24.1", - "@babel/plugin-transform-private-property-in-object": "^7.24.1", - "@babel/plugin-transform-property-literals": "^7.24.1", - "@babel/plugin-transform-regenerator": "^7.24.1", - "@babel/plugin-transform-reserved-words": "^7.24.1", - "@babel/plugin-transform-shorthand-properties": "^7.24.1", - "@babel/plugin-transform-spread": "^7.24.1", - "@babel/plugin-transform-sticky-regex": "^7.24.1", - "@babel/plugin-transform-template-literals": "^7.24.1", - "@babel/plugin-transform-typeof-symbol": "^7.24.1", - "@babel/plugin-transform-unicode-escapes": "^7.24.1", - "@babel/plugin-transform-unicode-property-regex": "^7.24.1", - "@babel/plugin-transform-unicode-regex": "^7.24.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.1.tgz", - "integrity": "sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-react-display-name": "^7.24.1", - "@babel/plugin-transform-react-jsx": "^7.23.4", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz", - "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-syntax-jsx": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.24.1", - "@babel/plugin-transform-typescript": "^7.24.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/runtime": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz", - "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", - "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.24.1", - "@babel/generator": "^7.24.1", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.1", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@commitlint/cli": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-18.6.1.tgz", - "integrity": "sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw==", - "license": "MIT", - "dependencies": { - "@commitlint/format": "^18.6.1", - "@commitlint/lint": "^18.6.1", - "@commitlint/load": "^18.6.1", - "@commitlint/read": "^18.6.1", - "@commitlint/types": "^18.6.1", - "execa": "^5.0.0", - "lodash.isfunction": "^3.0.9", - "resolve-from": "5.0.0", - "resolve-global": "1.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "commitlint": "cli.js" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/config-conventional": { - "version": "18.6.3", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-18.6.3.tgz", - "integrity": "sha512-8ZrRHqF6je+TRaFoJVwszwnOXb/VeYrPmTwPhf0WxpzpGTcYy1p0SPyZ2eRn/sRi/obnWAcobtDAq6+gJQQNhQ==", - "license": "MIT", - "dependencies": { - "@commitlint/types": "^18.6.1", - "conventional-changelog-conventionalcommits": "^7.0.2" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/config-nx-scopes": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/config-nx-scopes/-/config-nx-scopes-18.6.1.tgz", - "integrity": "sha512-bNO1ts4k0P0QvigO4mibUbif9E4IYbtVA35Bdq2d6tFekJJs5BPaSQs8w+A0HWJfHIHAbrMhgupMDMyKDIEMyw==", - "license": "MIT", - "engines": { - "node": ">=v18" - }, - "peerDependencies": { - "nx": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "nx": { - "optional": true - } - } - }, - "node_modules/@commitlint/config-validator": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-18.6.1.tgz", - "integrity": "sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw==", - "license": "MIT", - "dependencies": { - "@commitlint/types": "^18.6.1", - "ajv": "^8.11.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/ensure": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-18.6.1.tgz", - "integrity": "sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ==", - "license": "MIT", - "dependencies": { - "@commitlint/types": "^18.6.1", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.upperfirst": "^4.3.1" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/execute-rule": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-18.6.1.tgz", - "integrity": "sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg==", - "license": "MIT", - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/format": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-18.6.1.tgz", - "integrity": "sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg==", - "license": "MIT", - "dependencies": { - "@commitlint/types": "^18.6.1", - "chalk": "^4.1.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/is-ignored": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-18.6.1.tgz", - "integrity": "sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA==", - "license": "MIT", - "dependencies": { - "@commitlint/types": "^18.6.1", - "semver": "7.6.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/lint": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-18.6.1.tgz", - "integrity": "sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ==", - "license": "MIT", - "dependencies": { - "@commitlint/is-ignored": "^18.6.1", - "@commitlint/parse": "^18.6.1", - "@commitlint/rules": "^18.6.1", - "@commitlint/types": "^18.6.1" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/load": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-18.6.1.tgz", - "integrity": "sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA==", - "license": "MIT", - "dependencies": { - "@commitlint/config-validator": "^18.6.1", - "@commitlint/execute-rule": "^18.6.1", - "@commitlint/resolve-extends": "^18.6.1", - "@commitlint/types": "^18.6.1", - "chalk": "^4.1.0", - "cosmiconfig": "^8.3.6", - "cosmiconfig-typescript-loader": "^5.0.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/message": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-18.6.1.tgz", - "integrity": "sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw==", - "license": "MIT", - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/parse": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-18.6.1.tgz", - "integrity": "sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ==", - "license": "MIT", - "dependencies": { - "@commitlint/types": "^18.6.1", - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-parser": "^5.0.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/read": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-18.6.1.tgz", - "integrity": "sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w==", - "license": "MIT", - "dependencies": { - "@commitlint/top-level": "^18.6.1", - "@commitlint/types": "^18.6.1", - "git-raw-commits": "^2.0.11", - "minimist": "^1.2.6" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/resolve-extends": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-18.6.1.tgz", - "integrity": "sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ==", - "license": "MIT", - "dependencies": { - "@commitlint/config-validator": "^18.6.1", - "@commitlint/types": "^18.6.1", - "import-fresh": "^3.0.0", - "lodash.mergewith": "^4.6.2", - "resolve-from": "^5.0.0", - "resolve-global": "^1.0.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/rules": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-18.6.1.tgz", - "integrity": "sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew==", - "license": "MIT", - "dependencies": { - "@commitlint/ensure": "^18.6.1", - "@commitlint/message": "^18.6.1", - "@commitlint/to-lines": "^18.6.1", - "@commitlint/types": "^18.6.1", - "execa": "^5.0.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/to-lines": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-18.6.1.tgz", - "integrity": "sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q==", - "license": "MIT", - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/top-level": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-18.6.1.tgz", - "integrity": "sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw==", - "license": "MIT", - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@commitlint/top-level/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@commitlint/top-level/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@commitlint/top-level/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@commitlint/types": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-18.6.1.tgz", - "integrity": "sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@ctrl/tinycolor": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", - "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "license": "MIT" - }, - "node_modules/@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", - "license": "MIT" - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@graphql-tools/merge": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz", - "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==", - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^9.2.1", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/schema": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz", - "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==", - "license": "MIT", - "dependencies": { - "@graphql-tools/merge": "^8.4.1", - "@graphql-tools/utils": "^9.2.1", - "tslib": "^2.4.0", - "value-or-promise": "^1.0.12" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/utils": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz", - "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==", - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", - "license": "MIT", - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@ideafast/idgen": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@ideafast/idgen/-/idgen-0.1.1.tgz", - "integrity": "sha512-1kaaUD9LXRYnUqK2yJnwMXon2F3vqKzViAbEZQTeYAghLB60EEIbC4JXoi+KbKKxYNHNB03MGWUR5y3Ec+yEgA==", - "license": "MIT" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/create-cache-key-function": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", - "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@josephg/resolvable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz", - "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==", - "license": "ISC" - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ljharb/resumer": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@ljharb/resumer/-/resumer-0.0.1.tgz", - "integrity": "sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==", - "license": "MIT", - "dependencies": { - "@ljharb/through": "^2.3.9" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/@ljharb/through": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", - "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "license": "BSD-3-Clause", - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mole-inc/bin-wrapper": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@mole-inc/bin-wrapper/-/bin-wrapper-8.0.1.tgz", - "integrity": "sha512-sTGoeZnjI8N4KS+sW2AN95gDBErhAguvkw/tWdCjeM8bvxpz5lqrnd0vOJABA1A+Ic3zED7PYoLP/RANLgVotA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bin-check": "^4.1.0", - "bin-version-check": "^5.0.0", - "content-disposition": "^0.5.4", - "ext-name": "^5.0.0", - "file-type": "^17.1.6", - "filenamify": "^5.0.2", - "got": "^11.8.5", - "os-filter-obj": "^2.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/@mongodb-js/saslprep": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz", - "integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA==", - "license": "MIT", - "dependencies": { - "sparse-bitfield": "^3.0.3" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nrwl/devkit": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.3.3.tgz", - "integrity": "sha512-3zZLE1vfwsNie7qjVUt9lqaM1slU0RTr/dW+Yt/2lxe8Peu6f8bnCM1Pf3kSlzoxQroctfocRtVHFXJsAuAt4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/devkit": "18.3.3" - } - }, - "node_modules/@nrwl/esbuild": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/esbuild/-/esbuild-18.3.3.tgz", - "integrity": "sha512-bbjgY4170UlnIgmOqMJ55JaCxjpllwJNi3z9EoyG1+8gj+QnVEX/HHRJB9iVpJDpLnte7LQmbOoDcjNy2rx2Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/esbuild": "18.3.3" - } - }, - "node_modules/@nrwl/eslint-plugin-nx": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-18.3.3.tgz", - "integrity": "sha512-ARqwcA2n2NN+8ATrooZtPbaW5fb9WSjDFZaI8RdphMXFnPrEkZnMpbrjFpLTj+wc1R6hIgTcYbli6fv4Gfbo3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/eslint-plugin": "18.3.3" - } - }, - "node_modules/@nrwl/express": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/express/-/express-18.3.3.tgz", - "integrity": "sha512-72exWTPfAR/eKFvb4SvN86Nui/gF5X2HsD4rShe2e0C4grARha6rmdm1QUo8UWWELslIybUEszyMhdEcPzggrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/express": "18.3.3" - } - }, - "node_modules/@nrwl/jest": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/jest/-/jest-18.3.3.tgz", - "integrity": "sha512-BPI0mIbmjTHFb0/qtMND59ECld7gorV+SEVLwf4BLl7SWumVB2gLAA2+yx71cvF1jO4R5Ndi2FrBwBC9E2Va5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/jest": "18.3.3" - } - }, - "node_modules/@nrwl/js": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/js/-/js-18.3.3.tgz", - "integrity": "sha512-7Wtv5kpeMWUDBUFu5go49HM/S8vDrtMOvZf9xnUcnjsFDReWe8XIEkTWudZDbzID3X4T6WQAftzj2Ov6k566lQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/js": "18.3.3" - } - }, - "node_modules/@nrwl/node": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/node/-/node-18.3.3.tgz", - "integrity": "sha512-87PXppPqI/jOl6swYVdQi8RBveOF7Oqmqw9m9eEbts6U2bazPipKTwBO4E9afkz3GMqaxe+d2H794JqH05Mr8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/node": "18.3.3" - } - }, - "node_modules/@nrwl/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/react/-/react-18.3.3.tgz", - "integrity": "sha512-i81SZJvycadVzbPB2YkFVhjZomeVz2vDty9+jjmaK+NNrQeic769nO4w+m6LdDEogCCV0cpsl1P6LH4YuqwwmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/react": "18.3.3" - } - }, - "node_modules/@nrwl/tao": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-18.3.3.tgz", - "integrity": "sha512-f/PUDLpSMEObiLQ5sIDySJM+5DxSCNunkxxbY1R9rmQ1cFcgrHaXIHQqbSj91mMa3mmtbKACk8u1LbI+oQV0Tg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "nx": "18.3.3", - "tslib": "^2.3.0" - }, - "bin": { - "tao": "index.js" - } - }, - "node_modules/@nrwl/web": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/web/-/web-18.3.3.tgz", - "integrity": "sha512-EuEht/tk9VHLKxjVMEh96wu8WNkRFRabpmLBc++pp2bEaoxz8Qm2xDO+sOU3Wp4zGNx/qQVxA1kKMZCjVjk75g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/web": "18.3.3" - } - }, - "node_modules/@nrwl/webpack": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/webpack/-/webpack-18.3.3.tgz", - "integrity": "sha512-E/8vr1qAFSan1FnewvLBRBHYIaPG9dxZeYKRcQvcDx+Jf2oPyJNYI+9kkoNxEZg9FeFJMShK2x8YBgwB+ivH5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/webpack": "18.3.3" - } - }, - "node_modules/@nrwl/workspace": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nrwl/workspace/-/workspace-18.3.3.tgz", - "integrity": "sha512-9Giuec9l3PpS8mekD00W9kBIKmWRpQSkp+/RvYmc+7kKtVC+Uj/kc68exBOanVgq6zKzYrn+FqHWHGWnHxp+ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/workspace": "18.3.3" - } - }, - "node_modules/@nx/devkit": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.3.3.tgz", - "integrity": "sha512-FtkZ6mA5//vEA5lcbT80m080ROVacHYV5F1peztTRA+IY2JZGJoqx425kn5ylDO8aCSAIAwcn2qIdhI8BnpG3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/devkit": "18.3.3", - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - }, - "peerDependencies": { - "nx": ">= 16 <= 19" - } - }, - "node_modules/@nx/esbuild": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/esbuild/-/esbuild-18.3.3.tgz", - "integrity": "sha512-qhvmLO4mXedBoLnAhuYNOOVJYTRSOp2MNxZH3bvZ3Fwa95XmRlY8pUV9FLxMp80h+kLAaHbuIYRbt2KdJoanmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/esbuild": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/js": "18.3.3", - "chalk": "^4.1.0", - "fast-glob": "3.2.7", - "fs-extra": "^11.1.0", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "esbuild": "~0.19.2" - }, - "peerDependenciesMeta": { - "esbuild": { - "optional": true - } - } - }, - "node_modules/@nx/esbuild/node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/eslint": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-18.3.3.tgz", - "integrity": "sha512-cvJjyykTEtQN08b5wQFelD/cbye7Nl5zFVESs+mn9/ezCukjAgP9seOk39nchKykRBAm7zzA1xZOB9thNqw9aA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/devkit": "18.3.3", - "@nx/js": "18.3.3", - "@nx/linter": "18.3.3", - "eslint": "^8.0.0", - "tslib": "^2.3.0", - "typescript": "~5.4.2" - }, - "peerDependencies": { - "js-yaml": "4.1.0" - }, - "peerDependenciesMeta": { - "js-yaml": { - "optional": true - } - } - }, - "node_modules/@nx/eslint-plugin": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/eslint-plugin/-/eslint-plugin-18.3.3.tgz", - "integrity": "sha512-ww3r8VRlzJXOBRG+qCTd+VXHRKxiIrOH+cIokTtuzGrnCXWEMSPO5Ts6z/Jsbb0xAcfZ39WUnxuDZdKbp4aHqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/eslint-plugin-nx": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/js": "18.3.3", - "@typescript-eslint/type-utils": "^7.3.0", - "@typescript-eslint/utils": "^7.3.0", - "chalk": "^4.1.0", - "confusing-browser-globals": "^1.0.9", - "jsonc-eslint-parser": "^2.1.0", - "semver": "^7.5.3", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.13.2 || ^7.0.0", - "eslint-config-prettier": "^9.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.1.tgz", - "integrity": "sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.7.1", - "@typescript-eslint/visitor-keys": "7.7.1" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.1.tgz", - "integrity": "sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "7.7.1", - "@typescript-eslint/utils": "7.7.1", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.1.tgz", - "integrity": "sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.1.tgz", - "integrity": "sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "7.7.1", - "@typescript-eslint/visitor-keys": "7.7.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.1.tgz", - "integrity": "sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.7.1", - "@typescript-eslint/types": "7.7.1", - "@typescript-eslint/typescript-estree": "7.7.1", - "semver": "^7.6.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.1.tgz", - "integrity": "sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.7.1", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@nx/eslint-plugin/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nx/express": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/express/-/express-18.3.3.tgz", - "integrity": "sha512-FwNWDhn5Ngkw3O+/CdYjxVvepyR+YttTrSOiUjlGHZVppaycOpNFg7i2P5aq4zi0xxPQBMTum2xddMBv0dtOWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/express": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/node": "18.3.3", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "express": "^4.18.1" - }, - "peerDependenciesMeta": { - "express": { - "optional": true - } - } - }, - "node_modules/@nx/jest": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/jest/-/jest-18.3.3.tgz", - "integrity": "sha512-AwkwYSJqu0vrDFMxKAc3lb0yHZFhsD8rX6rMMwe/fZMlAYml9FvGCp/ixWpcRWIo/1t3pxiF3Vejk9+oq/Avfw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/reporters": "^29.4.1", - "@jest/test-result": "^29.4.1", - "@nrwl/jest": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/js": "18.3.3", - "@phenomnomnominal/tsquery": "~5.0.1", - "chalk": "^4.1.0", - "identity-obj-proxy": "3.0.0", - "jest-config": "^29.4.1", - "jest-resolve": "^29.4.1", - "jest-util": "^29.4.1", - "minimatch": "9.0.3", - "resolve.exports": "1.1.0", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - } - }, - "node_modules/@nx/jest/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nx/js": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/js/-/js-18.3.3.tgz", - "integrity": "sha512-e8u56oG0mlTVz48EeH0C7txX0GeLYN0o4mK1LDAMIHQa4tKefNfwrdqHaZBiVqFOPopeFtqi8s0kqce5prwCaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.2", - "@babel/plugin-proposal-decorators": "^7.22.7", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-runtime": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@nrwl/js": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/workspace": "18.3.3", - "@phenomnomnominal/tsquery": "~5.0.1", - "babel-plugin-const-enum": "^1.0.1", - "babel-plugin-macros": "^2.8.0", - "babel-plugin-transform-typescript-metadata": "^0.3.1", - "chalk": "^4.1.0", - "columnify": "^1.6.0", - "detect-port": "^1.5.1", - "fast-glob": "3.2.7", - "fs-extra": "^11.1.0", - "ignore": "^5.0.4", - "js-tokens": "^4.0.0", - "minimatch": "9.0.3", - "npm-package-arg": "11.0.1", - "npm-run-path": "^4.0.1", - "ora": "5.3.0", - "semver": "^7.5.3", - "source-map-support": "0.5.19", - "ts-node": "10.9.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "verdaccio": "^5.0.4" - }, - "peerDependenciesMeta": { - "verdaccio": { - "optional": true - } - } - }, - "node_modules/@nx/js/node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "node_modules/@nx/js/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/js/node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nx/js/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nx/js/node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/@nx/linter": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/linter/-/linter-18.3.3.tgz", - "integrity": "sha512-5HmAN/8jZ2scrA0OiJSUdBPhIjwIHecK8AK7TxYX4fg1VJ3VcpknV8pWcETuNoBW8WlgF1RX2RW7Gog7vjf+Ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nx/eslint": "18.3.3" - } - }, - "node_modules/@nx/node": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/node/-/node-18.3.3.tgz", - "integrity": "sha512-OoeRuuvqrdEH8AsFKrJ91lnDVL9mlqvLzUy9D5PZCYspjCesc7Tmt7Xmbu3VEGzhQPilqZz4hVfXH6MLE7TvqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/node": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/eslint": "18.3.3", - "@nx/jest": "18.3.3", - "@nx/js": "18.3.3", - "tslib": "^2.3.0" - } - }, - "node_modules/@nx/nx-darwin-arm64": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.3.3.tgz", - "integrity": "sha512-NpA2/7o1uUuaocMYopX9muxKif9HlGfWaXo2UeiR918usF6xri4aUqweZbaXVc9iqCAEbVMWUsjaLYGKPXHAjw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nx/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/react/-/react-18.3.3.tgz", - "integrity": "sha512-eo4zM7Qfr5Un1lZiEL9DLpMgEhWQWYmH8QdnPApABoitak3ssYMvVjUAj4IXwu/sPSaUxfZAqMdzV9cBcAkqAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/react": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/eslint": "18.3.3", - "@nx/js": "18.3.3", - "@nx/web": "18.3.3", - "@phenomnomnominal/tsquery": "~5.0.1", - "@svgr/webpack": "^8.0.1", - "chalk": "^4.1.0", - "file-loader": "^6.2.0", - "minimatch": "9.0.3", - "tslib": "^2.3.0" - } - }, - "node_modules/@nx/react/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@nx/web": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/web/-/web-18.3.3.tgz", - "integrity": "sha512-/NfQirVd2Ncq2if+1n8DaxNQF0OLaFaDag7qm5pDWJnjXFNh8N7NGZQRry2k/bTSfSc8gN+KJjqSMLAUNNtKgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/web": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/js": "18.3.3", - "chalk": "^4.1.0", - "detect-port": "^1.5.1", - "http-server": "^14.1.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@nx/webpack": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/webpack/-/webpack-18.3.3.tgz", - "integrity": "sha512-DPs8wfmYe/mEZCQ/TQgUqb/zgXY8hevR23d8bDkYjB3Akjk4OOF3QpQ2OXQ4c+Jf0ckGnQYOg6XAkE682UZqzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.23.2", - "@nrwl/webpack": "18.3.3", - "@nx/devkit": "18.3.3", - "@nx/js": "18.3.3", - "ajv": "^8.12.0", - "autoprefixer": "^10.4.9", - "babel-loader": "^9.1.2", - "browserslist": "^4.21.4", - "chalk": "^4.1.0", - "copy-webpack-plugin": "^10.2.4", - "css-loader": "^6.4.0", - "css-minimizer-webpack-plugin": "^5.0.0", - "fork-ts-checker-webpack-plugin": "7.2.13", - "less": "4.1.3", - "less-loader": "11.1.0", - "license-webpack-plugin": "^4.0.2", - "loader-utils": "^2.0.3", - "mini-css-extract-plugin": "~2.4.7", - "parse5": "4.0.0", - "postcss": "^8.4.14", - "postcss-import": "~14.1.0", - "postcss-loader": "^6.1.1", - "rxjs": "^7.8.0", - "sass": "^1.42.1", - "sass-loader": "^12.2.0", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.0", - "stylus": "^0.59.0", - "stylus-loader": "^7.1.0", - "terser-webpack-plugin": "^5.3.3", - "ts-loader": "^9.3.1", - "tsconfig-paths-webpack-plugin": "4.0.0", - "tslib": "^2.3.0", - "webpack": "^5.80.0", - "webpack-dev-server": "^4.9.3", - "webpack-node-externals": "^3.0.0", - "webpack-subresource-integrity": "^5.1.0" - } - }, - "node_modules/@nx/webpack/node_modules/parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@nx/workspace": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-18.3.3.tgz", - "integrity": "sha512-SUJJKzOUuNnclpHHde6f6nlF+pQwMjeF026jFpWDFaNzdsADhhRulkz0GLRXB9kKszvzz2JKde9WBWnKrFZ2IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nrwl/workspace": "18.3.3", - "@nx/devkit": "18.3.3", - "chalk": "^4.1.0", - "enquirer": "~2.3.6", - "nx": "18.3.3", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" - } - }, - "node_modules/@phenomnomnominal/tsquery": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", - "integrity": "sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "esquery": "^1.4.0" - }, - "peerDependencies": { - "typescript": "^3 || ^4 || ^5" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", - "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "@types/webpack": "4.x || 5.x", - "react-refresh": ">=0.10.0 <1.0.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <5.0.0", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || 4.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" - }, - "node_modules/@rc-component/color-picker": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.5.3.tgz", - "integrity": "sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.6", - "@ctrl/tinycolor": "^3.6.1", - "classnames": "^2.2.6", - "rc-util": "^5.38.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/context": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", - "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/mini-decimal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", - "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0" - }, - "engines": { - "node": ">=8.x" - } - }, - "node_modules/@rc-component/mutate-observer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", - "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/portal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", - "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/tour": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.14.2.tgz", - "integrity": "sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "@rc-component/portal": "^1.0.0-9", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/trigger": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.1.1.tgz", - "integrity": "sha512-UjHkedkgtEcgQu87w1VuWug1idoDJV7VUt0swxHXRcmei2uu1AuUzGBPEUlmOmXGJ+YtTgZfVLi7kuAUKoZTMA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "@rc-component/portal": "^1.1.0", - "classnames": "^2.3.2", - "rc-motion": "^2.0.0", - "rc-resize-observer": "^1.3.1", - "rc-util": "^5.38.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@remix-run/router": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", - "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", - "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", - "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", - "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", - "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", - "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", - "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", - "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", - "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", - "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", - "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", - "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", - "@svgr/babel-plugin-transform-svg-component": "8.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/core": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", - "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^8.1.3", - "snake-case": "^3.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", - "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.3", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@swc/cli": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/@swc/cli/-/cli-0.3.12.tgz", - "integrity": "sha512-h7bvxT+4+UDrLWJLFHt6V+vNAcUNii2G4aGSSotKz1ECEk4MyEh5CWxmeSscwuz5K3i+4DWTgm4+4EyMCQKn+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@mole-inc/bin-wrapper": "^8.0.1", - "@swc/counter": "^0.1.3", - "commander": "^8.3.0", - "fast-glob": "^3.2.5", - "minimatch": "^9.0.3", - "piscina": "^4.3.0", - "semver": "^7.3.8", - "slash": "3.0.0", - "source-map": "^0.7.3" - }, - "bin": { - "spack": "bin/spack.js", - "swc": "bin/swc.js", - "swcx": "bin/swcx.js" - }, - "engines": { - "node": ">= 16.14.0" - }, - "peerDependencies": { - "@swc/core": "^1.2.66", - "chokidar": "^3.5.1" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@swc/cli/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/@swc/cli/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@swc/cli/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@swc/core": { - "version": "1.4.16", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.16.tgz", - "integrity": "sha512-Xaf+UBvW6JNuV131uvSNyMXHn+bh6LyKN4tbv7tOUFQpXyz/t9YWRE04emtlUW9Y0qrm/GKFCbY8n3z6BpZbTA==", - "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.2", - "@swc/types": "^0.1.5" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.4.16", - "@swc/core-darwin-x64": "1.4.16", - "@swc/core-linux-arm-gnueabihf": "1.4.16", - "@swc/core-linux-arm64-gnu": "1.4.16", - "@swc/core-linux-arm64-musl": "1.4.16", - "@swc/core-linux-x64-gnu": "1.4.16", - "@swc/core-linux-x64-musl": "1.4.16", - "@swc/core-win32-arm64-msvc": "1.4.16", - "@swc/core-win32-ia32-msvc": "1.4.16", - "@swc/core-win32-x64-msvc": "1.4.16" - }, - "peerDependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.4.16", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.16.tgz", - "integrity": "sha512-UOCcH1GvjRnnM/LWT6VCGpIk0OhHRq6v1U6QXuPt5wVsgXnXQwnf5k3sG5Cm56hQHDvhRPY6HCsHi/p0oek8oQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@swc/helpers": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.10.tgz", - "integrity": "sha512-CU+RF9FySljn7HVSkkjiB84hWkvTaI3rtLvF433+jRSBL2hMu3zX5bGhHS8C80SM++h4xy8hBSnUHFQHmRXSBw==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@swc/jest": { - "version": "0.2.36", - "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz", - "integrity": "sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/create-cache-key-function": "^29.7.0", - "@swc/counter": "^0.1.3", - "jsonc-parser": "^3.2.0" - }, - "engines": { - "npm": ">= 7.0.0" - }, - "peerDependencies": { - "@swc/core": "*" - } - }, - "node_modules/@swc/jest/node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@swc/types": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", - "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "dev": true, - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@testing-library/dom": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.0.0.tgz", - "integrity": "sha512-PmJPnogldqoVFf+EwbHvbBJ98MmqASV8kLrBYgsDNxQcFMeIS7JFL48sfyXvuMtgmWO/wMhh25odr+8VhDmn4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/@testing-library/react": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-15.0.2.tgz", - "integrity": "sha512-5mzIpuytB1ctpyywvyaY2TAAUQVCZIGqwiqFQf6u9lvj/SJQepGUzNV18Xpk+NLCaCE2j7CWrZE0tEf9xLZYiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^10.0.0", - "@types/react-dom": "^18.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/bcrypt": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz", - "integrity": "sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/connect-timeout": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/connect-timeout/-/connect-timeout-0.0.39.tgz", - "integrity": "sha512-PHUX9yixjm4qjQ27Uz+F5cyG9Fio9iY7e6eWHvNT0wbA8eu9JaDqxRRiXn5uYnd09zx1fM+wEHnuBHMm9gwOuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/cookiejar": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", - "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/cors": { - "version": "2.8.17", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", - "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz", - "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/express-session": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.18.0.tgz", - "integrity": "sha512-27JdDRgor6PoYlURY+Y5kCakqp5ulC0kmf7y+QwaY+hv9jEFuQOThgkjyA53RP3jmKuBsH5GR6qEfFmvb8mwOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/fs-extra": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz", - "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/jsonfile": "*", - "@types/node": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json2csv": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@types/json2csv/-/json2csv-5.0.7.tgz", - "integrity": "sha512-Ma25zw9G9GEBnX8b12R4EYvnFT6dBh8L3jwsN5EUFXa+fl2dqmbLDbNWN0XuQU3rSXdsbBeCYjI9uHU2PUBxhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/jsonfile": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz", - "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/jsonwebtoken": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.6.tgz", - "integrity": "sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", - "license": "MIT" - }, - "node_modules/@types/methods": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", - "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "license": "MIT" - }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/nodemailer": { - "version": "6.4.14", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.14.tgz", - "integrity": "sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "license": "MIT" - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/passport": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.16.tgz", - "integrity": "sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@types/qrcode": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.5.5.tgz", - "integrity": "sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.2.79", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", - "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.2.25", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz", - "integrity": "sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-highlight-words": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@types/react-highlight-words/-/react-highlight-words-0.16.7.tgz", - "integrity": "sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/superagent": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.6.tgz", - "integrity": "sha512-yzBOv+6meEHSzV2NThYYOA6RtqvPr3Hbob9ZLp3i07SH27CrYVfm8CrF7ydTmidtelsFiKx2I4gZAiAOamGgvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/cookiejar": "^2.1.5", - "@types/methods": "^1.1.4", - "@types/node": "*" - } - }, - "node_modules/@types/supertest": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz", - "integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/methods": "^1.1.4", - "@types/superagent": "^8.1.0" - } - }, - "node_modules/@types/tmp": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", - "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/webidl-conversions": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", - "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", - "license": "MIT" - }, - "node_modules/@types/webpack-env": { - "version": "1.18.4", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.4.tgz", - "integrity": "sha512-I6e+9+HtWADAWeeJWDFQtdk4EVSAbj6Rtz4q8fJ7mSr1M0jzlFcs8/HZ+Xb5SHzVm1dxH7aUiI+A8kA8Gcrm0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/whatwg-url": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.4.tgz", - "integrity": "sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==", - "license": "MIT", - "dependencies": { - "@types/webidl-conversions": "*" - } - }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz", - "integrity": "sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/type-utils": "7.7.0", - "@typescript-eslint/utils": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz", - "integrity": "sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz", - "integrity": "sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz", - "integrity": "sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "7.7.0", - "@typescript-eslint/utils": "7.7.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz", - "integrity": "sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz", - "integrity": "sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/visitor-keys": "7.7.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz", - "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.7.0", - "@typescript-eslint/types": "7.7.0", - "@typescript-eslint/typescript-estree": "7.7.0", - "semver": "^7.6.0" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz", - "integrity": "sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "7.7.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@wry/caches": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz", - "integrity": "sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@wry/context": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.4.tgz", - "integrity": "sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@wry/equality": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.7.tgz", - "integrity": "sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@wry/trie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.5.0.tgz", - "integrity": "sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "devOptional": true, - "license": "BSD-2-Clause" - }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.46", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", - "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", - "devOptional": true, - "license": "BSD-2-Clause", - "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.15.0" - } - }, - "node_modules/@yarnpkg/parsers/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@zkochan/js-yaml": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", - "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@zxing/text-encoding": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", - "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", - "license": "(Unlicense OR Apache-2.0)", - "optional": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "license": "ISC" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/align-text/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "license": "BSD-3-Clause OR MIT", - "engines": { - "node": ">=0.4.2" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/antd": { - "version": "5.16.4", - "resolved": "https://registry.npmjs.org/antd/-/antd-5.16.4.tgz", - "integrity": "sha512-H3LtVz5hiNgs0lL8U6pzi11rluR6RDRw1cm2pWX6CsvgZmybWsaTBV2h+d+zmgFfuch53TWs5uztLdAldIoYYw==", - "license": "MIT", - "dependencies": { - "@ant-design/colors": "^7.0.2", - "@ant-design/cssinjs": "^1.18.5", - "@ant-design/icons": "^5.3.6", - "@ant-design/react-slick": "~1.1.2", - "@babel/runtime": "^7.24.4", - "@ctrl/tinycolor": "^3.6.1", - "@rc-component/color-picker": "~1.5.3", - "@rc-component/mutate-observer": "^1.1.0", - "@rc-component/tour": "~1.14.2", - "@rc-component/trigger": "^2.1.1", - "classnames": "^2.5.1", - "copy-to-clipboard": "^3.3.3", - "dayjs": "^1.11.10", - "qrcode.react": "^3.1.0", - "rc-cascader": "~3.24.1", - "rc-checkbox": "~3.2.0", - "rc-collapse": "~3.7.3", - "rc-dialog": "~9.4.0", - "rc-drawer": "~7.1.0", - "rc-dropdown": "~4.2.0", - "rc-field-form": "~1.44.0", - "rc-image": "~7.6.0", - "rc-input": "~1.4.5", - "rc-input-number": "~9.0.0", - "rc-mentions": "~2.11.1", - "rc-menu": "~9.13.0", - "rc-motion": "^2.9.0", - "rc-notification": "~5.4.0", - "rc-pagination": "~4.0.4", - "rc-picker": "~4.4.1", - "rc-progress": "~4.0.0", - "rc-rate": "~2.12.0", - "rc-resize-observer": "^1.4.0", - "rc-segmented": "~2.3.0", - "rc-select": "~14.13.1", - "rc-slider": "~10.6.1", - "rc-steps": "~6.0.1", - "rc-switch": "~4.1.0", - "rc-table": "~7.45.4", - "rc-tabs": "~14.1.1", - "rc-textarea": "~1.6.3", - "rc-tooltip": "~6.2.0", - "rc-tree": "~5.8.5", - "rc-tree-select": "~5.19.0", - "rc-upload": "~4.5.2", - "rc-util": "^5.39.1", - "scroll-into-view-if-needed": "^3.1.0", - "throttle-debounce": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ant-design" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/apollo-upload-client": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-18.0.1.tgz", - "integrity": "sha512-OQvZg1rK05VNI79D658FUmMdoI2oB/KJKb6QGMa2Si25QXOaAvLMBFUEwJct7wf+19U8vk9ILhidBOU1ZWv6QA==", - "license": "MIT", - "dependencies": { - "extract-files": "^13.0.0" - }, - "engines": { - "node": "^18.15.0 || >=20.4.0" - }, - "funding": { - "url": "https://github.com/sponsors/jaydenseric" - }, - "peerDependencies": { - "@apollo/client": "^3.8.0", - "graphql": "14 - 16" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "license": "ISC" - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "license": "MIT" - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-tree-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", - "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", - "license": "MIT" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", - "es-shim-unscopables": "^1.0.2" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "license": "MIT", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "license": "MIT" - }, - "node_modules/async-mutex": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.1.tgz", - "integrity": "sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "license": "MIT", - "dependencies": { - "retry": "0.13.1" - } - }, - "node_modules/async-validator": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", - "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", - "license": "MIT" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/attr-accept": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", - "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", - "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/b4a": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", - "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-loader/node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/babel-loader/node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/babel-loader/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/babel-plugin-const-enum": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz", - "integrity": "sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.3.3", - "@babel/traverse": "^7.16.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-transform-typescript-metadata": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz", - "integrity": "sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/bare-events": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz", - "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==", - "dev": true, - "license": "Apache-2.0", - "optional": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "devOptional": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/basic-auth/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bcrypt": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", - "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.11", - "node-addon-api": "^5.0.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/bin-check": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", - "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^0.7.0", - "executable": "^4.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/bin-check/node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bin-check/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "license": "ISC", - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/bin-check/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/bin-check/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bin-check/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bin-check/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/bin-check/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", - "dev": true, - "license": "ISC" - }, - "node_modules/bin-version": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-6.0.0.tgz", - "integrity": "sha512-nk5wEsP4RiKjG+vF+uG8lFsEn4d7Y6FVDamzzftSunXOoOcOOkzcWdKVlGgFFwlUQCj63SgnUkLLGF8v7lufhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^5.0.0", - "find-versions": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bin-version-check": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-5.1.0.tgz", - "integrity": "sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "bin-version": "^6.0.0", - "semver": "^7.5.3", - "semver-truncate": "^3.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/block-stream2": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/block-stream2/-/block-stream2-2.1.0.tgz", - "integrity": "sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg==", - "license": "MIT", - "dependencies": { - "readable-stream": "^3.4.0" - } - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "license": "MIT" - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-or-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz", - "integrity": "sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg==", - "license": "MIT" - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/bson": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.6.0.tgz", - "integrity": "sha512-BVINv2SgcMjL4oYbBuCQTpE3/VKOSxrOA8Cj/wQP7izSzlBGVomdm+TcUd0Pzy0ytLSSDweCKQ6X3f5veM5LQA==", - "license": "Apache-2.0", - "engines": { - "node": ">=16.20.1" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "devOptional": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "license": "BSD-3-Clause" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "license": "MIT" - }, - "node_modules/builtins": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", - "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.6.0" - } - }, - "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "license": "MIT", - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys/node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys/node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", - "license": "MIT", - "dependencies": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", - "license": "MIT" - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "license": "MIT", - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "license": "MIT" - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clone-response/node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "license": "MIT" - }, - "node_modules/columnify": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", - "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/commitlint": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/commitlint/-/commitlint-18.6.1.tgz", - "integrity": "sha512-I10mj1OmBCrPUHItRqeCEj0uxCdWxL15sCfS1Poq8av2FcX/KvRoiH8jTNG0cVDA2ns7IftugTAM+nLvOavLsw==", - "license": "MIT", - "dependencies": { - "@commitlint/cli": "^18.6.1", - "@commitlint/types": "^18.6.1" - }, - "bin": { - "commitlint": "cli.js" - }, - "engines": { - "node": ">=v18" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true, - "license": "ISC" - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true, - "license": "MIT" - }, - "node_modules/compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "license": "MIT", - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "node_modules/component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/compute-scroll-into-view": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", - "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true, - "license": "MIT" - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/connect-mongo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-5.1.0.tgz", - "integrity": "sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.1", - "kruptein": "^3.0.0" - }, - "engines": { - "node": ">=12.9.0" - }, - "peerDependencies": { - "express-session": "^1.17.1", - "mongodb": ">= 5.1.0 < 7" - } - }, - "node_modules/connect-timeout": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.9.0.tgz", - "integrity": "sha512-q4bsBIPd+eSGtnh/u6EBOKfuG+4YvwsN0idlOsg6KAw71Qpi0DCf2eCc/Va63QU9qdOeYC8katxoC+rHMNygZg==", - "license": "MIT", - "dependencies": { - "http-errors": "~1.6.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "on-headers": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect-timeout/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/connect-timeout/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/connect-timeout/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "license": "ISC" - }, - "node_modules/connect-timeout/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/connect-timeout/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect-timeout/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "license": "ISC" - }, - "node_modules/connect-timeout/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "license": "ISC" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/contour_plot": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/contour_plot/-/contour_plot-0.0.1.tgz", - "integrity": "sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw==", - "license": "MIT" - }, - "node_modules/conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/conventional-changelog-conventionalcommits": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", - "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", - "license": "MIT", - "dependencies": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/conventional-commits-parser/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "license": "MIT", - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-commits-parser/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "license": "ISC", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, - "node_modules/cookiejar": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", - "dev": true, - "license": "MIT" - }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-what": "^3.14.1" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/copy-to-clipboard": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", - "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", - "license": "MIT", - "dependencies": { - "toggle-selection": "^1.0.6" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz", - "integrity": "sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^12.0.2", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 12.20.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.0.tgz", - "integrity": "sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz", - "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.0.tgz", - "integrity": "sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "license": "MIT", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cosmiconfig-typescript-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz", - "integrity": "sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==", - "license": "MIT", - "dependencies": { - "jiti": "^1.19.1" - }, - "engines": { - "node": ">=v16" - }, - "peerDependencies": { - "@types/node": "*", - "cosmiconfig": ">=8.2", - "typescript": ">=4" - } - }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", - "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", - "dev": true, - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "cssnano": "^6.0.1", - "jest-worker": "^29.4.3", - "postcss": "^8.4.24", - "schema-utils": "^4.0.1", - "serialize-javascript": "^6.0.1" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true, - "license": "MIT" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true, - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/csv-parse": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.5.tgz", - "integrity": "sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ==", - "license": "MIT" - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "license": "ISC", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "license": "ISC", - "dependencies": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json.js", - "csv2tsv": "bin/dsv2dsv.js", - "dsv2dsv": "bin/dsv2dsv.js", - "dsv2json": "bin/dsv2json.js", - "json2csv": "bin/json2dsv.js", - "json2dsv": "bin/json2dsv.js", - "json2tsv": "bin/json2dsv.js", - "tsv2csv": "bin/dsv2dsv.js", - "tsv2json": "bin/dsv2json.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "license": "ISC", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-geo": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", - "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", - "license": "ISC", - "dependencies": { - "d3-array": "2.5.0 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "license": "ISC", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", - "license": "ISC", - "dependencies": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "license": "ISC", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-voronoi": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", - "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==", - "license": "BSD-3-Clause" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "license": "MIT", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deep-equal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", - "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", - "license": "MIT", - "dependencies": { - "is-arguments": "^1.1.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.5.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "license": "MIT" - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true, - "license": "MIT" - }, - "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" - } - }, - "node_modules/dezalgo": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", - "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", - "dev": true, - "license": "ISC", - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", - "license": "MIT" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true, - "license": "MIT" - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz", - "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==", - "devOptional": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" - } - }, - "node_modules/dotenv-expand": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", - "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "devOptional": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/dotignore": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", - "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.4" - }, - "bin": { - "ignored": "bin/ignored" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.746", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.746.tgz", - "integrity": "sha512-jeWaIta2rIG2FzHaYIhSuVWqC6KJYo7oSBX4Jv7g+aVujKztfvdpf+n6MGwZdC5hQXbax4nntykLH2juIQrfPg==", - "dev": true, - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz", - "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-compat-utils": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz", - "integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/eslint-plugin-jsonc": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.15.1.tgz", - "integrity": "sha512-PVFrqIJa8BbM/e828RSn0SwB/Z5ye+2LDuy2XqG6AymNgPsfApRRcznsbxP7VrjdLEU4Nb+g9n/d6opyp0jp9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "eslint-compat-utils": "^0.5.0", - "espree": "^9.6.1", - "graphemer": "^1.4.0", - "jsonc-eslint-parser": "^2.0.4", - "natural-compare": "^1.4.0", - "synckit": "^0.6.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "devOptional": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/export-from-json": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/export-from-json/-/export-from-json-1.7.4.tgz", - "integrity": "sha512-FjmpluvZS2PTYyhkoMfQoyEJMfe2bfAyNpa5Apa6C9n7SWUWyJkG/VFnzERuj3q9Jjo3iwBjwVsDQ7Z7sczthA==", - "license": "MIT" - }, - "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express-rate-limit": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.2.0.tgz", - "integrity": "sha512-T7nul1t4TNyfZMJ7pKRKkdeVJWa2CqB8NA1P8BwYaoDI5QSBZARv5oMS43J7b7I5P+4asjVXjb7ONuwDKucahg==", - "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": "4 || 5 || ^5.0.0-beta.1" - } - }, - "node_modules/express-session": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.0.tgz", - "integrity": "sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==", - "license": "MIT", - "dependencies": { - "cookie": "0.6.0", - "cookie-signature": "1.0.7", - "debug": "2.6.9", - "depd": "~2.0.0", - "on-headers": "~1.0.2", - "parseurl": "~1.3.3", - "safe-buffer": "5.2.1", - "uid-safe": "~2.1.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/express-session/node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", - "license": "MIT" - }, - "node_modules/express-session/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express-session/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/express/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "^1.28.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extract-files": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-13.0.0.tgz", - "integrity": "sha512-FXD+2Tsr8Iqtm3QZy1Zmwscca7Jx3mMC5Crr+sEP1I303Jy1CYMuYCm7hRTplFNg3XdUavErkxnTzpaqdSoi6g==", - "license": "MIT", - "dependencies": { - "is-plain-obj": "^4.1.0" - }, - "engines": { - "node": "^14.17.0 || ^16.0.0 || >= 18.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/jaydenseric" - } - }, - "node_modules/extract-files/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-xml-parser": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz", - "integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], - "license": "MIT", - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fecha": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", - "license": "MIT" - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-selector": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", - "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/file-type": { - "version": "17.1.6", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.6.tgz", - "integrity": "sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-web-to-node-stream": "^3.0.2", - "strtok3": "^7.0.0-alpha.9", - "token-types": "^5.0.0-alpha.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/filename-reserved-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-3.0.0.tgz", - "integrity": "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/filenamify": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-5.1.1.tgz", - "integrity": "sha512-M45CbrJLGACfrPOkrTp3j2EcO9OBkKUYME0eiqOCa7i2poaklU0jhlIaMlr8ijLorT0uLAzrn3qXOp5684CkfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "filename-reserved-regex": "^3.0.0", - "strip-outer": "^2.0.0", - "trim-repeated": "^2.0.0" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-versions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz", - "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver-regex": "^4.0.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "devOptional": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true, - "license": "ISC" - }, - "node_modules/flru": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flru/-/flru-1.0.2.tgz", - "integrity": "sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/fmin": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/fmin/-/fmin-0.0.2.tgz", - "integrity": "sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A==", - "license": "BSD-3-Clause", - "dependencies": { - "contour_plot": "^0.0.1", - "json2module": "^0.0.3", - "rollup": "^0.25.8", - "tape": "^4.5.1", - "uglify-js": "^2.6.2" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "7.2.13", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.13.tgz", - "integrity": "sha512-fR3WRkOb4bQdWB/y7ssDUlVdrclvwtyCUIHCfivAoYxq9dF7XfrDKbMdZIfwJ7hxIAqkYSGeU7lLJE6xrxIBdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "fs-extra": "^10.0.0", - "memfs": "^3.4.1", - "minimatch": "^3.0.4", - "node-abort-controller": "^3.0.1", - "schema-utils": "^3.1.1", - "semver": "^7.3.5", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">=12.13.0", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "typescript": ">3.6.0", - "vue-template-compiler": "*", - "webpack": "^5.11.0" - }, - "peerDependenciesMeta": { - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/formidable": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", - "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dezalgo": "^1.0.4", - "hexoid": "^1.0.0", - "once": "^1.4.0", - "qs": "^6.11.0" - }, - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true, - "license": "Unlicense" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-port": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", - "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/git-raw-commits": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", - "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", - "license": "MIT", - "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/git-rev-sync": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-3.0.2.tgz", - "integrity": "sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "1.0.5", - "graceful-fs": "4.1.15", - "shelljs": "0.8.5" - } - }, - "node_modules/git-rev-sync/node_modules/graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true, - "license": "ISC" - }, - "node_modules/gl-matrix": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", - "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==", - "license": "MIT" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^4.0.0", - "@szmarczak/http-timer": "^4.0.5", - "@types/cacheable-request": "^6.0.1", - "@types/responselike": "^1.0.0", - "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.2", - "decompress-response": "^6.0.0", - "http2-wrapper": "^1.0.0-beta.5.2", - "lowercase-keys": "^2.0.0", - "p-cancelable": "^2.0.0", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=10.19.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/graphql": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", - "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" - } - }, - "node_modules/graphql-scalars": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/graphql-scalars/-/graphql-scalars-1.23.0.tgz", - "integrity": "sha512-YTRNcwitkn8CqYcleKOx9IvedA8JIERn8BRq21nlKgOr4NEcTaWEG0sT+H92eF3ALTFbPgsqfft4cw+MGgv0Gg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/graphql-subscriptions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz", - "integrity": "sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA==", - "license": "MIT", - "dependencies": { - "iterall": "^1.3.0" - }, - "peerDependencies": { - "graphql": "^15.7.2 || ^16.0.0" - } - }, - "node_modules/graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/graphql-type-json": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz", - "integrity": "sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==", - "license": "MIT", - "peerDependencies": { - "graphql": ">=0.8.0" - } - }, - "node_modules/graphql-upload-minimal": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/graphql-upload-minimal/-/graphql-upload-minimal-1.6.1.tgz", - "integrity": "sha512-wNUf/KqA0B/OguL1k6qWa4AmAduLUAhXzovh9i14SKbpBa8HX2vc7f+fR67S0rG7fSpGdM/aivxzC329/+9xXw==", - "license": "MIT", - "dependencies": { - "busboy": "^1.6.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "graphql": "0.13.1 - 16" - } - }, - "node_modules/graphql-ws": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.0.tgz", - "integrity": "sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": ">=0.11 <=16" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true, - "license": "MIT" - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", - "dev": true, - "license": "(Apache-2.0 OR MPL-1.1)" - }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "license": "ISC" - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hexoid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==", - "license": "MIT" - }, - "node_modules/highlight-words-core": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/highlight-words-core/-/highlight-words-core-1.2.2.tgz", - "integrity": "sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==", - "license": "MIT" - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-middleware": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz", - "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==", - "license": "MIT", - "dependencies": { - "@types/http-proxy": "^1.17.10", - "debug": "^4.3.4", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.5" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http-proxy/node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" - }, - "node_modules/http-server": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", - "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "basic-auth": "^2.0.1", - "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.2.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy": "^1.18.1", - "mime": "^1.6.0", - "minimist": "^1.2.6", - "opener": "^1.5.1", - "portfinder": "^1.0.28", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^4.0.1" - }, - "bin": { - "http-server": "bin/http-server" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/http2-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.0.0" - }, - "engines": { - "node": ">=10.19.0" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "license": "MIT" - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", - "dev": true, - "bin": { - "husky": "bin.mjs" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "dev": true, - "license": "MIT", - "dependencies": { - "harmony-reflect": "^1.4.6" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "devOptional": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "license": "MIT", - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immutable": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", - "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", - "dev": true, - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "devOptional": true, - "license": "BSD-3-Clause" - }, - "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "license": "MIT" - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "license": "MIT", - "dependencies": { - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "devOptional": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", - "license": "MIT", - "dependencies": { - "text-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iterall": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==", - "license": "MIT" - }, - "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" - } - }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve/node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner/node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz", - "integrity": "sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg==", - "license": "MIT" - }, - "node_modules/json2module": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/json2module/-/json2module-0.0.3.tgz", - "integrity": "sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA==", - "license": "BSD-3-Clause", - "dependencies": { - "rw": "^1.3.2" - }, - "bin": { - "json2module": "bin/json2module" - } - }, - "node_modules/json2mq": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", - "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", - "license": "MIT", - "dependencies": { - "string-convert": "^0.2.0" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "devOptional": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-eslint-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", - "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.5.0", - "eslint-visitor-keys": "^3.0.0", - "espree": "^9.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jsonwebtoken": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", - "license": "MIT", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jstat": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/jstat/-/jstat-1.9.6.tgz", - "integrity": "sha512-rPBkJbK2TnA8pzs93QcDDPlKcrtZWuuCo2dVR0TFLOJSxhqfWOVCSp8aV3/oSbn+4uY4yw1URtLpHQedtmXfug==" - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "license": "MIT", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "license": "MIT", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/kruptein": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-3.0.6.tgz", - "integrity": "sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA==", - "license": "MIT", - "dependencies": { - "asn1.js": "^5.4.1" - }, - "engines": { - "node": ">8" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/less": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", - "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", - "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", - "dev": true, - "license": "MIT", - "dependencies": { - "klona": "^2.0.4" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/less/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/less/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "license": "ISC", - "dependencies": { - "webpack-sources": "^3.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-sources": { - "optional": true - } - } - }, - "node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/lines-and-columns": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/lint-staged": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz", - "integrity": "sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==", - "license": "MIT", - "dependencies": { - "chalk": "5.3.0", - "commander": "11.1.0", - "debug": "4.3.4", - "execa": "8.0.1", - "lilconfig": "3.0.0", - "listr2": "8.0.1", - "micromatch": "4.0.5", - "pidtree": "0.6.0", - "string-argv": "0.3.2", - "yaml": "2.3.4" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": ">=18.12.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/lint-staged/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", - "license": "ISC", - "engines": { - "node": ">= 14" - } - }, - "node_modules/listr2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", - "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", - "license": "MIT", - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.0.0", - "rfdc": "^1.3.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "license": "MIT" - }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "license": "MIT" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "license": "MIT" - }, - "node_modules/lodash.mergewith": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", - "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "license": "MIT" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "license": "MIT" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "license": "MIT" - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "license": "MIT" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", - "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", - "license": "MIT", - "dependencies": { - "ansi-escapes": "^6.2.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^7.0.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", - "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "license": "MIT", - "dependencies": { - "get-east-asian-width": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/loglevel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", - "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "license": "Apache-2.0" - }, - "node_modules/longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "license": "MIT", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "license": "ISC" - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", - "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", - "dev": true, - "license": "Unlicense", - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/memoize-one": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.1.0.tgz", - "integrity": "sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA==", - "license": "MIT" - }, - "node_modules/memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "license": "MIT" - }, - "node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "license": "MIT", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "license": "MIT" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.7.tgz", - "integrity": "sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==", - "dev": true, - "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "license": "MIT", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minio": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minio/-/minio-7.1.3.tgz", - "integrity": "sha512-xPrLjWkTT5E7H7VnzOjF//xBp9I40jYB4aWhb2xTFopXXfw+Wo82DDWngdUju7Doy3Wk7R8C4LAgwhLHHnf0wA==", - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.4", - "block-stream2": "^2.1.0", - "browser-or-node": "^2.1.1", - "buffer-crc32": "^0.2.13", - "fast-xml-parser": "^4.2.2", - "ipaddr.js": "^2.0.1", - "json-stream": "^1.0.0", - "lodash": "^4.17.21", - "mime-types": "^2.1.35", - "query-string": "^7.1.3", - "through2": "^4.0.2", - "web-encoding": "^1.1.5", - "xml": "^1.0.1", - "xml2js": "^0.5.0" - }, - "engines": { - "node": "^16 || ^18 || >=20" - } - }, - "node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mock-property": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mock-property/-/mock-property-1.0.3.tgz", - "integrity": "sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.1", - "functions-have-names": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "hasown": "^2.0.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mongodb": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.5.0.tgz", - "integrity": "sha512-Fozq68InT+JKABGLqctgtb8P56pRrJFkbhW0ux+x1mdHeyinor8oNzJqwLjV/t5X5nJGfTlluxfyMnOXNggIUA==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/saslprep": "^1.1.5", - "bson": "^6.4.0", - "mongodb-connection-string-url": "^3.0.0" - }, - "engines": { - "node": ">=16.20.1" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.1.0", - "gcp-metadata": "^5.2.0", - "kerberos": "^2.0.1", - "mongodb-client-encryption": ">=6.0.0 <7", - "snappy": "^7.2.2", - "socks": "^2.7.1" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "@mongodb-js/zstd": { - "optional": true - }, - "gcp-metadata": { - "optional": true - }, - "kerberos": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - }, - "socks": { - "optional": true - } - } - }, - "node_modules/mongodb-connection-string-url": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.0.tgz", - "integrity": "sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==", - "license": "Apache-2.0", - "dependencies": { - "@types/whatwg-url": "^11.0.2", - "whatwg-url": "^13.0.0" - } - }, - "node_modules/mongodb-connection-string-url/node_modules/tr46": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", - "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", - "license": "MIT", - "dependencies": { - "punycode": "^2.3.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", - "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==", - "license": "MIT", - "dependencies": { - "tr46": "^4.1.1", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/mongodb-memory-server": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/mongodb-memory-server/-/mongodb-memory-server-9.2.0.tgz", - "integrity": "sha512-w/usKdYtby5EALERxmA0+et+D0brP0InH3a26shNDgGefXA61hgl6U0P3IfwqZlEGRZdkbZig3n57AHZgDiwvg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "mongodb-memory-server-core": "9.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.20.1" - } - }, - "node_modules/mongodb-memory-server-core": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/mongodb-memory-server-core/-/mongodb-memory-server-core-9.2.0.tgz", - "integrity": "sha512-9SWZEy+dGj5Fvm5RY/mtqHZKS64o4heDwReD4SsfR7+uNgtYo+JN41kPCcJeIH3aJf04j25i5Dia2s52KmsMPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-mutex": "^0.4.0", - "camelcase": "^6.3.0", - "debug": "^4.3.4", - "find-cache-dir": "^3.3.2", - "follow-redirects": "^1.15.6", - "https-proxy-agent": "^7.0.4", - "mongodb": "^5.9.1", - "new-find-package-json": "^2.0.0", - "semver": "^7.6.0", - "tar-stream": "^3.1.7", - "tslib": "^2.6.2", - "yauzl": "^3.1.3" - }, - "engines": { - "node": ">=14.20.1" - } - }, - "node_modules/mongodb-memory-server-core/node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, - "node_modules/mongodb-memory-server-core/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/mongodb-memory-server-core/node_modules/bson": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.1.tgz", - "integrity": "sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=14.20.1" - } - }, - "node_modules/mongodb-memory-server-core/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mongodb-memory-server-core/node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/mongodb-memory-server-core/node_modules/mongodb": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.9.2.tgz", - "integrity": "sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bson": "^5.5.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=14.20.1" - }, - "optionalDependencies": { - "@mongodb-js/saslprep": "^1.1.0" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.0.0", - "kerberos": "^1.0.0 || ^2.0.0", - "mongodb-client-encryption": ">=2.3.0 <3", - "snappy": "^7.2.2" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "@mongodb-js/zstd": { - "optional": true - }, - "kerberos": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - } - } - }, - "node_modules/mongodb-memory-server-core/node_modules/mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "node_modules/mongodb-memory-server-core/node_modules/tar-stream": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", - "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" - }, - "node_modules/new-find-package-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/new-find-package-json/-/new-find-package-json-2.0.0.tgz", - "integrity": "sha512-lDcBsjBSMlj3LXH2v/FW3txlh2pYTjmbOXPYJD93HI5EwuLzI11tdHSIpUMmfq/IOsldj4Ps8M8flhm+pCK4Ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">=12.22.0" - } - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", - "license": "MIT" - }, - "node_modules/node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", - "license": "MIT" - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-machine-id": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", - "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true, - "license": "MIT" - }, - "node_modules/nodemailer": { - "version": "6.9.13", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.13.tgz", - "integrity": "sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA==", - "license": "MIT-0", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "license": "ISC", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-package-arg": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", - "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nwsapi": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.9.tgz", - "integrity": "sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/nx": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-18.3.3.tgz", - "integrity": "sha512-GqC5ANfTWV6SFbgquZwuRMI2Z2nO0c0Yx4JzM3x32aJOgXsmRml3WcV0a5648bIXSen34gylHYl2EHaxVWkzNQ==", - "devOptional": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@nrwl/tao": "18.3.3", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "3.0.0-rc.46", - "@zkochan/js-yaml": "0.0.6", - "axios": "^1.6.0", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^8.0.1", - "dotenv": "~16.3.1", - "dotenv-expand": "~10.0.0", - "enquirer": "~2.3.6", - "figures": "3.2.0", - "flat": "^5.0.2", - "fs-extra": "^11.1.0", - "ignore": "^5.0.4", - "jest-diff": "^29.4.1", - "js-yaml": "4.1.0", - "jsonc-parser": "3.2.0", - "lines-and-columns": "~2.0.3", - "minimatch": "9.0.3", - "node-machine-id": "1.1.12", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "ora": "5.3.0", - "semver": "^7.5.3", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js", - "nx-cloud": "bin/nx-cloud.js" - }, - "optionalDependencies": { - "@nx/nx-darwin-arm64": "18.3.3", - "@nx/nx-darwin-x64": "18.3.3", - "@nx/nx-freebsd-x64": "18.3.3", - "@nx/nx-linux-arm-gnueabihf": "18.3.3", - "@nx/nx-linux-arm64-gnu": "18.3.3", - "@nx/nx-linux-arm64-musl": "18.3.3", - "@nx/nx-linux-x64-gnu": "18.3.3", - "@nx/nx-linux-x64-musl": "18.3.3", - "@nx/nx-win32-arm64-msvc": "18.3.3", - "@nx/nx-win32-x64-msvc": "18.3.3" - }, - "peerDependencies": { - "@swc-node/register": "^1.8.0", - "@swc/core": "^1.3.85" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/nx/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "devOptional": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/optimism": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.18.0.tgz", - "integrity": "sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ==", - "license": "MIT", - "dependencies": { - "@wry/caches": "^1.0.0", - "@wry/context": "^0.7.0", - "@wry/trie": "^0.4.3", - "tslib": "^2.3.0" - } - }, - "node_modules/optimism/node_modules/@wry/trie": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.4.3.tgz", - "integrity": "sha512-I6bHwH0fSf6RqQcnnXLJKhkSXG45MFral3GxPaY4uAl0LYDZM+YDVDAiU9bYwjTuysy1S0IeecWtmq1SZA3M1w==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", - "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-filter-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", - "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arch": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-cancelable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-json/node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/passport": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", - "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", - "license": "MIT", - "dependencies": { - "passport-strategy": "1.x.x", - "pause": "0.0.1", - "utils-merge": "^1.0.1" - }, - "engines": { - "node": ">= 0.4.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jaredhanson" - } - }, - "node_modules/passport-strategy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pause": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" - }, - "node_modules/pdfast": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/pdfast/-/pdfast-0.2.0.tgz", - "integrity": "sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==", - "license": "MIT" - }, - "node_modules/peek-readable": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", - "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/piscina": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.4.0.tgz", - "integrity": "sha512-+AQduEJefrOApE4bV7KRmp3N2JnnyErlVqq4P/jmko4FPz9Z877BCccl/iB3FdrWSUkvbGV9Kan/KllJgat3Vg==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "nice-napi": "^1.0.2" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", - "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-convert-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", - "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-comments": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", - "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", - "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-empty": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", - "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", - "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-loader/node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", - "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.1.1" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-rules": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", - "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.2", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", - "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", - "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-params": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", - "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", - "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", - "dev": true, - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", - "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", - "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", - "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", - "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-string": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", - "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", - "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", - "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", - "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", - "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-ordered-values": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", - "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssnano-utils": "^4.0.2", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", - "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", - "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", - "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.2.0" - }, - "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", - "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true, - "license": "MIT" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" - }, - "node_modules/qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", - "license": "MIT", - "dependencies": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/qrcode.react": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz", - "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", - "license": "ISC", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/qrcode/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/qrcode/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/qrcode/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "license": "ISC" - }, - "node_modules/qrcode/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "license": "MIT", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/qrcode/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/query-string": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", - "license": "MIT", - "dependencies": { - "decode-uri-component": "^0.2.2", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", - "dev": true, - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/quickselect": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", - "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", - "license": "ISC" - }, - "node_modules/random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rbush": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", - "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", - "license": "MIT", - "dependencies": { - "quickselect": "^2.0.0" - } - }, - "node_modules/rc-cascader": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.24.1.tgz", - "integrity": "sha512-RgKuYgEGPx+6wCgguYFHjMsDZdCyydZd58YJRCfYQ8FObqLnZW0x/vUcEyPjhWIj1EhjV958IcR+NFPDbbj9kg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "array-tree-filter": "^2.1.0", - "classnames": "^2.3.1", - "rc-select": "~14.13.0", - "rc-tree": "~5.8.1", - "rc-util": "^5.37.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-checkbox": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.2.0.tgz", - "integrity": "sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.3.2", - "rc-util": "^5.25.2" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-collapse": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.3.tgz", - "integrity": "sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-motion": "^2.3.4", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-dialog": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.4.0.tgz", - "integrity": "sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/portal": "^1.0.0-8", - "classnames": "^2.2.6", - "rc-motion": "^2.3.0", - "rc-util": "^5.21.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-drawer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.1.0.tgz", - "integrity": "sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@rc-component/portal": "^1.1.1", - "classnames": "^2.2.6", - "rc-motion": "^2.6.1", - "rc-util": "^5.38.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-dropdown": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz", - "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.6", - "rc-util": "^5.17.0" - }, - "peerDependencies": { - "react": ">=16.11.0", - "react-dom": ">=16.11.0" - } - }, - "node_modules/rc-field-form": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.44.0.tgz", - "integrity": "sha512-el7w87fyDUsca63Y/s8qJcq9kNkf/J5h+iTdqG5WsSHLH0e6Usl7QuYSmSVzJMgtp40mOVZIY/W/QP9zwrp1FA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "async-validator": "^4.1.0", - "rc-util": "^5.32.2" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-image": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.6.0.tgz", - "integrity": "sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.2", - "@rc-component/portal": "^1.0.2", - "classnames": "^2.2.6", - "rc-dialog": "~9.4.0", - "rc-motion": "^2.6.2", - "rc-util": "^5.34.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-input": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.4.5.tgz", - "integrity": "sha512-AjzykhwnwYTRSwwgCu70CGKBIAv6bP2nqnFptnNTprph/TF1BAs0Qxl91mie/BR6n827WIJB6ZjaRf9iiMwAfw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-util": "^5.18.1" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/rc-input-number": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.0.0.tgz", - "integrity": "sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/mini-decimal": "^1.0.1", - "classnames": "^2.2.5", - "rc-input": "~1.4.0", - "rc-util": "^5.28.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-mentions": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.11.1.tgz", - "integrity": "sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.22.5", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.6", - "rc-input": "~1.4.0", - "rc-menu": "~9.13.0", - "rc-textarea": "~1.6.1", - "rc-util": "^5.34.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-menu": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.13.0.tgz", - "integrity": "sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^2.0.0", - "classnames": "2.x", - "rc-motion": "^2.4.3", - "rc-overflow": "^1.3.1", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-motion": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz", - "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-util": "^5.21.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-notification": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.4.0.tgz", - "integrity": "sha512-li19y9RoYJciF3WRFvD+DvWS70jdL8Fr+Gfb/OshK+iY6iTkwzoigmSIp76/kWh5tF5i/i9im12X3nsF85GYdA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-motion": "^2.9.0", - "rc-util": "^5.20.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-overflow": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", - "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.37.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-pagination": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.4.tgz", - "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.3.2", - "rc-util": "^5.38.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-picker": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.4.1.tgz", - "integrity": "sha512-9/1pV12lMmUZtAbH0Sv/RIkeTdw/HSZs5G4GZFQ9UECLkCjOqhr9UF5Mf8dPuQ3xmw23SbXzOgDquN6eLFmZDw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.1", - "rc-overflow": "^1.3.2", - "rc-resize-observer": "^1.4.0", - "rc-util": "^5.38.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "date-fns": ">= 2.x", - "dayjs": ">= 1.x", - "luxon": ">= 3.x", - "moment": ">= 2.x", - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - }, - "peerDependenciesMeta": { - "date-fns": { - "optional": true - }, - "dayjs": { - "optional": true - }, - "luxon": { - "optional": true - }, - "moment": { - "optional": true - } - } - }, - "node_modules/rc-progress": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz", - "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.6", - "rc-util": "^5.16.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-rate": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.12.0.tgz", - "integrity": "sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.5", - "rc-util": "^5.0.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-resize-observer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", - "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.7", - "classnames": "^2.2.1", - "rc-util": "^5.38.0", - "resize-observer-polyfill": "^1.5.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-segmented": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", - "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-motion": "^2.4.4", - "rc-util": "^5.17.0" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/rc-select": { - "version": "14.13.1", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.13.1.tgz", - "integrity": "sha512-A1VHqjIOemxLnUGRxLGVqXBs8jGcJemI5NXxOJwU5PQc1wigAu1T4PRLgMkTPDOz8gPhlY9dwsPzMgakMc2QjQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^2.1.1", - "classnames": "2.x", - "rc-motion": "^2.0.1", - "rc-overflow": "^1.3.1", - "rc-util": "^5.16.1", - "rc-virtual-list": "^3.5.2" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/rc-slider": { - "version": "10.6.2", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.6.2.tgz", - "integrity": "sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.5", - "rc-util": "^5.36.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-steps": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", - "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.16.7", - "classnames": "^2.2.3", - "rc-util": "^5.16.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-switch": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", - "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.21.0", - "classnames": "^2.2.1", - "rc-util": "^5.30.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-table": { - "version": "7.45.4", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.45.4.tgz", - "integrity": "sha512-6aSbGrnkN2GLSt3s1x+wa4f3j/VEgg1uKPpaLY5qHH1/nFyreS2V7DFJ0TfUb18allf2FQl7oVYEjTixlBXEyQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/context": "^1.4.0", - "classnames": "^2.2.5", - "rc-resize-observer": "^1.1.0", - "rc-util": "^5.37.0", - "rc-virtual-list": "^3.11.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-tabs": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-14.1.1.tgz", - "integrity": "sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.2", - "classnames": "2.x", - "rc-dropdown": "~4.2.0", - "rc-menu": "~9.13.0", - "rc-motion": "^2.6.2", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.34.1" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-textarea": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.6.3.tgz", - "integrity": "sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.1", - "rc-input": "~1.4.0", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-tooltip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.0.tgz", - "integrity": "sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.2", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.3.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-tree": { - "version": "5.8.5", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.5.tgz", - "integrity": "sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-motion": "^2.0.1", - "rc-util": "^5.16.1", - "rc-virtual-list": "^3.5.1" - }, - "engines": { - "node": ">=10.x" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/rc-tree-select": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.19.0.tgz", - "integrity": "sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-select": "~14.13.0", - "rc-tree": "~5.8.1", - "rc-util": "^5.16.1" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/rc-upload": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.5.2.tgz", - "integrity": "sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "classnames": "^2.2.5", - "rc-util": "^5.2.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-util": { - "version": "5.39.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz", - "integrity": "sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "react-is": "^18.2.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "license": "MIT" - }, - "node_modules/rc-virtual-list": { - "version": "3.11.5", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.5.tgz", - "integrity": "sha512-iZRW99m5jAxtwKNPLwUrPryurcnKpXBdTyhuBp6ythf7kg/otKO5cCiIvL55GQwU0QGSlouQS0tnkciRMJUwRQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.0", - "classnames": "^2.2.6", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.36.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-csv": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/react-csv/-/react-csv-2.2.2.tgz", - "integrity": "sha512-RG5hOcZKZFigIGE8LxIEV/OgS1vigFQT4EkaHeKgyuCbUAu9Nbd/1RYq++bJcJJ9VOqO/n9TZRADsXNDR4VEpw==", - "license": "MIT" - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-dropzone": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", - "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", - "license": "MIT", - "dependencies": { - "attr-accept": "^2.2.2", - "file-selector": "^0.6.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "react": ">= 16.8 || 18.0.0" - } - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", - "license": "MIT" - }, - "node_modules/react-helmet-async": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.4.tgz", - "integrity": "sha512-yxjQMWposw+akRfvpl5+8xejl4JtUlHnEBcji6u8/e6oc7ozT+P9PNTWMhCbz2y9tc5zPegw2BvKjQA+NwdEjQ==", - "license": "Apache-2.0", - "dependencies": { - "invariant": "^2.2.4", - "react-fast-compare": "^3.2.2", - "shallowequal": "^1.1.0" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-highlight-words": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/react-highlight-words/-/react-highlight-words-0.20.0.tgz", - "integrity": "sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA==", - "license": "MIT", - "dependencies": { - "highlight-words-core": "^1.2.0", - "memoize-one": "^4.0.0", - "prop-types": "^15.5.8" - }, - "peerDependencies": { - "react": "^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", - "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.15.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", - "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.15.3", - "react-router": "6.22.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "license": "ISC" - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readable-web-to-node-stream": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", - "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/rehackt": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/rehackt/-/rehackt-0.0.6.tgz", - "integrity": "sha512-l3WEzkt4ntlEc/IB3/mF6SRgNHA6zfQR7BlGOgBTOmx7IJJXojDASav+NsgXHFjHn+6RmwqsGPFgZpabWpeOdw==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - } - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "license": "ISC" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-global": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", - "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", - "license": "MIT", - "dependencies": { - "global-dirs": "^0.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/response-iterator": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/response-iterator/-/response-iterator-0.2.6.tgz", - "integrity": "sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "lowercase-keys": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", - "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", - "license": "MIT" - }, - "node_modules/right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", - "license": "MIT", - "dependencies": { - "align-text": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz", - "integrity": "sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA==", - "license": "MIT", - "dependencies": { - "chalk": "^1.1.1", - "minimist": "^1.2.0", - "source-map-support": "^0.3.2" - }, - "bin": { - "rollup": "bin/rollup" - } - }, - "node_modules/rollup/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rollup/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rollup/node_modules/source-map": { - "version": "0.1.32", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", - "integrity": "sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==", - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/rollup/node_modules/source-map-support": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", - "integrity": "sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg==", - "license": "MIT", - "dependencies": { - "source-map": "0.1.32" - } - }, - "node_modules/rollup/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rollup/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "license": "BSD-3-Clause" - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "license": "WTFPL OR ISC", - "dependencies": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "node_modules/sass": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.75.0.tgz", - "integrity": "sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "license": "ISC" - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/scroll-into-view-if-needed": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", - "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", - "license": "MIT", - "dependencies": { - "compute-scroll-into-view": "^3.0.2" - } - }, - "node_modules/secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", - "dev": true, - "license": "MIT" - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true, - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-regex": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", - "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semver-truncate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-3.0.0.tgz", - "integrity": "sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true, - "license": "ISC" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "license": "ISC" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "license": "MIT" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", - "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "license": "MIT", - "dependencies": { - "memory-pager": "^1.0.2" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", - "license": "CC0-1.0" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "license": "ISC", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "devOptional": true, - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true, - "license": "MIT" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/stream-browserify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", - "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", - "license": "MIT", - "dependencies": { - "inherits": "~2.0.4", - "readable-stream": "^3.5.0" - } - }, - "node_modules/stream-http": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", - "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", - "license": "MIT", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "xtend": "^4.0.2" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/streamx": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", - "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" - } - }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "license": "MIT", - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/string-convert": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", - "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==", - "license": "MIT" - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", - "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-outer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-2.0.0.tgz", - "integrity": "sha512-A21Xsm1XzUkK0qK1ZrytDUvqsQWict2Cykhvi0fBQntGG5JSprESasEyV1EZ/4CiR5WB5KjzLTrP/bO37B0wPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "license": "MIT" - }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", - "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" - }, - "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strtok3": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", - "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tokenizer/token": "^0.3.0", - "peek-readable": "^5.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/style-loader": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", - "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/stylehacks": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", - "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.0", - "postcss-selector-parser": "^6.0.16" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/stylis": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz", - "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==", - "license": "MIT" - }, - "node_modules/stylus": { - "version": "0.59.0", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.59.0.tgz", - "integrity": "sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@adobe/css-tools": "^4.0.1", - "debug": "^4.3.2", - "glob": "^7.1.6", - "sax": "~1.2.4", - "source-map": "^0.7.3" - }, - "bin": { - "stylus": "bin/stylus" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://opencollective.com/stylus" - } - }, - "node_modules/stylus-loader": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.1.3.tgz", - "integrity": "sha512-TY0SKwiY7D2kMd3UxaWKSf3xHF0FFN/FAfsSqfrhxRT/koXTwffq2cgEWDkLQz7VojMu7qEEHt5TlMjkPx9UDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-glob": "^3.2.12", - "normalize-path": "^3.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "stylus": ">=0.52.4", - "webpack": "^5.0.0" - } - }, - "node_modules/stylus/node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "license": "ISC" - }, - "node_modules/stylus/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/superagent": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", - "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", - "dev": true, - "license": "MIT", - "dependencies": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.4", - "debug": "^4.3.4", - "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.1.2", - "methods": "^1.1.2", - "mime": "2.6.0", - "qs": "^6.11.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=6.4.0 <13 || >=14" - } - }, - "node_modules/superagent/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/supertest": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", - "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "methods": "^1.1.2", - "superagent": "^8.1.2" - }, - "engines": { - "node": ">=6.4.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/svg-path-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/svg-path-parser/-/svg-path-parser-1.1.0.tgz", - "integrity": "sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A==", - "license": "MIT" - }, - "node_modules/svgo": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", - "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/swc-loader": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", - "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@swc/counter": "^0.1.3" - }, - "peerDependencies": { - "@swc/core": "^1.2.147", - "webpack": ">=2" - } - }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true, - "license": "MIT" - }, - "node_modules/synckit": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.6.2.tgz", - "integrity": "sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tape": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.17.0.tgz", - "integrity": "sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==", - "license": "MIT", - "dependencies": { - "@ljharb/resumer": "~0.0.1", - "@ljharb/through": "~2.3.9", - "call-bind": "~1.0.2", - "deep-equal": "~1.1.1", - "defined": "~1.0.1", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "glob": "~7.2.3", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.1.4", - "minimist": "~1.2.8", - "mock-property": "~1.0.0", - "object-inspect": "~1.12.3", - "resolve": "~1.22.6", - "string.prototype.trim": "~1.2.8" - }, - "bin": { - "tape": "bin/tape" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tape/node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser": { - "version": "5.30.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.4.tgz", - "integrity": "sha512-xRdd0v64a8mFK9bnsKVdoNP9GQIKUAaJPTaqEQDL4w/J8WaW4sWXXoMZ+6SimPkfT5bElreXf8m9HnmPc3E1BQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-extensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", - "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/throttle-debounce": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", - "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", - "license": "MIT", - "engines": { - "node": ">=12.22" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "license": "MIT" - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "license": "MIT", - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toggle-selection": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", - "license": "MIT" - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/token-types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", - "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tokenizer/token": "^0.3.0", - "ieee754": "^1.2.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-repeated": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-2.0.0.tgz", - "integrity": "sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^5.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/trim-repeated/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "license": "WTFPL", - "dependencies": { - "utf8-byte-length": "^1.0.1" - } - }, - "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-essentials": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-9.4.2.tgz", - "integrity": "sha512-mB/cDhOvD7pg3YCLk2rOtejHjjdSi9in/IBYE13S+8WA5FBSraYf4V/ws55uvs0IvQ/l0wBOlXy5yBNZ9Bl8ZQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "typescript": ">=4.1.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/ts-invariant": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz", - "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-jest": { - "version": "29.1.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", - "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-loader": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-fw/7265mIWukrSHd0i+wSwx64kYUSAKPfxRDksjKIYTxSAp9W9/xcZVBF4Kl0eqQd5eBpAQ/oQrc5RyM/0c1GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^4.0.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true, - "license": "MIT" - }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", - "license": "BSD-2-Clause", - "dependencies": { - "source-map": "~0.5.1", - "yargs": "~3.10.0" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - }, - "optionalDependencies": { - "uglify-to-browserify": "~1.0.0" - } - }, - "node_modules/uglify-js/node_modules/camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uglify-js/node_modules/cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", - "license": "ISC", - "dependencies": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "node_modules/uglify-js/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uglify-js/node_modules/yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", - "license": "MIT", - "dependencies": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - }, - "node_modules/uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", - "license": "MIT", - "optional": true - }, - "node_modules/uid-safe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", - "license": "MIT", - "dependencies": { - "random-bytes": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "license": "MIT" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, - "dependencies": { - "qs": "^6.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", - "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", - "license": "MIT", - "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.2" - } - }, - "node_modules/url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true, - "license": "MIT" - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "license": "MIT" - }, - "node_modules/utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", - "license": "WTFPL" - }, - "node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/value-or-promise": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz", - "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web-encoding": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", - "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", - "license": "MIT", - "dependencies": { - "util": "^0.12.3" - }, - "optionalDependencies": { - "@zxing/text-encoding": "0.9.0" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/webpack": { - "version": "5.91.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", - "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "typed-assert": "^1.0.8" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", - "webpack": "^5.12.0" - }, - "peerDependenciesMeta": { - "html-webpack-plugin": { - "optional": true - } - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "license": "ISC" - }, - "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", - "license": "MIT/X11", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "license": "MIT" - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", - "license": "MIT" - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12" - } - }, - "node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "license": "MIT", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true, - "license": "MIT" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yauzl": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz", - "integrity": "sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "pend": "~1.2.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zen-observable": { - "version": "0.8.15", - "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", - "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", - "license": "MIT" - }, - "node_modules/zen-observable-ts": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz", - "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==", - "license": "MIT", - "dependencies": { - "zen-observable": "0.8.15" - } - } - } -} diff --git a/package.json b/package.json index c5c02ad15..b60383ea5 100644 --- a/package.json +++ b/package.json @@ -1,170 +1,170 @@ { - "name": "itmat-broker", - "version": "2.5.1", - "private": true, - "license": "MIT", - "scripts": { - "prepare": "husky && husky install", - "postinstall": "husky install", - "preinstall": "node ./scripts/hintYarn.js", - "dev": "yarn serve", - "serve": "nx run-many --parallel=5 --projects=itmat-job-executor,itmat-interface,itmat-ui-react --target=serve", - "serve-ui": "nx serve itmat-ui-react", - "serve-interface": "nx serve itmat-interface", - "serve-executor": "nx serve itmat-job-executor", - "build": "nx run-many --exclude=itmat-docker --target=build", - "build-noui": "nx run-many --exclude=itmat-docker,itmat-ui-react --target=build", - "dockerise": "nx build itmat-docker --tag datascienceinstitute/itmat-broker:latest", - "dockerise-staging": "nx build itmat-docker --tag datascienceinstitute/itmat-broker:staging", - "setupDatabase": "nx run-many --projects=itmat-setup --target=setup", - "test": "nx affected --parallel=1 --target=test", - "test-all": "nx run-many --parallel=1 --target=test", - "lint": "eslint .", - "lint-check": "nx affected --target=lint --parallel=1 && yarn lint", - "lint-fix": "nx affected --target=lint --parallel=1 --fix && yarn lint --fix", - "lint-commit": "commitlint -c false --edit", - "lint-staged": "lint-staged", - "format-check": "nx format:check --all", - "format-fix": "nx format --all" - }, - "devDependencies": { - "@babel/core": "^7.24.4", - "@babel/preset-react": "^7.24.1", - "@nx/esbuild": "18.3.3", - "@nx/eslint": "18.3.3", - "@nx/eslint-plugin": "18.3.3", - "@nx/express": "18.3.3", - "@nx/jest": "18.3.3", - "@nx/js": "18.3.3", - "@nx/node": "18.3.3", - "@nx/react": "18.3.3", - "@nx/web": "18.3.3", - "@nx/webpack": "18.3.3", - "@nx/workspace": "18.3.3", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", - "@svgr/webpack": "8.1.0", - "@swc/cli": "0.3.12", - "@swc/core": "1.4.16", - "@swc/jest": "0.2.36", - "@testing-library/react": "15.0.2", - "@types/bcrypt": "5.0.2", - "@types/connect-timeout": "0.0.39", - "@types/cors": "2.8.17", - "@types/express": "4.17.21", - "@types/express-session": "1.18.0", - "@types/fs-extra": "11.0.4", - "@types/jest": "29.5.12", - "@types/json2csv": "5.0.7", - "@types/jsonwebtoken": "9.0.6", - "@types/node": "^20.12.7", - "@types/nodemailer": "6.4.14", - "@types/passport": "1.0.16", - "@types/qrcode": "1.5.5", - "@types/react": "18.2.79", - "@types/react-dom": "18.2.25", - "@types/react-highlight-words": "0.16.7", - "@types/supertest": "6.0.2", - "@types/tmp": "0.2.6", - "@types/uuid": "9.0.8", - "@types/webpack-env": "1.18.4", - "@typescript-eslint/eslint-plugin": "7.7.0", - "@typescript-eslint/parser": "7.7.0", - "eslint": "8.57.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsonc": "2.15.1", - "eslint-plugin-jsx-a11y": "6.8.0", - "eslint-plugin-react": "7.34.1", - "eslint-plugin-react-hooks": "4.6.0", - "get-port": "7.1.0", - "git-rev-sync": "3.0.2", - "husky": "^8.0.0", - "jest": "29.7.0", - "jest-environment-jsdom": "29.7.0", - "mongodb-memory-server": "9.2.0", - "nx": "18.3.3", - "prettier": "^3.2.5", - "react-refresh": "^0.14.0", - "supertest": "6.3.4", - "swc-loader": "0.2.6", - "ts-essentials": "9.4.2", - "ts-jest": "29.1.2", - "ts-node": "10.9.2", - "typescript": "5.4.5", - "url-loader": "^4.1.1", - "webpack": "^5.91.0", - "webpack-merge": "^5.10.0" - }, - "dependencies": { - "@ant-design/icons": "5.3.6", - "@ant-design/plots": "2.2.0", - "@apollo/client": "3.9.11", - "@apollo/server": "4.10.4", - "@commitlint/config-conventional": "^18.6.2", - "@commitlint/config-nx-scopes": "^18.6.1", - "@ideafast/idgen": "0.1.1", - "@swc/helpers": "0.5.10", - "antd": "5.16.4", - "apollo-upload-client": "18.0.1", - "axios": "1.6.8", - "bcrypt": "5.1.1", - "commitlint": "^18.6.1", - "connect-mongo": "5.1.0", - "connect-timeout": "1.9.0", - "core-js": "^3.37.0", - "cors": "2.8.5", - "csv-parse": "5.5.5", - "dayjs": "1.11.10", - "deepmerge": "4.3.1", - "esbuild": "^0.20.2", - "export-from-json": "1.7.4", - "express": "^4.19.2", - "express-rate-limit": "7.2.0", - "express-session": "1.18.0", - "fs-extra": "11.2.0", - "graphql": "16.8.1", - "graphql-scalars": "1.23.0", - "graphql-subscriptions": "2.0.0", - "graphql-tag": "2.12.6", - "graphql-type-json": "0.3.2", - "graphql-upload-minimal": "1.6.1", - "graphql-ws": "5.16.0", - "hi-base32": "0.5.1", - "http-proxy-middleware": "3.0.0", - "https-browserify": "1.0.0", - "JSONStream": "1.3.5", - "jsonwebtoken": "9.0.2", - "jstat": "1.9.6", - "lint-staged": "15.2.2", - "minio": "7.1.3", - "mongodb": "6.5.0", - "nodemailer": "6.9.13", - "passport": "0.7.0", - "path-browserify": "1.0.1", - "qrcode": "1.5.3", - "react": "18.2.0", - "react-csv": "2.2.2", - "react-dom": "18.2.0", - "react-dropzone": "14.2.3", - "react-helmet-async": "2.0.4", - "react-highlight-words": "0.20.0", - "react-router-dom": "6.22.3", - "regenerator-runtime": "0.14.1", - "sanitize-filename": "1.6.3", - "stream-browserify": "3.0.0", - "stream-http": "3.2.0", - "tmp": "0.2.3", - "tslib": "^2.6.2", - "url": "0.11.3", - "uuid": "9.0.1" - }, - "resolutions": { - "**/@jest/create-cache-key-function": "^29", - "**/@jest/reporters": "^29", - "**/@jest/test-result": "^29", - "**/jest-config": "^29", - "**/jest-resolve": "^29", - "**/jest-util": "^29", - "**/pretty-format": "^29" - } -} + "name": "itmat-broker", + "version": "2.5.1", + "private": true, + "license": "MIT", + "scripts": { + "prepare": "husky && husky install", + "postinstall": "husky install", + "preinstall": "node ./scripts/hintYarn.js", + "dev": "yarn serve", + "serve": "nx run-many --parallel=5 --projects=itmat-job-executor,itmat-interface,itmat-ui-react --target=serve", + "serve-ui": "nx serve itmat-ui-react", + "serve-interface": "nx serve itmat-interface", + "serve-executor": "nx serve itmat-job-executor", + "build": "nx run-many --exclude=itmat-docker --target=build", + "build-noui": "nx run-many --exclude=itmat-docker,itmat-ui-react --target=build", + "dockerise": "nx build itmat-docker --tag datascienceinstitute/itmat-broker:latest", + "dockerise-staging": "nx build itmat-docker --tag datascienceinstitute/itmat-broker:staging", + "setupDatabase": "nx run-many --projects=itmat-setup --target=setup", + "test": "nx affected --parallel=1 --target=test", + "test-all": "nx run-many --parallel=1 --target=test", + "lint": "eslint .", + "lint-check": "nx affected --target=lint --parallel=1 && yarn lint", + "lint-fix": "nx affected --target=lint --parallel=1 --fix && yarn lint --fix", + "lint-commit": "commitlint -c false --edit", + "lint-staged": "lint-staged", + "format-check": "nx format:check --all", + "format-fix": "nx format --all" + }, + "devDependencies": { + "@babel/core": "^7.24.4", + "@babel/preset-react": "^7.24.1", + "@nx/esbuild": "18.3.3", + "@nx/eslint": "18.3.3", + "@nx/eslint-plugin": "18.3.3", + "@nx/express": "18.3.3", + "@nx/jest": "18.3.3", + "@nx/js": "18.3.3", + "@nx/node": "18.3.3", + "@nx/react": "18.3.3", + "@nx/web": "18.3.3", + "@nx/webpack": "18.3.3", + "@nx/workspace": "18.3.3", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", + "@svgr/webpack": "8.1.0", + "@swc/cli": "0.3.12", + "@swc/core": "1.4.16", + "@swc/jest": "0.2.36", + "@testing-library/react": "15.0.2", + "@types/bcrypt": "5.0.2", + "@types/connect-timeout": "0.0.39", + "@types/cors": "2.8.17", + "@types/express": "4.17.21", + "@types/express-session": "1.18.0", + "@types/fs-extra": "11.0.4", + "@types/jest": "29.5.12", + "@types/json2csv": "5.0.7", + "@types/jsonwebtoken": "9.0.6", + "@types/node": "^20.12.7", + "@types/nodemailer": "6.4.14", + "@types/passport": "1.0.16", + "@types/qrcode": "1.5.5", + "@types/react": "18.2.79", + "@types/react-dom": "18.2.25", + "@types/react-highlight-words": "0.16.7", + "@types/supertest": "6.0.2", + "@types/tmp": "0.2.6", + "@types/uuid": "9.0.8", + "@types/webpack-env": "1.18.4", + "@typescript-eslint/eslint-plugin": "7.7.0", + "@typescript-eslint/parser": "7.7.0", + "eslint": "8.57.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-jsonc": "2.15.1", + "eslint-plugin-jsx-a11y": "6.8.0", + "eslint-plugin-react": "7.34.1", + "eslint-plugin-react-hooks": "4.6.0", + "get-port": "7.1.0", + "git-rev-sync": "3.0.2", + "husky": "^8.0.0", + "jest": "29.7.0", + "jest-environment-jsdom": "29.7.0", + "mongodb-memory-server": "9.2.0", + "nx": "18.3.3", + "prettier": "^3.2.5", + "react-refresh": "^0.14.0", + "supertest": "6.3.4", + "swc-loader": "0.2.6", + "ts-essentials": "9.4.2", + "ts-jest": "29.1.2", + "ts-node": "10.9.2", + "typescript": "5.4.5", + "url-loader": "^4.1.1", + "webpack": "^5.91.0", + "webpack-merge": "^5.10.0" + }, + "dependencies": { + "@ant-design/icons": "5.3.6", + "@ant-design/plots": "2.2.0", + "@apollo/client": "3.9.11", + "@apollo/server": "4.10.4", + "@commitlint/config-conventional": "^18.6.2", + "@commitlint/config-nx-scopes": "^18.6.1", + "@ideafast/idgen": "0.1.1", + "@swc/helpers": "0.5.10", + "antd": "5.16.4", + "apollo-upload-client": "18.0.1", + "axios": "1.6.8", + "bcrypt": "5.1.1", + "commitlint": "^18.6.1", + "connect-mongo": "5.1.0", + "connect-timeout": "1.9.0", + "core-js": "^3.37.0", + "cors": "2.8.5", + "csv-parse": "5.5.5", + "dayjs": "1.11.10", + "deepmerge": "4.3.1", + "esbuild": "^0.20.2", + "export-from-json": "1.7.4", + "express": "^4.19.2", + "express-rate-limit": "7.2.0", + "express-session": "1.18.0", + "fs-extra": "11.2.0", + "graphql": "16.8.1", + "graphql-scalars": "1.23.0", + "graphql-subscriptions": "2.0.0", + "graphql-tag": "2.12.6", + "graphql-type-json": "0.3.2", + "graphql-upload-minimal": "1.6.1", + "graphql-ws": "5.16.0", + "hi-base32": "0.5.1", + "http-proxy-middleware": "3.0.0", + "https-browserify": "1.0.0", + "JSONStream": "1.3.5", + "jsonwebtoken": "9.0.2", + "jstat": "1.9.6", + "lint-staged": "15.2.2", + "minio": "7.1.3", + "mongodb": "6.5.0", + "nodemailer": "6.9.13", + "passport": "0.7.0", + "path-browserify": "1.0.1", + "qrcode": "1.5.3", + "react": "18.2.0", + "react-csv": "2.2.2", + "react-dom": "18.2.0", + "react-dropzone": "14.2.3", + "react-helmet-async": "2.0.4", + "react-highlight-words": "0.20.0", + "react-router-dom": "6.22.3", + "regenerator-runtime": "0.14.1", + "sanitize-filename": "1.6.3", + "stream-browserify": "3.0.0", + "stream-http": "3.2.0", + "tmp": "0.2.3", + "tslib": "^2.6.2", + "url": "0.11.3", + "uuid": "9.0.1" + }, + "resolutions": { + "**/@jest/create-cache-key-function": "^29", + "**/@jest/reporters": "^29", + "**/@jest/test-result": "^29", + "**/jest-config": "^29", + "**/jest-resolve": "^29", + "**/jest-util": "^29", + "**/pretty-format": "^29" + } +} \ No newline at end of file diff --git a/packages/itmat-docker/config/config.sample.json b/packages/itmat-docker/config/config.sample.json index 26ae7bb0e..f44d8ff21 100644 --- a/packages/itmat-docker/config/config.sample.json +++ b/packages/itmat-docker/config/config.sample.json @@ -36,6 +36,11 @@ }, "sessionsSecret": "Change_Me", "aesSecret": "change_this", - "nodemailer": {}, + "nodemailer": { + "auth": { + "user": "change_this", + "pass": "change_this" + } + }, "aeEndpoint": "http://localhost:9090" } \ No newline at end of file diff --git a/packages/itmat-interface/config/config.sample.json b/packages/itmat-interface/config/config.sample.json index be4f3f017..622ca4650 100644 --- a/packages/itmat-interface/config/config.sample.json +++ b/packages/itmat-interface/config/config.sample.json @@ -37,7 +37,10 @@ "sessionsSecret": "Change_Me", "aesSecret": "change_this", "nodemailer": { - "auth": {} + "auth": { + "user": "change_this", + "pass": "change_this" + } }, "adminEmail": "admin@example.com", "aeEndpoint": "http://localhost:9090" diff --git a/packages/itmat-interface/src/graphql/ApolloServerContext 2.ts b/packages/itmat-interface/src/graphql/ApolloServerContext 2.ts deleted file mode 100644 index 540f17e85..000000000 --- a/packages/itmat-interface/src/graphql/ApolloServerContext 2.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ApolloServerContext { - token?: string; -} \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/core/fieldCore.ts b/packages/itmat-interface/src/graphql/core/fieldCore.ts index cd6cf8f7a..fb3c67d68 100644 --- a/packages/itmat-interface/src/graphql/core/fieldCore.ts +++ b/packages/itmat-interface/src/graphql/core/fieldCore.ts @@ -26,8 +26,7 @@ export class FieldCore { } - -export function validateAndGenerateFieldEntry(fieldEntry, requester: IUserWithoutToken) { +export function validateAndGenerateFieldEntry(fieldEntry: Partial, requester: IUserWithoutToken) { // duplicates with existing fields are checked by caller function const error: string[] = []; const complusoryField = [ @@ -47,7 +46,7 @@ export function validateAndGenerateFieldEntry(fieldEntry, requester: IUserWithou error.push('FieldId should contain letters, numbers and _ only.'); } // data types - if (!Object.values(enumValueType).includes(fieldEntry.dataType)) { + if (!fieldEntry.dataType || !Object.values(enumValueType).includes(fieldEntry.dataType)) { error.push(`Data type shouldn't be ${fieldEntry.dataType}: use 'int' for integer, 'dec' for decimal, 'str' for string, 'bool' for boolean, 'date' for datetime, 'file' for FILE, 'json' for json.`); } // check possiblevalues to be not-empty if datatype is categorical diff --git a/packages/itmat-interface/src/graphql/resolvers/context 2.ts b/packages/itmat-interface/src/graphql/resolvers/context 2.ts deleted file mode 100644 index f5a6889f1..000000000 --- a/packages/itmat-interface/src/graphql/resolvers/context 2.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { ExpressMiddlewareOptions } from '@apollo/server/express4'; -import { IResolvers } from '@graphql-tools/utils'; - -export type DMPContext = Awaited['context']>>>>; - -export type DMPResolversMap = Record>; - -export type DMPResolver = DMPResolversMap[keyof DMPResolversMap][keyof DMPResolversMap[keyof DMPResolversMap]] \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts index bb82af874..b9006be91 100644 --- a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts @@ -99,18 +99,8 @@ export const fileResolvers: DMPResolversMap = { return new Promise((resolve, reject) => { (async () => { try { - const fileEntry: IFile = { - id: uuid(), - fileName: file.filename, - studyId: args.studyId, - description: args.description, - uploadTime: `${Date.now()}`, - uploadedBy: requester.id, - deleted: null, - metadata: {}, - uri: '', - hash: '' - }; + let fileName: string = file.filename; + let metadata: Record = {}; if (!isStudyLevel) { const matcher = /(.{1})(.{6})-(.{3})(.{6})-(\d{8})-(\d{8})\.(.*)/; let startDate; @@ -157,8 +147,8 @@ export const fileResolvers: DMPResolversMap = { const formattedStartDate = typedStartDate.getFullYear() + `${typedStartDate.getMonth() + 1}`.padStart(2, '0') + `${typedStartDate.getDate()}`.padStart(2, '0'); const typedEndDate = new Date(endDate); const formattedEndDate = typedEndDate.getFullYear() + `${typedEndDate.getMonth() + 1}`.padStart(2, '0') + `${typedEndDate.getDate()}`.padStart(2, '0'); - fileEntry.fileName = `${parsedDescription.participantId.toUpperCase()}-${parsedDescription.deviceId.toUpperCase()}-${formattedStartDate}-${formattedEndDate}.${fileNameParts[fileNameParts.length - 1]}`; - fileEntry.metadata = { + fileName = `${parsedDescription.participantId.toUpperCase()}-${parsedDescription.deviceId.toUpperCase()}-${formattedStartDate}-${formattedEndDate}.${fileNameParts[fileNameParts.length - 1]}`; + metadata = { participantId: parsedDescription.participantId, deviceId: parsedDescription.deviceId, startDate: parsedDescription.startDate, // should be in milliseconds @@ -208,7 +198,19 @@ export const fileResolvers: DMPResolversMap = { reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); return; } - + const fileEntry: IFile = { + id: uuid(), + fileName: fileName, + studyId: args.studyId, + description: args.description, + uploadTime: `${Date.now()}`, + uploadedBy: requester.id, + deleted: null, + metadata: metadata, + fileSize: readBytes.toString(), + uri: fileUri, + hash: hashString + }; fileEntry.fileSize = readBytes.toString(); fileEntry.uri = fileUri; fileEntry.hash = hashString; diff --git a/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts index e35d8fdfe..fca6fe267 100644 --- a/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts @@ -141,7 +141,7 @@ export const pubkeyResolvers: DMPResolversMap = { const updateResult = await db.collections.pubkeys_collection.findOneAndUpdate({ associatedUserId, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); if (updateResult) { await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to: requester.email, subject: `[${config.appName}] New public-key has sucessfully registered!`, html: ` @@ -178,7 +178,7 @@ export const pubkeyResolvers: DMPResolversMap = { }); await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to: requester.email, subject: `[${config.appName}] Public-key Registration!`, html: ` diff --git a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts index 584cf874b..5df66725e 100644 --- a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts @@ -28,6 +28,17 @@ import { dataStandardization } from '../../utils/query'; import { DMPResolversMap } from './context'; import { Filter } from 'mongodb'; +interface CreateFieldInput { + fieldId: string; + fieldName: string + tableName: string + dataType: enumValueType + possibleValues?: IValueDescription[] + unit?: string + comments?: string + metadata: Record +} + interface EditFieldInput { fieldId: string; fieldName: string; @@ -1091,7 +1102,7 @@ export const studyResolvers: DMPResolversMap = { const study = await studyCore.editStudy(studyId, description); return study; }, - createNewField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput }, context) => { + createNewField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput: CreateFieldInput[] }, context) => { const requester = context.req.user; if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -1138,6 +1149,9 @@ export const studyResolvers: DMPResolversMap = { if (!isError) { const newFieldEntry: IFieldEntry = { ...fieldEntry, + fieldId: oneFieldInput.fieldId, + fieldName: oneFieldInput.fieldName, + dataType: oneFieldInput.dataType, id: uuid(), studyId: studyId, dataVersion: null, diff --git a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts index 5d92b9948..8e362fef1 100644 --- a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts @@ -18,6 +18,36 @@ import tmp from 'tmp'; import { DMPResolversMap } from './context'; import { UpdateFilter } from 'mongodb'; +type CreateUserInput = { + username: string, + firstname: string, + lastname: string, + email: string, + emailNotificationsActivated?: boolean, + password: string, + description?: string, + organisation: string, + metadata: unknown +} + +type EditUserInput = { + id: string, + username?: string, + type?: userTypes, + firstname?: string, + lastname?: string, + email?: string, + emailNotificationsActivated?: boolean, + emailNotificationsStatus?: unknown, + password?: string, + description?: string, + organisation?: string, + expiredAt?: number, + metadata?: unknown +} + + + export const userResolvers: DMPResolversMap = { Query: { whoAmI: (parent, args, context) => { @@ -305,11 +335,7 @@ export const userResolvers: DMPResolversMap = { }); }); }, - createUser: async (parent, args: { - user: { - username: string, firstname: string, lastname: string, email: string, emailNotificationsActivated?: boolean, password: string, description?: string, organisation: string, metadata: unknown - } - }) => { + createUser: async (parent, args: { user: CreateUserInput }) => { const { username, firstname, lastname, email, emailNotificationsActivated, password, description, organisation, metadata }: { username: string, firstname: string, lastname: string, email: string, emailNotificationsActivated?: boolean, password: string, description?: string, organisation: string, metadata: unknown } = args.user; @@ -368,7 +394,7 @@ export const userResolvers: DMPResolversMap = { const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to: email, subject: `[${config.appName}] Registration Successful`, html: ` @@ -491,7 +517,7 @@ export const userResolvers: DMPResolversMap = { const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to: email, subject: `[${config.appName}] Password reset`, html: ` @@ -517,11 +543,7 @@ export const userResolvers: DMPResolversMap = { tmpobj.removeCallback(); return makeGenericReponse(); }, - editUser: async (parent, args: { - user: { - id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown - } - }, context) => { + editUser: async (parent, args: { user: EditUserInput }, context) => { const requester = context.req.user; if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -691,7 +713,7 @@ async function formatEmailForForgottenPassword({ username, firstname, to, resetP const link = `${origin}/reset/${encryptedEmail}/${resetPasswordToken}`; return ({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to, subject: `[${config.appName}] password reset`, html: ` @@ -715,7 +737,7 @@ async function formatEmailForForgottenPassword({ username, firstname, to, resetP function formatEmailForFogettenUsername({ username, to }: { username: string, to: string }) { return ({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to, subject: `[${config.appName}] password reset`, html: ` @@ -735,7 +757,7 @@ function formatEmailForFogettenUsername({ username, to }: { username: string, to function formatEmailRequestExpiryDatetoClient({ username, to }: { username: string, to: string }) { return ({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to, subject: `[${config.appName}] New expiry date has been requested!`, html: ` @@ -756,7 +778,7 @@ function formatEmailRequestExpiryDatetoClient({ username, to }: { username: stri function formatEmailRequestExpiryDatetoAdmin({ username, userEmail }: { username: string, userEmail: string }) { return ({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to: `${config.adminEmail}`, subject: `[${config.appName}] New expiry date has been requested from ${username} account!`, html: ` @@ -777,7 +799,7 @@ function formatEmailRequestExpiryDatetoAdmin({ username, userEmail }: { username function formatEmailRequestExpiryDateNotification({ username, to }: { username: string, to: string }) { return ({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to, subject: `[${config.appName}] New expiry date has been updated!`, html: ` diff --git a/packages/itmat-interface/src/index.ts b/packages/itmat-interface/src/index.ts index 7acbcdf09..9bc007b65 100644 --- a/packages/itmat-interface/src/index.ts +++ b/packages/itmat-interface/src/index.ts @@ -106,7 +106,7 @@ async function emailNotification() { }).toArray(); for (const user of users) { await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth?.user}>`, + from: `${config.appName} <${config.nodemailer.auth.user}>`, to: user.email, subject: `[${config.appName}] Account is going to expire!`, html: ` diff --git a/packages/itmat-interface/src/server/router.ts b/packages/itmat-interface/src/server/router.ts index 89f50d8c7..3a4c65415 100644 --- a/packages/itmat-interface/src/server/router.ts +++ b/packages/itmat-interface/src/server/router.ts @@ -84,7 +84,6 @@ export class Router { requestTimeout: 0, noDelay: true }, this.app); - this.server.headersTimeout = 0; this.server.timeout = 0; this.server.headersTimeout = 0; diff --git a/packages/itmat-interface/src/utils/configManager.ts b/packages/itmat-interface/src/utils/configManager.ts index 35bdb9457..9ccf7ecbe 100644 --- a/packages/itmat-interface/src/utils/configManager.ts +++ b/packages/itmat-interface/src/utils/configManager.ts @@ -11,7 +11,7 @@ export interface IConfiguration extends IServerConfig { appName: string; database: IDatabaseBaseConfig; objectStore: IObjectStoreConfig; - nodemailer: SMTPTransport.Options; + nodemailer: SMTPTransport.Options & { auth: { user: string, pass: string } }; aesSecret: string; sessionsSecret: string; adminEmail: string; diff --git a/packages/itmat-interface/test/serverTests/log.test.ts b/packages/itmat-interface/test/serverTests/log.test.ts index 4710712a8..cd0c8687e 100644 --- a/packages/itmat-interface/test/serverTests/log.test.ts +++ b/packages/itmat-interface/test/serverTests/log.test.ts @@ -96,10 +96,8 @@ describe('LOG API', () => { totp: otp } }); - console.log(res.body); expect(res.status).toBe(200); const findLogInMongo = await db.collections.log_collection.find({}).toArray(); - console.log(findLogInMongo); const lastLog = findLogInMongo.pop(); expect(lastLog).toBeDefined(); if (!lastLog) diff --git a/packages/itmat-interface/test/serverTests/study.test.ts b/packages/itmat-interface/test/serverTests/study.test.ts index bff96d541..9152e9990 100644 --- a/packages/itmat-interface/test/serverTests/study.test.ts +++ b/packages/itmat-interface/test/serverTests/study.test.ts @@ -2166,52 +2166,52 @@ if (global.hasMinio) { expect(res.body.data.getStudy).toBe(null); }); - // test('Get study (user with privilege)', async () => { - // { - // const res = await authorisedUser.post('/graphql').send({ - // query: print(GET_STUDY), - // variables: { studyId: createdStudy.id } - // }); - // expect(res.status).toBe(200); - // expect(res.body.errors).toHaveLength(1); - // expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - // expect(res.body.data.getStudy).toEqual(null); - // } - // { - // const res = await authorisedUser.post('/graphql').send({ - // query: print(GET_PROJECT), - // variables: { projectId: createdProject.id, admin: false } - // }); - // expect(res.status).toBe(200); - // expect(res.body.errors).toBeUndefined(); - // expect(res.body.data.getProject).toEqual({ - // id: createdProject.id, - // studyId: createdStudy.id, - // name: createdProject.name, - // jobs: [], - // iCanEdit: true, - // fields: [], - // files: [], - // dataVersion: { - // contentId: 'mockContentId', - // id: 'mockDataVersionId', - // tag: null, - // updateDate: '5000000', - // version: '0.0.1' - // }, - // summary: { - // subjects: [ - // 'mock_patient1', - // 'mock_patient2' - // ], - // visits: [ - // 'mockvisitId' - // ], - // standardizationTypes: [] - // } - // }); - // } - // }); + test('Get study (user with privilege)', async () => { + { + const res = await authorisedUser.post('/graphql').send({ + query: print(GET_STUDY), + variables: { studyId: createdStudy.id } + }); + expect(res.status).toBe(200); + expect(res.body.errors).toHaveLength(1); + expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); + expect(res.body.data.getStudy).toEqual(null); + } + { + const res = await authorisedUser.post('/graphql').send({ + query: print(GET_PROJECT), + variables: { projectId: createdProject.id, admin: false } + }); + expect(res.status).toBe(200); + expect(res.body.errors).toBeUndefined(); + expect(res.body.data.getProject).toEqual({ + id: createdProject.id, + studyId: createdStudy.id, + name: createdProject.name, + jobs: [], + iCanEdit: true, + fields: [], + files: [], + dataVersion: { + contentId: 'mockContentId', + id: 'mockDataVersionId', + tag: null, + updateDate: '5000000', + version: '0.0.1' + }, + summary: { + subjects: [ + 'mock_patient1', + 'mock_patient2' + ], + visits: [ + 'mockvisitId' + ], + standardizationTypes: [] + } + }); + } + }); test('Get study fields (admin)', async () => { const res = await admin.post('/graphql').send({ diff --git a/packages/itmat-types/src/types/data.ts b/packages/itmat-types/src/types/data.ts index fcc42f6d2..1e0ed7127 100644 --- a/packages/itmat-types/src/types/data.ts +++ b/packages/itmat-types/src/types/data.ts @@ -15,14 +15,6 @@ export interface IDataEntry { uploadedAt: number; } -export interface IFieldDescriptionObject { - fieldId: string; - fieldName: string; - timepoint: number; - measurement: number; - dataType: 'cat' | 'int' | 'dec' | 'bool' | 'file' | 'json' | 'str' | 'date'; -} - export interface IGroupedData { [key: string]: { [key: string]: { diff --git a/packages/itmat-types/src/types/field.ts b/packages/itmat-types/src/types/field.ts index 9e46754dc..5e4733816 100644 --- a/packages/itmat-types/src/types/field.ts +++ b/packages/itmat-types/src/types/field.ts @@ -5,7 +5,7 @@ export interface IFieldEntry { fieldName: string; tableName?: string; dataType: enumValueType; - possibleValues?: IValueDescription[]; + possibleValues?: IValueDescription[] | null; unit?: string; comments?: string; metadata?: Record; diff --git a/packages/itmat-ui-react/src/components/apolloClient.ts b/packages/itmat-ui-react/src/components/apolloClient.ts index bca8333f6..d560ab08c 100644 --- a/packages/itmat-ui-react/src/components/apolloClient.ts +++ b/packages/itmat-ui-react/src/components/apolloClient.ts @@ -63,7 +63,7 @@ export const client = new ApolloClient({ link: from([ onError(({ response, graphQLErrors, networkError }) => { if (graphQLErrors) { - if (response && response.errors && response.errors[0].message === 'NOT_LOGGED_IN') { + if (response?.errors?.[0].message === 'NOT_LOGGED_IN') { window.location.reload(); } graphQLErrors.map((error) => diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx index c969485b4..cc4377368 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx @@ -1184,7 +1184,7 @@ function divideResults(filters, results, fields, dmFields) { dataClip.dataForGraph = dataForGraph; } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { - if (fieldDef.possibleValues !== undefined) { + if (fieldDef.possibleValues) { fieldDef.possibleValues.forEach(ek => { acc.push({ x: curr, From 3835efcccacd384bafdbeb2a9b29d7520313aa29 Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Wed, 1 May 2024 16:26:13 +0100 Subject: [PATCH 156/252] fix(job): Remove unused job interfaces, functions and tests --- .../src/graphql/resolvers/jobResolvers.ts | 110 +--- .../itmat-interface/src/graphql/typeDefs.ts | 4 - .../test/serverTests/job.test.ts | 471 +----------------- packages/itmat-models/src/graphql/curation.ts | 18 - packages/itmat-types/src/types/job.ts | 2 - packages/itmat-types/src/types/log.ts | 2 - 6 files changed, 3 insertions(+), 604 deletions(-) diff --git a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts index 62f3b2ca9..6fcddb22a 100644 --- a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts @@ -1,6 +1,6 @@ import { GraphQLError } from 'graphql'; import { withFilter } from 'graphql-subscriptions'; -import { IJobEntryForDataCuration, IJobEntryForFieldCuration, IJobEntryForQueryCuration, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; +import { IJobEntryForQueryCuration, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { db } from '../../database/database'; import { errorCodes } from '../errors'; @@ -20,114 +20,6 @@ enum JOB_TYPE { export const jobResolvers: DMPResolversMap = { Query: {}, Mutation: { - createDataCurationJob: async (parent, args: { file: string[], studyId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.job, - atomicOperation.WRITE, - requester, - args.studyId - ); - if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - const dataFormatToJobType = { - json: JOB_TYPE.DATA_UPLOAD_JSON, - csv: JOB_TYPE.DATA_UPLOAD_CSV - // tsv: JOB_TYPE.DATA_UPLOAD_CSV - }; - - const jobList: IJobEntryForDataCuration[] = []; - for (const oneFile of args.file) { - /* check if the file exists */ - const file = await db.collections.files_collection.findOne({ deleted: null, id: oneFile }); - if (!file) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* check study exists */ - await studyCore.findOneStudy_throwErrorIfNotExist(args.studyId); - - /* create job */ - const parts = file.fileName.split('.'); - const dataFormat = parts[parts.length - 1] as keyof typeof dataFormatToJobType; - - if (!dataFormatToJobType[dataFormat]) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const job: IJobEntryForDataCuration = { - id: uuid(), - jobType: dataFormatToJobType[dataFormat], - studyId: args.studyId, - requester: requester.id, - requestTime: new Date().valueOf(), - receivedFiles: [oneFile], - error: null, - status: 'QUEUED', - cancelled: false - }; - - const result = await db.collections.jobs_collection.insertOne(job); - jobList.push(job); - if (!result.acknowledged) { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - } - return jobList; - }, - createFieldCurationJob: async (parent, args: { file: string, studyId: string, tag: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.job, - atomicOperation.WRITE, - requester, - args.studyId - ); - if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - /* check if the file exists */ - const file = await db.collections.files_collection.findOne({ deleted: null, id: args.file }); - if (!file) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* check study exists */ - await studyCore.findOneStudy_throwErrorIfNotExist(args.studyId); - - /* check tag not undefined */ - if (args.tag === undefined) { - throw new GraphQLError('Tag is not provided', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - - /* create job */ - const job: IJobEntryForFieldCuration = { - id: uuid(), - jobType: JOB_TYPE.FIELD_INFO_UPLOAD, - studyId: args.studyId, - requester: requester.id, - requestTime: new Date().valueOf(), - receivedFiles: [args.file], - error: null, - status: 'QUEUED', - cancelled: false, - data: { - tag: args.tag - } - }; - - const result = await db.collections.jobs_collection.insertOne(job); - if (!result.acknowledged) { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - return job; - }, createQueryCurationJob: async (parent, args: { queryId: string[], studyId: string, projectId: string }, context) => { const requester = context.req.user; if (!requester) { diff --git a/packages/itmat-interface/src/graphql/typeDefs.ts b/packages/itmat-interface/src/graphql/typeDefs.ts index f1427d040..7f1852ee8 100644 --- a/packages/itmat-interface/src/graphql/typeDefs.ts +++ b/packages/itmat-interface/src/graphql/typeDefs.ts @@ -367,8 +367,6 @@ enum LOG_ACTION { GET_STUDY_FIELDS CREATE_STUDY EDIT_STUDY - CREATE_DATA_CURATION_JOB - CREATE_FIELD_CURATION_JOB GET_DATA_RECORDS GET_ONTOLOGY_TREE CHECK_DATA_COMPLETE @@ -613,8 +611,6 @@ type Mutation { createQuery(query: QueryObjInput!): QueryEntry # CURATION - createDataCurationJob(file: [String]!, studyId: String!): [Job] - createFieldCurationJob(file: String!, studyId: String!, tag: String!): Job createQueryCurationJob(queryId: [String], studyId: String, projectId: String): Job setDataversionAsCurrent(studyId: String!, dataVersionId: String!): Study diff --git a/packages/itmat-interface/test/serverTests/job.test.ts b/packages/itmat-interface/test/serverTests/job.test.ts index 7da568489..261a0723c 100644 --- a/packages/itmat-interface/test/serverTests/job.test.ts +++ b/packages/itmat-interface/test/serverTests/job.test.ts @@ -9,8 +9,8 @@ import { Router } from '../../src/server/router'; import { v4 as uuid } from 'uuid'; import { errorCodes } from '../../src/graphql/errors'; import { Db, MongoClient } from 'mongodb'; -import { IJobEntry, IUser, IRole, IStudy, IProject, IQueryEntry, IFile, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; -import { CREATE_DATA_CURATION_JOB, CREATE_FIELD_CURATION_JOB, CREATE_QUERY_CURATION_JOB } from '@itmat-broker/itmat-models'; +import { IJobEntry, IUser, IRole, IStudy, IProject, IQueryEntry, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; +import { CREATE_QUERY_CURATION_JOB } from '@itmat-broker/itmat-models'; import { MongoMemoryServer } from 'mongodb-memory-server'; import { setupDatabase } from '@itmat-broker/itmat-setup'; import config from '../../config/config.sample.json'; @@ -60,7 +60,6 @@ describe('JOB API', () => { let createdStudy: { id: any; name?: string; createdBy?: string; lastModified?: number; deleted?: null; currentDataVersion?: number; dataVersions?: never[]; }; let createdProject: { id: any; name?: string; createdBy?: string; lastModified?: number; studyId?: string; deleted?: null; patientMapping?: Record; }; let createdQuery: { id: any; requester?: string; queryString?: { date_requested: string; }; studyId?: string; projectId?: string; status?: string; error?: null; cancelled?: boolean; data_requested?: never[]; cohort?: never[][]; new_fields?: never[]; queryResult?: never[]; }; - let createdFile: { id: any; fileName?: string; studyId?: string; fileSize?: string; description?: string; uploadedBy?: any; uri?: string; deleted?: null; }; beforeAll(async () => { /* setup: first retrieve the generated user id */ @@ -68,472 +67,6 @@ describe('JOB API', () => { adminId = result.filter((e: { username: string; }) => e.username === 'admin')[0].id; }); - describe('CREATE DATA CURATION API', () => { - beforeEach(async () => { - /* setup: create a study to upload file to */ - const studyname = uuid(); - createdStudy = { - id: `new_study_id_${studyname}`, - name: studyname, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, - currentDataVersion: -1, - dataVersions: [] - }; - await mongoClient.collection(config.database.collections.studies_collection).insertOne(createdStudy); - - /* setup: created file entry in the database */ - const fileName = uuid(); - createdFile = { - id: `new_file_id_${fileName}`, - fileName: fileName + '.csv', - studyId: createdStudy.id, - fileSize: '1000', - description: 'just a test file here.', - uploadedBy: adminId, - uri: `new_file_uri_${fileName}`, - deleted: null - }; - await mongoClient.collection(config.database.collections.files_collection).insertOne(createdFile); - }); - - test('Create a data curation job with tag (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(CREATE_DATA_CURATION_JOB), - variables: { - file: [createdFile.id], - studyId: createdStudy.id - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(res.body.data.createDataCurationJob).toEqual([{ - id: job.id, - jobType: 'DATA_UPLOAD_CSV', - projectId: null, - studyId: createdStudy.id, - requester: adminId, - requestTime: job.requestTime, - receivedFiles: [createdFile.id], - status: 'QUEUED', - error: null, - cancelled: false, - cancelledTime: null, - data: null - }]); - }); - - test('Create a data curation job without tag (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(CREATE_DATA_CURATION_JOB), - variables: { - file: [createdFile.id], - studyId: createdStudy.id - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(res.body.data.createDataCurationJob).toEqual([{ - id: job.id, - jobType: 'DATA_UPLOAD_CSV', - projectId: null, - studyId: createdStudy.id, - requester: adminId, - requestTime: job.requestTime, - receivedFiles: [createdFile.id], - status: 'QUEUED', - error: null, - cancelled: false, - cancelledTime: null, - data: null - }]); - }); - - test('Create a data curation job (user with no privilege)', async () => { - const res = await user.post('/graphql').send({ - query: print(CREATE_DATA_CURATION_JOB), - variables: { - file: [createdFile.id], - studyId: createdStudy.id - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(job).toBe(null); - }); - - test('Create a data curation job (user with privilege)', async () => { - /* setup: creating a privileged user */ - const username = uuid(); - const authorisedUserProfile = { - username, - type: 'STANDARD', - firstname: `${username}_firstname`, - lastname: `${username}_lastname`, - password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: `${username}@example.com`, - description: 'I am a new user.', - emailNotificationsActivated: true, - organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` - }; - await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); - - const roleId = uuid(); - const newRole = { - id: roleId, - projectId: null, - studyId: createdStudy.id, - name: `${roleId}_rolename`, - permissions: { - data: { - fieldIds: ['^.*$'], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [atomicOperation.READ], - subjectIds: ['^.*$'], - visitIds: ['^.*$'] - }, - manage: { - [IPermissionManagementOptions.own]: [], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [atomicOperation.READ, atomicOperation.WRITE], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [] - } - }, - users: [authorisedUserProfile.id], - deleted: null - }; - await mongoClient.collection(config.database.collections.roles_collection).insertOne(newRole); - - const authorisedUser = request.agent(app); - await connectAgent(authorisedUser, username, 'admin', authorisedUserProfile.otpSecret); - - /* test */ - const res = await authorisedUser.post('/graphql').send({ - query: print(CREATE_DATA_CURATION_JOB), - variables: { - file: [createdFile.id], - studyId: createdStudy.id - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(res.body.data.createDataCurationJob).toEqual([{ - id: job.id, - jobType: 'DATA_UPLOAD_CSV', - projectId: null, - studyId: createdStudy.id, - requester: authorisedUserProfile.id, - requestTime: job.requestTime, - receivedFiles: [createdFile.id], - status: 'QUEUED', - error: null, - cancelled: false, - cancelledTime: null, - data: null - }]); - }); - - test('Create a data curation job with a non-existent file id (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(CREATE_DATA_CURATION_JOB), - variables: { - file: ['fakeFile'], - studyId: createdStudy.id - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(job).toBe(null); - }); - - test('Create a data curation job with a non-existent study id (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(CREATE_DATA_CURATION_JOB), - variables: { - file: [createdFile.id], - studyId: 'fakeStudyId' - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe('Study does not exist.'); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(job).toBe(null); - }); - - test('Create a data curation job with a non-existent study id (user)', async () => { - const res = await user.post('/graphql').send({ - query: print(CREATE_DATA_CURATION_JOB), - variables: { - file: [createdFile.id], - studyId: createdStudy.id - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(job).toBe(null); - }); - }); - - describe('CREATE FIELD CURATION API', () => { - beforeEach(async () => { - /* setup: create a study to upload file to */ - const studyname = uuid(); - createdStudy = { - id: `new_study_id_${studyname}`, - name: studyname, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, - currentDataVersion: -1, - dataVersions: [] - }; - await mongoClient.collection(config.database.collections.studies_collection).insertOne(createdStudy); - - /* setup: created file entry in the database */ - const fileName = uuid(); - createdFile = { - id: `new_file_id_${fileName}`, - fileName: fileName + '.csv', - studyId: createdStudy.id, - fileSize: '1000', - description: 'just a test file here.', - uploadedBy: adminId, - uri: `new_file_uri_${fileName}`, - deleted: null - }; - await mongoClient.collection(config.database.collections.files_collection).insertOne(createdFile); - }); - - test('Create a field curation job with tag (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(CREATE_FIELD_CURATION_JOB), - variables: { - file: createdFile.id, - studyId: createdStudy.id, - tag: 'mockTag' - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(res.body.data.createFieldCurationJob).toEqual({ - id: job.id, - jobType: 'FIELD_INFO_UPLOAD', - projectId: null, - studyId: createdStudy.id, - requester: adminId, - requestTime: job.requestTime, - receivedFiles: [createdFile.id], - status: 'QUEUED', - error: null, - cancelled: false, - cancelledTime: null, - data: { - tag: 'mockTag' - } - }); - }); - - test('Create a field curation job without tag (admin) (should fail)', async () => { - const res = await admin.post('/graphql').send({ - query: print(CREATE_FIELD_CURATION_JOB), - variables: { - file: createdFile.id, - studyId: createdStudy.id, - tag: undefined - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - }); - - test('Create a data curation job (user with no privilege)', async () => { - const res = await user.post('/graphql').send({ - query: print(CREATE_FIELD_CURATION_JOB), - variables: { - file: createdFile.id, - studyId: createdStudy.id, - tag: 'mockTag' - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(job).toBe(null); - }); - - test('Create a field curation job (user with privilege)', async () => { - /* setup: creating a privileged user */ - const username = uuid(); - const authorisedUserProfile = { - username, - type: 'STANDARD', - firstname: `${username}_firstname`, - lastname: `${username}_lastname`, - password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: `${username}@example.com`, - description: 'I am a new user.', - emailNotificationsActivated: true, - organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` - }; - await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); - - const roleId = uuid(); - const newRole = { - id: roleId, - projectId: null, - studyId: createdStudy.id, - name: `${roleId}_rolename`, - permissions: { - data: { - fieldIds: ['^.*$'], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [atomicOperation.READ], - subjectIds: ['^.*$'], - visitIds: ['^.*$'] - }, - manage: { - [IPermissionManagementOptions.own]: [], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [atomicOperation.READ, atomicOperation.WRITE], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [] - } - }, - users: [authorisedUserProfile.id], - deleted: null - }; - await mongoClient.collection(config.database.collections.roles_collection).insertOne(newRole); - - const authorisedUser = request.agent(app); - await connectAgent(authorisedUser, username, 'admin', authorisedUserProfile.otpSecret); - - /* test */ - const res = await authorisedUser.post('/graphql').send({ - query: print(CREATE_FIELD_CURATION_JOB), - variables: { - file: createdFile.id, - studyId: createdStudy.id, - tag: 'mockTag' - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(res.body.data.createFieldCurationJob).toEqual({ - id: job.id, - studyId: createdStudy.id, - projectId: null, - jobType: 'FIELD_INFO_UPLOAD', - requester: authorisedUserProfile.id, - requestTime: job.requestTime, - receivedFiles: [createdFile.id], - status: 'QUEUED', - error: null, - cancelled: false, - cancelledTime: null, - data: { - tag: 'mockTag' - } - }); - }); - - test('Create a field curation job with a non-existent file id (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(CREATE_FIELD_CURATION_JOB), - variables: { - file: 'fake_file_id', - studyId: createdStudy.id, - tag: 'just_a_tag' - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(job).toBe(null); - }); - - test('Create a field curation job with a non-existent study id (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(CREATE_FIELD_CURATION_JOB), - variables: { - file: createdFile.id, - studyId: 'fake_study_id', - tag: 'just_a_tag' - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe('Study does not exist.'); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(job).toBe(null); - }); - - test('Create a field curation job with a non-existent study id (user)', async () => { - const res = await user.post('/graphql').send({ - query: print(CREATE_FIELD_CURATION_JOB), - variables: { - file: createdFile.id, - studyId: 'fake_study_id', - tag: 'just_a_tag' - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - const job = await mongoClient.collection(config.database.collections.jobs_collection).findOne({ - receivedFiles: createdFile.id - }); - expect(job).toBe(null); - }); - }); - describe('CREATE QUERY CURATION API', () => { beforeEach(async () => { /* setup: create a study to upload file to */ diff --git a/packages/itmat-models/src/graphql/curation.ts b/packages/itmat-models/src/graphql/curation.ts index 85d840ee9..edbc7cda7 100644 --- a/packages/itmat-models/src/graphql/curation.ts +++ b/packages/itmat-models/src/graphql/curation.ts @@ -17,24 +17,6 @@ export const JOB_FRAGMENT = gql` } `; -export const CREATE_DATA_CURATION_JOB = gql` - mutation createDataCurationJob($file: [String]!, $studyId: String!) { - createDataCurationJob(file: $file, studyId: $studyId) { - ...ALL_FOR_JOB - } - } - ${JOB_FRAGMENT} -`; - -export const CREATE_FIELD_CURATION_JOB = gql` - mutation createFieldCurationJob($file: String!, $studyId: String!, $tag: String!) { - createFieldCurationJob(file: $file, studyId: $studyId, tag: $tag) { - ...ALL_FOR_JOB - } - } - ${JOB_FRAGMENT} -`; - export const CREATE_QUERY_CURATION_JOB = gql` mutation createQueryCurationJob($queryId: [String], $studyId: String, $projectId: String) { createQueryCurationJob(queryId: $queryId, studyId: $studyId, projectId: $projectId) { diff --git a/packages/itmat-types/src/types/job.ts b/packages/itmat-types/src/types/job.ts index 41d188362..a42efc091 100644 --- a/packages/itmat-types/src/types/job.ts +++ b/packages/itmat-types/src/types/job.ts @@ -18,6 +18,4 @@ export interface IJobEntry { data?: dataobj; } -export type IJobEntryForDataCuration = IJobEntry; -export type IJobEntryForFieldCuration = IJobEntry<{ tag: string }>; export type IJobEntryForQueryCuration = IJobEntry<{ queryId: string[], projectId: string, studyId: string }>; diff --git a/packages/itmat-types/src/types/log.ts b/packages/itmat-types/src/types/log.ts index b15a45923..74e5ea3a8 100644 --- a/packages/itmat-types/src/types/log.ts +++ b/packages/itmat-types/src/types/log.ts @@ -64,8 +64,6 @@ export enum LOG_ACTION { getStudyFields = 'GET_STUDY_FIELDS', createStudy = 'CREATE_STUDY', editStudy = 'EDIT_STUDY', - createFieldCurationJob = 'CREATE_FIELD_CREATION_JOB', - createDataCurationJob = 'CREATE_DATA_CURATION_JOB', getDataRecords = 'GET_DATA_RECORDS', getOntologyTree = 'GET_ONTOLOGY_TREE', checkDataComplete = 'CHECK_DATA_COMPLETE', From f12243593028e547d8e684f6f3783424139b11cc Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Wed, 8 May 2024 16:36:58 +0100 Subject: [PATCH 157/252] refactor(core functions): Move core functions and interfaces to a separate package itmat-cores --- packages/itmat-commons/src/utils/emailer.ts | 13 + packages/itmat-commons/src/utils/index.ts | 1 + packages/itmat-commons/src/utils/poller.ts | 4 - packages/itmat-cores/.eslintrc.json | 34 + packages/itmat-cores/.lib.swcrc | 31 + packages/itmat-cores/README.md | 11 + .../itmat-cores/config/config.sample.json | 47 + packages/itmat-cores/express-user.d.ts | 17 + packages/itmat-cores/jest.config.ts | 23 + packages/itmat-cores/package.json | 5 + packages/itmat-cores/project.json | 43 + .../authentication/pubkeyAuthentication.ts | 4 +- packages/itmat-cores/src/core/fileCore.ts | 321 +++ packages/itmat-cores/src/core/jobCore.ts | 101 + packages/itmat-cores/src/core/logCore.ts | 63 + .../itmat-cores/src/core/organisationCore.ts | 72 + .../src}/core/permissionCore.ts | 200 +- packages/itmat-cores/src/core/pubkeyCore.ts | 208 ++ packages/itmat-cores/src/core/queryCore.ts | 109 + .../src/core/standardizationCore.ts | 172 ++ packages/itmat-cores/src/core/studyCore.ts | 2241 +++++++++++++++++ packages/itmat-cores/src/core/userCore.ts | 876 +++++++ packages/itmat-cores/src/database/database.ts | 38 + packages/itmat-cores/src/declare.d.ts | 1 + packages/itmat-cores/src/index.ts | 15 + packages/itmat-cores/src/log/logPlugin.ts | 121 + packages/itmat-cores/src/rest/fileDownload.ts | 80 + .../src/utils/ApolloServerContext.ts | 4 + .../itmat-cores/src/utils/configManager.ts | 43 + .../src/utils/definition.ts | 0 .../src/utils}/errors.ts | 0 packages/itmat-cores/src/utils/index.ts | 13 + .../src/utils/mfa.ts | 0 .../src/utils/noop.ts | 0 .../src/utils/pubkeycrypto.ts | 0 packages/itmat-cores/src/utils/pubsub.ts | 8 + .../src/utils/query.ts | 2 +- .../src/utils/regrex.ts | 0 packages/itmat-cores/src/utils/responses.ts | 16 + packages/itmat-cores/src/utils/server.ts | 7 + .../itmat-cores/src/utils/userLoginUtils.ts | 27 + packages/itmat-cores/tsconfig.json | 23 + packages/itmat-cores/tsconfig.lib.json | 18 + packages/itmat-cores/tsconfig.spec.json | 17 + .../itmat-interface/src/database/database.ts | 37 +- .../itmat-interface/src/emailer/emailer.ts | 14 +- .../src/graphql/core/fieldCore.ts | 84 - .../src/graphql/core/jobCore.ts | 24 - .../src/graphql/core/queryCore.ts | 32 - .../src/graphql/core/studyCore.ts | 659 ----- .../src/graphql/core/userCore.ts | 129 - .../itmat-interface/src/graphql/pubsub.ts | 5 - .../src/graphql/resolvers/fileResolvers.ts | 313 +-- .../src/graphql/resolvers/index.ts | 2 +- .../src/graphql/resolvers/jobResolvers.ts | 81 +- .../src/graphql/resolvers/logResolvers.ts | 60 +- .../resolvers/organisationResolvers.ts | 21 +- .../graphql/resolvers/permissionResolvers.ts | 176 +- .../src/graphql/resolvers/pubkeyResolvers.ts | 199 +- .../src/graphql/resolvers/queryResolvers.ts | 87 +- .../resolvers/standardizationResolvers.ts | 173 +- .../src/graphql/resolvers/studyResolvers.ts | 1623 +----------- .../src/graphql/resolvers/userResolvers.ts | 830 +----- .../itmat-interface/src/interfaceRunner.ts | 3 +- packages/itmat-interface/src/log/logPlugin.ts | 118 +- .../itmat-interface/src/rest/fileDownload.ts | 66 +- packages/itmat-interface/src/server/router.ts | 18 +- packages/itmat-interface/src/server/server.ts | 2 +- .../src/utils/configManager.ts | 43 +- .../src/utils/userLoginUtils.ts | 27 +- .../test/serverTests/_loginHelper.ts | 4 +- .../test/serverTests/file.test.ts | 2 +- .../test/serverTests/job.test.ts | 2 +- .../test/serverTests/log.test.ts | 5 +- .../test/serverTests/permission.test.ts | 2 +- .../test/serverTests/standardization.test.ts | 2 +- .../test/serverTests/study.test.ts | 6 +- .../test/serverTests/users.test.ts | 12 +- .../src/utils/configManager.ts | 8 +- .../src/components/log/logList.tsx | 1 - tsconfig.base.json | 3 + yarn.lock | 2 +- 82 files changed, 5229 insertions(+), 4675 deletions(-) create mode 100644 packages/itmat-commons/src/utils/emailer.ts create mode 100644 packages/itmat-cores/.eslintrc.json create mode 100644 packages/itmat-cores/.lib.swcrc create mode 100644 packages/itmat-cores/README.md create mode 100644 packages/itmat-cores/config/config.sample.json create mode 100644 packages/itmat-cores/express-user.d.ts create mode 100644 packages/itmat-cores/jest.config.ts create mode 100644 packages/itmat-cores/package.json create mode 100644 packages/itmat-cores/project.json rename packages/{itmat-interface => itmat-cores}/src/authentication/pubkeyAuthentication.ts (89%) create mode 100644 packages/itmat-cores/src/core/fileCore.ts create mode 100644 packages/itmat-cores/src/core/jobCore.ts create mode 100644 packages/itmat-cores/src/core/logCore.ts create mode 100644 packages/itmat-cores/src/core/organisationCore.ts rename packages/{itmat-interface/src/graphql => itmat-cores/src}/core/permissionCore.ts (65%) create mode 100644 packages/itmat-cores/src/core/pubkeyCore.ts create mode 100644 packages/itmat-cores/src/core/queryCore.ts create mode 100644 packages/itmat-cores/src/core/standardizationCore.ts create mode 100644 packages/itmat-cores/src/core/studyCore.ts create mode 100644 packages/itmat-cores/src/core/userCore.ts create mode 100644 packages/itmat-cores/src/database/database.ts create mode 100644 packages/itmat-cores/src/declare.d.ts create mode 100644 packages/itmat-cores/src/index.ts create mode 100644 packages/itmat-cores/src/log/logPlugin.ts create mode 100644 packages/itmat-cores/src/rest/fileDownload.ts create mode 100644 packages/itmat-cores/src/utils/ApolloServerContext.ts create mode 100644 packages/itmat-cores/src/utils/configManager.ts rename packages/{itmat-interface => itmat-cores}/src/utils/definition.ts (100%) rename packages/{itmat-interface/src/graphql => itmat-cores/src/utils}/errors.ts (100%) create mode 100644 packages/itmat-cores/src/utils/index.ts rename packages/{itmat-interface => itmat-cores}/src/utils/mfa.ts (100%) rename packages/{itmat-interface => itmat-cores}/src/utils/noop.ts (100%) rename packages/{itmat-interface => itmat-cores}/src/utils/pubkeycrypto.ts (100%) create mode 100644 packages/itmat-cores/src/utils/pubsub.ts rename packages/{itmat-interface => itmat-cores}/src/utils/query.ts (99%) rename packages/{itmat-interface => itmat-cores}/src/utils/regrex.ts (100%) create mode 100644 packages/itmat-cores/src/utils/responses.ts create mode 100644 packages/itmat-cores/src/utils/server.ts create mode 100644 packages/itmat-cores/src/utils/userLoginUtils.ts create mode 100644 packages/itmat-cores/tsconfig.json create mode 100644 packages/itmat-cores/tsconfig.lib.json create mode 100644 packages/itmat-cores/tsconfig.spec.json delete mode 100644 packages/itmat-interface/src/graphql/core/fieldCore.ts delete mode 100644 packages/itmat-interface/src/graphql/core/jobCore.ts delete mode 100644 packages/itmat-interface/src/graphql/core/queryCore.ts delete mode 100644 packages/itmat-interface/src/graphql/core/studyCore.ts delete mode 100644 packages/itmat-interface/src/graphql/core/userCore.ts diff --git a/packages/itmat-commons/src/utils/emailer.ts b/packages/itmat-commons/src/utils/emailer.ts new file mode 100644 index 000000000..64d262308 --- /dev/null +++ b/packages/itmat-commons/src/utils/emailer.ts @@ -0,0 +1,13 @@ +import nodemailer, { SendMailOptions } from 'nodemailer'; + +export class Mailer { + private readonly _client: nodemailer.Transporter; + + constructor(config: Parameters[0]) { + this._client = nodemailer.createTransport(config); + } + + public async sendMail(mail: SendMailOptions): Promise { + await this._client.sendMail(mail); + } +} diff --git a/packages/itmat-commons/src/utils/index.ts b/packages/itmat-commons/src/utils/index.ts index cb0a37b90..799551154 100644 --- a/packages/itmat-commons/src/utils/index.ts +++ b/packages/itmat-commons/src/utils/index.ts @@ -7,3 +7,4 @@ export type { IObjectStoreConfig } from './objStore'; export { ObjectStore } from './objStore'; export { Logger } from './logger'; export { JobPoller } from './poller'; +export { Mailer } from './emailer'; diff --git a/packages/itmat-commons/src/utils/poller.ts b/packages/itmat-commons/src/utils/poller.ts index 666def16e..73536e35a 100644 --- a/packages/itmat-commons/src/utils/poller.ts +++ b/packages/itmat-commons/src/utils/poller.ts @@ -60,11 +60,7 @@ export class JobPoller { await this.action(updateResult).catch(() => { return; }); Logger.log(`${this.identity} Finished processing job of type ${updateResult.jobType} - id: ${updateResult.id}.`); this.setInterval(); - } else { - Logger.log(`${this.identity} No job found.`); - // this.setInterval(); } - } catch (err) { //TODO Handle error recording Logger.error(`${this.identity} Errored picking up a job: ${err}`); diff --git a/packages/itmat-cores/.eslintrc.json b/packages/itmat-cores/.eslintrc.json new file mode 100644 index 000000000..4de975cd3 --- /dev/null +++ b/packages/itmat-cores/.eslintrc.json @@ -0,0 +1,34 @@ +{ + "extends": [ + "../../.eslintrc.json" + ], + "ignorePatterns": [ + "!**/*", + "node_modules" + ], + "overrides": [ + { + "files": [ + "*.ts", + "*.tsx", + "*.js", + "*.jsx" + ], + "rules": {} + }, + { + "files": [ + "*.ts", + "*.tsx" + ], + "rules": {} + }, + { + "files": [ + "*.js", + "*.jsx" + ], + "rules": {} + } + ] +} \ No newline at end of file diff --git a/packages/itmat-cores/.lib.swcrc b/packages/itmat-cores/.lib.swcrc new file mode 100644 index 000000000..4bc7f5daf --- /dev/null +++ b/packages/itmat-cores/.lib.swcrc @@ -0,0 +1,31 @@ +{ + "jsc": { + "target": "ES2022", + "parser": { + "syntax": "typescript", + "decorators": true, + "dynamicImport": true + }, + "transform": { + "decoratorMetadata": true, + "legacyDecorator": true + }, + "keepClassNames": true, + "externalHelpers": true, + "loose": true + }, + "module": { + "type": "commonjs", + "strict": true, + "noInterop": false + }, + "sourceMaps": true, + "exclude": [ + "jest.config.ts", + ".*.spec.tsx?$", + ".*.test.tsx?$", + "./src/jest-setup.ts$", + "./**/jest-setup.ts$", + ".*.js$" + ] +} \ No newline at end of file diff --git a/packages/itmat-cores/README.md b/packages/itmat-cores/README.md new file mode 100644 index 000000000..5feddf1e1 --- /dev/null +++ b/packages/itmat-cores/README.md @@ -0,0 +1,11 @@ +# itmat-cores + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build itmat-cores` to build the library. + +## Running unit tests + +Run `nx test itmat-cores` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/packages/itmat-cores/config/config.sample.json b/packages/itmat-cores/config/config.sample.json new file mode 100644 index 000000000..622ca4650 --- /dev/null +++ b/packages/itmat-cores/config/config.sample.json @@ -0,0 +1,47 @@ +{ + "appName": "ITMAT Interface", + "database": { + "mongo_url": "mongodb://localhost:27017", + "database": "itmat", + "collections": { + "jobs_collection": "JOB_COLLECTION", + "users_collection": "USER_COLLECTION", + "organisations_collection": "ORGANISATION_COLLECTION", + "studies_collection": "STUDY_COLLECTION", + "projects_collection": "PROJECT_COLLECTION", + "queries_collection": "QUERY_COLLECTION", + "log_collection": "LOG_COLLECTION", + "data_collection": "DATA_COLLECTION", + "roles_collection": "ROLE_COLLECTION", + "field_dictionary_collection": "FIELD_COLLECTION", + "files_collection": "FILES_COLLECTION", + "sessions_collection": "SESSIONS_COLLECTION", + "pubkeys_collection": "PUBKEY_COLLECTION", + "standardizations_collection": "STANDARDIZATION_COLLECTION" + } + }, + "server": { + "port": 3333 + }, + "bcrypt": { + "saltround": 2 + }, + "objectStore": { + "host": "localhost", + "port": 8080, + "accessKey": "minioadmin", + "secretKey": "minioadmin", + "bucketRegion": "region", + "useSSL": false + }, + "sessionsSecret": "Change_Me", + "aesSecret": "change_this", + "nodemailer": { + "auth": { + "user": "change_this", + "pass": "change_this" + } + }, + "adminEmail": "admin@example.com", + "aeEndpoint": "http://localhost:9090" +} \ No newline at end of file diff --git a/packages/itmat-cores/express-user.d.ts b/packages/itmat-cores/express-user.d.ts new file mode 100644 index 000000000..6e7b3469d --- /dev/null +++ b/packages/itmat-cores/express-user.d.ts @@ -0,0 +1,17 @@ +import type { IUserWithoutToken } from '@itmat-broker/itmat-types'; + +declare global { + + namespace Express { + + // eslint-disable-next-line @typescript-eslint/no-empty-interface + interface User extends IUserWithoutToken { } + + interface Request { + user?: User; + headers: IncomingHttpHeaders; + login(user: User, done: (err: unknown) => void): void; + logout(done: (err: unknown) => void): void; + } + } +} \ No newline at end of file diff --git a/packages/itmat-cores/jest.config.ts b/packages/itmat-cores/jest.config.ts new file mode 100644 index 000000000..febf085e4 --- /dev/null +++ b/packages/itmat-cores/jest.config.ts @@ -0,0 +1,23 @@ +/* eslint-disable */ +import { readFileSync } from 'fs'; + +// Reading the SWC compilation config and remove the "exclude" +// for the test files to be compiled by SWC +const { exclude: _, ...swcJestConfig } = JSON.parse( + readFileSync(`${__dirname}/.lib.swcrc`, 'utf-8') +); +export default { + displayName: 'itmat-cores', + preset: '../../jest.preset.js', + transform: { + '^.+\\.[tj]s$': ['@swc/jest', swcJestConfig], + }, + moduleFileExtensions: ['ts', 'js', 'html'], + coverageDirectory: '../../coverage/packages/itmat-cores', + testEnvironment: "/../../test/fixtures/_minioJestEnv", + transformIgnorePatterns: [ + "node_modules", + "\\.pnp\\.[^\\\/]+$", + "test[\\/]fixtures[\\/]_minio" + ] +}; diff --git a/packages/itmat-cores/package.json b/packages/itmat-cores/package.json new file mode 100644 index 000000000..e52ad7906 --- /dev/null +++ b/packages/itmat-cores/package.json @@ -0,0 +1,5 @@ +{ + "name": "@itmat-broker/itmat-cores", + "version": "0.0.1", + "type": "commonjs" +} \ No newline at end of file diff --git a/packages/itmat-cores/project.json b/packages/itmat-cores/project.json new file mode 100644 index 000000000..70acf92f4 --- /dev/null +++ b/packages/itmat-cores/project.json @@ -0,0 +1,43 @@ +{ + "name": "itmat-cores", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "packages/itmat-cores/src", + "projectType": "library", + "tags": [], + "targets": { + "build": { + "executor": "@nx/esbuild:esbuild", + "outputs": [ + "{options.outputPath}" + ], + "options": { + "outputPath": "dist/packages/itmat-cores", + "main": "packages/itmat-cores/src/index.ts", + "tsConfig": "packages/itmat-cores/tsconfig.lib.json", + "assets": [ + "packages/itmat-cores/*.md" + ], + "generatePackageJson": true, + "thirdParty": true, + "external": [ + "bcrypt" + ] + } + }, + "lint": { + "executor": "@nx/eslint:lint", + "outputs": [ + "{options.outputFile}" + ] + }, + "test": { + "executor": "@nx/jest:jest", + "outputs": [ + "{workspaceRoot}/coverage/packages/itmat-cores" + ], + "options": { + "jestConfig": "packages/itmat-cores/jest.config.ts" + } + } + } +} \ No newline at end of file diff --git a/packages/itmat-interface/src/authentication/pubkeyAuthentication.ts b/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts similarity index 89% rename from packages/itmat-interface/src/authentication/pubkeyAuthentication.ts rename to packages/itmat-cores/src/authentication/pubkeyAuthentication.ts index e2f2b1520..27f7b1ce7 100644 --- a/packages/itmat-interface/src/authentication/pubkeyAuthentication.ts +++ b/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts @@ -1,10 +1,10 @@ import { GraphQLError } from 'graphql'; import { ApolloServerErrorCode } from '@apollo/server/errors'; -import { db } from '../database/database'; +import { DBType } from '../database/database'; import { IUser } from '@itmat-broker/itmat-types'; -export async function userRetrieval(pubkey: string): Promise { +export async function userRetrieval(db: DBType, pubkey: string): Promise { // retrieve userId associated with the token const pubkeyrec = await db.collections.pubkeys_collection.findOne({ jwtPubkey: pubkey, deleted: null }); if (pubkeyrec === null || pubkeyrec === undefined) { diff --git a/packages/itmat-cores/src/core/fileCore.ts b/packages/itmat-cores/src/core/fileCore.ts new file mode 100644 index 000000000..51d71d7d5 --- /dev/null +++ b/packages/itmat-cores/src/core/fileCore.ts @@ -0,0 +1,321 @@ +import { IDataEntry, IFile, IOrganisation, IPermissionManagementOptions, IUserWithoutToken, atomicOperation, deviceTypes } from '@itmat-broker/itmat-types'; +import { v4 as uuid } from 'uuid'; +import { DBType } from '../database/database'; +import { FileUpload } from 'graphql-upload-minimal'; +import { GraphQLError } from 'graphql'; +import { validate } from '@ideafast/idgen'; +import { fileSizeLimit } from '../utils/definition'; +import crypto from 'crypto'; +import { makeGenericReponse } from '../utils/responses'; +import { MatchKeysAndValues } from 'mongodb'; +import { errorCodes } from '../utils/errors'; +import { PermissionCore } from './permissionCore'; +import { StudyCore } from './studyCore'; +import { ObjectStore } from '@itmat-broker/itmat-commons'; + +// default visitId for file data +const targetVisitId = '0'; +export class FileCore { + db: DBType; + permissionCore: PermissionCore; + studyCore: StudyCore; + objStore: ObjectStore; + constructor(db: DBType, objStore: ObjectStore) { + this.db = db; + this.permissionCore = new PermissionCore(db); + this.studyCore = new StudyCore(db, objStore); + this.objStore = objStore; + } + + public async uploadFile(requester: IUserWithoutToken | undefined, studyId: string, file: Promise, description: string, hash?: string, fileLength?: bigint) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + // get the target fieldId of this file + const study = await this.studyCore.findOneStudy_throwErrorIfNotExist(studyId); + + const hasStudyLevelSubjectPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.WRITE, + requester, + studyId + ); + const hasStudyLevelStudyDataPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.own, + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasStudyLevelSubjectPermission && !hasStudyLevelStudyDataPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + let targetFieldId: string; + let isStudyLevel = false; + // obtain sitesIDMarker from db + const sitesIDMarkers = (await this.db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce>((acc, curr) => { + if (curr.metadata?.siteIDMarker) { + acc[curr.metadata.siteIDMarker] = curr.shortname; + } + return acc; + }, {}); + // if the description object is empty, then the file is study-level data + // otherwise, a subjectId must be provided in the description object + // we will check other properties in the decription object (deviceId, startDate, endDate) + const parsedDescription = JSON.parse(description); + if (!parsedDescription) { + throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + if (!parsedDescription.participantId) { + isStudyLevel = true; + } else { + isStudyLevel = false; + if (!Object.keys(sitesIDMarkers).includes(parsedDescription.participantId?.substr(0, 1)?.toUpperCase())) { + throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + // check deviceId, startDate, endDate if necessary + if (parsedDescription.deviceId && parsedDescription.startDate && parsedDescription.endDate) { + if (!Object.keys(deviceTypes).includes(parsedDescription.deviceId?.substr(0, 3)?.toUpperCase()) || + !validate(parsedDescription.participantId?.substr(1) ?? '') || + !validate(parsedDescription.deviceId.substr(3) ?? '')) { + throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + } else { + throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + // if the targetFieldId is in the description object; then use the fieldId, otherwise, infer it from the device types + if (parsedDescription.fieldId) { + targetFieldId = parsedDescription.fieldId; + } else { + const device = parsedDescription.deviceId?.slice(0, 3); + targetFieldId = `Device_${deviceTypes[device].replace(/ /g, '_')}`; + } + // check fieldId exists + if ((await this.db.collections.field_dictionary_collection.find({ studyId: study.id, fieldId: targetFieldId, dateDeleted: null }).sort({ dateAdded: -1 }).limit(1).toArray()).length === 0) { + throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + // check field permission + if (!this.permissionCore.checkDataEntryValid(await this.permissionCore.combineUserDataPermissions(atomicOperation.WRITE, requester, studyId, undefined), targetFieldId, parsedDescription.participantId, targetVisitId)) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + } + + const file_ = await file; + const fileNameParts = file_.filename.split('.'); + + return new Promise((resolve, reject) => { + (async () => { + try { + let fileName: string = file_.filename; + let metadata: Record = {}; + if (!isStudyLevel) { + const matcher = /(.{1})(.{6})-(.{3})(.{6})-(\d{8})-(\d{8})\.(.*)/; + let startDate; + let endDate; + let participantId; + let deviceId; + // check description first, then filename + if (description) { + const parsedDescription = JSON.parse(description); + startDate = parseInt(parsedDescription.startDate); + endDate = parseInt(parsedDescription.endDate); + participantId = parsedDescription.participantId.toString(); + deviceId = parsedDescription.deviceId.toString(); + } else if (matcher.test(file_.filename)) { + const particles = file_.filename.split('-'); + participantId = particles[0]; + deviceId = particles[1]; + startDate = particles[2]; + endDate = particles[3]; + } else { + reject(new GraphQLError('Missing file description', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + + + try { + if ( + !Object.keys(sitesIDMarkers).includes(participantId.substr(0, 1)?.toUpperCase()) || + !Object.keys(deviceTypes).includes(deviceId.substr(0, 3)?.toUpperCase()) || + !validate(participantId.substr(1) ?? '') || + !validate(deviceId.substr(3) ?? '') || + !startDate || !endDate || + (new Date(endDate).setHours(0, 0, 0, 0).valueOf()) > (new Date().setHours(0, 0, 0, 0).valueOf()) + ) { + reject(new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + } catch (e) { + reject(new GraphQLError('Missing file description', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + + const typedStartDate = new Date(startDate); + const formattedStartDate = typedStartDate.getFullYear() + `${typedStartDate.getMonth() + 1}`.padStart(2, '0') + `${typedStartDate.getDate()}`.padStart(2, '0'); + const typedEndDate = new Date(endDate); + const formattedEndDate = typedEndDate.getFullYear() + `${typedEndDate.getMonth() + 1}`.padStart(2, '0') + `${typedEndDate.getDate()}`.padStart(2, '0'); + fileName = `${parsedDescription.participantId.toUpperCase()}-${parsedDescription.deviceId.toUpperCase()}-${formattedStartDate}-${formattedEndDate}.${fileNameParts[fileNameParts.length - 1]}`; + metadata = { + participantId: parsedDescription.participantId, + deviceId: parsedDescription.deviceId, + startDate: parsedDescription.startDate, // should be in milliseconds + endDate: parsedDescription.endDate, + tup: parsedDescription.tup + }; + } + + if (fileLength !== undefined && fileLength > fileSizeLimit) { + reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + + const stream = file_.createReadStream(); + const fileUri = uuid(); + const hash_ = crypto.createHash('sha256'); + let readBytes = 0; + + stream.pause(); + + /* if the client cancelled the request mid-stream it will throw an error */ + stream.on('error', (e) => { + reject(new GraphQLError('Upload resolver file stream failure', { extensions: { code: errorCodes.FILE_STREAM_ERROR, error: e } })); + return; + }); + + stream.on('data', (chunk) => { + readBytes += chunk.length; + if (readBytes > fileSizeLimit) { + stream.destroy(); + reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + hash_.update(chunk); + }); + + await this.objStore.uploadFile(stream, studyId, fileUri); + + const hashString = hash_.digest('hex'); + if (hash && hash !== hashString) { + reject(new GraphQLError('File hash not match', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + + // check if readbytes equal to filelength in parameters + if (fileLength !== undefined && fileLength.toString() !== readBytes.toString()) { + reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + const fileEntry: IFile = { + id: uuid(), + fileName: fileName, + studyId: studyId, + description: description, + uploadTime: `${Date.now()}`, + uploadedBy: requester.id, + deleted: null, + metadata: metadata, + fileSize: readBytes.toString(), + uri: fileUri, + hash: hashString + }; + fileEntry.fileSize = readBytes.toString(); + fileEntry.uri = fileUri; + fileEntry.hash = hashString; + if (!isStudyLevel) { + await this.db.collections.data_collection.insertOne({ + id: uuid(), + m_studyId: studyId, + m_subjectId: parsedDescription.participantId, + m_versionId: null, + m_visitId: targetVisitId, + m_fieldId: targetFieldId, + value: '', + uploadedAt: (new Date()).valueOf(), + metadata: { + 'uploader:user': requester.id, + 'add': [fileEntry.id], + 'remove': [] + } + }); + } + const insertResult = await this.db.collections.files_collection.insertOne(fileEntry); + if (insertResult.acknowledged) { + resolve(fileEntry); + } else { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + + } catch (error) { + reject(new GraphQLError('General upload error', { extensions: { code: errorCodes.UNQUALIFIED_ERROR, error } })); + } + })().catch((e) => reject(e)); + }); + } + + public async deleteFile(requester: IUserWithoutToken | undefined, fileId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const file = await this.db.collections.files_collection.findOne({ deleted: null, id: fileId }); + + if (!file) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.WRITE, + requester, + file.studyId + ); + if (!hasStudyLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + const parsedDescription = JSON.parse(file.description); + if (Object.keys(parsedDescription).length === 0) { + await this.db.collections.files_collection.findOneAndUpdate({ deleted: null, id: fileId }, { $set: { deleted: Date.now().valueOf() } }); + return makeGenericReponse(); + } + const device = parsedDescription.deviceId.slice(0, 3); + if (!Object.keys(deviceTypes).includes(device)) { + throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + const targetFieldId = `Device_${(deviceTypes[device] as string).replace(/ /g, '_')}`; + if (!this.permissionCore.checkDataEntryValid(hasStudyLevelPermission.raw, targetFieldId, parsedDescription.participantId, targetVisitId)) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + // update data record + const obj = { + m_studyId: file.studyId, + m_subjectId: parsedDescription.participantId, + m_versionId: null, + m_visitId: targetVisitId, + m_fieldId: targetFieldId + }; + const existing = await this.db.collections.data_collection.findOne(obj); + if (!existing) { + await this.db.collections.data_collection.insertOne({ + ...obj, + id: uuid(), + uploadedAt: (new Date()).valueOf(), + value: '', + metadata: { + add: [], + remove: [] + } + }); + } + const objWithData: Partial> = { + ...obj, + id: uuid(), + value: '', + uploadedAt: (new Date()).valueOf(), + metadata: { + 'uploader:user': requester.id, + 'add': existing?.metadata?.add ?? [], + 'remove': (existing?.metadata?.remove || []).concat(fileId) + } + }; + const updateResult = await this.db.collections.data_collection.updateOne(obj, { $set: objWithData }, { upsert: true }); + + // const updateResult = await this.db.collections.files_collection.updateOne({ deleted: null, id: args.fileId }, { $set: { deleted: new Date().valueOf() } }); + if (updateResult.modifiedCount === 1 || updateResult.upsertedCount === 1) { + return makeGenericReponse(); + } else { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + } +} \ No newline at end of file diff --git a/packages/itmat-cores/src/core/jobCore.ts b/packages/itmat-cores/src/core/jobCore.ts new file mode 100644 index 000000000..9948f5fe7 --- /dev/null +++ b/packages/itmat-cores/src/core/jobCore.ts @@ -0,0 +1,101 @@ +import { IJobEntry, IJobEntryForQueryCuration, IPermissionManagementOptions, IUserWithoutToken, atomicOperation } from '@itmat-broker/itmat-types'; +import { v4 as uuid } from 'uuid'; +import { DBType } from '../database/database'; +import { GraphQLError } from 'graphql'; +import { errorCodes } from '../utils/errors'; +import { PermissionCore } from './permissionCore'; +import { StudyCore } from './studyCore'; +import { ObjectStore } from '@itmat-broker/itmat-commons'; + +enum JOB_TYPE { + QUERY_EXECUTION = 'QUERY_EXECUTION', + DATA_EXPORT = 'DATA_EXPORT' +} + +export class JobCore { + db: DBType; + permissionCore: PermissionCore; + studyCore: StudyCore; + constructor(db: DBType, objStore: ObjectStore) { + this.db = db; + this.permissionCore = new PermissionCore(db); + this.studyCore = new StudyCore(db, objStore); + } + + public async createJob(userId: string, jobType: string, files: string[], studyId: string, projectId?: string, jobId?: string): Promise { + const job: IJobEntry = { + requester: userId, + id: jobId || uuid(), + studyId, + jobType, + projectId, + requestTime: new Date().valueOf(), + receivedFiles: files, + status: 'QUEUED', + error: null, + cancelled: false + }; + await this.db.collections.jobs_collection.insertOne(job); + return job; + } + + public async createQueryCurationJob(requester: IUserWithoutToken | undefined, queryId: string[], studyId: string, projectId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check permission */ + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.job, + atomicOperation.WRITE, + requester, + studyId + ); + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.job, + atomicOperation.WRITE, + requester, + studyId, + projectId + ); + if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + /* check study exists */ + await this.studyCore.findOneStudy_throwErrorIfNotExist(studyId); + + /* check if project exists */ + const projectExist = await this.db.collections.projects_collection.findOne({ id: projectId }); + if (!projectExist) { + throw new GraphQLError('Project does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + + /* check if the query exists */ + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const queryExist = await this.db.collections.queries_collection.findOne({ id: queryId[0] }); + if (!queryExist) { + throw new GraphQLError('Query does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + + const job: IJobEntryForQueryCuration = { + id: uuid(), + jobType: JOB_TYPE.QUERY_EXECUTION, + studyId: studyId, + requester: requester.id, + requestTime: new Date().valueOf(), + receivedFiles: [], + error: null, + status: 'QUEUED', + cancelled: false, + data: { + queryId: queryId, + projectId: projectId, + studyId: studyId + } + }; + const result = await this.db.collections.jobs_collection.insertOne(job); + if (!result.acknowledged) { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + return job; + } +} diff --git a/packages/itmat-cores/src/core/logCore.ts b/packages/itmat-cores/src/core/logCore.ts new file mode 100644 index 000000000..a7833a020 --- /dev/null +++ b/packages/itmat-cores/src/core/logCore.ts @@ -0,0 +1,63 @@ +import { ILogEntry, IUserWithoutToken, LOG_ACTION, LOG_STATUS, LOG_TYPE, userTypes } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; +import { GraphQLError } from 'graphql'; +import { errorCodes } from '../utils/errors'; +import { Filter } from 'mongodb'; + +export class LogCore { + db: DBType; + constructor(db: DBType) { + this.db = db; + } + + static readonly hiddenFields = { + LOGIN_USER: ['password', 'totp'], + UPLOAD_FILE: ['file', 'description'] + }; + + public async getLogs(requester: IUserWithoutToken | undefined, requesterName?: string, requesterType?: userTypes, logType?: LOG_TYPE, actionType?: LOG_ACTION, status?: LOG_STATUS) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* only admin can access this field */ + if (!(requester.type === userTypes.ADMIN) && !(requester.metadata?.logPermission === true)) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + const queryObj: Filter = {}; + if (requesterName) { queryObj.requesterName = requesterName; } + if (requesterType) { queryObj.requesterType = requesterType; } + if (logType) { queryObj.logType = logType; } + if (actionType) { queryObj.actionType = actionType; } + if (status) { queryObj.status = status; } + + const logData = await this.db.collections.log_collection.find(queryObj, { projection: { _id: 0 } }).limit(1000).sort('time', -1).toArray(); + // log information decoration + for (const i in logData) { + logData[i].actionData = JSON.stringify(await this.logDecorationHelper(logData[i].actionData, logData[i].actionType)); + } + + return logData; + } + + public async logDecorationHelper(actionData: string, actionType: string) { + const obj = JSON.parse(actionData) ?? {}; + if (Object.keys(LogCore.hiddenFields).includes(actionType)) { + for (let i = 0; i < LogCore.hiddenFields[actionType as keyof typeof LogCore.hiddenFields].length; i++) { + delete obj[LogCore.hiddenFields[actionType as keyof typeof LogCore.hiddenFields][i]]; + } + } + if (actionType === LOG_ACTION.getStudy) { + const studyId = obj['studyId']; + const study = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + if (study === null || study === undefined) { + obj['name'] = ''; + } + else { + obj['name'] = study.name; + } + } + return obj; + } + +} diff --git a/packages/itmat-cores/src/core/organisationCore.ts b/packages/itmat-cores/src/core/organisationCore.ts new file mode 100644 index 000000000..6adf99385 --- /dev/null +++ b/packages/itmat-cores/src/core/organisationCore.ts @@ -0,0 +1,72 @@ +import { IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; +import { GraphQLError } from 'graphql'; +import { errorCodes } from '../utils/errors'; +import { v4 as uuid } from 'uuid'; + +export class OrganisationCore { + db: DBType; + constructor(db: DBType) { + this.db = db; + } + + public async getOrganisations(organisationId?: string) { + const queryObj = organisationId === undefined ? { deleted: null } : { deleted: null, id: organisationId }; + return await this.db.collections.organisations_collection.find(queryObj, { projection: { _id: 0 } }).toArray(); + } + + public async createOrganisation(requester: IUserWithoutToken | undefined, org: { name: string, shortname: string | null, containOrg: string | null, metadata }): Promise { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (requester.type !== userTypes.ADMIN) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + const { name, shortname, containOrg, metadata } = org; + const entry: IOrganisation = { + id: uuid(), + name, + shortname, + containOrg, + deleted: null, + metadata: metadata?.siteIDMarker ? { + siteIDMarker: metadata.siteIDMarker + } : {} + }; + const result = await this.db.collections.organisations_collection.findOneAndUpdate({ name: name, deleted: null }, { + $set: entry + }, { + upsert: true + }); + if (result) { + return entry; + } else { + throw new GraphQLError('Database error', { extensions: { code: errorCodes.DATABASE_ERROR } }); + } + } + + public async deleteOrganisation(requester: IUserWithoutToken | undefined, id: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (requester.type !== userTypes.ADMIN) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + const res = await this.db.collections.organisations_collection.findOneAndUpdate({ id: id }, { + $set: { + deleted: Date.now() + } + }, { + returnDocument: 'after' + }); + + if (res) { + return res; + } else { + throw new GraphQLError('Delete organisation failed.'); + } + } +} diff --git a/packages/itmat-interface/src/graphql/core/permissionCore.ts b/packages/itmat-cores/src/core/permissionCore.ts similarity index 65% rename from packages/itmat-interface/src/graphql/core/permissionCore.ts rename to packages/itmat-cores/src/core/permissionCore.ts index e237f077c..174bfbe98 100644 --- a/packages/itmat-interface/src/graphql/core/permissionCore.ts +++ b/packages/itmat-cores/src/core/permissionCore.ts @@ -1,16 +1,10 @@ import { GraphQLError } from 'graphql'; import { atomicOperation, IDataEntry, IDataPermission, IManagementPermission, IPermissionManagementOptions, IRole, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; -import { BulkWriteResult, Document } from 'mongodb'; +import { BulkWriteResult, Document, Filter } from 'mongodb'; import { v4 as uuid } from 'uuid'; -import { db } from '../../database/database'; -import { errorCodes } from '../errors'; - -interface ICreateRoleInput { - studyId: string; - projectId?: string; - roleName: string; - createdBy: string; -} +import { DBType } from '../database/database'; +import { errorCodes } from '../utils/errors'; +import { makeGenericReponse } from '../utils/responses'; export interface ICombinedPermissions { subjectIds: string[], @@ -25,8 +19,41 @@ export interface QueryMatcher { } export class PermissionCore { + db: DBType; + constructor(db: DBType) { + this.db = db; + } + + public async getGrantedPermissions(requester: IUserWithoutToken | undefined, studyId?: string, projectId?: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const matchClause: Filter = { users: requester.id }; + if (studyId) + matchClause.studyId = studyId; + if (projectId) + matchClause.projectId = { $in: [projectId, undefined] }; + const aggregationPipeline = [ + { $match: matchClause } + // { $group: { _id: requester.id, arrArrPrivileges: { $addToSet: '$permissions' } } }, + // { $project: { arrPrivileges: { $reduce: { input: '$arrArrPrivileges', initialValue: [], in: { $setUnion: ['$$this', '$$value'] } } } } } + ]; + + const grantedPermissions = { + studies: await this.db.collections.roles_collection.aggregate(aggregationPipeline).toArray(), + projects: await this.db.collections.roles_collection.aggregate(aggregationPipeline).toArray() + }; + return grantedPermissions; + } + + public async getUsersOfRole(role: IRole) { + const listOfUsers = role.users; + return await (this.db.collections.users_collection.find({ id: { $in: listOfUsers } }, { projection: { _id: 0, password: 0, email: 0 } }).toArray()); + + } + public async getAllRolesOfStudyOrProject(studyId: string, projectId?: string): Promise { - return db.collections.roles_collection.find({ studyId, projectId }).toArray(); + return await this.db.collections.roles_collection.find({ studyId, projectId }).toArray(); } public async userHasTheNeccessaryManagementPermission(type: string, operation: string, user: IUserWithoutToken, studyId: string, projectId?: string) { @@ -39,7 +66,7 @@ export class PermissionCore { return true; } const tag = `permissions.manage.${type}`; - const roles = await db.collections.roles_collection.aggregate([ + const roles = await this.db.collections.roles_collection.aggregate([ { $match: { studyId, projectId: { $in: [projectId, null] }, users: user.id, deleted: null } }, // matches all the role documents where the study and project matches and has the user inside { $match: { [tag]: operation } } ]).toArray(); @@ -58,7 +85,7 @@ export class PermissionCore { fieldIds: [matchAnyString] }; } - const roles = await db.collections.roles_collection.aggregate([ + const roles = await this.db.collections.roles_collection.aggregate([ { $match: { studyId, projectId: { $in: [projectId, null] }, users: user.id, deleted: null } }, // matches all the role documents where the study and project matches and has the user inside { $match: { 'permissions.data.operations': operation } } ]).toArray(); @@ -114,7 +141,7 @@ export class PermissionCore { }; } - const roles = await db.collections.roles_collection.aggregate([ + const roles = await this.db.collections.roles_collection.aggregate([ { $match: { studyId, projectId: { $in: [projectId, null] }, users: user.id, deleted: null } }, // matches all the role documents where the study and project matches and has the user inside { $match: { 'permissions.data.operations': operation } } ]).toArray(); @@ -179,10 +206,28 @@ export class PermissionCore { return res; } - public async removeRole(roleId: string): Promise { - const updateResult = await db.collections.roles_collection.findOneAndUpdate({ id: roleId, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + public async removeRole(requester: IUserWithoutToken | undefined, roleId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + const role = await this.db.collections.roles_collection.findOne({ id: roleId, deleted: null }); + if (role === null) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + /* check permission */ + const hasPermission = await this.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.role, + atomicOperation.WRITE, + requester, + role.studyId, + role.projectId + ); + if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + const updateResult = await this.db.collections.roles_collection.findOneAndUpdate({ id: roleId, deleted: null }, { $set: { deleted: new Date().valueOf() } }); if (updateResult) { - return; + return makeGenericReponse(roleId); } else { throw new GraphQLError('Cannot delete role.', { extensions: { code: errorCodes.DATABASE_ERROR } }); } @@ -200,7 +245,7 @@ export class PermissionCore { } else if (projectId !== undefined) { queryObj = { projectId, deleted: null }; } - const updateResult = await db.collections.roles_collection.updateMany(queryObj, { $set: { deleted: new Date().valueOf() } }); + const updateResult = await this.db.collections.roles_collection.updateMany(queryObj, { $set: { deleted: new Date().valueOf() } }); if (updateResult.acknowledged) { return; } else { @@ -208,7 +253,61 @@ export class PermissionCore { } } - public async editRoleFromStudyOrProject(roleId: string, name?: string, description?: string, permissionChanges?: { data?: IDataPermission, manage?: IManagementPermission }, userChanges?: { add: string[], remove: string[] }): Promise { + public async editRole(requester: IUserWithoutToken | undefined, roleId: string, name?: string, description?: string, permissionChanges?: { data?: IDataPermission, manage?: IManagementPermission }, userChanges?: { add: string[], remove: string[] }): Promise { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const role = await this.db.collections.roles_collection.findOne({ id: roleId, deleted: null }); + if (role === null) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + /* check the requester has privilege */ + const hasPermission = await this.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.role, + atomicOperation.WRITE, + requester, + role.studyId, + role.projectId + ); + if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + /* check whether all the permissions are valid in terms of regular expressions */ + if (permissionChanges) { + if (permissionChanges.data) { + if (permissionChanges.data.subjectIds) { + for (const subjectId of permissionChanges.data.subjectIds) { + this.checkReExpIsValid(subjectId); + } + } + if (permissionChanges.data.visitIds) { + for (const visitId of permissionChanges.data.visitIds) { + this.checkReExpIsValid(visitId); + } + } + if (permissionChanges.data.fieldIds) { + for (const fieldId of permissionChanges.data.fieldIds) { + this.checkReExpIsValid(fieldId); + } + } + } + } + + /* check whether all the users exists */ + if (userChanges) { + const allRequestedUserChanges: string[] = [...userChanges.add, ...userChanges.remove]; + const testedUser: string[] = []; + for (const each of allRequestedUserChanges) { + if (!testedUser.includes(each)) { + const user = await this.db.collections.users_collection.findOne({ id: each, deleted: null }); + if (user === null) { + throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); + } else { + testedUser.push(each); + } + } + } + } if (permissionChanges === undefined) { permissionChanges = { data: { subjectIds: [], visitIds: [], fieldIds: [], uploaders: ['^.*$'], hasVersioned: false, operations: [] }, @@ -221,9 +320,10 @@ export class PermissionCore { } }; } + if (userChanges === undefined) { userChanges = { add: [], remove: [] }; } - const bulkop = db.collections.roles_collection.initializeUnorderedBulkOp(); + const bulkop = this.db.collections.roles_collection.initializeUnorderedBulkOp(); bulkop.find({ id: roleId, deleted: null }).updateOne({ $set: { permissions: permissionChanges }, $addToSet: { users: { $each: userChanges.add } } }); bulkop.find({ id: roleId, deleted: null }).updateOne({ $set: { permissions: permissionChanges }, $pullAll: { users: userChanges.remove } }); if (name) { @@ -233,7 +333,7 @@ export class PermissionCore { bulkop.find({ id: roleId, deleted: null }).updateOne({ $set: { description } }); } const result: BulkWriteResult = await bulkop.execute(); - const resultingRole = await db.collections.roles_collection.findOne({ id: roleId, deleted: null }); + const resultingRole = await this.db.collections.roles_collection.findOne({ id: roleId, deleted: null }); if (!resultingRole) { throw new GraphQLError('Role does not exist', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -244,7 +344,7 @@ export class PermissionCore { if (permissionChanges.data?.filters) { if (permissionChanges.data.filters.length > 0) { const subqueries = translateCohort(permissionChanges.data.filters); - validSubjects = (await db.collections.data_collection.aggregate([{ + validSubjects = (await this.db.collections.data_collection.aggregate([{ $match: { $and: subqueries } }]).toArray()).map(el => el.m_subjectId); } @@ -252,7 +352,7 @@ export class PermissionCore { // update the data and field records - const dataBulkOp = db.collections.data_collection.initializeUnorderedBulkOp(); + const dataBulkOp = this.db.collections.data_collection.initializeUnorderedBulkOp(); const filters: ICombinedPermissions = { subjectIds: permissionChanges.data?.subjectIds || [], visitIds: permissionChanges.data?.visitIds || [], @@ -287,7 +387,7 @@ export class PermissionCore { }).update({ $set: { [dataTag]: false } }); - const fieldBulkOp = db.collections.field_dictionary_collection.initializeUnorderedBulkOp(); + const fieldBulkOp = this.db.collections.field_dictionary_collection.initializeUnorderedBulkOp(); const fieldIds = permissionChanges.data?.fieldIds || []; const fieldTag = `metadata.${'role:'.concat(roleId)}`; fieldBulkOp.find({ @@ -313,7 +413,44 @@ export class PermissionCore { } } - public async addRole(opt: ICreateRoleInput): Promise { + public async addRole(requester: IUserWithoutToken | undefined, studyId: string, projectId: string | undefined, roleName: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check whether user has at least provided one id */ + if (studyId === undefined && projectId === undefined) { + throw new GraphQLError('Please provide either study id or project id.', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + + /* check the requester has privilege */ + const hasPermission = await this.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.role, + atomicOperation.WRITE, + requester, + studyId, + projectId + ); + if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + /* check whether the target study or project exists */ + if (studyId && projectId) { // if both study id and project id are provided then just make sure they belong to each other + const result = await this.db.collections.projects_collection.findOne({ id: projectId, deleted: null }); + if (!result || result.studyId !== studyId) { + throw new GraphQLError('The project provided does not belong to the study provided', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + } else if (studyId) { // if only study id is provided + const study = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + if (!study) { + throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + } else if (projectId) { + const study = await this.db.collections.projects_collection.findOne({ id: projectId, deleted: null }); + if (!study) { + throw new GraphQLError('Project does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + } + + const opt = { createdBy: requester.id, studyId, projectId, roleName }; /* add user role */ const role: IRole = { id: uuid(), @@ -343,17 +480,22 @@ export class PermissionCore { metadata: {}, deleted: null }; - const updateResult = await db.collections.roles_collection.insertOne(role); + const updateResult = await this.db.collections.roles_collection.insertOne(role); if (updateResult.acknowledged) { return role; } else { throw new GraphQLError('Cannot create role.', { extensions: { code: errorCodes.DATABASE_ERROR } }); } } -} - -export const permissionCore = new PermissionCore(); + public checkReExpIsValid(pattern: string) { + try { + new RegExp(pattern); + } catch { + throw new GraphQLError(`${pattern} is not a valid regular expression.`, { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + } +} export function translateCohort(cohort) { const queries: Document[] = []; diff --git a/packages/itmat-cores/src/core/pubkeyCore.ts b/packages/itmat-cores/src/core/pubkeyCore.ts new file mode 100644 index 000000000..b76b16c5f --- /dev/null +++ b/packages/itmat-cores/src/core/pubkeyCore.ts @@ -0,0 +1,208 @@ +import { IPubkey, IUserWithoutToken } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; +import * as pubkeycrypto from '../utils/pubkeycrypto'; +import { GraphQLError } from 'graphql'; +import { ApolloServerErrorCode } from '@apollo/server/errors'; +import { errorCodes } from '../utils/errors'; +import { UserCore } from './userCore'; +import { Mailer } from '@itmat-broker/itmat-commons'; +import { IConfiguration } from '../utils'; + +export class PubkeyCore { + db: DBType; + userCore: UserCore; + mailer: Mailer; + config: IConfiguration; + constructor(db: DBType, mailer: Mailer, config: IConfiguration) { + this.db = db; + this.userCore = new UserCore(db, mailer, config); + this.mailer = mailer; + this.config = config; + } + + public async getPubkeys(pubkeyId?: string, associatedUserId?: string) { + let queryObj; + if (pubkeyId === undefined) { + if (associatedUserId === undefined) { + queryObj = { deleted: null }; + } else { + queryObj = { deleted: null, associatedUserId: associatedUserId }; + } + } else { + queryObj = { deleted: null, id: pubkeyId }; + } + const cursor = this.db.collections.pubkeys_collection.find(queryObj, { projection: { _id: 0 } }); + return cursor.toArray(); + } + + public async keyPairGenwSignature() { + // Generate RSA key-pair with Signature for robot user + const keyPair = pubkeycrypto.rsakeygen(); + //default message = hash of the public key (SHA256) + const messageToBeSigned = pubkeycrypto.hashdigest(keyPair.publicKey); + const signature = pubkeycrypto.rsasigner(keyPair.privateKey, messageToBeSigned); + + return { privateKey: keyPair.privateKey, publicKey: keyPair.publicKey, signature: signature }; + } + + public async rsaSigner(privateKey, message) { + let messageToBeSigned; + privateKey = privateKey.replace(/\\n/g, '\n'); + if (message === undefined) { + //default message = hash of the public key (SHA256) + try { + const reGenPubkey = pubkeycrypto.reGenPkfromSk(privateKey); + messageToBeSigned = pubkeycrypto.hashdigest(reGenPubkey); + } catch (error) { + throw new GraphQLError('Error: private-key incorrect!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); + } + + } else { + messageToBeSigned = message; + } + const signature = pubkeycrypto.rsasigner(privateKey, messageToBeSigned); + return { signature: signature }; + } + + public async issueAccessToken(pubkey, signature) { + // refine the public-key parameter from browser + pubkey = pubkey.replace(/\\n/g, '\n'); + + /* Validate the signature with the public key */ + if (!await pubkeycrypto.rsaverifier(pubkey, signature)) { + throw new GraphQLError('Signature vs Public key mismatched.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + const pubkeyrec = await this.db.collections.pubkeys_collection.findOne({ pubkey, deleted: null }); + if (pubkeyrec === null || pubkeyrec === undefined) { + throw new GraphQLError('This public-key has not been registered yet!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + // payload of the JWT for storing user information + const payload = { + publicKey: pubkeyrec.jwtPubkey, + associatedUserId: pubkeyrec.associatedUserId, + refreshCounter: pubkeyrec.refreshCounter, + Issuer: 'IDEA-FAST DMP' + }; + + // update the counter + const fieldsToUpdate = { + refreshCounter: (pubkeyrec.refreshCounter + 1) + }; + const updateResult = await this.db.collections.pubkeys_collection.findOneAndUpdate({ pubkey, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + if (updateResult === null) { + throw new GraphQLError('Server error; cannot fulfil the JWT request.'); + } + // return the acccess token + const accessToken = { + accessToken: pubkeycrypto.tokengen(payload, pubkeyrec.jwtSeckey) + }; + + return accessToken; + } + + public async registerPubkey(requester: IUserWithoutToken | undefined, pubkey, signature, associatedUserId) { + // refine the public-key parameter from browser + pubkey = pubkey.replace(/\\n/g, '\n'); + const alreadyExist = await this.db.collections.pubkeys_collection.findOne({ pubkey, deleted: null }); + if (alreadyExist !== null && alreadyExist !== undefined) { + throw new GraphQLError('This public-key has already been registered.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* Check whether requester is the same as the associated user*/ + if (associatedUserId && (requester.id !== associatedUserId)) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + /* Validate the signature with the public key */ + try { + const signature_verifier = await pubkeycrypto.rsaverifier(pubkey, signature); + if (!signature_verifier) { + throw new GraphQLError('Signature vs Public-key mismatched.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + } catch (error) { + throw new GraphQLError('Error: Signature or Public-key is incorrect.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + /* Generate a public key-pair for generating and authenticating JWT access token later */ + const keypair = pubkeycrypto.rsakeygen(); + + /* Update the new public key if the user is already associated with another public key*/ + if (associatedUserId) { + const alreadyRegistered = await this.db.collections.pubkeys_collection.findOne({ associatedUserId, deleted: null }); + if (alreadyRegistered !== null && alreadyRegistered !== undefined) { + //updating the new public key. + const fieldsToUpdate = { + pubkey, + jwtPubkey: keypair.publicKey, + jwtSeckey: keypair.privateKey + }; + const updateResult = await this.db.collections.pubkeys_collection.findOneAndUpdate({ associatedUserId, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + if (updateResult) { + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: requester.email, + subject: `[${this.config.appName}] New public-key has sucessfully registered!`, + html: ` +

+ Dear ${requester.firstname}, +

+

+ Your new public-key "${pubkey}" on ${this.config.appName} has successfully registered !
+ The old one is already wiped out! + You will need to keep your new private key secretly.
+ You will also need to sign a message (using this new public-key) to authenticate the owner of the public key.
+

+ +
+

+ The ${this.config.appName} Team. +

+ ` + }); + + return updateResult; + } else { + throw new GraphQLError('Server error; no entry or more than one entry has been updated.'); + } + } + } + + /* Register new public key (either associated with an user or not) */ + const registeredPubkey = await this.userCore.registerPubkey({ + pubkey, + jwtPubkey: keypair.publicKey, + jwtSeckey: keypair.privateKey, + associatedUserId: associatedUserId ?? null + }); + + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: requester.email, + subject: `[${this.config.appName}] Public-key Registration!`, + html: ` +

+ Dear ${requester.firstname}, +

+

+ You have successfully registered your public-key "${pubkey}" on ${this.config.appName}!
+ You will need to keep your private key secretly.
+ You will also need to sign a message (using your public-key) to authenticate the owner of the public key.
+

+ +
+

+ The ${this.config.appName} Team. +

+ ` + }); + + return registeredPubkey; + } + + +} diff --git a/packages/itmat-cores/src/core/queryCore.ts b/packages/itmat-cores/src/core/queryCore.ts new file mode 100644 index 000000000..4512f386c --- /dev/null +++ b/packages/itmat-cores/src/core/queryCore.ts @@ -0,0 +1,109 @@ +import { IPermissionManagementOptions, IProject, IQueryEntry, IUserWithoutToken, atomicOperation } from '@itmat-broker/itmat-types'; +import { v4 as uuid } from 'uuid'; +import { GraphQLError } from 'graphql'; +import { errorCodes } from '../utils/errors'; +import { DBType } from '../database/database'; +import { PermissionCore } from './permissionCore'; + +export class QueryCore { + db: DBType; + permissionCore: PermissionCore; + constructor(db: DBType) { + this.db = db; + this.permissionCore = new PermissionCore(db); + } + + public async getQueryByIdparent(requester: IUserWithoutToken | undefined, queryId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check query exists */ + const queryEntry = await this.db.collections.queries_collection.findOne({ id: queryId }, { projection: { _id: 0, claimedBy: 0 } }); + if (queryEntry === null || queryEntry === undefined) { + throw new GraphQLError('Query does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + /* check permission */ + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.query, + atomicOperation.READ, + requester, + queryEntry.studyId, + queryEntry.projectId + ); + + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.query, + atomicOperation.READ, + requester, + queryEntry.studyId + ); + if (!hasProjectLevelPermission && !hasStudyLevelPermission) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + return queryEntry; + } + + public async getQueries(requester: IUserWithoutToken | undefined, studyId: string, projectId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check permission */ + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.query, + atomicOperation.READ, + requester, + studyId, + projectId + ); + + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.query, + atomicOperation.READ, + requester, + studyId + ); + if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + const entries = await this.db.collections.queries_collection.find({ studyId: studyId, projectId: projectId }).toArray(); + return entries; + } + + public async createQuery(userId: string, queryString, studyId: string, projectId?: string): Promise { + /* check study exists */ + const studySearchResult = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + if (studySearchResult === null || studySearchResult === undefined) { + throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + /* check project exists */ + const project = await this.db.collections.projects_collection.findOne>({ id: projectId, deleted: null }, { projection: { patientMapping: 0 } }); + if (project === null) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check project matches study */ + if (studySearchResult.id !== project.studyId) { + throw new GraphQLError('Study and project mismatch.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + const query: IQueryEntry = { + requester: userId, + id: uuid(), + queryString: queryString, + studyId: studyId, + projectId: projectId, + status: 'QUEUED', + error: null, + cancelled: false, + data_requested: queryString.data_requested, + cohort: queryString.cohort, + new_fields: queryString.new_fields + }; + await this.db.collections.queries_collection.insertOne(query); + return query; + } + + public async getUsersQuery_NoResult(userId: string): Promise { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + return db.collections.queries_collection.find({ requester: userId }, { projection: { _id: 0, claimedBy: 0, queryResult: 0 } }).toArray(); + } + +} + diff --git a/packages/itmat-cores/src/core/standardizationCore.ts b/packages/itmat-cores/src/core/standardizationCore.ts new file mode 100644 index 000000000..59c7a3fe8 --- /dev/null +++ b/packages/itmat-cores/src/core/standardizationCore.ts @@ -0,0 +1,172 @@ +import { IProject, IStandardization, IUserWithoutToken, atomicOperation } from '@itmat-broker/itmat-types'; +import { GraphQLError } from 'graphql'; +import { errorCodes } from '../utils/errors'; +import { v4 as uuid } from 'uuid'; +import { makeGenericReponse } from '../utils/responses'; +import { DBType } from '../database/database'; +import { PermissionCore } from './permissionCore'; +import { StudyCore } from './studyCore'; +import { ObjectStore } from '@itmat-broker/itmat-commons'; + +export class StandarizationCore { + db: DBType; + permissionCore: PermissionCore; + studyCore: StudyCore; + constructor(db: DBType, objStore: ObjectStore) { + this.db = db; + this.permissionCore = new PermissionCore(db); + this.studyCore = new StudyCore(db, objStore); + } + + public async getStandardization(requester: IUserWithoutToken | undefined, versionId: string | null, studyId: string, projectId?: string, type?: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + let modifiedStudyId = studyId; + /* check study exists */ + if (!studyId && !projectId) { + throw new GraphQLError('Either studyId or projectId should be provided.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + if (studyId) { + await this.studyCore.findOneStudy_throwErrorIfNotExist(studyId); + } + if (projectId) { + const project: IProject = await this.studyCore.findOneProject_throwErrorIfNotExist(projectId); + modifiedStudyId = project.studyId; + } + + /* check permission */ + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + studyId + ); + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + studyId, + projectId + ); + if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + const study = await this.studyCore.findOneStudy_throwErrorIfNotExist(modifiedStudyId); + // get all dataVersions that are valid (before/equal the current version) + const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + if (hasStudyLevelPermission && hasStudyLevelPermission.hasVersioned && versionId === null) { + availableDataVersions.push(null); + } + const standardizations = await this.db.collections.standardizations_collection.aggregate([{ + $sort: { uploadedAt: -1 } + }, { + $match: { dataVersion: { $in: availableDataVersions } } + }, { + $match: { studyId: studyId, type: type ?? /^.*$/ } + }, { + $group: { + _id: { + type: '$type', + field: '$field' + }, + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { newRoot: '$doc' } + }, { + $match: { deleted: null } + } + ]).toArray(); + return standardizations as IStandardization[]; + } + + public async createStandardization(requester: IUserWithoutToken | undefined, studyId, standardization) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check permission */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasPermission) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + /* check study exists */ + const studySearchResult = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + if (studySearchResult === null || studySearchResult === undefined) { + throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + const stdRulesWithId = [...standardization.stdRules]; + stdRulesWithId.forEach(el => { + el.id = uuid(); + }); + if (!(this.permissionCore.checkDataEntryValid(hasPermission.raw, standardization.field[0].slice(1)))) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + const standardizationEntry: IStandardization = { + id: uuid(), + studyId: studyId, + type: standardization.type, + field: standardization.field, + path: standardization.path, + stdRules: stdRulesWithId || [], + joinByKeys: standardization.joinByKeys || [], + dataVersion: null, + metadata: standardization.metadata, + uploadedAt: Date.now(), + deleted: null + }; + + await this.db.collections.standardizations_collection.findOneAndUpdate({ studyId: studyId, type: standardization.type, field: standardization.field, dataVersion: null }, { + $set: { ...standardizationEntry } + }, { + upsert: true + }); + return standardizationEntry; + } + + public async deleteStandardization(requester: IUserWithoutToken | undefined, studyId, type, field) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check permission */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasPermission) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + if (!(this.permissionCore.checkDataEntryValid(hasPermission.raw, field[0].slice(1)))) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + /* check study exists */ + const studySearchResult = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + if (studySearchResult === null || studySearchResult === undefined) { + throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + + // check type exists + const types: string[] = await this.db.collections.standardizations_collection.distinct('type', { studyId: studyId, deleted: null }); + if (!types.includes(type)) { + throw new GraphQLError('Type does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + const result = await this.db.collections.standardizations_collection.findOneAndUpdate({ studyId: studyId, field: field, type: type, dataVersion: null }, { + $set: { + id: uuid(), + studyId: studyId, + field: field, + type: type, + dataVersion: null, + uploadedAt: Date.now(), + deleted: Date.now() + } + }, { + upsert: true + }); + return makeGenericReponse(result?.id || ''); + } +} + diff --git a/packages/itmat-cores/src/core/studyCore.ts b/packages/itmat-cores/src/core/studyCore.ts new file mode 100644 index 000000000..1f82134a2 --- /dev/null +++ b/packages/itmat-cores/src/core/studyCore.ts @@ -0,0 +1,2241 @@ +import { GraphQLError } from 'graphql'; +import { IFile, IProject, IStudy, studyType, IStudyDataVersion, IDataEntry, IDataClip, IRole, IFieldEntry, deviceTypes, IOrganisation, IUserWithoutToken, IPermissionManagementOptions, atomicOperation, userTypes, IOntologyTree, ISubjectDataRecordSummary, IQueryString, IGroupedData, enumValueType, IValueDescription } from '@itmat-broker/itmat-types'; +import { v4 as uuid } from 'uuid'; +import { errorCodes } from '../utils/errors'; +import { ICombinedPermissions, PermissionCore, translateCohort } from './permissionCore'; +import { validate } from '@ideafast/idgen'; +import type { Filter, MatchKeysAndValues } from 'mongodb'; +import { FileUpload } from 'graphql-upload-minimal'; +import crypto from 'crypto'; +import { fileSizeLimit } from '../utils/definition'; +import { IGenericResponse, makeGenericReponse } from '../utils/responses'; +import { buildPipeline, dataStandardization, translateMetadata } from '../utils/query'; +import { DBType } from '../database/database'; +import { ObjectStore } from '@itmat-broker/itmat-commons'; + +export interface CreateFieldInput { + fieldId: string; + fieldName: string + tableName: string + dataType: enumValueType + possibleValues?: IValueDescription[] + unit?: string + comments?: string + metadata: Record +} + +export interface EditFieldInput { + fieldId: string; + fieldName: string; + tableName?: string; + dataType: enumValueType; + possibleValues?: IValueDescription[] + unit?: string + comments?: string +} + +export class StudyCore { + db: DBType; + permissionCore: PermissionCore; + objStore: ObjectStore; + constructor(db: DBType, objStore: ObjectStore) { + this.db = db; + this.permissionCore = new PermissionCore(db); + this.objStore = objStore; + } + + public async findOneStudy_throwErrorIfNotExist(studyId: string): Promise { + const studySearchResult = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + if (studySearchResult === null || studySearchResult === undefined) { + throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + return studySearchResult; + } + + public async findOneProject_throwErrorIfNotExist(projectId: string): Promise { + const projectSearchResult = await this.db.collections.projects_collection.findOne({ id: projectId, deleted: null }); + if (projectSearchResult === null || projectSearchResult === undefined) { + throw new GraphQLError('Project does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + return projectSearchResult; + } + + public async getStudy(requester: IUserWithoutToken | undefined, studyId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* user can get study if he has readonly permission */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.own, + atomicOperation.READ, + requester, + studyId + ); + if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + const study = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + if (study === null || study === undefined) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + return study; + } + + public async getProject(requester: IUserWithoutToken | undefined, projectId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + /* get project */ // defer patientMapping since it's costly and not available to all users + const project = await this.db.collections.projects_collection.findOne({ id: projectId, deleted: null }, { projection: { patientMapping: 0 } }); + if (!project) + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + + /* check if user has permission */ + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.own, + atomicOperation.READ, + requester, + project.studyId, + projectId + ); + + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.own, + atomicOperation.READ, + requester, + project.studyId + ); + if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + return project; + } + + public async getStudyFields(requester: IUserWithoutToken | undefined, studyId: string, projectId?: string, versionId?: string | null) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* user can get study if he has readonly permission */ + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + studyId + ); + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + studyId, + projectId + ); + if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + const study = await this.findOneStudy_throwErrorIfNotExist(studyId); + const aggregatedPermissions = this.permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); + + // the processes of requiring versioned data and unversioned data are different + // check the metadata:role:**** for versioned data directly + const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + // check the regular expressions for unversioned data + if (requester.type === userTypes.ADMIN) { + if (versionId === null) { + availableDataVersions.push(null); + } + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } + }, { + $sort: { dateAdded: -1 } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray(); + return fieldRecords.filter(el => el.dateDeleted === null); + } + // unversioned data could not be returned by metadata filters + if (versionId === null && aggregatedPermissions.hasVersioned) { + availableDataVersions.push(null); + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } + }, { + $sort: { dateAdded: -1 } + }, { + $match: { + fieldId: { $in: aggregatedPermissions.raw.fieldIds.map((el: string) => new RegExp(el)) } + } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray(); + return fieldRecords.filter(el => el.dateDeleted === null); + } else { + // metadata filter + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; + aggregatedPermissions.matchObj.forEach((subMetadata) => { + subqueries.push(translateMetadata(subMetadata)); + }); + const metadataFilter = { $or: subqueries }; + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } + }, { + $sort: { dateAdded: -1 } + }, { $match: metadataFilter }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }, { + $set: { metadata: null } + }]).toArray(); + return fieldRecords.filter(el => el.dateDeleted === null); + } + } + + public async getOntologyTree(requester: IUserWithoutToken | undefined, studyId: string, projectId?: string, treeName?: string, versionId?: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + /* get studyId by parameter or project */ + const study = await this.findOneStudy_throwErrorIfNotExist(studyId); + if (projectId) { + await this.findOneProject_throwErrorIfNotExist(projectId); + } + + // we dont filters fields of an ontology tree by fieldIds + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.ontologyTrees, + atomicOperation.READ, + requester, + studyId, + projectId + ); + + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.ontologyTrees, + atomicOperation.READ, + requester, + studyId + ); + if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + // if versionId is null, we will only return trees whose data version is null + // this is a different behavior from getting fields or data + if (study.ontologyTrees === undefined) { + return []; + } else { + const trees: IOntologyTree[] = study.ontologyTrees; + if (hasStudyLevelPermission && versionId === null) { + const availableTrees: IOntologyTree[] = []; + for (let i = trees.length - 1; i >= 0; i--) { + if (trees[i].dataVersion === null + && availableTrees.filter(el => el.name === trees[i].name).length === 0) { + availableTrees.push(trees[i]); + } else { + continue; + } + } + if (treeName) { + return availableTrees.filter(el => el.name === treeName); + } else { + return availableTrees; + } + } else { + const availableTrees: IOntologyTree[] = []; + for (let i = trees.length - 1; i >= 0; i--) { + if (availableDataVersions.includes(trees[i].dataVersion || '') + && availableTrees.filter(el => el.name === trees[i].name).length === 0) { + availableTrees.push(trees[i]); + } else { + continue; + } + } + if (treeName) { + return availableTrees.filter(el => el.name === treeName); + } else { + return availableTrees; + } + } + } + } + + public async checkDataComplete(requester: IUserWithoutToken | undefined, studyId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + /* user can get study if he has readonly permission */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + studyId + ); + if (!hasPermission) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + // we only check data that hasnt been pushed to a new data version + const data: IDataEntry[] = await this.db.collections.data_collection.find({ + m_studyId: studyId, + m_versionId: null, + m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } + }).toArray(); + const fieldMapping = (await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId } + }, { + $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } + }, { + $sort: { dateAdded: -1 } + }, { + $group: { + _id: '$fieldId', + doc: { $last: '$$ROOT' } + } + } + ]).toArray()).map(el => el['doc']).filter(eh => eh.dateDeleted === null).reduce((acc, curr) => { + acc[curr.fieldId] = curr; + return acc; + }, {}); + const summary: ISubjectDataRecordSummary[] = []; + // we will not check data whose fields are not defined, because data that the associated fields are undefined will not be returned while querying data + for (const record of data) { + let error: string | null = null; + if (fieldMapping[record.m_fieldId] !== undefined && fieldMapping[record.m_fieldId] !== null) { + switch (fieldMapping[record.m_fieldId].dataType) { + case 'dec': {// decimal + if (typeof record.value === 'number') { + if (!/^\d+(.\d+)?$/.test(record.value.toString())) { + error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; + break; + } + } else { + error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; + break; + } + break; + } + case 'int': {// integer + if (typeof record.value === 'number') { + if (!/^-?\d+$/.test(record.value.toString())) { + error = `Field ${record.m_fieldId}: Cannot parse as integer.`; + break; + } + } else { + error = `Field ${record.m_fieldId}: Cannot parse as integer.`; + break; + } + break; + } + case 'bool': {// boolean + if (typeof record.value !== 'boolean') { + error = `Field ${record.m_fieldId}: Cannot parse as boolean.`; + break; + } + break; + } + case 'str': { + break; + } + // 01/02/2021 00:00:00 + case 'date': { + if (typeof record.value === 'string') { + const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; + if (!record.value.match(matcher)) { + error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; + break; + } + } else { + error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; + break; + } + break; + } + case 'json': { + break; + } + case 'file': { + if (typeof record.value === 'string') { + const file = await this.db.collections.files_collection.findOne({ id: record.value }); + if (!file) { + error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; + break; + } + } else { + error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; + break; + } + break; + } + case 'cat': { + if (typeof record.value === 'string') { + if (!fieldMapping[record.m_fieldId].possibleValues.map((el) => el.code).includes(record.value.toString())) { + error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; + break; + } + } else { + error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; + break; + } + break; + } + default: { + error = `Field ${record.m_fieldId}: Invalid data Type.`; + break; + } + } + } + error && summary.push({ + subjectId: record.m_subjectId, + visitId: record.m_visitId, + fieldId: record.m_fieldId, + error: error + }); + } + + return summary; + } + + public async getDataRecords(requester: IUserWithoutToken | undefined, queryString: IQueryString, studyId: string, versionId: string | null | undefined, projectId?: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + /* user can get study if he has readonly permission */ + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + studyId + ); + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + studyId, + projectId + ); + if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + const study = await this.findOneStudy_throwErrorIfNotExist(studyId); + const aggregatedPermissions = this.permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); + + let availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + let fieldRecords: IFieldEntry[] = []; + let result; + let metadataFilter; + // we obtain the data by different requests + // admin used will not filtered by metadata filters + if (requester.type === userTypes.ADMIN) { + if (versionId !== undefined) { + if (versionId === null) { + availableDataVersions.push(null); + } else if (versionId === '-1') { + availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; + } else { + availableDataVersions = [versionId]; + } + } + + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + }, { + $sort: { dateAdded: -1 } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray(); + if (queryString.data_requested && queryString.data_requested.length > 0) { + fieldRecords = fieldRecords.filter(el => (queryString.data_requested || []).includes(el.fieldId)); + } + const pipeline = buildPipeline(queryString, studyId, availableDataVersions, fieldRecords, undefined, true, versionId === null); + result = await this.db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); + } else { + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; + aggregatedPermissions.matchObj.forEach((subMetadata) => { + subqueries.push(translateMetadata(subMetadata)); + }); + metadataFilter = { $or: subqueries }; + // unversioned data: metadatafilter for versioned data and all unversioned tags + if (versionId === null && aggregatedPermissions.hasVersioned) { + availableDataVersions.push(null); + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + }, { + $sort: { dateAdded: -1 } + }, { + $match: { + $or: [ + metadataFilter, + { m_versionId: null } + ] + } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray(); + if (queryString.data_requested && queryString.data_requested?.length > 0) { + fieldRecords = fieldRecords.filter(el => (queryString.data_requested || []).includes(el.fieldId)); + } + } else if (versionId === undefined || versionId === '-1') { + if (versionId === '-1') { + availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; + } + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + }, { + $sort: { dateAdded: -1 } + }, { + $match: { + $or: [ + metadataFilter + ] + } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray(); + if (queryString.data_requested && queryString.data_requested?.length > 0) { + fieldRecords = fieldRecords.filter(el => (queryString.data_requested || []).includes(el.fieldId)); + } + } else if (versionId !== undefined) { + availableDataVersions = [versionId]; + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + }, { + $sort: { dateAdded: -1 } + }, { + $match: { + $or: [ + metadataFilter + ] + } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray(); + if (queryString.data_requested && queryString.data_requested?.length > 0) { + fieldRecords = fieldRecords.filter(el => (queryString.data_requested || []).includes(el.fieldId)); + } + } + + // TODO: placeholder for metadata filter + // if (queryString.metadata) { + // metadataFilter = { $and: queryString.metadata.map((el) => translateMetadata(el)) }; + // } + const pipeline = buildPipeline(queryString, studyId, availableDataVersions, fieldRecords, metadataFilter, false, versionId === null && aggregatedPermissions.hasVersioned); + result = await this.db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); + } + // post processing the data + // 2. update to the latest data; start from first record + const groupedResult: IGroupedData = {}; + for (let i = 0; i < result.length; i++) { + const { m_subjectId, m_visitId, m_fieldId, value } = result[i]; + if (!groupedResult[m_subjectId]) { + groupedResult[m_subjectId] = {}; + } + if (!groupedResult[m_subjectId][m_visitId]) { + groupedResult[m_subjectId][m_visitId] = {}; + } + groupedResult[m_subjectId][m_visitId][m_fieldId] = value; + } + + // 2. adjust format: 1) original(exists) 2) standardized - $name 3) grouped + // when standardized data, versionId should not be specified + const standardizations = versionId === null ? null : await this.db.collections.standardizations_collection.find({ studyId: studyId, type: queryString['format'].split('-')[1], delete: null, dataVersion: { $in: availableDataVersions } }).toArray(); + const formattedData = dataStandardization(study, fieldRecords, + groupedResult, queryString, standardizations); + return { data: formattedData }; + } + + public async getStudyProjects(study: IStudy) { + return await this.db.collections.projects_collection.find({ studyId: study.id, deleted: null }).toArray(); + } + + public async getStudyJobs(study: IStudy) { + return await this.db.collections.jobs_collection.find({ studyId: study.id }).toArray(); + } + + public async getStudyRoles(study: IStudy) { + return await this.db.collections.roles_collection.find({ studyId: study.id, projectId: undefined, deleted: null }).toArray(); + } + + public async getStudyFiles(requester: IUserWithoutToken | undefined, study: IStudy) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + study.id + ); + + if (!hasPermission) { + return []; + } + const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } + }, { $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { + $sort: { dateAdded: -1 } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray()).map(el => el.fieldId); + let adds: string[] = []; + let removes: string[] = []; + // versioned data + if (requester.type === userTypes.ADMIN) { + const fileRecords = await this.db.collections.data_collection.aggregate([{ + $match: { m_studyId: study.id, m_fieldId: { $in: fileFieldIds } } + }]).toArray(); + adds = fileRecords.map(el => el.metadata?.add || []).flat(); + removes = fileRecords.map(el => el.metadata?.remove || []).flat(); + } else { + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; + hasPermission.matchObj.forEach((subMetadata) => { + subqueries.push(translateMetadata(subMetadata)); + }); + const metadataFilter = { $or: subqueries }; + const versionedFileRecors = await this.db.collections.data_collection.aggregate([{ + $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + }, { + $match: metadataFilter + }]).toArray(); + + const filters: Filter[] = []; + for (const role of hasPermission.roleraw) { + if (!(role.hasVersioned)) { + continue; + } + filters.push({ + m_subjectId: { $in: role.subjectIds.map((el: string) => new RegExp(el)) }, + m_visitId: { $in: role.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: role.fieldIds.map((el: string) => new RegExp(el)) }, + m_versionId: null + }); + } + let unversionedFileRecords: IDataEntry[] = []; + if (filters.length !== 0) { + unversionedFileRecords = await this.db.collections.data_collection.aggregate([{ + $match: { m_studyId: study.id, m_versionId: null, m_fieldId: { $in: fileFieldIds } } + }, { + $match: { $or: filters } + }]).toArray(); + } + adds = versionedFileRecors.map(el => el.metadata?.add || []).flat(); + removes = versionedFileRecors.map(el => el.metadata?.remove || []).flat(); + adds = adds.concat(unversionedFileRecords.map(el => el.metadata?.add || []).flat()); + removes = removes.concat(unversionedFileRecords.map(el => el.metadata?.remove || []).flat()); + } + return await this.db.collections.files_collection.find({ studyId: study.id, deleted: null, $or: [{ id: { $in: adds, $nin: removes } }, { description: JSON.stringify({}) }] }).sort({ uploadTime: -1 }).toArray(); + } + + public async getStudySubjects(requester: IUserWithoutToken | undefined, study: IStudy) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + study.id + ); + if (!hasPermission) { + return [[], []]; + } + const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + const versionedSubjects = (await this.db.collections.data_collection.distinct('m_subjectId', { + m_studyId: study.id, + m_versionId: availableDataVersions[availableDataVersions.length - 1], + m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + value: { $ne: null } + })).sort() || []; + const unVersionedSubjects = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('m_subjectId', { + m_studyId: study.id, + m_versionId: null, + m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + value: { $ne: null } + })).sort() || [] : []; + return [versionedSubjects, unVersionedSubjects]; + } + + public async getStudyVisits(requester: IUserWithoutToken | undefined, study: IStudy) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + study.id + ); + if (!hasPermission) { + return [[], []]; + } + const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + const versionedVisits = (await this.db.collections.data_collection.distinct('m_visitId', { + m_studyId: study.id, + m_versionId: availableDataVersions[availableDataVersions.length - 1], + m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + value: { $ne: null } + })).sort((a, b) => parseFloat(a) - parseFloat(b)); + const unVersionedVisits = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('m_visitId', { + m_studyId: study.id, + m_versionId: null, + m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + value: { $ne: null } + })).sort((a, b) => parseFloat(a) - parseFloat(b)) : []; + return [versionedVisits, unVersionedVisits]; + } + + public async getStudyNumOfRecords(requester: IUserWithoutToken | undefined, study: IStudy) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + study.id + ); + if (!hasPermission) { + return [0, 0]; + } + const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + const numberOfVersioned: number = (await this.db.collections.data_collection.aggregate([{ + $match: { m_studyId: study.id, m_versionId: availableDataVersions[availableDataVersions.length - 1], value: { $ne: null } } + }, { + $match: { + m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } + } + }, { + $count: 'count' + }]).toArray())[0]?.['count'] || 0; + const numberOfUnVersioned: number = hasPermission.hasVersioned ? (await this.db.collections.data_collection.aggregate([{ + $match: { m_studyId: study.id, m_versionId: null, value: { $ne: null } } + }, { + $match: { + m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } + } + }, { + $count: 'count' + }]).toArray())[0]?.['count'] || 0 : 0; + return [numberOfVersioned, numberOfUnVersioned]; + } + + public async getStudyCurrentDataVersion(study: IStudy) { + return study.currentDataVersion === -1 ? null : study.currentDataVersion; + } + + public async getProjectFields(requester: IUserWithoutToken | undefined, project: Omit) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + project.studyId, + project.id + ); + if (!hasProjectLevelPermission) { return []; } + // get all dataVersions that are valid (before the current version) + const study = await this.findOneStudy_throwErrorIfNotExist(project.studyId); + + // the processes of requiring versioned data and unversioned data are different + // check the metadata:role:**** for versioned data directly + // check the regular expressions for unversioned data + const availableDataVersions: string[] = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + const availableTrees: IOntologyTree[] = []; + const trees: IOntologyTree[] = study.ontologyTrees || []; + for (let i = trees.length - 1; i >= 0; i--) { + if (availableDataVersions.includes(trees[i].dataVersion || '') + && availableTrees.filter(el => el.name === trees[i].name).length === 0) { + availableTrees.push(trees[i]); + } else { + continue; + } + } + if (availableTrees.length === 0) { + return []; + } + const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); + let fieldRecords: IFieldEntry[] = []; + if (requester.type === userTypes.ADMIN) { + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } + }, { + $group: { + _id: '$fieldId', + doc: { $last: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }, { + $set: { metadata: null } + }]).toArray(); + } else { + // metadata filter + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; + hasProjectLevelPermission.matchObj.forEach((subMetadata) => { + subqueries.push(translateMetadata(subMetadata)); + }); + const metadataFilter = { $or: subqueries }; + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } + }, { $match: metadataFilter }, { + $group: { + _id: '$fieldId', + doc: { $last: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }, { + $set: { metadata: null } + }]).toArray(); + } + return fieldRecords; + } + + public async getProjectJobs(project: Omit) { + return await this.db.collections.jobs_collection.find({ studyId: project.studyId, projectId: project.id }).toArray(); + } + + public async getProjectFiles(requester: IUserWithoutToken | undefined, project: Omit) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + project.studyId, + project.id + ); + if (!hasPermission) { + return []; + } + const study = await this.findOneStudy_throwErrorIfNotExist(project.studyId); + const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + const availableTrees: IOntologyTree[] = []; + const trees: IOntologyTree[] = study.ontologyTrees || []; + for (let i = trees.length - 1; i >= 0; i--) { + if (availableDataVersions.includes(trees[i].dataVersion || '') + && availableTrees.filter(el => el.name === trees[i].name).length === 0) { + availableTrees.push(trees[i]); + } else { + continue; + } + } + if (availableTrees.length === 0) { + return []; + } + const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); + const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } + }, { $match: { $and: [{ fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } }, { fieldId: { $in: ontologyTreeFieldIds } }] } }, { + $group: { + _id: '$fieldId', + doc: { $last: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }, { + $sort: { fieldId: 1 } + }]).toArray()).map(el => el.fieldId); + let add: string[] = []; + let remove: string[] = []; + if (Object.keys(hasPermission.matchObj).length === 0) { + (await this.db.collections.data_collection.aggregate([{ + $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + }]).toArray()).forEach(element => { + add = add.concat(element.metadata?.add || []); + remove = remove.concat(element.metadata?.remove || []); + }); + } else { + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; + hasPermission.matchObj.forEach((subMetadata) => { + subqueries.push(translateMetadata(subMetadata)); + }); + const metadataFilter = { $or: subqueries }; + (await this.db.collections.data_collection.aggregate([{ + $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + }, { + $match: metadataFilter + }]).toArray()).forEach(element => { + add = add.concat(element.metadata?.add || []); + remove = remove.concat(element.metadata?.remove || []); + }); + } + return await this.db.collections.files_collection.find({ $and: [{ id: { $in: add } }, { id: { $nin: remove } }] }).toArray(); + } + + public async getProjectDataVersion(project: IProject) { + const study = await this.db.collections.studies_collection.findOne({ id: project.studyId, deleted: null }); + if (study === undefined || study === null) { + return null; + } + if (study.currentDataVersion === -1) { + return null; + } + return study.dataVersions[study?.currentDataVersion]; + } + + public async getProjectSummary(requester: IUserWithoutToken | undefined, project: IProject) { + const summary = {}; + const study = await this.db.collections.studies_collection.findOne({ id: project.studyId }); + if (study === undefined || study === null || study.currentDataVersion === -1) { + return summary; + } + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* user can get study if he has readonly permission */ + const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + project.studyId + ); + const hasProjectLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + requester, + project.studyId, + project.id + ); + if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + // get all dataVersions that are valid (before the current version) + const aggregatedPermissions = this.permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); + + let metadataFilter; + + const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + // ontology trees + const availableTrees: IOntologyTree[] = []; + const trees: IOntologyTree[] = study.ontologyTrees || []; + for (let i = trees.length - 1; i >= 0; i--) { + if (availableDataVersions.includes(trees[i].dataVersion || '') + && availableTrees.filter(el => el.name === trees[i].name).length === 0) { + availableTrees.push(trees[i]); + } else { + continue; + } + } + // const ontologyTreeFieldIds = (availableTrees[0]?.routes || []).map(el => el.field[0].replace('$', '')); + + let fieldRecords; + if (requester.type === userTypes.ADMIN) { + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + }, { + $group: { + _id: '$fieldId', + doc: { $last: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }]).toArray(); + } else { + const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; + aggregatedPermissions.matchObj.forEach((subMetadata) => { + subqueries.push(translateMetadata(subMetadata)); + }); + metadataFilter = { $or: subqueries }; + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + }, { $match: metadataFilter }, { + $group: { + _id: '$fieldId', + doc: { $last: '$$ROOT' } + } + }, { + $replaceRoot: { + newRoot: '$doc' + } + }]).toArray(); + } + // fieldRecords = fieldRecords.filter(el => ontologyTreeFieldIds.includes(el.fieldId)); + const emptyQueryString: IQueryString = { + cohort: [[]], + new_fields: [] + }; + const pipeline = buildPipeline(emptyQueryString, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IFieldEntry[], metadataFilter, requester.type === userTypes.ADMIN, false); + const result = await this.db.collections.data_collection.aggregate<{ m_subjectId: string, m_visitId: string, m_fieldId: string, value: unknown }>(pipeline, { allowDiskUse: true }).toArray(); + summary['subjects'] = Array.from(new Set(result.map((el) => el.m_subjectId))).sort(); + summary['visits'] = Array.from(new Set(result.map((el) => el.m_visitId))).sort((a, b) => parseFloat(a) - parseFloat(b)).sort(); + summary['standardizationTypes'] = (await this.db.collections.standardizations_collection.distinct('type', { studyId: study.id, deleted: null })).sort(); + return summary; + } + + public async getProjectPatientMapping(requester: IUserWithoutToken | undefined, project: IProject) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (!(await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, // patientMapping is not visible to project users; only to study users. + requester, + project.studyId + ))) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + /* returning */ + const result = + await this.db.collections.projects_collection.findOne( + { id: project.id, deleted: null }, + { projection: { patientMapping: 1 } } + ); + if (result && result.patientMapping) { + return result.patientMapping; + } else { + return null; + } + } + + public async getProjectRoles(project: IProject) { + return await this.db.collections.roles_collection.find({ studyId: project.studyId, projectId: project.id, deleted: null }).toArray(); + } + + public async createNewStudy(requester: IUserWithoutToken | undefined, studyName: string, description: string, type: studyType): Promise { + /* check if study already exist (lowercase because S3 minio buckets cant be mixed case) */ + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (requester.type !== userTypes.ADMIN) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + const existingStudies = await this.db.collections.studies_collection.aggregate<{ name: string }>( + [ + { $match: { deleted: null } }, + { + $group: { + _id: '', + name: { + $push: { $toLower: '$name' } + } + } + }, + { $project: { name: 1 } } + ] + ).toArray(); + + if (existingStudies[0] && existingStudies[0].name.includes(studyName.toLowerCase())) { + throw new GraphQLError(`Study "${studyName}" already exists (duplicates are case-insensitive).`); + } + + const study: IStudy = { + id: uuid(), + name: studyName, + createdBy: requester.id, + currentDataVersion: -1, + lastModified: new Date().valueOf(), + dataVersions: [], + deleted: null, + description: description, + type: type, + ontologyTrees: [], + metadata: {} + }; + await this.db.collections.studies_collection.insertOne(study); + return study; + } + + public async validateAndGenerateFieldEntry(fieldEntry: Partial, requester: IUserWithoutToken) { + // duplicates with existing fields are checked by caller function + const error: string[] = []; + const complusoryField = [ + 'fieldId', + 'fieldName', + 'dataType' + ]; + + // check missing field + for (const key of complusoryField) { + if (fieldEntry[key] === undefined && fieldEntry[key] === null) { + error.push(`${key} should not be empty.`); + } + } + // only english letters, numbers and _ are allowed in fieldIds + if (!/^[a-zA-Z0-9_]*$/.test(fieldEntry.fieldId || '')) { + error.push('FieldId should contain letters, numbers and _ only.'); + } + // data types + if (!fieldEntry.dataType || !Object.values(enumValueType).includes(fieldEntry.dataType)) { + error.push(`Data type shouldn't be ${fieldEntry.dataType}: use 'int' for integer, 'dec' for decimal, 'str' for string, 'bool' for boolean, 'date' for datetime, 'file' for FILE, 'json' for json.`); + } + // check possiblevalues to be not-empty if datatype is categorical + if (fieldEntry.dataType === enumValueType.CATEGORICAL) { + if (fieldEntry.possibleValues !== undefined && fieldEntry.possibleValues !== null) { + if (fieldEntry.possibleValues.length === 0) { + error.push(`${fieldEntry.fieldId}-${fieldEntry.fieldName}: possible values can't be empty if data type is categorical.`); + } + for (let i = 0; i < fieldEntry.possibleValues.length; i++) { + fieldEntry.possibleValues[i]['id'] = uuid(); + } + } else { + error.push(`${fieldEntry.fieldId}-${fieldEntry.fieldName}: possible values can't be empty if data type is categorical.`); + } + } + + const newField = { + fieldId: fieldEntry.fieldId, + fieldName: fieldEntry.fieldName, + tableName: fieldEntry.tableName, + dataType: fieldEntry.dataType, + possibleValues: fieldEntry.dataType === enumValueType.CATEGORICAL ? fieldEntry.possibleValues : null, + unit: fieldEntry.unit, + comments: fieldEntry.comments, + metadata: { + 'uploader:org': requester.organisation, + 'uploader:user': requester.id, + ...fieldEntry.metadata + } + }; + + return { fieldEntry: newField, error: error }; + } + + public async createNewField(requester: IUserWithoutToken | undefined, studyId: string, fieldInput: CreateFieldInput[]) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + /* user can get study if he has readonly permission */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasPermission) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + // check study exists + await this.findOneStudy_throwErrorIfNotExist(studyId); + + const response: IGenericResponse[] = []; + let isError = false; + const bulk = this.db.collections.field_dictionary_collection.initializeUnorderedBulkOp(); + // remove duplicates by fieldId + const keysToCheck = ['fieldId']; + const filteredFieldInput = fieldInput.filter( + (s => o => (k => !s.has(k) && s.add(k))(keysToCheck.map(k => o[k]).join('|')))(new Set()) + ); + // check fieldId duplicate + for (const oneFieldInput of filteredFieldInput) { + isError = false; + // check data valid + if (!(this.permissionCore.checkDataEntryValid(hasPermission.raw, oneFieldInput.fieldId))) { + isError = true; + response.push({ successful: false, code: errorCodes.NO_PERMISSION_ERROR, description: 'You do not have permissions to create this field.' }); + continue; + } + const { fieldEntry, error: thisError } = await this.validateAndGenerateFieldEntry(oneFieldInput, requester); + if (thisError.length !== 0) { + response.push({ successful: false, code: errorCodes.CLIENT_MALFORMED_INPUT, description: `Field ${oneFieldInput.fieldId || 'fieldId not defined'}-${oneFieldInput.fieldName || 'fieldName not defined'}: ${JSON.stringify(thisError)}` }); + isError = true; + } else { + response.push({ successful: true, description: `Field ${oneFieldInput.fieldId}-${oneFieldInput.fieldName} is created successfully.` }); + } + // // construct the rest of the fields + if (!isError) { + const newFieldEntry: IFieldEntry = { + ...fieldEntry, + fieldId: oneFieldInput.fieldId, + fieldName: oneFieldInput.fieldName, + dataType: oneFieldInput.dataType, + id: uuid(), + studyId: studyId, + dataVersion: null, + dateAdded: Date.now(), + dateDeleted: null, + metadata: { + uploader: requester.id + } + }; + bulk.find({ + fieldId: fieldEntry.fieldId, + studyId: studyId, + dataVersion: null + }).upsert().updateOne({ $set: newFieldEntry }); + } + } + if (bulk.batches.length > 0) { + await bulk.execute(); + } + return response; + } + + public async editField(requester: IUserWithoutToken | undefined, studyId: string, fieldInput: EditFieldInput) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (requester.type !== userTypes.ADMIN) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + // check fieldId exist + const searchField = await this.db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); + if (!searchField) { + throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + searchField.fieldId = fieldInput.fieldId; + searchField.fieldName = fieldInput.fieldName; + searchField.dataType = fieldInput.dataType; + if (fieldInput.tableName) { + searchField.tableName = fieldInput.tableName; + } + if (fieldInput.unit) { + searchField.unit = fieldInput.unit; + } + if (fieldInput.possibleValues) { + searchField.possibleValues = fieldInput.possibleValues; + } + if (fieldInput.tableName) { + searchField.tableName = fieldInput.tableName; + } + if (fieldInput.comments) { + searchField.comments = fieldInput.comments; + } + + const { fieldEntry, error } = await this.validateAndGenerateFieldEntry(searchField, requester); + if (error.length !== 0) { + throw new GraphQLError(JSON.stringify(error), { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); + } + const newFieldEntry = { ...fieldEntry, id: searchField.id, dateAdded: searchField.dateAdded, deleted: searchField.dateDeleted, studyId: searchField.studyId }; + await this.db.collections.field_dictionary_collection.findOneAndUpdate({ studyId: studyId, fieldId: newFieldEntry.fieldId }, { $set: newFieldEntry }); + + return newFieldEntry; + } + + public async deleteField(requester: IUserWithoutToken | undefined, studyId: string, fieldId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasPermission) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + if (!(await this.permissionCore.checkDataEntryValid(hasPermission.raw, fieldId))) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + // check fieldId exist + const searchField = await this.db.collections.field_dictionary_collection.find({ studyId: studyId, fieldId: fieldId, dateDeleted: null }).limit(1).sort({ dateAdded: -1 }).toArray(); + if (searchField.length === 0 || searchField[0].dateDeleted !== null) { + throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + + const fieldEntry = { + id: uuid(), + studyId: studyId, + fieldId: searchField[0].fieldId, + fieldName: searchField[0].fieldName, + tableName: searchField[0].tableName, + dataType: searchField[0].dataType, + possibleValues: searchField[0].possibleValues, + unit: searchField[0].unit, + comments: searchField[0].comments, + dataVersion: null, + dateAdded: (new Date()).valueOf(), + dateDeleted: (new Date()).valueOf() + }; + await this.db.collections.field_dictionary_collection.insertOne(fieldEntry); + return searchField[0]; + } + + public async editStudy(requester: IUserWithoutToken | undefined, studyId: string, description: string): Promise { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (requester.type !== userTypes.ADMIN) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + const res = await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId }, { $set: { description: description } }, { returnDocument: 'after' }); + if (res) { + return res; + } else { + throw new GraphQLError('Edit study failed'); + } + } + + public async uploadDataInArray(requester: IUserWithoutToken | undefined, studyId: string, data: IDataClip[]) { + // check study exists + const study = await this.findOneStudy_throwErrorIfNotExist(studyId); + + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + /* user can get study if he has readonly permission */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasPermission) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + // find the fieldsList, including those that have not been versioned, same method as getStudyFields + // get all dataVersions that are valid (before/equal the current version) + const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $sort: { dateAdded: -1 } + }, { + $match: { $or: [{ dataVersion: null }, { dataVersion: { $in: availableDataVersions } }] } + }, { + $match: { studyId: studyId } + }, { + $group: { + _id: '$fieldId', + doc: { $first: '$$ROOT' } + } + } + ]).toArray(); + // filter those that have been deleted + const fieldsList = fieldRecords.map(el => el['doc']).filter(eh => eh.dateDeleted === null); + const response = (await this.uploadOneDataClip(studyId, hasPermission.raw, fieldsList, data, requester)); + + return response; + } + + public async deleteDataRecords(requester: IUserWithoutToken | undefined, studyId: string, subjectIds: string[], visitIds: string[], fieldIds: string[]) { + // check study exists + await this.findOneStudy_throwErrorIfNotExist(studyId); + const response: IGenericResponse[] = []; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasPermission) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + let validSubjects: string[]; + let validVisits: string[]; + let validFields; + // filter + if (subjectIds === undefined || subjectIds === null || subjectIds.length === 0) { + validSubjects = (await this.db.collections.data_collection.distinct('m_subjectId', { m_studyId: studyId })); + } else { + validSubjects = subjectIds; + } + if (visitIds === undefined || visitIds === null || visitIds.length === 0) { + validVisits = (await this.db.collections.data_collection.distinct('m_visitId', { m_studyId: studyId })); + } else { + validVisits = visitIds; + } + if (fieldIds === undefined || fieldIds === null || fieldIds.length === 0) { + validFields = (await this.db.collections.field_dictionary_collection.distinct('fieldId', { studyId: studyId })); + } else { + validFields = fieldIds; + } + + const bulk = this.db.collections.data_collection.initializeUnorderedBulkOp(); + for (const subjectId of validSubjects) { + for (const visitId of validVisits) { + for (const fieldId of validFields) { + if (!(await this.permissionCore.checkDataEntryValid(hasPermission.raw, fieldId, subjectId, visitId))) { + continue; + } + bulk.find({ m_studyId: studyId, m_subjectId: subjectId, m_visitId: visitId, m_fieldId: fieldId, m_versionId: null }).upsert().updateOne({ + $set: { + m_studyId: studyId, + m_subjectId: subjectId, + m_visitId: visitId, + m_versionId: null, + m_fieldId: fieldId, + value: null, + uploadedAt: (new Date()).valueOf(), + id: uuid() + } + }); + response.push({ successful: true, description: `SubjectId-${subjectId}:visitId-${visitId}:fieldId-${fieldId} is deleted.` }); + } + } + } + if (bulk.batches.length > 0) { + await bulk.execute(); + } + return response; + } + + public async createNewDataVersion(requester: IUserWithoutToken | undefined, studyId: string, dataVersion: string, tag: string) { + // check study exists + await this.findOneStudy_throwErrorIfNotExist(studyId); + + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + /* check privileges */ + if (requester.type !== userTypes.ADMIN) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + // check dataVersion name valid + if (!/^\d{1,3}(\.\d{1,2}){0,2}$/.test(dataVersion)) { + throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); + } + const newDataVersionId = uuid(); + const newContentId = uuid(); + + // update data + const resData = await this.db.collections.data_collection.updateMany({ + m_studyId: studyId, + m_versionId: null + }, { + $set: { + m_versionId: newDataVersionId + } + }); + // update field + const resField = await this.db.collections.field_dictionary_collection.updateMany({ + studyId: studyId, + dataVersion: null + }, { + $set: { + dataVersion: newDataVersionId + } + }); + // update standardization + const resStandardization = await this.db.collections.standardizations_collection.updateMany({ + studyId: studyId, + dataVersion: null + }, { + $set: { + dataVersion: newDataVersionId + } + }); + + // update ontology trees + const resOntologyTrees = await this.db.collections.studies_collection.updateOne({ 'id': studyId, 'deleted': null, 'ontologyTrees.dataVersion': null }, { + $set: { + 'ontologyTrees.$.dataVersion': newDataVersionId + } + }); + + if (resData.modifiedCount === 0 && resField.modifiedCount === 0 && resStandardization.modifiedCount === 0 && resOntologyTrees.modifiedCount === 0) { + return null; + } + + // insert a new version into study + const newDataVersion: IStudyDataVersion = { + id: newDataVersionId, + contentId: newContentId, // same content = same id - used in reverting data, version control + version: dataVersion, + tag: tag, + updateDate: (new Date().valueOf()).toString() + }; + await this.db.collections.studies_collection.updateOne({ id: studyId }, { + $push: { dataVersions: newDataVersion }, + $inc: { + currentDataVersion: 1 + } + }); + + // update permissions based on roles + const roles = await this.db.collections.roles_collection.find({ studyId: studyId, deleted: null }).toArray(); + for (const role of roles) { + const filters: ICombinedPermissions = { + subjectIds: role.permissions.data?.subjectIds || [], + visitIds: role.permissions.data?.visitIds || [], + fieldIds: role.permissions.data?.fieldIds || [] + }; + // deal with data filters + let validSubjects: Array | null = null; + if (role.permissions.data?.filters) { + if (role.permissions.data.filters.length > 0) { + validSubjects = []; + const subqueries = translateCohort(role.permissions.data.filters); + validSubjects = (await this.db.collections.data_collection.aggregate<{ + m_subjectId: string, m_visitId: string, m_fieldId: string, value: string | number | boolean | { [key: string]: unknown } + }>([{ + $match: { m_fieldId: { $in: role.permissions.data.filters.map(el => el.field) } } + }, + { + $sort: { uploadedAt: -1 } + }, { + $group: { + _id: { m_subjectId: '$m_subjectId', m_visitId: '$m_visitId', m_fieldId: '$m_fieldId' }, + doc: { $first: '$$ROOT' } + } + }, { + $project: { + m_subjectId: '$doc.m_subjectId', + m_visitId: '$doc.m_visitId', + m_fieldId: '$doc.m_fieldId', + value: '$doc.value', + _id: 0 + } + }, { + $match: { $and: subqueries } + }], { allowDiskUse: true }).toArray()).map(el => el.m_subjectId); + } + } + if (validSubjects === null) { + validSubjects = [/^.*$/]; + } + const tag = `metadata.${'role:'.concat(role.id)}`; + await this.db.collections.data_collection.updateMany({ + m_studyId: studyId, + m_versionId: newDataVersionId, + $and: [ + { m_subjectId: { $in: filters.subjectIds.map((el: string) => new RegExp(el)) } }, + { m_subjectId: { $in: validSubjects } } + ], + m_visitId: { $in: filters.visitIds.map((el: string) => new RegExp(el)) }, + m_fieldId: { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } + }, { + $set: { [tag]: true } + }); + await this.db.collections.data_collection.updateMany({ + m_studyId: studyId, + m_versionId: newDataVersionId, + $or: [ + { m_subjectId: { $nin: filters.subjectIds.map((el: string) => new RegExp(el)) } }, + { m_subjectId: { $nin: validSubjects } }, + { m_visitId: { $nin: filters.visitIds.map((el: string) => new RegExp(el)) } }, + { m_fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } } + ] + }, { + $set: { [tag]: false } + }); + await this.db.collections.field_dictionary_collection.updateMany({ + studyId: studyId, + dataVersion: newDataVersionId, + fieldId: { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } + }, { + $set: { [tag]: true } + }); + await this.db.collections.field_dictionary_collection.updateMany({ + studyId: studyId, + dataVersion: newDataVersionId, + fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } + }, { + $set: { [tag]: false } + }); + } + if (newDataVersion === null) { + throw new GraphQLError('No matched or modified records', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + return newDataVersion; + } + + public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUserWithoutToken): Promise { + const response: IGenericResponse[] = []; + let bulk = this.db.collections.data_collection.initializeUnorderedBulkOp(); + // remove duplicates by subjectId, visitId and fieldId + const keysToCheck: Array = ['visitId', 'subjectId', 'fieldId']; + const filteredData = data.filter( + (s => o => (k => !s.has(k) && s.add(k))(keysToCheck.map(k => o[k]).join('|')))(new Set()) + ); + for (const dataClip of filteredData) { + // remove the '-' if there exists + dataClip.subjectId = dataClip.subjectId.replace('-', ''); + const fieldInDb = fieldList.filter(el => el.fieldId === dataClip.fieldId)[0]; + if (!fieldInDb) { + response.push({ successful: false, code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, description: `Field ${dataClip.fieldId}: Field Not found` }); + continue; + } + // check subjectId + if (!validate(dataClip.subjectId.substr(1) ?? '')) { + response.push({ successful: false, code: errorCodes.CLIENT_MALFORMED_INPUT, description: `Subject ID ${dataClip.subjectId} is illegal.` }); + continue; + } + if (!(await this.permissionCore.checkDataEntryValid(permissions, dataClip.fieldId, dataClip.subjectId, dataClip.visitId))) { + response.push({ successful: false, code: errorCodes.NO_PERMISSION_ERROR, description: 'You do not have access to this field.' }); + continue; + } + // check value is valid + let error; + let parsedValue; + if (dataClip.value?.toString() === '99999') { // agreement with other WPs, 99999 refers to missing + parsedValue = '99999'; + } else { + switch (fieldInDb.dataType) { + case 'dec': {// decimal + if (typeof (dataClip.value) !== 'string') { + error = `Field ${dataClip.fieldId}: Cannot parse as decimal.`; + break; + } + if (!/^\d+(.\d+)?$/.test(dataClip.value)) { + error = `Field ${dataClip.fieldId}: Cannot parse as decimal.`; + break; + } + parsedValue = parseFloat(dataClip.value); + break; + } + case 'int': {// integer + if (typeof (dataClip.value) !== 'string') { + error = `Field ${dataClip.fieldId}: Cannot parse as integer.`; + break; + } + if (!/^-?\d+$/.test(dataClip.value)) { + error = `Field ${dataClip.fieldId}: Cannot parse as integer.`; + break; + } + parsedValue = parseInt(dataClip.value, 10); + break; + } + case 'bool': {// boolean + if (typeof (dataClip.value) !== 'string') { + error = `Field ${dataClip.fieldId}: Cannot parse as boolean.`; + break; + } + if (dataClip.value.toLowerCase() === 'true' || dataClip.value.toLowerCase() === 'false') { + parsedValue = dataClip.value.toLowerCase() === 'true'; + } else { + error = `Field ${dataClip.fieldId}: Cannot parse as boolean.`; + break; + } + break; + } + case 'str': { + if (typeof (dataClip.value) !== 'string') { + error = `Field ${dataClip.fieldId}: Cannot parse as string.`; + break; + } + parsedValue = dataClip.value.toString(); + break; + } + // 01/02/2021 00:00:00 + case 'date': { + if (typeof (dataClip.value) !== 'string') { + error = `Field ${dataClip.fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; + break; + } + const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; + if (!dataClip.value.match(matcher)) { + error = `Field ${dataClip.fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; + break; + } + parsedValue = dataClip.value.toString(); + break; + } + case 'json': { + parsedValue = dataClip.value; + break; + } + case 'file': { + if (!dataClip.file || typeof (dataClip.file) === 'string') { + error = `Field ${dataClip.fieldId}: Cannot parse as file.`; + break; + } + // if old file exists, delete it first + const res = await this.uploadFile(studyId, dataClip, requester, {}); + if ('code' in res && 'description' in res) { + error = `Field ${dataClip.fieldId}: Cannot parse as file.`; + break; + } else { + parsedValue = res.id; + } + break; + } + case 'cat': { + if (!fieldInDb.possibleValues) { + error = `Field ${dataClip.fieldId}: Cannot parse as categorical, possible values not defined.`; + break; + } + if (dataClip.value && !fieldInDb.possibleValues.map((el) => el.code).includes(dataClip.value?.toString())) { + error = `Field ${dataClip.fieldId}: Cannot parse as categorical, value not in value list.`; + break; + } else { + parsedValue = dataClip.value?.toString(); + } + break; + } + default: { + error = (`Field ${dataClip.fieldId}: Invalid data Type.`); + break; + } + } + } + if (error !== undefined) { + response.push({ successful: false, code: errorCodes.CLIENT_MALFORMED_INPUT, description: error }); + continue; + } else { + response.push({ successful: true, description: `${dataClip.subjectId}-${dataClip.visitId}-${dataClip.fieldId}` }); + } + const obj = { + m_studyId: studyId, + m_versionId: null, + m_subjectId: dataClip.subjectId, + m_visitId: dataClip.visitId, + m_fieldId: dataClip.fieldId + }; + let objWithData: Partial>; + // update the file data differently + if (fieldInDb.dataType === 'file') { + const existing = await this.db.collections.data_collection.findOne(obj); + if (!existing) { + await this.db.collections.data_collection.insertOne({ + ...obj, + id: uuid(), + uploadedAt: (new Date()).valueOf(), + value: '', + metadata: { + add: [], + remove: [] + } + }); + } + + objWithData = { + ...obj, + id: uuid(), + value: '', + uploadedAt: (new Date()).valueOf(), + metadata: { + ...dataClip.metadata, + participantId: dataClip.subjectId, + add: (existing?.metadata?.add || []).concat(parsedValue), + uploader: requester.id + }, + uploadedBy: requester.id + }; + bulk.find(obj).updateOne({ $set: objWithData }); + } else { + objWithData = { + ...obj, + id: uuid(), + value: parsedValue, + uploadedAt: (new Date()).valueOf(), + metadata: { + ...dataClip.metadata, + uploader: requester.id + }, + uploadedBy: requester.id + }; + bulk.insert(objWithData); + } + if (bulk.batches.length > 999) { + await bulk.execute(); + bulk = this.db.collections.data_collection.initializeUnorderedBulkOp(); + } + } + bulk.batches.length !== 0 && await bulk.execute(); + return response; + } + + // This file uploading function will not check any metadate of the file + public async uploadFile(studyId: string, data: IDataClip, uploader: IUserWithoutToken, args: { fileLength?: number, fileHash?: string }): Promise { + if (!data.file || typeof (data.file) === 'string') { + return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'Invalid File Stream' }; + } + const study = await this.db.collections.studies_collection.findOne({ id: studyId }); + if (!study) { + return { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, description: 'Study does not exist.' }; + } + const sitesIDMarkers = (await this.db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce<{ [key: string]: string | null }>((acc, curr) => { + if (curr.metadata?.siteIDMarker) { + acc[curr.metadata.siteIDMarker] = curr.shortname; + } + return acc; + }, {}); + // check file metadata + if (data.metadata) { + let parsedDescription: Record; + let startDate: number; + let endDate: number; + let deviceId: string; + let participantId: string; + try { + parsedDescription = data.metadata; + if (!parsedDescription['startDate'] || !parsedDescription['endDate'] || !parsedDescription['deviceId'] || !parsedDescription['participantId']) { + return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; + } + startDate = parseInt(parsedDescription['startDate'].toString()); + endDate = parseInt(parsedDescription['endDate'].toString()); + participantId = parsedDescription['participantId'].toString(); + deviceId = parsedDescription['deviceId'].toString(); + } catch (e) { + return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; + } + if ( + !Object.keys(sitesIDMarkers).includes(participantId.substr(0, 1)?.toUpperCase()) || + !Object.keys(deviceTypes).includes(deviceId.substr(0, 3)?.toUpperCase()) || + !validate(participantId.substr(1) ?? '') || + !validate(deviceId.substr(3) ?? '') || + !startDate || !endDate || + (new Date(endDate).setHours(0, 0, 0, 0).valueOf()) > (new Date().setHours(0, 0, 0, 0).valueOf()) + ) { + return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; + } + } else { + return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; + } + + + const file: FileUpload = await data.file; + + // check if old files exist; if so, denote it as deleted + const dataEntry = await this.db.collections.data_collection.findOne({ m_studyId: studyId, m_visitId: data.visitId, m_subjectId: data.subjectId, m_versionId: null, m_fieldId: data.fieldId }); + const oldFileId = dataEntry ? dataEntry.value : null; + return new Promise((resolve, reject) => { + (async () => { + try { + const fileEntry: Partial = { + id: uuid(), + fileName: file.filename, + studyId: studyId, + description: JSON.stringify({}), + uploadTime: `${Date.now()}`, + uploadedBy: uploader.id, + deleted: null, + metadata: (data.metadata as Record) + }; + + if (args.fileLength !== undefined && args.fileLength > fileSizeLimit) { + reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + + const stream = file.createReadStream(); + const fileUri = uuid(); + const hash = crypto.createHash('sha256'); + let readBytes = 0; + + stream.pause(); + + /* if the client cancelled the request mid-stream it will throw an error */ + stream.on('error', (e) => { + reject(new GraphQLError('Upload resolver file stream failure', { extensions: { code: errorCodes.FILE_STREAM_ERROR, error: e } })); + return; + }); + + stream.on('data', (chunk) => { + readBytes += chunk.length; + if (readBytes > fileSizeLimit) { + stream.destroy(); + reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + hash.update(chunk); + }); + + + await this.objStore.uploadFile(stream, studyId, fileUri); + + // hash is optional, but should be correct if provided + const hashString = hash.digest('hex'); + if (args.fileHash && args.fileHash !== hashString) { + reject(new GraphQLError('File hash not match', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + + // check if readbytes equal to filelength in parameters + if (args.fileLength !== undefined && args.fileLength.toString() !== readBytes.toString()) { + reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); + return; + } + + fileEntry.fileSize = readBytes.toString(); + fileEntry.uri = fileUri; + fileEntry.hash = hashString; + const insertResult = await this.db.collections.files_collection.insertOne(fileEntry as IFile); + if (insertResult.acknowledged) { + // delete old file if existing + oldFileId && await this.db.collections.files_collection.findOneAndUpdate({ studyId: studyId, id: oldFileId }, { $set: { deleted: Date.now().valueOf() } }); + resolve(fileEntry as IFile); + } else { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + } + catch (error) { + reject({ code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'Missing file metadata.', error }); + return; + } + })().catch(() => { return; }); + }); + } + + public async createOntologyTree(requester: IUserWithoutToken | undefined, studyId: string, ontologyTree: Pick) { + /* check study exists */ + const study = await this.findOneStudy_throwErrorIfNotExist(studyId); + + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* user can get study if he has readonly permission */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.ontologyTrees, + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + // in case of old documents whose ontologyTrees are invalid + if (study.ontologyTrees === undefined || study.ontologyTrees === null) { + await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { + $set: { + ontologyTrees: [] + } + }); + } + const ontologyTreeWithId: Partial = { ...ontologyTree }; + ontologyTreeWithId.id = uuid(); + ontologyTreeWithId.routes = ontologyTreeWithId.routes || []; + ontologyTreeWithId.routes.forEach(el => { + el.id = uuid(); + el.visitRange = el.visitRange || []; + }); + await this.db.collections.studies_collection.findOneAndUpdate({ + id: studyId, deleted: null, ontologyTrees: { + $not: { + $elemMatch: { + name: ontologyTree.name, + dataVersion: null + } + } + } + }, { + $addToSet: { + ontologyTrees: ontologyTreeWithId + } + }); + await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null, ontologyTrees: { $elemMatch: { name: ontologyTreeWithId.name, dataVersion: null } } }, { + $set: { + 'ontologyTrees.$.routes': ontologyTreeWithId.routes, + 'ontologyTrees.$.dataVersion': null, + 'ontologyTrees.$.deleted': null + } + }); + return ontologyTreeWithId as IOntologyTree; + } + + public async deleteOntologyTree(requester: IUserWithoutToken | undefined, studyId: string, treeName: string) { + /* check study exists */ + await this.findOneStudy_throwErrorIfNotExist(studyId); + + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* user can get study if he has readonly permission */ + const hasPermission = await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.ontologyTrees, + atomicOperation.WRITE, + requester, + studyId + ); + if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } + + const resultAdd = await this.db.collections.studies_collection.findOneAndUpdate({ + id: studyId, deleted: null, ontologyTrees: { + $not: { + $elemMatch: { + name: treeName, + dataVersion: null + } + } + } + }, { + $addToSet: { + ontologyTrees: { + id: uuid(), + name: treeName, + dataVersion: null, + deleted: Date.now().valueOf() + } + } + }); + const resultUpdate = await this.db.collections.studies_collection.findOneAndUpdate({ + id: studyId, deleted: null, ontologyTrees: { $elemMatch: { name: treeName, dataVersion: null } } + }, { + $set: { + 'ontologyTrees.$.deleted': Date.now().valueOf(), + 'ontologyTrees.$.routes': undefined + } + }); + if (resultAdd || resultUpdate) { + return makeGenericReponse(treeName); + } else { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + } + + public async createProjectForStudy(requester: IUserWithoutToken | undefined, studyId: string, projectName: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (!(await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.own, + atomicOperation.WRITE, + requester, + studyId + ))) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + /* making sure that the study exists first */ + await this.findOneStudy_throwErrorIfNotExist(studyId); + + /* create project */ + const project: IProject = { + id: uuid(), + studyId, + createdBy: requester.id, + name: projectName, + patientMapping: {}, + lastModified: new Date().valueOf(), + deleted: null, + metadata: {} + }; + + const getListOfPatientsResult = await this.db.collections.data_collection.aggregate([ + { $match: { m_studyId: studyId } }, + { $group: { _id: null, array: { $addToSet: '$m_subjectId' } } }, + { $project: { array: 1 } } + ]).toArray(); + + if (getListOfPatientsResult === null || getListOfPatientsResult === undefined) { + throw new GraphQLError('Cannot get list of patients', { extensions: { code: errorCodes.DATABASE_ERROR } }); + } + + if (getListOfPatientsResult[0] !== undefined) { + project.patientMapping = this.createPatientIdMapping(getListOfPatientsResult[0]['array']); + } + + await this.db.collections.projects_collection.insertOne(project); + return project; + } + + public async deleteStudy(requester: IUserWithoutToken | undefined, studyId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (requester.type !== userTypes.ADMIN) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + const study = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + if (!study) { + throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + /* PRECONDITION: CHECKED THAT STUDY INDEED EXISTS */ + const session = this.db.client.startSession(); + session.startTransaction(); + + const timestamp = new Date().valueOf(); + + try { + /* delete the study */ + await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); + + /* delete all projects related to the study */ + await this.db.collections.projects_collection.updateMany({ studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); + + /* delete all roles related to the study */ + await this.permissionCore.removeRoleFromStudyOrProject({ studyId }); + + /* delete all files belong to the study*/ + await this.db.collections.files_collection.updateMany({ studyId, deleted: null }, { $set: { deleted: timestamp } }); + + await session.commitTransaction(); + session.endSession().catch(() => { return; }); + + } catch (error) { + // If an error occurred, abort the whole transaction and + // undo any changes that might have happened + await session.abortTransaction(); + session.endSession().catch(() => { return; }); + throw error; // Rethrow so calling function sees error + } + return makeGenericReponse(studyId); + } + + public async deleteProject(requester: IUserWithoutToken | undefined, projectId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const project = await this.findOneProject_throwErrorIfNotExist(projectId); + + /* check privileges */ + if (!(await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.own, + atomicOperation.WRITE, + requester, + project.studyId + ))) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + /* delete project */ + const timestamp = new Date().valueOf(); + + /* delete all projects related to the study */ + await this.db.collections.projects_collection.findOneAndUpdate({ id: projectId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }, { returnDocument: 'after' }); + + /* delete all roles related to the study */ + await this.permissionCore.removeRoleFromStudyOrProject({ projectId }); + return makeGenericReponse(projectId); + } + + public async setDataversionAsCurrent(requester: IUserWithoutToken | undefined, studyId: string, dataVersionId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* check privileges */ + if (!(await this.permissionCore.userHasTheNeccessaryManagementPermission( + IPermissionManagementOptions.own, + atomicOperation.WRITE, + requester, + studyId + ))) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + const study = await this.findOneStudy_throwErrorIfNotExist(studyId); + + /* check whether the dataversion exists */ + const selectedataVersionFiltered = study.dataVersions.filter((el) => el.id === dataVersionId); + if (selectedataVersionFiltered.length !== 1) { + throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); + } + + /* update the currentversion field in database */ + const versionIdsList = study.dataVersions.map((el) => el.id); + const result = await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { + $set: { currentDataVersion: versionIdsList.indexOf(dataVersionId) } + }, { + returnDocument: 'after' + }); + + if (result) { + return result; + } else { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + } + + private createPatientIdMapping(listOfPatientId: string[], prefix?: string): { [originalPatientId: string]: string } { + let rangeArray: Array = [...Array.from(listOfPatientId.keys())]; + if (prefix === undefined) { + prefix = uuid().substring(0, 10); + } + rangeArray = rangeArray.map((e) => `${prefix}${e} `); + rangeArray = this.shuffle(rangeArray); + const mapping: { [originalPatientId: string]: string } = {}; + for (let i = 0, length = listOfPatientId.length; i < length; i++) { + mapping[listOfPatientId[i]] = (rangeArray as string[])[i]; + } + return mapping; + } + + private shuffle(array: Array) { // source: Fisher–Yates Shuffle; https://bost.ocks.org/mike/shuffle/ + let currentIndex = array.length; + let temporaryValue: string | number; + let randomIndex: number; + + // While there remain elements to shuffle... + while (0 !== currentIndex) { + + // Pick a remaining element... + randomIndex = Math.floor(Math.random() * currentIndex); + currentIndex -= 1; + + // And swap it with the current element. + temporaryValue = array[currentIndex]; + array[currentIndex] = array[randomIndex]; + array[randomIndex] = temporaryValue; + } + + return array; + } +} diff --git a/packages/itmat-cores/src/core/userCore.ts b/packages/itmat-cores/src/core/userCore.ts new file mode 100644 index 000000000..41326775d --- /dev/null +++ b/packages/itmat-cores/src/core/userCore.ts @@ -0,0 +1,876 @@ +import bcrypt from 'bcrypt'; +import { GraphQLError } from 'graphql'; +import { IUser, IUserWithoutToken, userTypes, IPubkey, IProject, IStudy, IResetPasswordRequest } from '@itmat-broker/itmat-types'; +import { v4 as uuid } from 'uuid'; +import { errorCodes } from '../utils/errors'; +import { MarkOptional } from 'ts-essentials'; +import { IGenericResponse, makeGenericReponse } from '../utils/responses'; +import crypto from 'crypto'; +import * as mfa from '../utils/mfa'; +import { ApolloServerErrorCode } from '@apollo/server/errors'; +import { Logger, Mailer } from '@itmat-broker/itmat-commons'; +import tmp from 'tmp'; +import QRCode from 'qrcode'; +import { UpdateFilter } from 'mongodb'; +import { DBType } from '../database/database'; +import { IConfiguration } from '../utils'; + + +export interface CreateUserInput { + username: string, + firstname: string, + lastname: string, + email: string, + emailNotificationsActivated?: boolean, + password: string, + description?: string, + organisation: string, + metadata: Record & { logPermission: boolean } +} + +export interface EditUserInput { + id: string, + username?: string, + type?: userTypes, + firstname?: string, + lastname?: string, + email?: string, + emailNotificationsActivated?: boolean, + emailNotificationsStatus?: unknown, + password?: string, + description?: string, + organisation?: string, + expiredAt?: number, + metadata?: unknown +} + +export class UserCore { + db: DBType; + mailer: Mailer; + config: IConfiguration; + emailConfig: IEmailConfig; + constructor(db: DBType, mailer: Mailer, config: IConfiguration) { + this.db = db; + this.mailer = mailer; + this.config = config; + this.emailConfig = { + appName: config.appName, + nodemailer: { + auth: { + user: config.nodemailer.auth.user + } + }, + adminEmail: config.adminEmail + }; + + } + + public async getOneUser_throwErrorIfNotExists(username: string): Promise { + const user = await this.db.collections.users_collection.findOne({ deleted: null, username }); + if (user === undefined || user === null) { + throw new GraphQLError('User does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); + } + return user; + } + + public async getUsers(userId?: string) { + // everyone is allowed to see all the users in the app. But only admin can access certain fields, like emails, etc - see resolvers for User type. + const queryObj = userId === undefined ? { deleted: null } : { deleted: null, id: userId }; + return await this.db.collections.users_collection.find(queryObj, { projection: { _id: 0 } }).toArray(); + } + + public async validateResetPassword(token: string, encryptedEmail: string) { + /* decrypt email */ + const salt = makeAESKeySalt(token); + const iv = makeAESIv(token); + let email; + try { + email = await decryptEmail(this.config.aesSecret, encryptedEmail, salt, iv); + } catch (e) { + throw new GraphQLError('Token is not valid.'); + } + + /* check whether username and token is valid */ + /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ + const TIME_NOW = new Date().valueOf(); + const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; + const user: IUserWithoutToken | null = await this.db.collections.users_collection.findOne({ + email, + resetPasswordRequests: { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + }, + deleted: null + }); + if (!user) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + return makeGenericReponse(); + } + + public async recoverSessionExpireTime() { + return makeGenericReponse(); + } + + public async getUserAccess(requester: IUserWithoutToken | undefined, user: IUserWithoutToken) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* only admin can access this field */ + if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + /* if requested user is admin, then he has access to all studies */ + if (user.type === userTypes.ADMIN) { + const allprojects: IProject[] = await this.db.collections.projects_collection.find({ deleted: null }).toArray(); + const allstudies: IStudy[] = await this.db.collections.studies_collection.find({ deleted: null }).toArray(); + return { id: `user_access_obj_user_id_${user.id}`, projects: allprojects, studies: allstudies }; + } + + /* if requested user is not admin, find all the roles a user has */ + const roles = await this.db.collections.roles_collection.find({ users: user.id, deleted: null }).toArray(); + const init: { projects: string[], studies: string[] } = { projects: [], studies: [] }; + const studiesAndProjectThatUserCanSee: { projects: string[], studies: string[] } = roles.reduce( + (a, e) => { + if (e.projectId) { + a.projects.push(e.projectId); + } else { + a.studies.push(e.studyId); + } + return a; + }, init + ); + + const projects = await this.db.collections.projects_collection.find({ + $or: [ + { id: { $in: studiesAndProjectThatUserCanSee.projects }, deleted: null }, + { studyId: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null } + ] + }).toArray(); + const studies = await this.db.collections.studies_collection.find({ id: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null }).toArray(); + return { id: `user_access_obj_user_id_${user.id}`, projects, studies }; + } + + public async getUserUsername(requester: IUserWithoutToken | undefined, user: IUserWithoutToken) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* only admin can access this field */ + if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + return user.username; + } + + public getUserDescription(requester: IUserWithoutToken | undefined, user: IUserWithoutToken) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* only admin can access this field */ + if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + return user.description; + } + + public async getUserEmail(requester: IUserWithoutToken | undefined, user: IUserWithoutToken) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + /* only admin can access this field */ + if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + return user.email; + } + + public async requestExpiryDate(username?: string, email?: string) { + /* double-check user existence */ + const queryObj = email ? { deleted: null, email } : { deleted: null, username }; + const user: IUser | null = await this.db.collections.users_collection.findOne(queryObj); + if (!user) { + /* even user is null. send successful response: they should know that a user doesn't exist */ + await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); + return makeGenericReponse(); + } + /* send email to the DMP admin mailing-list */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ + config: this.emailConfig, + userEmail: user.email, + username: user.username + })); + + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoClient({ + config: this.emailConfig, + to: user.email, + username: user.username + })); + + return makeGenericReponse(); + } + + public async requestUsernameOrResetPassword(forgotUsername: boolean, forgotPassword: boolean, origin: unknown, email?: string, username?: string) { + /* checking the args are right */ + if ((forgotUsername && !email) // should provide email if no username + || (forgotUsername && username) // should not provide username if it's forgotten.. + || (!email && !username)) { + throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); + } else if (email && username) { + // TO_DO : better client erro + /* only provide email if no username */ + throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); + } + + /* check user existence */ + const queryObj = email ? { deleted: null, email } : { deleted: null, username }; + const user = await this.db.collections.users_collection.findOne(queryObj); + if (!user) { + /* even user is null. send successful response: they should know that a user doesn't exist */ + await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); + return makeGenericReponse(); + } + + if (forgotPassword) { + /* make link to change password */ + const passwordResetToken = uuid(); + const resetPasswordRequest: IResetPasswordRequest = { + id: passwordResetToken, + timeOfRequest: new Date().valueOf(), + used: false + }; + const invalidateAllTokens = await this.db.collections.users_collection.findOneAndUpdate( + queryObj, + { + $set: { + 'resetPasswordRequests.$[].used': true + } + } + ); + if (invalidateAllTokens === null) { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + const updateResult = await this.db.collections.users_collection.findOneAndUpdate( + queryObj, + { + $push: { + resetPasswordRequests: resetPasswordRequest + } + } + ); + if (updateResult === null) { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + + /* send email to client */ + await this.mailer.sendMail(await formatEmailForForgottenPassword({ + config: this.emailConfig, + aesSecret: this.config.aesSecret, + to: user.email, + resetPasswordToken: passwordResetToken, + username: user.username, + firstname: user.firstname, + origin: origin + })); + } else { + /* send email to client */ + await this.mailer.sendMail(formatEmailForFogettenUsername({ + config: this.emailConfig, + to: user.email, + username: user.username + })); + } + return makeGenericReponse(); + } + + public async login(request: Express.Request, username: string, password: string, totp: string, requestexpirydate?: boolean) { + // const { req }: { req: Express.Request } = context; + const result = await this.db.collections.users_collection.findOne({ deleted: null, username: username }); + if (!result) { + throw new GraphQLError('User does not exist.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + const passwordMatched = await bcrypt.compare(password, result.password); + if (!passwordMatched) { + throw new GraphQLError('Incorrect password.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + // validate the TOTP + const totpValidated = mfa.verifyTOTP(totp, result.otpSecret); + if (!totpValidated) { + if (process.env['NODE_ENV'] === 'development') + console.warn('Incorrect One-Time password. Continuing in development ...'); + else + throw new GraphQLError('Incorrect One-Time password.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + /* validate if account expired */ + if (result.expiredAt < Date.now() && result.type === userTypes.STANDARD) { + if (requestexpirydate) { + /* send email to the DMP admin mailing-list */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ + config: this.emailConfig, + userEmail: result.email, + username: result.username + })); + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoClient({ + config: this.emailConfig, + to: result.email, + username: result.username + })); + throw new GraphQLError('New expiry date has been requested! Wait for ADMIN to approve.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + throw new GraphQLError('Account Expired. Please request a new expiry date!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + const filteredResult: IUserWithoutToken = { ...result }; + + return new Promise((resolve, reject) => { + request.login(filteredResult, (err: unknown) => { + if (err) { + Logger.error(err); + reject(new GraphQLError('Cannot log in. Please try again later.')); + return; + } + resolve(filteredResult); + }); + }); + } + public async logout(request: Express.Request) { + const requester = request.user; + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + return new Promise((resolve) => { + request.logout((err) => { + if (err) { + Logger.error(err); + throw new GraphQLError('Cannot log out'); + } else { + resolve(makeGenericReponse(requester.id)); + } + }); + }); + } + + public async createUser(user: CreateUserInput) { + /* check email is valid form */ + if (!/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(user.email)) { + throw new GraphQLError('Email is not the right format.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + /* check password validity */ + if (user.password && !passwordIsGoodEnough(user.password)) { + throw new GraphQLError('Password has to be at least 8 character long.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + /* check that username and password dont have space */ + if (user.username.indexOf(' ') !== -1 || user.password.indexOf(' ') !== -1) { + throw new GraphQLError('Username or password cannot have spaces.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + const alreadyExist = await this.db.collections.users_collection.findOne({ username: user.username, deleted: null }); // since bycrypt is CPU expensive let's check the username is not taken first + if (alreadyExist !== null && alreadyExist !== undefined) { + throw new GraphQLError('User already exists.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + /* check if email has been used to register */ + const emailExist = await this.db.collections.users_collection.findOne({ email: user.email, deleted: null }); + if (emailExist !== null && emailExist !== undefined) { + throw new GraphQLError('This email has been registered. Please sign-in or register with another email!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + /* randomly generate a secret for Time-based One Time Password*/ + const otpSecret = mfa.generateSecret(); + const hashedPassword: string = await bcrypt.hash(user.password, this.config.bcrypt.saltround); + const createdAt = Date.now(); + const expiredAt = Date.now() + 86400 * 1000 /* millisec per day */ * 90; + const entry: IUser = { + id: uuid(), + username: user.username, + otpSecret, + type: userTypes.STANDARD, + description: user.description ?? '', + organisation: user.organisation, + firstname: user.firstname, + lastname: user.lastname, + password: hashedPassword, + email: user.email, + emailNotificationsActivated: user.emailNotificationsActivated ?? false, + emailNotificationsStatus: { expiringNotification: false }, + createdAt, + expiredAt, + resetPasswordRequests: [], + metadata: user.metadata, + deleted: null + }; + + const result = await this.db.collections.users_collection.insertOne(entry); + if (result.acknowledged) { + const cleared: MarkOptional = { ...entry }; + delete cleared['password']; + delete cleared['otpSecret']; + /* send email to the registered user */ + // get QR Code for the otpSecret. + const oauth_uri = `otpauth://totp/${this.config.appName}:${user.username}?secret=${otpSecret}&issuer=Data%20Science%20Institute`; + const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'qrcodeimg-', postfix: '.png' }); + + QRCode.toFile(tmpobj.name, oauth_uri, {}, function (err) { + if (err) throw new GraphQLError(err.message); + }); + + const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: user.email, + subject: `[${this.config.appName}] Registration Successful`, + html: ` +

+ Dear ${user.firstname}, +

+

+ Welcome to the ${this.config.appName} data portal!
+ Your username is ${user.username}.
+

+

+ To login you will need to use a MFA authenticator app for one time passcode (TOTP).
+ Scan the QRCode below in your MFA application of choice to configure it:
+ QR code
+ If you need to type the token in use ${otpSecret.toLowerCase()} +

+
+

+ The ${this.config.appName} Team. +

+ `, + attachments: attachments + }); + tmpobj.removeCallback(); + return makeGenericReponse(); + } else { + throw new GraphQLError('Database error', { extensions: { code: errorCodes.DATABASE_ERROR } }); + } + } + + public async deleteUser(requester: IUserWithoutToken | undefined, userId: string) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + // user (admin type) cannot delete itself + if (requester.id === userId) { + throw new GraphQLError('User cannot delete itself'); + } + + if (requester.type !== userTypes.ADMIN) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + + const session = this.db.client.startSession(); + session.startTransaction(); + try { + /* delete the user */ + await this.db.collections.users_collection.findOneAndUpdate({ id: userId, deleted: null }, { $set: { deleted: new Date().valueOf(), password: 'DeletedUserDummyPassword' } }, { returnDocument: 'after', projection: { deleted: 1 } }); + + /* delete all user records in roles related to the study */ + await this.db.collections.roles_collection.updateMany( + { + deleted: null, + users: userId + }, + { + $pull: { users: { _id: userId } } + } + ); + + await session.commitTransaction(); + session.endSession().catch(() => { return; }); + return makeGenericReponse(userId); + } catch (error) { + // If an error occurred, abort the whole transaction and + // undo any changes that might have happened + await session.abortTransaction(); + session.endSession().catch(() => { return; }); + throw new GraphQLError(`Database error: ${JSON.stringify(error)}`); + } + } + + public async resetPassword(encryptedEmail: string, token: string, newPassword: string) { + /* check password validity */ + if (!passwordIsGoodEnough(newPassword)) { + throw new GraphQLError('Password has to be at least 8 character long.'); + } + + /* check that username and password dont have space */ + if (newPassword.indexOf(' ') !== -1) { + throw new GraphQLError('Password cannot have spaces.'); + } + + /* decrypt email */ + if (token.length < 16) { + throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); + } + const salt = makeAESKeySalt(token); + const iv = makeAESIv(token); + let email; + try { + email = await decryptEmail(this.config.aesSecret, encryptedEmail, salt, iv); + } catch (e) { + throw new GraphQLError('Token is not valid.'); + } + + /* check whether username and token is valid */ + /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ + const TIME_NOW = new Date().valueOf(); + const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; + const user: IUserWithoutToken | null = await this.db.collections.users_collection.findOne({ + email, + resetPasswordRequests: { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + }, + deleted: null + }); + if (!user) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + + /* randomly generate a secret for Time-based One Time Password*/ + const otpSecret = mfa.generateSecret(); + + /* all ok; change the user's password */ + const hashedPw = await bcrypt.hash(newPassword, this.config.bcrypt.saltround); + const updateResult = await this.db.collections.users_collection.findOneAndUpdate( + { + id: user.id, + resetPasswordRequests: { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + } + }, + { $set: { 'password': hashedPw, 'otpSecret': otpSecret, 'resetPasswordRequests.$.used': true } }); + if (updateResult === null) { + throw new GraphQLError(errorCodes.DATABASE_ERROR); + } + + /* need to log user out of all sessions */ + // TO_DO + + /* send email to the registered user */ + // get QR Code for the otpSecret. + const oauth_uri = `otpauth://totp/${this.config.appName}:${user.username}?secret=${otpSecret}&issuer=Data%20Science%20Institute`; + const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'qrcodeimg-', postfix: '.png' }); + + QRCode.toFile(tmpobj.name, oauth_uri, {}, function (err) { + if (err) throw new GraphQLError(err.message); + }); + + const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: email, + subject: `[${this.config.appName}] Password reset`, + html: ` +

+ Dear ${user.firstname}, +

+

+ Your password on ${this.config.appName} is now reset!
+ You will need to update your MFA application for one-time passcode.
+

+

+ To update your MFA authenticator app you can scan the QRCode below to configure it:
+ QR code
+ If you need to type the token in use ${otpSecret.toLowerCase()} +

+
+

+ The ${this.config.appName} Team. +

+ `, + attachments: attachments + }); + tmpobj.removeCallback(); + return makeGenericReponse(); + } + + public async editUser(requester: IUserWithoutToken | undefined, user: EditUserInput) { + if (!requester) { + throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + } + const { id, username, type, firstname, lastname, email, emailNotificationsActivated, emailNotificationsStatus, password, description, organisation, expiredAt, metadata }: { + id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown + } = user; + if (password !== undefined && requester.id !== id) { // only the user themself can reset password + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + if (password && !passwordIsGoodEnough(password)) { + throw new GraphQLError('Password has to be at least 8 character long.'); + } + if (requester.type !== userTypes.ADMIN && requester.id !== id) { + throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); + } + let result; + if (requester.type === userTypes.ADMIN) { + result = await this.db.collections.users_collection.findOne({ id, deleted: null }); // just an extra guard before going to bcrypt cause bcrypt is CPU intensive. + if (result === null || result === undefined) { + throw new GraphQLError('User not found'); + } + } + + const fieldsToUpdate: UpdateFilter = { + type, + firstname, + lastname, + username, + email, + emailNotificationsActivated, + emailNotificationsStatus, + password, + description, + organisation, + expiredAt, + metadata + }; + + /* check email is valid form */ + if (email && !/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { + throw new GraphQLError('User not updated: Email is not the right format.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + if (requester.type !== userTypes.ADMIN && ( + type || firstname || lastname || username || description || organisation + )) { + throw new GraphQLError('User not updated: Non-admin users are only authorised to change their password, email or email notification.'); + } + + if (password) { fieldsToUpdate['password'] = await bcrypt.hash(password, this.config.bcrypt.saltround); } + for (const each of (Object.keys(fieldsToUpdate) as Array)) { + if (fieldsToUpdate[each] === undefined) { + delete fieldsToUpdate[each]; + } + } + if (expiredAt) { + fieldsToUpdate['emailNotificationsStatus'] = { + expiringNotification: false + }; + } + const updateResult = await this.db.collections.users_collection.findOneAndUpdate({ id, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + if (updateResult) { + // New expiry date has been updated successfully. + if (expiredAt && result) { + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDateNotification({ + config: this.emailConfig, + to: result.email, + username: result.username + })); + } + return updateResult; + } else { + throw new GraphQLError('Server error; no entry or more than one entry has been updated.'); + } + } + + public async registerPubkey(pubkeyobj: { pubkey: string, associatedUserId: string | null, jwtPubkey: string, jwtSeckey: string }): Promise { + const { pubkey, associatedUserId, jwtPubkey, jwtSeckey } = pubkeyobj; + const entry: IPubkey = { + id: uuid(), + pubkey, + associatedUserId, + jwtPubkey, + jwtSeckey, + refreshCounter: 0, + deleted: null + }; + + const result = await this.db.collections.pubkeys_collection.insertOne(entry); + if (result.acknowledged) { + return entry; + } else { + throw new GraphQLError('Database error', { extensions: { code: errorCodes.DATABASE_ERROR } }); + } + } +} + +export function makeAESKeySalt(str: string): string { + return str; +} + +export function makeAESIv(str: string): string { + if (str.length < 16) { throw new Error('IV cannot be less than 16 bytes long.'); } + return str.slice(0, 16); +} + +export async function encryptEmail(aesSecret: string, email: string, keySalt: string, iv: string) { + const algorithm = 'aes-256-cbc'; + return new Promise((resolve, reject) => { + crypto.scrypt(aesSecret, keySalt, 32, (err, derivedKey) => { + if (err) reject(err); + const cipher = crypto.createCipheriv(algorithm, derivedKey, iv); + let encoded = cipher.update(email, 'utf8', 'hex'); + encoded += cipher.final('hex'); + resolve(encoded); + }); + }); + +} + +export async function decryptEmail(aesSecret: string, encryptedEmail: string, keySalt: string, iv: string) { + const algorithm = 'aes-256-cbc'; + return new Promise((resolve, reject) => { + crypto.scrypt(aesSecret, keySalt, 32, (err, derivedKey) => { + if (err) reject(err); + try { + const decipher = crypto.createDecipheriv(algorithm, derivedKey, iv); + let decoded = decipher.update(encryptedEmail, 'hex', 'utf8'); + decoded += decipher.final('utf-8'); + resolve(decoded); + } catch (e) { + reject(e); + } + }); + }); +} + +interface IEmailConfig { + appName: string; + nodemailer: { + auth: { + user: string; + }; + }; + adminEmail: string; +} + +async function formatEmailForForgottenPassword({ config, username, aesSecret, firstname, to, resetPasswordToken, origin }: { config: IEmailConfig, aesSecret: string, resetPasswordToken: string, to: string, username: string, firstname: string, origin: unknown }) { + const keySalt = makeAESKeySalt(resetPasswordToken); + const iv = makeAESIv(resetPasswordToken); + const encryptedEmail = await encryptEmail(aesSecret, to, keySalt, iv); + + const link = `${origin}/reset/${encryptedEmail}/${resetPasswordToken}`; + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] password reset`, + html: ` +

+ Dear ${firstname}, +

+

+ Your username is ${username}. +

+

+ You can reset you password by click the following link (active for 1 hour):
+ ${link} +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailForFogettenUsername({ config, username, to }: { config: IEmailConfig, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] password reset`, + html: ` +

+ Dear user, +

+

+ Your username is ${username}. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDatetoClient({ config, username, to }: { config: IEmailConfig, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] New expiry date has been requested!`, + html: ` +

+ Dear user, +

+

+ New expiry date for your ${username} account has been requested. + You will get a notification email once the request is approved. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDatetoAdmin({ config, username, userEmail }: { config: IEmailConfig, username: string, userEmail: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to: `${config.adminEmail}`, + subject: `[${config.appName}] New expiry date has been requested from ${username} account!`, + html: ` +

+ Dear ADMINs, +

+

+ A expiry date request from the ${username} account (whose email address is ${userEmail}) has been submitted. + Please approve or deny the request ASAP. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDateNotification({ config, username, to }: { config: IEmailConfig, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] New expiry date has been updated!`, + html: ` +

+ Dear user, +

+

+ New expiry date for your ${username} account has been updated. + You now can log in as normal. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function passwordIsGoodEnough(pw: string): boolean { + if (pw.length < 8) { + return false; + } + return true; +} diff --git a/packages/itmat-cores/src/database/database.ts b/packages/itmat-cores/src/database/database.ts new file mode 100644 index 000000000..261e5179d --- /dev/null +++ b/packages/itmat-cores/src/database/database.ts @@ -0,0 +1,38 @@ +import type { IDataEntry, IFieldEntry, IFile, IJobEntry, ILogEntry, IOrganisation, IProject, IPubkey, IQueryEntry, IRole, IStudy, IUser, IStandardization } from '@itmat-broker/itmat-types'; +import { Database as DatabaseBase, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; +import type { Collection } from 'mongodb'; + +export interface IDatabaseConfig extends IDatabaseBaseConfig { + collections: { + users_collection: string, + jobs_collection: string, + studies_collection: string, + projects_collection: string, + queries_collection: string, + field_dictionary_collection: string, + roles_collection: string, + files_collection: string, + organisations_collection: string, + log_collection: string, + pubkeys_collection: string, + data_collection: string, + standardizations_collection: string, + }; +} + +export interface IDatabaseCollectionConfig { + users_collection: Collection, + jobs_collection: Collection, + studies_collection: Collection, + projects_collection: Collection, + queries_collection: Collection, + field_dictionary_collection: Collection, + roles_collection: Collection, + files_collection: Collection, + organisations_collection: Collection, + log_collection: Collection, + pubkeys_collection: Collection, + data_collection: Collection, + standardizations_collection: Collection, +} +export type DBType = DatabaseBase; diff --git a/packages/itmat-cores/src/declare.d.ts b/packages/itmat-cores/src/declare.d.ts new file mode 100644 index 000000000..744ba13ec --- /dev/null +++ b/packages/itmat-cores/src/declare.d.ts @@ -0,0 +1 @@ +declare module 'graphql-type-json'; diff --git a/packages/itmat-cores/src/index.ts b/packages/itmat-cores/src/index.ts new file mode 100644 index 000000000..a2e4263f3 --- /dev/null +++ b/packages/itmat-cores/src/index.ts @@ -0,0 +1,15 @@ +export * from './core/fileCore'; +export * from './core/jobCore'; +export * from './core/logCore'; +export * from './core/organisationCore'; +export * from './core/permissionCore'; +export * from './core/pubkeyCore'; +export * from './core/queryCore'; +export * from './core/standardizationCore'; +export * from './core/studyCore'; +export * from './core/userCore'; +export * from './rest/fileDownload'; +export * from './authentication/pubkeyAuthentication'; +export * from './log/logPlugin'; +export * from './database/database'; +export * from './utils'; \ No newline at end of file diff --git a/packages/itmat-cores/src/log/logPlugin.ts b/packages/itmat-cores/src/log/logPlugin.ts new file mode 100644 index 000000000..2a684ea2e --- /dev/null +++ b/packages/itmat-cores/src/log/logPlugin.ts @@ -0,0 +1,121 @@ +import { v4 as uuid } from 'uuid'; +import { LOG_TYPE, LOG_ACTION, LOG_STATUS, USER_AGENT, userTypes } from '@itmat-broker/itmat-types'; +import { GraphQLRequestContextWillSendResponse } from '@apollo/server'; +import { ApolloServerContext } from '../utils/ApolloServerContext'; +import { DBType } from '../database/database'; + +// only requests in white list will be recorded +export const logActionRecordWhiteList = Object.keys(LOG_ACTION); + +// only requests in white list will be recorded +export const logActionShowWhiteList = Object.keys(LOG_ACTION); + +export class LogPlugin { + db: DBType; + constructor(db: DBType) { + this.db = db; + } + + public async serverWillStartLogPlugin(): Promise { + await this.db.collections.log_collection.insertOne({ + id: uuid(), + requesterName: userTypes.SYSTEM, + requesterType: userTypes.SYSTEM, + logType: LOG_TYPE.SYSTEM_LOG, + actionType: LOG_ACTION.startSERVER, + actionData: JSON.stringify({}), + time: Date.now(), + status: LOG_STATUS.SUCCESS, + errors: '', + userAgent: USER_AGENT.OTHER + }); + return null; + } + + public async requestDidStartLogPlugin(requestContext: GraphQLRequestContextWillSendResponse): Promise { + if (!requestContext.operationName || !logActionRecordWhiteList.includes(requestContext.operationName)) { + return null; + } + if (LOG_ACTION[requestContext.operationName] === undefined || LOG_ACTION[requestContext.operationName] === null) { + return null; + } + const variables = requestContext.request.variables ?? {}; // Add null check + await this.db.collections.log_collection.insertOne({ + id: uuid(), + requesterName: requestContext.contextValue?.req?.user?.username ?? 'NA', + requesterType: requestContext.contextValue?.req?.user?.type ?? userTypes.SYSTEM, + userAgent: (requestContext.contextValue.req?.headers['user-agent'] as string)?.startsWith('Mozilla') ? USER_AGENT.MOZILLA : USER_AGENT.OTHER, + logType: LOG_TYPE.REQUEST_LOG, + actionType: LOG_ACTION[requestContext.operationName], + actionData: JSON.stringify(ignoreFieldsHelper(variables, requestContext.operationName)), // Use the null-checked variables + time: Date.now(), + status: requestContext.errors === undefined ? LOG_STATUS.SUCCESS : LOG_STATUS.FAIL, + errors: requestContext.errors === undefined ? '' : requestContext.errors[0].message + }); + return null; + } +} + +type LogOperationName = 'login' | 'createUser' | 'registerPubkey' | 'issueAccessToken' | 'editUser' | 'uploadDataInArray' | 'uploadFile' | string; + +interface LoginData { + passpord?: string; + totp?: string; +} + +interface CreateUserData { + user?: { + password?: string; + }; +} + +interface registerPubkeyData { + signature?: string; +} + +interface EditUserData { + user?: { + password?: string; + }; +} + +interface UploadDataInArrayData { + data?: { + value?: string; + file?: string; + metadata?: string; + }[]; +} + +interface UploadFileData { + file?: string; +} + +type DataObj = LoginData | CreateUserData | registerPubkeyData | EditUserData | UploadDataInArrayData | UploadFileData; + +function ignoreFieldsHelper(dataObj: DataObj, operationName: LogOperationName) { + if (operationName === 'login') { + delete dataObj['password']; + delete dataObj['totp']; + } else if (operationName === 'createUser') { + delete dataObj['user']['password']; + } else if (operationName === 'registerPubkey') { + delete dataObj['signature']; + } else if (operationName === 'issueAccessToken') { + delete dataObj['signature']; + } else if (operationName === 'editUser') { + delete dataObj['user']['password']; + } else if (operationName === 'uploadDataInArray') { + if (Array.isArray(dataObj['data'])) { + for (let i = 0; i < dataObj['data'].length; i++) { + // only keep the fieldId + delete dataObj['data'][i].value; + delete dataObj['data'][i].file; + delete dataObj['data'][i].metadata; + } + } + } else if (operationName === 'uploadFile') { + delete dataObj['file']; + } + return dataObj; +} \ No newline at end of file diff --git a/packages/itmat-cores/src/rest/fileDownload.ts b/packages/itmat-cores/src/rest/fileDownload.ts new file mode 100644 index 000000000..896811582 --- /dev/null +++ b/packages/itmat-cores/src/rest/fileDownload.ts @@ -0,0 +1,80 @@ +import { Request, Response } from 'express'; +import { atomicOperation, IUser } from '@itmat-broker/itmat-types'; +import jwt from 'jsonwebtoken'; +import { userRetrieval } from '../authentication/pubkeyAuthentication'; +import { ApolloServerErrorCode } from '@apollo/server/errors'; +import { GraphQLError } from 'graphql'; +import { PermissionCore } from '../core/permissionCore'; +import { DBType } from '../database/database'; +import { ObjectStore } from '@itmat-broker/itmat-commons'; + +export class FileDownloadController { + private _permissionCore: PermissionCore; + private _db: DBType; + private _objStore: ObjectStore; + + constructor(db: DBType, objStore: ObjectStore) { + this._db = db; + this._permissionCore = new PermissionCore(db); + this._objStore = objStore; + } + + public fileDownloadController = (req: Request, res: Response) => { + (async () => { + const requester = req.user as IUser; + const requestedFile = req.params['fileId']; + const token = req.headers.authorization || ''; + let associatedUser = requester; + if ((token !== '') && (req.user === undefined)) { + // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed + const decodedPayload = jwt.decode(token); + // obtain the public-key of the robot user in the JWT payload + let pubkey: string; + if (decodedPayload !== null && !(typeof decodedPayload === 'string')) { + pubkey = decodedPayload['publicKey']; + } else { + throw new GraphQLError('JWT verification failed.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + // verify the JWT + jwt.verify(token, pubkey, function (error) { + if (error) { + throw new GraphQLError('JWT verification failed.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); + } + }); + associatedUser = await userRetrieval(this._db, pubkey); + } else if (!requester) { + res.status(403).json({ error: 'Please log in.' }); + return; + } + try { + /* download file */ + const file = await this._db.collections.files_collection.findOne({ id: requestedFile, deleted: null }); + if (!file) { + res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); + return; + } + + // check target field exists + const hasStudyLevelPermission = await this._permissionCore.userHasTheNeccessaryDataPermission( + atomicOperation.READ, + associatedUser, + file.studyId + ); + if (!hasStudyLevelPermission) { + res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); + return; + } + + const stream = await this._objStore.downloadFile(file.studyId, file.uri); + res.set('Content-Type', 'application/octet-stream'); + res.set('Content-Type', 'application/download'); + res.set('Content-Disposition', `attachment; filename="${file.fileName}"`); + stream.pipe(res, { end: true }); + return; + } catch (e) { + res.status(500).json(e); + return; + } + })().catch(() => { return; }); + }; +} diff --git a/packages/itmat-cores/src/utils/ApolloServerContext.ts b/packages/itmat-cores/src/utils/ApolloServerContext.ts new file mode 100644 index 000000000..bb72427bb --- /dev/null +++ b/packages/itmat-cores/src/utils/ApolloServerContext.ts @@ -0,0 +1,4 @@ +export interface ApolloServerContext { + req: Express.Request; + token?: string; +} \ No newline at end of file diff --git a/packages/itmat-cores/src/utils/configManager.ts b/packages/itmat-cores/src/utils/configManager.ts new file mode 100644 index 000000000..de7d0c91d --- /dev/null +++ b/packages/itmat-cores/src/utils/configManager.ts @@ -0,0 +1,43 @@ +import merge from 'deepmerge'; +import fs from 'fs-extra'; +import path from 'path'; +import { IObjectStoreConfig, IDatabaseBaseConfig, Logger } from '@itmat-broker/itmat-commons'; +import configDefaults from '../../config/config.sample.json'; +import { IServerConfig } from './server.js'; +import chalk from 'chalk'; +import SMTPTransport from 'nodemailer/lib/smtp-transport'; + +export interface IConfiguration extends IServerConfig { + appName: string; + database: IDatabaseBaseConfig; + objectStore: IObjectStoreConfig; + nodemailer: SMTPTransport.Options & { auth: { user: string, pass: string } }; + aesSecret: string; + sessionsSecret: string; + adminEmail: string; + aeEndpoint: string; +} + +export class ConfigurationManager { + + public static expand(configurationFiles: string[]): IConfiguration { + + let config = configDefaults; + Logger.log('Applied default configuration.'); + + configurationFiles.forEach((configurationFile) => { + try { + if (fs.existsSync(configurationFile)) { + const content = fs.readFileSync(configurationFile, 'utf8'); + config = merge(config, JSON.parse(content)); + Logger.log(`Applied configuration from ${path.resolve(configurationFile)}.`); + } + } catch (e) { + Logger.error(chalk.red('Cannot parse configuration file.')); + } + }); + + return config; + } + +} diff --git a/packages/itmat-interface/src/utils/definition.ts b/packages/itmat-cores/src/utils/definition.ts similarity index 100% rename from packages/itmat-interface/src/utils/definition.ts rename to packages/itmat-cores/src/utils/definition.ts diff --git a/packages/itmat-interface/src/graphql/errors.ts b/packages/itmat-cores/src/utils/errors.ts similarity index 100% rename from packages/itmat-interface/src/graphql/errors.ts rename to packages/itmat-cores/src/utils/errors.ts diff --git a/packages/itmat-cores/src/utils/index.ts b/packages/itmat-cores/src/utils/index.ts new file mode 100644 index 000000000..89f72431e --- /dev/null +++ b/packages/itmat-cores/src/utils/index.ts @@ -0,0 +1,13 @@ +export * from './ApolloServerContext'; +export * from './configManager'; +export * from './definition'; +export * from './errors'; +export * from './mfa'; +export * from './noop'; +export * from './pubkeycrypto'; +export * from './pubsub'; +export * from './query'; +export * from './regrex'; +export * from './responses'; +export * from './server'; +export * from './userLoginUtils'; \ No newline at end of file diff --git a/packages/itmat-interface/src/utils/mfa.ts b/packages/itmat-cores/src/utils/mfa.ts similarity index 100% rename from packages/itmat-interface/src/utils/mfa.ts rename to packages/itmat-cores/src/utils/mfa.ts diff --git a/packages/itmat-interface/src/utils/noop.ts b/packages/itmat-cores/src/utils/noop.ts similarity index 100% rename from packages/itmat-interface/src/utils/noop.ts rename to packages/itmat-cores/src/utils/noop.ts diff --git a/packages/itmat-interface/src/utils/pubkeycrypto.ts b/packages/itmat-cores/src/utils/pubkeycrypto.ts similarity index 100% rename from packages/itmat-interface/src/utils/pubkeycrypto.ts rename to packages/itmat-cores/src/utils/pubkeycrypto.ts diff --git a/packages/itmat-cores/src/utils/pubsub.ts b/packages/itmat-cores/src/utils/pubsub.ts new file mode 100644 index 000000000..92305d19b --- /dev/null +++ b/packages/itmat-cores/src/utils/pubsub.ts @@ -0,0 +1,8 @@ +import { PubSub } from 'graphql-subscriptions'; + +export const pubsub = new PubSub(); + +export const subscriptionEvents = { + JOB_STATUS_CHANGE: 'JOB_STATUS_CHANGE', + NEW_JOB: 'NEW_JOB' +}; diff --git a/packages/itmat-interface/src/utils/query.ts b/packages/itmat-cores/src/utils/query.ts similarity index 99% rename from packages/itmat-interface/src/utils/query.ts rename to packages/itmat-cores/src/utils/query.ts index 1eff6422e..2e561680e 100644 --- a/packages/itmat-interface/src/utils/query.ts +++ b/packages/itmat-cores/src/utils/query.ts @@ -1,6 +1,6 @@ import { IStudy, IFieldEntry, IStandardization, ICohortSelection, IQueryString, IGroupedData, StandardizationFilterOptionParameters, StandardizationFilterOptions } from '@itmat-broker/itmat-types'; import { Filter } from 'mongodb'; -import { QueryMatcher } from '../graphql/core/permissionCore'; +import { QueryMatcher } from '../core/permissionCore'; /* queryString: format: string # returned foramt: raw, standardized, grouped, summary diff --git a/packages/itmat-interface/src/utils/regrex.ts b/packages/itmat-cores/src/utils/regrex.ts similarity index 100% rename from packages/itmat-interface/src/utils/regrex.ts rename to packages/itmat-cores/src/utils/regrex.ts diff --git a/packages/itmat-cores/src/utils/responses.ts b/packages/itmat-cores/src/utils/responses.ts new file mode 100644 index 000000000..c342319ce --- /dev/null +++ b/packages/itmat-cores/src/utils/responses.ts @@ -0,0 +1,16 @@ +export interface IGenericResponse { + successful: boolean; + id?: string; + code?: string; + description?: string; +} + +export function makeGenericReponse(id?: string, successful?: boolean, code?: string, description?: string): IGenericResponse { + const res: IGenericResponse = { + id: id ?? undefined, + successful: successful ?? true, + code: code ?? undefined, + description: description ?? undefined + }; + return res; +} diff --git a/packages/itmat-cores/src/utils/server.ts b/packages/itmat-cores/src/utils/server.ts new file mode 100644 index 000000000..41f6b5685 --- /dev/null +++ b/packages/itmat-cores/src/utils/server.ts @@ -0,0 +1,7 @@ +import { IServerBaseConfig } from '@itmat-broker/itmat-commons'; + +export interface IServerConfig extends IServerBaseConfig { + bcrypt: { + saltround: number + }; +} diff --git a/packages/itmat-cores/src/utils/userLoginUtils.ts b/packages/itmat-cores/src/utils/userLoginUtils.ts new file mode 100644 index 000000000..1821ea850 --- /dev/null +++ b/packages/itmat-cores/src/utils/userLoginUtils.ts @@ -0,0 +1,27 @@ +import { IUser, IUserWithoutToken } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; + +export class UserLoginUtils { + db: DBType; + constructor(db: DBType) { + this.db = db; + this.serialiseUser = this.serialiseUser.bind(this); + this.deserialiseUser = this.deserialiseUser.bind(this); + } + + public serialiseUser(user: Express.User, done: (__unused__err: unknown, __unused__id: string) => void) { + done(null, (user as IUser).username); + } + + public deserialiseUser(username: string, done: (__unused__err: unknown, __unused__id: IUserWithoutToken | null) => void) { + this._getUser(username) + .then(user => { + done(null, user); + }) + .catch(() => { return; }); + } + + private async _getUser(username: string): Promise { + return await this.db.collections.users_collection.findOne({ deleted: null, username }, { projection: { _id: 0, deleted: 0, password: 0 } }); + } +} diff --git a/packages/itmat-cores/tsconfig.json b/packages/itmat-cores/tsconfig.json new file mode 100644 index 000000000..2bc65d594 --- /dev/null +++ b/packages/itmat-cores/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noImplicitAny": false, + "noFallthroughCasesInSwitch": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} \ No newline at end of file diff --git a/packages/itmat-cores/tsconfig.lib.json b/packages/itmat-cores/tsconfig.lib.json new file mode 100644 index 000000000..472dc6121 --- /dev/null +++ b/packages/itmat-cores/tsconfig.lib.json @@ -0,0 +1,18 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "declaration": true, + "types": [ + "node" + ] + }, + "include": [ + "**/*.ts" + ], + "exclude": [ + "jest.config.ts", + "**/*.spec.ts", + "**/*.test.ts" + ] +} \ No newline at end of file diff --git a/packages/itmat-cores/tsconfig.spec.json b/packages/itmat-cores/tsconfig.spec.json new file mode 100644 index 000000000..e85ec32ef --- /dev/null +++ b/packages/itmat-cores/tsconfig.spec.json @@ -0,0 +1,17 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "jest.config.ts", + "**/*.test.ts", + "**/*.spec.ts", + "**/*.d.ts" + ] +} \ No newline at end of file diff --git a/packages/itmat-interface/src/database/database.ts b/packages/itmat-interface/src/database/database.ts index 68b27117c..89168519c 100644 --- a/packages/itmat-interface/src/database/database.ts +++ b/packages/itmat-interface/src/database/database.ts @@ -1,39 +1,4 @@ -import type { IDataEntry, IFieldEntry, IFile, IJobEntry, ILogEntry, IOrganisation, IProject, IPubkey, IQueryEntry, IRole, IStudy, IUser, IStandardization } from '@itmat-broker/itmat-types'; import { Database as DatabaseBase, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; -import type { Collection } from 'mongodb'; - -export interface IDatabaseConfig extends IDatabaseBaseConfig { - collections: { - users_collection: string, - jobs_collection: string, - studies_collection: string, - projects_collection: string, - queries_collection: string, - field_dictionary_collection: string, - roles_collection: string, - files_collection: string, - organisations_collection: string, - log_collection: string, - pubkeys_collection: string, - data_collection: string, - standardizations_collection: string, - }; -} - -export interface IDatabaseCollectionConfig { - users_collection: Collection, - jobs_collection: Collection, - studies_collection: Collection, - projects_collection: Collection, - queries_collection: Collection, - field_dictionary_collection: Collection, - roles_collection: Collection, - files_collection: Collection, - organisations_collection: Collection, - log_collection: Collection, - pubkeys_collection: Collection, - data_collection: Collection, - standardizations_collection: Collection, -} +import { IDatabaseCollectionConfig } from '@itmat-broker/itmat-cores'; export const db = new DatabaseBase(); diff --git a/packages/itmat-interface/src/emailer/emailer.ts b/packages/itmat-interface/src/emailer/emailer.ts index 0c72604fc..7c0782d8a 100644 --- a/packages/itmat-interface/src/emailer/emailer.ts +++ b/packages/itmat-interface/src/emailer/emailer.ts @@ -1,16 +1,4 @@ -import nodemailer, { SendMailOptions } from 'nodemailer'; import appConfig from '../utils/configManager'; - -class Mailer { - private readonly _client: nodemailer.Transporter; - - constructor(config: Parameters[0]) { - this._client = nodemailer.createTransport(config); - } - - public async sendMail(mail: SendMailOptions): Promise { - await this._client.sendMail(mail); - } -} +import { Mailer } from '@itmat-broker/itmat-commons'; export const mailer = new Mailer(appConfig.nodemailer); diff --git a/packages/itmat-interface/src/graphql/core/fieldCore.ts b/packages/itmat-interface/src/graphql/core/fieldCore.ts deleted file mode 100644 index fb3c67d68..000000000 --- a/packages/itmat-interface/src/graphql/core/fieldCore.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { IFieldEntry, enumValueType, IUserWithoutToken } from '@itmat-broker/itmat-types'; -import { db } from '../../database/database'; -import { v4 as uuid } from 'uuid'; -import { Document, Filter } from 'mongodb'; -export class FieldCore { - public async getFieldsOfStudy(studyId: string, detailed: boolean, getOnlyTheseFields?: string[]): Promise { - /* ASSUMING projectId and studyId match*/ - /* if detailed=false, only returns the fieldid in an array */ - /* constructing queryObj; if projectId is provided then only those in the approved fields are returned */ - let queryObj: Filter = { studyId }; - if (getOnlyTheseFields) { // if both study id and project id are provided then just make sure they belong to each other - queryObj = { studyId, fieldId: { $in: getOnlyTheseFields } }; - } - - const aggregatePipeline: Document[] = [ - { $match: queryObj } - ]; - /* if detailed=false, only returns the fieldid in an array */ - if (detailed === false) { - aggregatePipeline.push({ $group: { _id: null, array: { $addToSet: '$fieldId' } } }); - } - - const cursor = db.collections.field_dictionary_collection.aggregate(aggregatePipeline); - return cursor.toArray(); - } - -} - -export function validateAndGenerateFieldEntry(fieldEntry: Partial, requester: IUserWithoutToken) { - // duplicates with existing fields are checked by caller function - const error: string[] = []; - const complusoryField = [ - 'fieldId', - 'fieldName', - 'dataType' - ]; - - // check missing field - for (const key of complusoryField) { - if (fieldEntry[key] === undefined && fieldEntry[key] === null) { - error.push(`${key} should not be empty.`); - } - } - // only english letters, numbers and _ are allowed in fieldIds - if (!/^[a-zA-Z0-9_]*$/.test(fieldEntry.fieldId || '')) { - error.push('FieldId should contain letters, numbers and _ only.'); - } - // data types - if (!fieldEntry.dataType || !Object.values(enumValueType).includes(fieldEntry.dataType)) { - error.push(`Data type shouldn't be ${fieldEntry.dataType}: use 'int' for integer, 'dec' for decimal, 'str' for string, 'bool' for boolean, 'date' for datetime, 'file' for FILE, 'json' for json.`); - } - // check possiblevalues to be not-empty if datatype is categorical - if (fieldEntry.dataType === enumValueType.CATEGORICAL) { - if (fieldEntry.possibleValues !== undefined && fieldEntry.possibleValues !== null) { - if (fieldEntry.possibleValues.length === 0) { - error.push(`${fieldEntry.fieldId}-${fieldEntry.fieldName}: possible values can't be empty if data type is categorical.`); - } - for (let i = 0; i < fieldEntry.possibleValues.length; i++) { - fieldEntry.possibleValues[i]['id'] = uuid(); - } - } else { - error.push(`${fieldEntry.fieldId}-${fieldEntry.fieldName}: possible values can't be empty if data type is categorical.`); - } - } - - const newField = { - fieldId: fieldEntry.fieldId, - fieldName: fieldEntry.fieldName, - tableName: fieldEntry.tableName, - dataType: fieldEntry.dataType, - possibleValues: fieldEntry.dataType === enumValueType.CATEGORICAL ? fieldEntry.possibleValues : null, - unit: fieldEntry.unit, - comments: fieldEntry.comments, - metadata: { - 'uploader:org': requester.organisation, - 'uploader:user': requester.id, - ...fieldEntry.metadata - } - }; - - return { fieldEntry: newField, error: error }; -} - -export const fieldCore = Object.freeze(new FieldCore()); diff --git a/packages/itmat-interface/src/graphql/core/jobCore.ts b/packages/itmat-interface/src/graphql/core/jobCore.ts deleted file mode 100644 index 7a9a4fd94..000000000 --- a/packages/itmat-interface/src/graphql/core/jobCore.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { IJobEntry } from '@itmat-broker/itmat-types'; -import { v4 as uuid } from 'uuid'; -import { db } from '../../database/database'; - -export class JobCore { - public async createJob(userId: string, jobType: string, files: string[], studyId: string, projectId?: string, jobId?: string): Promise { - const job: IJobEntry = { - requester: userId, - id: jobId || uuid(), - studyId, - jobType, - projectId, - requestTime: new Date().valueOf(), - receivedFiles: files, - status: 'QUEUED', - error: null, - cancelled: false - }; - await db.collections.jobs_collection.insertOne(job); - return job; - } -} - -export const jobCore = Object.freeze(new JobCore()); diff --git a/packages/itmat-interface/src/graphql/core/queryCore.ts b/packages/itmat-interface/src/graphql/core/queryCore.ts deleted file mode 100644 index 270e8029e..000000000 --- a/packages/itmat-interface/src/graphql/core/queryCore.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { IQueryEntry } from '@itmat-broker/itmat-types'; -import { v4 as uuid } from 'uuid'; -import { db } from '../../database/database'; - -export class QueryCore { - public async createQuery(args): Promise { - const query: IQueryEntry = { - requester: args.query.userId, - id: uuid(), - queryString: args.query.queryString, - studyId: args.query.studyId, - projectId: args.query.projectId, - status: 'QUEUED', - error: null, - cancelled: false, - data_requested: args.query.queryString.data_requested, - cohort: args.query.queryString.cohort, - new_fields: args.query.queryString.new_fields - }; - await db.collections.queries_collection.insertOne(query); - return query; - } - - public async getUsersQuery_NoResult(userId: string): Promise { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - return db.collections.queries_collection.find({ requester: userId }, { projection: { _id: 0, claimedBy: 0, queryResult: 0 } }).toArray(); - } - -} - -export const queryCore = Object.freeze(new QueryCore()); diff --git a/packages/itmat-interface/src/graphql/core/studyCore.ts b/packages/itmat-interface/src/graphql/core/studyCore.ts deleted file mode 100644 index a375c8413..000000000 --- a/packages/itmat-interface/src/graphql/core/studyCore.ts +++ /dev/null @@ -1,659 +0,0 @@ -import { GraphQLError } from 'graphql'; -import { IFile, IProject, IStudy, studyType, IStudyDataVersion, IDataEntry, IDataClip, IRole, IFieldEntry, deviceTypes, IOrganisation, IUserWithoutToken } from '@itmat-broker/itmat-types'; -import { v4 as uuid } from 'uuid'; -import { db } from '../../database/database'; -import { errorCodes } from '../errors'; -import { ICombinedPermissions, PermissionCore, permissionCore, translateCohort } from './permissionCore'; -import { validate } from '@ideafast/idgen'; -import type { MatchKeysAndValues } from 'mongodb'; -import { objStore } from '../../objStore/objStore'; -import { FileUpload } from 'graphql-upload-minimal'; -import crypto from 'crypto'; -import { fileSizeLimit } from '../../utils/definition'; -import { IGenericResponse } from '../responses'; -export class StudyCore { - constructor(private readonly localPermissionCore: PermissionCore) { } - - public async findOneStudy_throwErrorIfNotExist(studyId: string): Promise { - const studySearchResult = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); - if (studySearchResult === null || studySearchResult === undefined) { - throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - return studySearchResult; - } - - public async findOneProject_throwErrorIfNotExist(projectId: string): Promise { - const projectSearchResult = await db.collections.projects_collection.findOne({ id: projectId, deleted: null }); - if (projectSearchResult === null || projectSearchResult === undefined) { - throw new GraphQLError('Project does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - return projectSearchResult; - } - - public async createNewStudy(studyName: string, description: string, type: studyType, requestedBy: string): Promise { - /* check if study already exist (lowercase because S3 minio buckets cant be mixed case) */ - const existingStudies = await db.collections.studies_collection.aggregate<{ name: string }>( - [ - { $match: { deleted: null } }, - { - $group: { - _id: '', - name: { - $push: { $toLower: '$name' } - } - } - }, - { $project: { name: 1 } } - ] - ).toArray(); - - if (existingStudies[0] && existingStudies[0].name.includes(studyName.toLowerCase())) { - throw new GraphQLError(`Study "${studyName}" already exists (duplicates are case-insensitive).`); - } - - const study: IStudy = { - id: uuid(), - name: studyName, - createdBy: requestedBy, - currentDataVersion: -1, - lastModified: new Date().valueOf(), - dataVersions: [], - deleted: null, - description: description, - type: type, - ontologyTrees: [], - metadata: {} - }; - await db.collections.studies_collection.insertOne(study); - return study; - } - - public async editStudy(studyId: string, description: string): Promise { - const res = await db.collections.studies_collection.findOneAndUpdate({ id: studyId }, { $set: { description: description } }, { returnDocument: 'after' }); - if (res) { - return res; - } else { - throw new GraphQLError('Edit study failed'); - } - } - - public async createNewDataVersion(studyId: string, tag: string, dataVersion: string): Promise { - const newDataVersionId = uuid(); - const newContentId = uuid(); - - // update data - const resData = await db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: null - }, { - $set: { - m_versionId: newDataVersionId - } - }); - // update field - const resField = await db.collections.field_dictionary_collection.updateMany({ - studyId: studyId, - dataVersion: null - }, { - $set: { - dataVersion: newDataVersionId - } - }); - // update standardization - const resStandardization = await db.collections.standardizations_collection.updateMany({ - studyId: studyId, - dataVersion: null - }, { - $set: { - dataVersion: newDataVersionId - } - }); - - // update ontology trees - const resOntologyTrees = await db.collections.studies_collection.updateOne({ 'id': studyId, 'deleted': null, 'ontologyTrees.dataVersion': null }, { - $set: { - 'ontologyTrees.$.dataVersion': newDataVersionId - } - }); - - if (resData.modifiedCount === 0 && resField.modifiedCount === 0 && resStandardization.modifiedCount === 0 && resOntologyTrees.modifiedCount === 0) { - return null; - } - - // insert a new version into study - const newDataVersion: IStudyDataVersion = { - id: newDataVersionId, - contentId: newContentId, // same content = same id - used in reverting data, version control - version: dataVersion, - tag: tag, - updateDate: (new Date().valueOf()).toString() - }; - await db.collections.studies_collection.updateOne({ id: studyId }, { - $push: { dataVersions: newDataVersion }, - $inc: { - currentDataVersion: 1 - } - }); - - // update permissions based on roles - const roles = await db.collections.roles_collection.find({ studyId: studyId, deleted: null }).toArray(); - for (const role of roles) { - const filters: ICombinedPermissions = { - subjectIds: role.permissions.data?.subjectIds || [], - visitIds: role.permissions.data?.visitIds || [], - fieldIds: role.permissions.data?.fieldIds || [] - }; - // deal with data filters - let validSubjects: Array | null = null; - if (role.permissions.data?.filters) { - if (role.permissions.data.filters.length > 0) { - validSubjects = []; - const subqueries = translateCohort(role.permissions.data.filters); - validSubjects = (await db.collections.data_collection.aggregate<{ - m_subjectId: string, m_visitId: string, m_fieldId: string, value: string | number | boolean | { [key: string]: unknown } - }>([{ - $match: { m_fieldId: { $in: role.permissions.data.filters.map(el => el.field) } } - }, - { - $sort: { uploadedAt: -1 } - }, { - $group: { - _id: { m_subjectId: '$m_subjectId', m_visitId: '$m_visitId', m_fieldId: '$m_fieldId' }, - doc: { $first: '$$ROOT' } - } - }, { - $project: { - m_subjectId: '$doc.m_subjectId', - m_visitId: '$doc.m_visitId', - m_fieldId: '$doc.m_fieldId', - value: '$doc.value', - _id: 0 - } - }, { - $match: { $and: subqueries } - }], { allowDiskUse: true }).toArray()).map(el => el.m_subjectId); - } - } - if (validSubjects === null) { - validSubjects = [/^.*$/]; - } - const tag = `metadata.${'role:'.concat(role.id)}`; - await db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: newDataVersionId, - $and: [ - { m_subjectId: { $in: filters.subjectIds.map((el: string) => new RegExp(el)) } }, - { m_subjectId: { $in: validSubjects } } - ], - m_visitId: { $in: filters.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } - }, { - $set: { [tag]: true } - }); - await db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: newDataVersionId, - $or: [ - { m_subjectId: { $nin: filters.subjectIds.map((el: string) => new RegExp(el)) } }, - { m_subjectId: { $nin: validSubjects } }, - { m_visitId: { $nin: filters.visitIds.map((el: string) => new RegExp(el)) } }, - { m_fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } } - ] - }, { - $set: { [tag]: false } - }); - await db.collections.field_dictionary_collection.updateMany({ - studyId: studyId, - dataVersion: newDataVersionId, - fieldId: { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } - }, { - $set: { [tag]: true } - }); - await db.collections.field_dictionary_collection.updateMany({ - studyId: studyId, - dataVersion: newDataVersionId, - fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } - }, { - $set: { [tag]: false } - }); - } - return newDataVersion; - } - - public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUserWithoutToken): Promise { - const response: IGenericResponse[] = []; - let bulk = db.collections.data_collection.initializeUnorderedBulkOp(); - // remove duplicates by subjectId, visitId and fieldId - const keysToCheck: Array = ['visitId', 'subjectId', 'fieldId']; - const filteredData = data.filter( - (s => o => (k => !s.has(k) && s.add(k))(keysToCheck.map(k => o[k]).join('|')))(new Set()) - ); - for (const dataClip of filteredData) { - // remove the '-' if there exists - dataClip.subjectId = dataClip.subjectId.replace('-', ''); - const fieldInDb = fieldList.filter(el => el.fieldId === dataClip.fieldId)[0]; - if (!fieldInDb) { - response.push({ successful: false, code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, description: `Field ${dataClip.fieldId}: Field Not found` }); - continue; - } - // check subjectId - if (!validate(dataClip.subjectId.substr(1) ?? '')) { - response.push({ successful: false, code: errorCodes.CLIENT_MALFORMED_INPUT, description: `Subject ID ${dataClip.subjectId} is illegal.` }); - continue; - } - if (!(await permissionCore.checkDataEntryValid(permissions, dataClip.fieldId, dataClip.subjectId, dataClip.visitId))) { - response.push({ successful: false, code: errorCodes.NO_PERMISSION_ERROR, description: 'You do not have access to this field.' }); - continue; - } - // check value is valid - let error; - let parsedValue; - if (dataClip.value?.toString() === '99999') { // agreement with other WPs, 99999 refers to missing - parsedValue = '99999'; - } else { - switch (fieldInDb.dataType) { - case 'dec': {// decimal - if (typeof (dataClip.value) !== 'string') { - error = `Field ${dataClip.fieldId}: Cannot parse as decimal.`; - break; - } - if (!/^\d+(.\d+)?$/.test(dataClip.value)) { - error = `Field ${dataClip.fieldId}: Cannot parse as decimal.`; - break; - } - parsedValue = parseFloat(dataClip.value); - break; - } - case 'int': {// integer - if (typeof (dataClip.value) !== 'string') { - error = `Field ${dataClip.fieldId}: Cannot parse as integer.`; - break; - } - if (!/^-?\d+$/.test(dataClip.value)) { - error = `Field ${dataClip.fieldId}: Cannot parse as integer.`; - break; - } - parsedValue = parseInt(dataClip.value, 10); - break; - } - case 'bool': {// boolean - if (typeof (dataClip.value) !== 'string') { - error = `Field ${dataClip.fieldId}: Cannot parse as boolean.`; - break; - } - if (dataClip.value.toLowerCase() === 'true' || dataClip.value.toLowerCase() === 'false') { - parsedValue = dataClip.value.toLowerCase() === 'true'; - } else { - error = `Field ${dataClip.fieldId}: Cannot parse as boolean.`; - break; - } - break; - } - case 'str': { - if (typeof (dataClip.value) !== 'string') { - error = `Field ${dataClip.fieldId}: Cannot parse as string.`; - break; - } - parsedValue = dataClip.value.toString(); - break; - } - // 01/02/2021 00:00:00 - case 'date': { - if (typeof (dataClip.value) !== 'string') { - error = `Field ${dataClip.fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; - break; - } - const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; - if (!dataClip.value.match(matcher)) { - error = `Field ${dataClip.fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; - break; - } - parsedValue = dataClip.value.toString(); - break; - } - case 'json': { - parsedValue = dataClip.value; - break; - } - case 'file': { - if (!dataClip.file || typeof (dataClip.file) === 'string') { - error = `Field ${dataClip.fieldId}: Cannot parse as file.`; - break; - } - // if old file exists, delete it first - const res = await this.uploadFile(studyId, dataClip, requester, {}); - if ('code' in res && 'description' in res) { - error = `Field ${dataClip.fieldId}: Cannot parse as file.`; - break; - } else { - parsedValue = res.id; - } - break; - } - case 'cat': { - if (!fieldInDb.possibleValues) { - error = `Field ${dataClip.fieldId}: Cannot parse as categorical, possible values not defined.`; - break; - } - if (dataClip.value && !fieldInDb.possibleValues.map((el) => el.code).includes(dataClip.value?.toString())) { - error = `Field ${dataClip.fieldId}: Cannot parse as categorical, value not in value list.`; - break; - } else { - parsedValue = dataClip.value?.toString(); - } - break; - } - default: { - error = (`Field ${dataClip.fieldId}: Invalid data Type.`); - break; - } - } - } - if (error !== undefined) { - response.push({ successful: false, code: errorCodes.CLIENT_MALFORMED_INPUT, description: error }); - continue; - } else { - response.push({ successful: true, description: `${dataClip.subjectId}-${dataClip.visitId}-${dataClip.fieldId}` }); - } - const obj = { - m_studyId: studyId, - m_versionId: null, - m_subjectId: dataClip.subjectId, - m_visitId: dataClip.visitId, - m_fieldId: dataClip.fieldId - }; - let objWithData: Partial>; - // update the file data differently - if (fieldInDb.dataType === 'file') { - const existing = await db.collections.data_collection.findOne(obj); - if (!existing) { - await db.collections.data_collection.insertOne({ - ...obj, - id: uuid(), - uploadedAt: (new Date()).valueOf(), - value: '', - metadata: { - add: [], - remove: [] - } - }); - } - - objWithData = { - ...obj, - id: uuid(), - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - ...dataClip.metadata, - participantId: dataClip.subjectId, - add: (existing?.metadata?.add || []).concat(parsedValue), - uploader: requester.id - }, - uploadedBy: requester.id - }; - bulk.find(obj).updateOne({ $set: objWithData }); - } else { - objWithData = { - ...obj, - id: uuid(), - value: parsedValue, - uploadedAt: (new Date()).valueOf(), - metadata: { - ...dataClip.metadata, - uploader: requester.id - }, - uploadedBy: requester.id - }; - bulk.insert(objWithData); - } - if (bulk.batches.length > 999) { - await bulk.execute(); - bulk = db.collections.data_collection.initializeUnorderedBulkOp(); - } - } - bulk.batches.length !== 0 && await bulk.execute(); - return response; - } - - // This file uploading function will not check any metadate of the file - public async uploadFile(studyId: string, data: IDataClip, uploader: IUserWithoutToken, args: { fileLength?: number, fileHash?: string }): Promise { - if (!data.file || typeof (data.file) === 'string') { - return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'Invalid File Stream' }; - } - const study = await db.collections.studies_collection.findOne({ id: studyId }); - if (!study) { - return { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, description: 'Study does not exist.' }; - } - const sitesIDMarkers = (await db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce<{ [key: string]: string | null }>((acc, curr) => { - if (curr.metadata?.siteIDMarker) { - acc[curr.metadata.siteIDMarker] = curr.shortname; - } - return acc; - }, {}); - // check file metadata - if (data.metadata) { - let parsedDescription: Record; - let startDate: number; - let endDate: number; - let deviceId: string; - let participantId: string; - try { - parsedDescription = data.metadata; - if (!parsedDescription['startDate'] || !parsedDescription['endDate'] || !parsedDescription['deviceId'] || !parsedDescription['participantId']) { - return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; - } - startDate = parseInt(parsedDescription['startDate'].toString()); - endDate = parseInt(parsedDescription['endDate'].toString()); - participantId = parsedDescription['participantId'].toString(); - deviceId = parsedDescription['deviceId'].toString(); - } catch (e) { - return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; - } - if ( - !Object.keys(sitesIDMarkers).includes(participantId.substr(0, 1)?.toUpperCase()) || - !Object.keys(deviceTypes).includes(deviceId.substr(0, 3)?.toUpperCase()) || - !validate(participantId.substr(1) ?? '') || - !validate(deviceId.substr(3) ?? '') || - !startDate || !endDate || - (new Date(endDate).setHours(0, 0, 0, 0).valueOf()) > (new Date().setHours(0, 0, 0, 0).valueOf()) - ) { - return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; - } - } else { - return { code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'File description is invalid' }; - } - - - const file: FileUpload = await data.file; - - // check if old files exist; if so, denote it as deleted - const dataEntry = await db.collections.data_collection.findOne({ m_studyId: studyId, m_visitId: data.visitId, m_subjectId: data.subjectId, m_versionId: null, m_fieldId: data.fieldId }); - const oldFileId = dataEntry ? dataEntry.value : null; - return new Promise((resolve, reject) => { - (async () => { - try { - const fileEntry: Partial = { - id: uuid(), - fileName: file.filename, - studyId: studyId, - description: JSON.stringify({}), - uploadTime: `${Date.now()}`, - uploadedBy: uploader.id, - deleted: null, - metadata: (data.metadata as Record) - }; - - if (args.fileLength !== undefined && args.fileLength > fileSizeLimit) { - reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - - const stream = file.createReadStream(); - const fileUri = uuid(); - const hash = crypto.createHash('sha256'); - let readBytes = 0; - - stream.pause(); - - /* if the client cancelled the request mid-stream it will throw an error */ - stream.on('error', (e) => { - reject(new GraphQLError('Upload resolver file stream failure', { extensions: { code: errorCodes.FILE_STREAM_ERROR, error: e } })); - return; - }); - - stream.on('data', (chunk) => { - readBytes += chunk.length; - if (readBytes > fileSizeLimit) { - stream.destroy(); - reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - hash.update(chunk); - }); - - - await objStore.uploadFile(stream, studyId, fileUri); - - // hash is optional, but should be correct if provided - const hashString = hash.digest('hex'); - if (args.fileHash && args.fileHash !== hashString) { - reject(new GraphQLError('File hash not match', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - - // check if readbytes equal to filelength in parameters - if (args.fileLength !== undefined && args.fileLength.toString() !== readBytes.toString()) { - reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - - fileEntry.fileSize = readBytes.toString(); - fileEntry.uri = fileUri; - fileEntry.hash = hashString; - const insertResult = await db.collections.files_collection.insertOne(fileEntry as IFile); - if (insertResult.acknowledged) { - // delete old file if existing - oldFileId && await db.collections.files_collection.findOneAndUpdate({ studyId: studyId, id: oldFileId }, { $set: { deleted: Date.now().valueOf() } }); - resolve(fileEntry as IFile); - } else { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - } - catch (error) { - reject({ code: errorCodes.CLIENT_MALFORMED_INPUT, description: 'Missing file metadata.', error }); - return; - } - })().catch(() => { return; }); - }); - } - - public async createProjectForStudy(studyId: string, projectName: string, requestedBy: string): Promise { - const project: IProject = { - id: uuid(), - studyId, - createdBy: requestedBy, - name: projectName, - patientMapping: {}, - lastModified: new Date().valueOf(), - deleted: null, - metadata: {} - }; - - const getListOfPatientsResult = await db.collections.data_collection.aggregate([ - { $match: { m_studyId: studyId } }, - { $group: { _id: null, array: { $addToSet: '$m_subjectId' } } }, - { $project: { array: 1 } } - ]).toArray(); - - if (getListOfPatientsResult === null || getListOfPatientsResult === undefined) { - throw new GraphQLError('Cannot get list of patients', { extensions: { code: errorCodes.DATABASE_ERROR } }); - } - - if (getListOfPatientsResult[0] !== undefined) { - project.patientMapping = this.createPatientIdMapping(getListOfPatientsResult[0]['array']); - } - - await db.collections.projects_collection.insertOne(project); - return project; - } - - public async deleteStudy(studyId: string): Promise { - /* PRECONDITION: CHECKED THAT STUDY INDEED EXISTS */ - const session = db.client.startSession(); - session.startTransaction(); - - const timestamp = new Date().valueOf(); - - try { - /* delete the study */ - await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); - - /* delete all projects related to the study */ - await db.collections.projects_collection.updateMany({ studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); - - /* delete all roles related to the study */ - await this.localPermissionCore.removeRoleFromStudyOrProject({ studyId }); - - /* delete all files belong to the study*/ - await db.collections.files_collection.updateMany({ studyId, deleted: null }, { $set: { deleted: timestamp } }); - - await session.commitTransaction(); - session.endSession().catch(() => { return; }); - - } catch (error) { - // If an error occurred, abort the whole transaction and - // undo any changes that might have happened - await session.abortTransaction(); - session.endSession().catch(() => { return; }); - throw error; // Rethrow so calling function sees error - } - } - - public async deleteProject(projectId: string): Promise { - const timestamp = new Date().valueOf(); - - /* delete all projects related to the study */ - await db.collections.projects_collection.findOneAndUpdate({ id: projectId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }, { returnDocument: 'after' }); - - /* delete all roles related to the study */ - await this.localPermissionCore.removeRoleFromStudyOrProject({ projectId }); - } - - private createPatientIdMapping(listOfPatientId: string[], prefix?: string): { [originalPatientId: string]: string } { - let rangeArray: Array = [...Array.from(listOfPatientId.keys())]; - if (prefix === undefined) { - prefix = uuid().substring(0, 10); - } - rangeArray = rangeArray.map((e) => `${prefix}${e} `); - rangeArray = this.shuffle(rangeArray); - const mapping: { [originalPatientId: string]: string } = {}; - for (let i = 0, length = listOfPatientId.length; i < length; i++) { - mapping[listOfPatientId[i]] = (rangeArray as string[])[i]; - } - return mapping; - } - - private shuffle(array: Array) { // source: Fisher–Yates Shuffle; https://bost.ocks.org/mike/shuffle/ - let currentIndex = array.length; - let temporaryValue: string | number; - let randomIndex: number; - - // While there remain elements to shuffle... - while (0 !== currentIndex) { - - // Pick a remaining element... - randomIndex = Math.floor(Math.random() * currentIndex); - currentIndex -= 1; - - // And swap it with the current element. - temporaryValue = array[currentIndex]; - array[currentIndex] = array[randomIndex]; - array[randomIndex] = temporaryValue; - } - - return array; - } -} - -export const studyCore = Object.freeze(new StudyCore(permissionCore)); diff --git a/packages/itmat-interface/src/graphql/core/userCore.ts b/packages/itmat-interface/src/graphql/core/userCore.ts deleted file mode 100644 index 5dcca782a..000000000 --- a/packages/itmat-interface/src/graphql/core/userCore.ts +++ /dev/null @@ -1,129 +0,0 @@ -import bcrypt from 'bcrypt'; -import { db } from '../../database/database'; -import config from '../../utils/configManager'; -import { GraphQLError } from 'graphql'; -import { IUser, IUserWithoutToken, userTypes, IOrganisation, IPubkey } from '@itmat-broker/itmat-types'; -import { v4 as uuid } from 'uuid'; -import { errorCodes } from '../errors'; -import { MarkOptional } from 'ts-essentials'; - -export class UserCore { - public async getOneUser_throwErrorIfNotExists(username: string): Promise { - const user = await db.collections.users_collection.findOne({ deleted: null, username }); - if (user === undefined || user === null) { - throw new GraphQLError('User does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - return user; - } - - public async createUser(user: { password: string, otpSecret: string, username: string, organisation: string, type: userTypes, description: string, firstname: string, lastname: string, email: string, emailNotificationsActivated: boolean, metadata }): Promise { - const { password, otpSecret, organisation, username, type, description, firstname, lastname, email, emailNotificationsActivated, metadata } = user; - const hashedPassword: string = await bcrypt.hash(password, config.bcrypt.saltround); - const createdAt = Date.now(); - const expiredAt = Date.now() + 86400 * 1000 /* millisec per day */ * 90; - const entry: IUser = { - id: uuid(), - username, - otpSecret, - type, - description, - organisation, - firstname, - lastname, - password: hashedPassword, - email, - emailNotificationsActivated, - emailNotificationsStatus: { expiringNotification: false }, - createdAt, - expiredAt, - resetPasswordRequests: [], - metadata, - deleted: null - }; - - const result = await db.collections.users_collection.insertOne(entry); - if (result.acknowledged) { - const cleared: MarkOptional = { ...entry }; - delete cleared['password']; - delete cleared['otpSecret']; - return cleared; - } else { - throw new GraphQLError('Database error', { extensions: { code: errorCodes.DATABASE_ERROR } }); - } - } - - public async deleteUser(userId: string): Promise { - const session = db.client.startSession(); - session.startTransaction(); - try { - /* delete the user */ - await db.collections.users_collection.findOneAndUpdate({ id: userId, deleted: null }, { $set: { deleted: new Date().valueOf(), password: 'DeletedUserDummyPassword' } }, { returnDocument: 'after', projection: { deleted: 1 } }); - - /* delete all user records in roles related to the study */ - await db.collections.roles_collection.updateMany( - { - deleted: null, - users: userId - }, - { - $pull: { users: { _id: userId } } - } - ); - - await session.commitTransaction(); - session.endSession().catch(() => { return; }); - } catch (error) { - // If an error occurred, abort the whole transaction and - // undo any changes that might have happened - await session.abortTransaction(); - session.endSession().catch(() => { return; }); - throw new GraphQLError(`Database error: ${JSON.stringify(error)}`); - } - } - - public async createOrganisation(org: { name: string, shortname: string | null, containOrg: string | null, metadata }): Promise { - const { name, shortname, containOrg, metadata } = org; - const entry: IOrganisation = { - id: uuid(), - name, - shortname, - containOrg, - deleted: null, - metadata: metadata?.siteIDMarker ? { - siteIDMarker: metadata.siteIDMarker - } : {} - }; - const result = await db.collections.organisations_collection.findOneAndUpdate({ name: name, deleted: null }, { - $set: entry - }, { - upsert: true - }); - if (result) { - return entry; - } else { - throw new GraphQLError('Database error', { extensions: { code: errorCodes.DATABASE_ERROR } }); - } - } - - public async registerPubkey(pubkeyobj: { pubkey: string, associatedUserId: string | null, jwtPubkey: string, jwtSeckey: string }): Promise { - const { pubkey, associatedUserId, jwtPubkey, jwtSeckey } = pubkeyobj; - const entry: IPubkey = { - id: uuid(), - pubkey, - associatedUserId, - jwtPubkey, - jwtSeckey, - refreshCounter: 0, - deleted: null - }; - - const result = await db.collections.pubkeys_collection.insertOne(entry); - if (result.acknowledged) { - return entry; - } else { - throw new GraphQLError('Database error', { extensions: { code: errorCodes.DATABASE_ERROR } }); - } - } -} - -export const userCore = Object.freeze(new UserCore()); diff --git a/packages/itmat-interface/src/graphql/pubsub.ts b/packages/itmat-interface/src/graphql/pubsub.ts index 92305d19b..d86d23f85 100644 --- a/packages/itmat-interface/src/graphql/pubsub.ts +++ b/packages/itmat-interface/src/graphql/pubsub.ts @@ -1,8 +1,3 @@ import { PubSub } from 'graphql-subscriptions'; export const pubsub = new PubSub(); - -export const subscriptionEvents = { - JOB_STATUS_CHANGE: 'JOB_STATUS_CHANGE', - NEW_JOB: 'NEW_JOB' -}; diff --git a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts index b9006be91..62d22769a 100644 --- a/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/fileResolvers.ts @@ -1,318 +1,21 @@ -import { GraphQLError } from 'graphql'; -import { IFile, IOrganisation, atomicOperation, IPermissionManagementOptions, IDataEntry } from '@itmat-broker/itmat-types'; -import { v4 as uuid } from 'uuid'; import { FileUpload } from 'graphql-upload-minimal'; +import { DMPResolversMap } from './context'; import { db } from '../../database/database'; +import { FileCore } from '@itmat-broker/itmat-cores'; import { objStore } from '../../objStore/objStore'; -import { permissionCore } from '../core/permissionCore'; -import { errorCodes } from '../errors'; -import { makeGenericReponse } from '../responses'; -import crypto from 'crypto'; -import { validate } from '@ideafast/idgen'; -import { deviceTypes } from '@itmat-broker/itmat-types'; -import { fileSizeLimit } from '../../utils/definition'; -import type { MatchKeysAndValues } from 'mongodb'; -import { studyCore } from '../core/studyCore'; -import { DMPResolversMap } from './context'; -// default visitId for file data -const targetVisitId = '0'; +const fileCore = Object.freeze(new FileCore(db, objStore)); + export const fileResolvers: DMPResolversMap = { Query: { }, Mutation: { // this API has the same functions as uploading file data via clinical APIs - uploadFile: async (parent, args: { fileLength?: bigint, studyId: string, file: Promise, description: string, hash?: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - // get the target fieldId of this file - const study = await studyCore.findOneStudy_throwErrorIfNotExist(args.studyId); - - const hasStudyLevelSubjectPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.WRITE, - requester, - args.studyId - ); - const hasStudyLevelStudyDataPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.own, - atomicOperation.WRITE, - requester, - args.studyId - ); - if (!hasStudyLevelSubjectPermission && !hasStudyLevelStudyDataPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - let targetFieldId: string; - let isStudyLevel = false; - // obtain sitesIDMarker from db - const sitesIDMarkers = (await db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce>((acc, curr) => { - if (curr.metadata?.siteIDMarker) { - acc[curr.metadata.siteIDMarker] = curr.shortname; - } - return acc; - }, {}); - // if the description object is empty, then the file is study-level data - // otherwise, a subjectId must be provided in the description object - // we will check other properties in the decription object (deviceId, startDate, endDate) - const parsedDescription = JSON.parse(args.description); - if (!parsedDescription) { - throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - if (!parsedDescription.participantId) { - isStudyLevel = true; - } else { - isStudyLevel = false; - if (!Object.keys(sitesIDMarkers).includes(parsedDescription.participantId?.substr(0, 1)?.toUpperCase())) { - throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - // check deviceId, startDate, endDate if necessary - if (parsedDescription.deviceId && parsedDescription.startDate && parsedDescription.endDate) { - if (!Object.keys(deviceTypes).includes(parsedDescription.deviceId?.substr(0, 3)?.toUpperCase()) || - !validate(parsedDescription.participantId?.substr(1) ?? '') || - !validate(parsedDescription.deviceId.substr(3) ?? '')) { - throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - } else { - throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - // if the targetFieldId is in the description object; then use the fieldId, otherwise, infer it from the device types - if (parsedDescription.fieldId) { - targetFieldId = parsedDescription.fieldId; - } else { - const device = parsedDescription.deviceId?.slice(0, 3); - targetFieldId = `Device_${deviceTypes[device].replace(/ /g, '_')}`; - } - // check fieldId exists - if ((await db.collections.field_dictionary_collection.find({ studyId: study.id, fieldId: targetFieldId, dateDeleted: null }).sort({ dateAdded: -1 }).limit(1).toArray()).length === 0) { - throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - // check field permission - if (!permissionCore.checkDataEntryValid(await permissionCore.combineUserDataPermissions(atomicOperation.WRITE, requester, args.studyId, undefined), targetFieldId, parsedDescription.participantId, targetVisitId)) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - } - - const file = await args.file; - const fileNameParts = file.filename.split('.'); - - return new Promise((resolve, reject) => { - (async () => { - try { - let fileName: string = file.filename; - let metadata: Record = {}; - if (!isStudyLevel) { - const matcher = /(.{1})(.{6})-(.{3})(.{6})-(\d{8})-(\d{8})\.(.*)/; - let startDate; - let endDate; - let participantId; - let deviceId; - // check description first, then filename - if (args.description) { - const parsedDescription = JSON.parse(args.description); - startDate = parseInt(parsedDescription.startDate); - endDate = parseInt(parsedDescription.endDate); - participantId = parsedDescription.participantId.toString(); - deviceId = parsedDescription.deviceId.toString(); - } else if (matcher.test(file.filename)) { - const particles = file.filename.split('-'); - participantId = particles[0]; - deviceId = particles[1]; - startDate = particles[2]; - endDate = particles[3]; - } else { - reject(new GraphQLError('Missing file description', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - - - try { - if ( - !Object.keys(sitesIDMarkers).includes(participantId.substr(0, 1)?.toUpperCase()) || - !Object.keys(deviceTypes).includes(deviceId.substr(0, 3)?.toUpperCase()) || - !validate(participantId.substr(1) ?? '') || - !validate(deviceId.substr(3) ?? '') || - !startDate || !endDate || - (new Date(endDate).setHours(0, 0, 0, 0).valueOf()) > (new Date().setHours(0, 0, 0, 0).valueOf()) - ) { - reject(new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - } catch (e) { - reject(new GraphQLError('Missing file description', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - - const typedStartDate = new Date(startDate); - const formattedStartDate = typedStartDate.getFullYear() + `${typedStartDate.getMonth() + 1}`.padStart(2, '0') + `${typedStartDate.getDate()}`.padStart(2, '0'); - const typedEndDate = new Date(endDate); - const formattedEndDate = typedEndDate.getFullYear() + `${typedEndDate.getMonth() + 1}`.padStart(2, '0') + `${typedEndDate.getDate()}`.padStart(2, '0'); - fileName = `${parsedDescription.participantId.toUpperCase()}-${parsedDescription.deviceId.toUpperCase()}-${formattedStartDate}-${formattedEndDate}.${fileNameParts[fileNameParts.length - 1]}`; - metadata = { - participantId: parsedDescription.participantId, - deviceId: parsedDescription.deviceId, - startDate: parsedDescription.startDate, // should be in milliseconds - endDate: parsedDescription.endDate, - tup: parsedDescription.tup - }; - } - - if (args.fileLength !== undefined && args.fileLength > fileSizeLimit) { - reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - - const stream = file.createReadStream(); - const fileUri = uuid(); - const hash = crypto.createHash('sha256'); - let readBytes = 0; - - stream.pause(); - - /* if the client cancelled the request mid-stream it will throw an error */ - stream.on('error', (e) => { - reject(new GraphQLError('Upload resolver file stream failure', { extensions: { code: errorCodes.FILE_STREAM_ERROR, error: e } })); - return; - }); - - stream.on('data', (chunk) => { - readBytes += chunk.length; - if (readBytes > fileSizeLimit) { - stream.destroy(); - reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - hash.update(chunk); - }); - - await objStore.uploadFile(stream, args.studyId, fileUri); - - const hashString = hash.digest('hex'); - if (args.hash && args.hash !== hashString) { - reject(new GraphQLError('File hash not match', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - - // check if readbytes equal to filelength in parameters - if (args.fileLength !== undefined && args.fileLength.toString() !== readBytes.toString()) { - reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); - return; - } - const fileEntry: IFile = { - id: uuid(), - fileName: fileName, - studyId: args.studyId, - description: args.description, - uploadTime: `${Date.now()}`, - uploadedBy: requester.id, - deleted: null, - metadata: metadata, - fileSize: readBytes.toString(), - uri: fileUri, - hash: hashString - }; - fileEntry.fileSize = readBytes.toString(); - fileEntry.uri = fileUri; - fileEntry.hash = hashString; - if (!isStudyLevel) { - await db.collections.data_collection.insertOne({ - id: uuid(), - m_studyId: args.studyId, - m_subjectId: parsedDescription.participantId, - m_versionId: null, - m_visitId: targetVisitId, - m_fieldId: targetFieldId, - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - 'uploader:user': requester.id, - 'add': [fileEntry.id], - 'remove': [] - } - }); - } - const insertResult = await db.collections.files_collection.insertOne(fileEntry); - if (insertResult.acknowledged) { - resolve(fileEntry); - } else { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - - } catch (error) { - reject(new GraphQLError('General upload error', { extensions: { code: errorCodes.UNQUALIFIED_ERROR, error } })); - } - })().catch((e) => reject(e)); - }); + uploadFile: async (_parent, args: { fileLength?: bigint, studyId: string, file: Promise, description: string, hash?: string }, context) => { + return await fileCore.uploadFile(context.req.user, args.studyId, args.file, args.description, args.hash, args.fileLength); }, - deleteFile: async (parent, args: { fileId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const file = await db.collections.files_collection.findOne({ deleted: null, id: args.fileId }); - - if (!file) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.WRITE, - requester, - file.studyId - ); - if (!hasStudyLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const parsedDescription = JSON.parse(file.description); - if (Object.keys(parsedDescription).length === 0) { - await db.collections.files_collection.findOneAndUpdate({ deleted: null, id: args.fileId }, { $set: { deleted: Date.now().valueOf() } }); - return makeGenericReponse(); - } - const device = parsedDescription.deviceId.slice(0, 3); - if (!Object.keys(deviceTypes).includes(device)) { - throw new GraphQLError('File description is invalid', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - const targetFieldId = `Device_${(deviceTypes[device] as string).replace(/ /g, '_')}`; - if (!permissionCore.checkDataEntryValid(hasStudyLevelPermission.raw, targetFieldId, parsedDescription.participantId, targetVisitId)) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - // update data record - const obj = { - m_studyId: file.studyId, - m_subjectId: parsedDescription.participantId, - m_versionId: null, - m_visitId: targetVisitId, - m_fieldId: targetFieldId - }; - const existing = await db.collections.data_collection.findOne(obj); - if (!existing) { - await db.collections.data_collection.insertOne({ - ...obj, - id: uuid(), - uploadedAt: (new Date()).valueOf(), - value: '', - metadata: { - add: [], - remove: [] - } - }); - } - const objWithData: Partial> = { - ...obj, - id: uuid(), - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - 'uploader:user': requester.id, - 'add': existing?.metadata?.add ?? [], - 'remove': (existing?.metadata?.remove || []).concat(args.fileId) - } - }; - const updateResult = await db.collections.data_collection.updateOne(obj, { $set: objWithData }, { upsert: true }); - - // const updateResult = await db.collections.files_collection.updateOne({ deleted: null, id: args.fileId }, { $set: { deleted: new Date().valueOf() } }); - if (updateResult.modifiedCount === 1 || updateResult.upsertedCount === 1) { - return makeGenericReponse(); - } else { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } + deleteFile: async (_parent, args: { fileId: string }, context) => { + return await fileCore.deleteFile(context.req.user, args.fileId); } }, Subscription: {} diff --git a/packages/itmat-interface/src/graphql/resolvers/index.ts b/packages/itmat-interface/src/graphql/resolvers/index.ts index b215912e8..a48fcdacc 100644 --- a/packages/itmat-interface/src/graphql/resolvers/index.ts +++ b/packages/itmat-interface/src/graphql/resolvers/index.ts @@ -7,11 +7,11 @@ import { userResolvers } from './userResolvers'; import { organisationResolvers } from './organisationResolvers'; import { pubkeyResolvers } from './pubkeyResolvers'; import { GraphQLError } from 'graphql'; -import { errorCodes } from '../errors'; import { logResolvers } from './logResolvers'; import { standardizationResolvers } from './standardizationResolvers'; import { IResolvers } from '@graphql-tools/utils'; import { DMPResolver } from './context'; +import { errorCodes } from '@itmat-broker/itmat-cores'; const modules = [ studyResolvers, diff --git a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts index 6fcddb22a..933da1f88 100644 --- a/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/jobResolvers.ts @@ -1,84 +1,17 @@ -import { GraphQLError } from 'graphql'; import { withFilter } from 'graphql-subscriptions'; -import { IJobEntryForQueryCuration, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; -import { v4 as uuid } from 'uuid'; -import { db } from '../../database/database'; -import { errorCodes } from '../errors'; -import { pubsub, subscriptionEvents } from '../pubsub'; -import { permissionCore } from '../core/permissionCore'; -import { studyCore } from '../core/studyCore'; +import { pubsub } from '../pubsub'; import { DMPResolversMap } from './context'; +import { db } from '../../database/database'; +import { JobCore, subscriptionEvents } from '@itmat-broker/itmat-cores'; +import { objStore } from '../../objStore/objStore'; -enum JOB_TYPE { - FIELD_INFO_UPLOAD = 'FIELD_INFO_UPLOAD', - DATA_UPLOAD_CSV = 'DATA_UPLOAD_CSV', - DATA_UPLOAD_JSON = 'DATA_UPLOAD_JSON', - QUERY_EXECUTION = 'QUERY_EXECUTION', - DATA_EXPORT = 'DATA_EXPORT' -} +const jobCore = Object.freeze(new JobCore(db, objStore)); export const jobResolvers: DMPResolversMap = { Query: {}, Mutation: { - createQueryCurationJob: async (parent, args: { queryId: string[], studyId: string, projectId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check permission */ - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.job, - atomicOperation.WRITE, - requester, - args.studyId - ); - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.job, - atomicOperation.WRITE, - requester, - args.studyId, - args.projectId - ); - if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - /* check study exists */ - await studyCore.findOneStudy_throwErrorIfNotExist(args.studyId); - - /* check if project exists */ - const projectExist = await db.collections.projects_collection.findOne({ id: args.projectId }); - if (!projectExist) { - throw new GraphQLError('Project does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - - /* check if the query exists */ - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - const queryExist = await db.collections.queries_collection.findOne({ id: args.queryId[0] }); - if (!queryExist) { - throw new GraphQLError('Query does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - - const job: IJobEntryForQueryCuration = { - id: uuid(), - jobType: JOB_TYPE.QUERY_EXECUTION, - studyId: args.studyId, - requester: requester.id, - requestTime: new Date().valueOf(), - receivedFiles: [], - error: null, - status: 'QUEUED', - cancelled: false, - data: { - queryId: args.queryId, - projectId: args.projectId, - studyId: args.studyId - } - }; - const result = await db.collections.jobs_collection.insertOne(job); - if (!result.acknowledged) { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - return job; + createQueryCurationJob: async (_parent, { queryId, studyId, projectId }: { queryId: string[], studyId: string, projectId: string }, context) => { + return await jobCore.createQueryCurationJob(context.req.user, queryId, studyId, projectId); } }, Subscription: { diff --git a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts index 47603877a..2fbe85ea0 100644 --- a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts @@ -1,61 +1,17 @@ -import { db } from '../../database/database'; -import { ILogEntry, LOG_ACTION, LOG_STATUS, LOG_TYPE, userTypes } from '@itmat-broker/itmat-types'; -import { GraphQLError } from 'graphql'; -import { errorCodes } from '../errors'; +import { LOG_ACTION, LOG_STATUS, LOG_TYPE, userTypes } from '@itmat-broker/itmat-types'; import { DMPResolversMap } from './context'; -import { Filter } from 'mongodb'; +import { db } from '../../database/database'; +import { LogCore } from '@itmat-broker/itmat-cores'; + +const logCore = Object.freeze(new LogCore(db)); export const logResolvers: DMPResolversMap = { Query: { - getLogs: async (parent, args: { requesterName: string, requesterType: userTypes, logType: LOG_TYPE, actionType: LOG_ACTION, status: LOG_STATUS }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* only admin can access this field */ - if (!(requester.type === userTypes.ADMIN) && !(requester.metadata?.logPermission === true)) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - const queryObj: Filter = {}; - for (const prop in args) { - if (args[prop] !== undefined) { - queryObj[prop] = args[prop]; - } - } - const logData = await db.collections.log_collection.find(queryObj, { projection: { _id: 0 } }).limit(1000).sort('time', -1).toArray(); - // log information decoration - for (const i in logData) { - logData[i].actionData = JSON.stringify(await logDecorationHelper(logData[i].actionData, logData[i].actionType)); - } - - return logData; + getLogs: async (_parent, args: { requesterName: string, requesterType: userTypes, logType: LOG_TYPE, actionType: LOG_ACTION, status: LOG_STATUS }, context) => { + return await logCore.getLogs(context.req.user, args.requesterName, args.requesterType, args.logType, args.actionType, args.status); } } }; -// fields that carry sensitive information will be hidden -export const hiddenFields = { - LOGIN_USER: ['password', 'totp'], - UPLOAD_FILE: ['file', 'description'] -}; -async function logDecorationHelper(actionData: string, actionType: string) { - const obj = JSON.parse(actionData) ?? {}; - if (Object.keys(hiddenFields).includes(actionType)) { - for (let i = 0; i < hiddenFields[actionType as keyof typeof hiddenFields].length; i++) { - delete obj[hiddenFields[actionType as keyof typeof hiddenFields][i]]; - } - } - if (actionType === LOG_ACTION.getStudy) { - const studyId = obj['studyId']; - const study = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); - if (study === null || study === undefined) { - obj['name'] = ''; - } - else { - obj['name'] = study.name; - } - } - return obj; -} + diff --git a/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts index 1b8525376..9bfa5bbf9 100644 --- a/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/organisationResolvers.ts @@ -1,16 +1,23 @@ -import { IOrganisation } from '@itmat-broker/itmat-types'; -import { db } from '../../database/database'; import { DMPResolversMap } from './context'; +import { db } from '../../database/database'; +import { OrganisationCore } from '@itmat-broker/itmat-cores'; + +const organisationCore = Object.freeze(new OrganisationCore(db)); export const organisationResolvers: DMPResolversMap = { Query: { - getOrganisations: async (parent, args: { organisationId?: string }) => { + getOrganisations: async (_parent, args: { organisationId?: string }) => { // everyone is allowed to see all organisations in the app. - const queryObj = args.organisationId === undefined ? { deleted: null } : { deleted: null, id: args.organisationId }; - const cursor = db.collections.organisations_collection.find(queryObj, { projection: { _id: 0 } }); - return cursor.toArray(); + return await organisationCore.getOrganisations(args.organisationId); + } + }, + Mutation: { + createOrganisation: async (parent, { name, shortname, containOrg, metadata }: { name: string, shortname: string, containOrg: string, metadata: unknown }, context) => { + return await organisationCore.createOrganisation(context.req.user, { name, shortname, containOrg, metadata }); + }, + deleteOrganisation: async (parent, { id }: { id: string }, context) => { + return await organisationCore.deleteOrganisation(context.req.user, id); } }, - Mutation: {}, Subscription: {} }; diff --git a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts index f1fe4ea07..6b47ae845 100644 --- a/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/permissionResolvers.ts @@ -1,179 +1,33 @@ -import { GraphQLError } from 'graphql'; -import { IRole, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; -import { db } from '../../database/database'; -import { permissionCore } from '../core/permissionCore'; -import { studyCore } from '../core/studyCore'; -import { errorCodes } from '../errors'; -import { makeGenericReponse } from '../responses'; +import { IRole, IDataPermission, IManagementPermission } from '@itmat-broker/itmat-types'; import { DMPResolversMap } from './context'; -import { Filter } from 'mongodb'; +import { db } from '../../database/database'; +import { PermissionCore } from '@itmat-broker/itmat-cores'; + +const permissionCore = Object.freeze(new PermissionCore(db)); export const permissionResolvers: DMPResolversMap = { Query: { - getGrantedPermissions: async (parent, { studyId, projectId }: { studyId?: string, projectId?: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const matchClause: Filter = { users: requester.id }; - if (studyId) - matchClause.studyId = studyId; - if (projectId) - matchClause.projectId = { $in: [projectId, undefined] }; - const aggregationPipeline = [ - { $match: matchClause } - // { $group: { _id: requester.id, arrArrPrivileges: { $addToSet: '$permissions' } } }, - // { $project: { arrPrivileges: { $reduce: { input: '$arrArrPrivileges', initialValue: [], in: { $setUnion: ['$$this', '$$value'] } } } } } - ]; - - const grantedPermissions = { - studies: await db.collections.roles_collection.aggregate(aggregationPipeline).toArray(), - projects: await db.collections.roles_collection.aggregate(aggregationPipeline).toArray() - }; - return grantedPermissions; + getGrantedPermissions: async (_parent, { studyId, projectId }: { studyId?: string, projectId?: string }, context) => { + return await permissionCore.getGrantedPermissions(context.req.user, studyId, projectId); } }, StudyOrProjectUserRole: { users: async (role: IRole) => { - const listOfUsers = role.users; - return await (db.collections.users_collection.find({ id: { $in: listOfUsers } }, { projection: { _id: 0, password: 0, email: 0 } }).toArray()); + return permissionCore.getUsersOfRole(role); } }, Mutation: { - addRole: async (parent, args: { studyId: string, projectId?: string, roleName: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const { studyId, projectId, roleName } = args; - - /* check whether user has at least provided one id */ - if (studyId === undefined && projectId === undefined) { - throw new GraphQLError('Please provide either study id or project id.', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - - /* check the requester has privilege */ - const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.role, - atomicOperation.WRITE, - requester, - args.studyId, - args.projectId - ); - if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - /* check whether the target study or project exists */ - if (studyId && projectId) { // if both study id and project id are provided then just make sure they belong to each other - const result = await studyCore.findOneProject_throwErrorIfNotExist(projectId); - if (result.studyId !== studyId) { - throw new GraphQLError('The project provided does not belong to the study provided', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - } else if (studyId) { // if only study id is provided - await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - } else if (projectId) { - await studyCore.findOneProject_throwErrorIfNotExist(projectId); - } - - const result = await permissionCore.addRole({ createdBy: requester.id, studyId, projectId, roleName }); - return result; + addRole: async (_parent, args: { studyId: string, projectId?: string, roleName: string }, context) => { + return await permissionCore.addRole(context.req.user, args.studyId, args.projectId, args.roleName); }, - editRole: async (parent, args: { roleId: string, name?: string, description?: string, userChanges?: { add: string[], remove: string[] }, permissionChanges }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const { roleId, name, permissionChanges, userChanges } = args; - - const role = await db.collections.roles_collection.findOne({ id: roleId, deleted: null }); - if (role === null) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* check the requester has privilege */ - const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.role, - atomicOperation.WRITE, - requester, - role.studyId, - role.projectId - ); - if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - /* check whether all the permissions are valid in terms of regular expressions */ - if (permissionChanges) { - if (permissionChanges.data) { - if (permissionChanges.data.subjectIds) { - for (const subjectId of permissionChanges.data.subjectIds) { - checkReExpIsValid(subjectId); - } - } - if (permissionChanges.data.visitIds) { - for (const visitId of permissionChanges.data.visitIds) { - checkReExpIsValid(visitId); - } - } - if (permissionChanges.data.fieldIds) { - for (const fieldId of permissionChanges.data.fieldIds) { - checkReExpIsValid(fieldId); - } - } - } - } - - /* check whether all the users exists */ - if (userChanges) { - const allRequestedUserChanges: string[] = [...userChanges.add, ...userChanges.remove]; - const testedUser: string[] = []; - for (const each of allRequestedUserChanges) { - if (!testedUser.includes(each)) { - const user = await db.collections.users_collection.findOne({ id: each, deleted: null }); - if (user === null) { - throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); - } else { - testedUser.push(each); - } - } - } - } - - /* edit the role */ - const modifiedRole = await permissionCore.editRoleFromStudyOrProject(roleId, name, args.description, permissionChanges, userChanges); - return modifiedRole; + editRole: async (_parent, args: { roleId: string, name?: string, description?: string, userChanges?: { add: string[], remove: string[] }, permissionChanges?: { data?: IDataPermission, manage?: IManagementPermission } }, context) => { + return await permissionCore.editRole(context.req.user, args.roleId, args.name, args.description, args.permissionChanges, args.userChanges); }, - removeRole: async (parent, args: { roleId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const { roleId } = args; - - const role = await db.collections.roles_collection.findOne({ id: roleId, deleted: null }); - if (role === null) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* check permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.role, - atomicOperation.WRITE, - requester, - role.studyId, - role.projectId - ); - if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - /* remove the role */ - await permissionCore.removeRole(roleId); - return makeGenericReponse(roleId); + removeRole: async (_parent, args: { roleId: string }, context) => { + return await permissionCore.removeRole(context.req.user, args.roleId); } }, Subscription: {} }; -function checkReExpIsValid(pattern: string) { - try { - new RegExp(pattern); - } catch { - throw new GraphQLError(`${pattern} is not a valid regular expression.`, { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } -} + diff --git a/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts index fca6fe267..67179fda5 100644 --- a/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/pubkeyResolvers.ts @@ -1,204 +1,33 @@ -import { ApolloServerErrorCode } from '@apollo/server/errors'; -import { GraphQLError } from 'graphql'; -import { mailer } from '../../emailer/emailer'; -import { IPubkey } from '@itmat-broker/itmat-types'; -//import { v4 as uuid } from 'uuid'; +import { DMPResolversMap } from './context'; import { db } from '../../database/database'; +import { PubkeyCore } from '@itmat-broker/itmat-cores'; import config from '../../utils/configManager'; -import { userCore } from '../core/userCore'; -import { errorCodes } from '../errors'; -//import { makeGenericReponse, IGenericResponse } from '../responses'; -import * as pubkeycrypto from '../../utils/pubkeycrypto'; -import { DMPResolversMap } from './context'; +import { mailer } from '../../emailer/emailer'; + +const pubkeyCore = Object.freeze(new PubkeyCore(db, mailer, config)); export const pubkeyResolvers: DMPResolversMap = { Query: { - getPubkeys: async (parent, args: { pubkeyId?: string, associatedUserId?: string }) => { - // a user is allowed to obtain his/her registered public key. - let queryObj; - if (args.pubkeyId === undefined) { - if (args.associatedUserId === undefined) { - queryObj = { deleted: null }; - } else { - queryObj = { deleted: null, associatedUserId: args.associatedUserId }; - } - } else { - queryObj = { deleted: null, id: args.pubkeyId }; - } - const cursor = db.collections.pubkeys_collection.find(queryObj, { projection: { _id: 0 } }); - return cursor.toArray(); + getPubkeys: async (_parent, args: { pubkeyId?: string, associatedUserId?: string }) => { + return pubkeyCore.getPubkeys(args.pubkeyId, args.associatedUserId); } }, Mutation: { keyPairGenwSignature: async () => { - // Generate RSA key-pair with Signature for robot user - const keyPair = pubkeycrypto.rsakeygen(); - //default message = hash of the public key (SHA256) - const messageToBeSigned = pubkeycrypto.hashdigest(keyPair.publicKey); - const signature = pubkeycrypto.rsasigner(keyPair.privateKey, messageToBeSigned); - - return { privateKey: keyPair.privateKey, publicKey: keyPair.publicKey, signature: signature }; + return await pubkeyCore.keyPairGenwSignature(); }, - rsaSigner: async (parent, { privateKey, message }: { privateKey: string, message: string }) => { - let messageToBeSigned; - privateKey = privateKey.replace(/\\n/g, '\n'); - if (message === undefined) { - //default message = hash of the public key (SHA256) - try { - const reGenPubkey = pubkeycrypto.reGenPkfromSk(privateKey); - messageToBeSigned = pubkeycrypto.hashdigest(reGenPubkey); - } catch (error) { - throw new GraphQLError('Error: private-key incorrect!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); - } - - } else { - messageToBeSigned = message; - } - const signature = pubkeycrypto.rsasigner(privateKey, messageToBeSigned); - return { signature: signature }; + rsaSigner: async (_parent, { privateKey, message }: { privateKey: string, message: string }) => { + return pubkeyCore.rsaSigner(privateKey, message); }, - issueAccessToken: async (parent, { pubkey, signature }: { pubkey: string, signature: string }) => { - // refine the public-key parameter from browser - pubkey = pubkey.replace(/\\n/g, '\n'); - - /* Validate the signature with the public key */ - if (!await pubkeycrypto.rsaverifier(pubkey, signature)) { - throw new GraphQLError('Signature vs Public key mismatched.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - const pubkeyrec = await db.collections.pubkeys_collection.findOne({ pubkey, deleted: null }); - if (pubkeyrec === null || pubkeyrec === undefined) { - throw new GraphQLError('This public-key has not been registered yet!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - // payload of the JWT for storing user information - const payload = { - publicKey: pubkeyrec.jwtPubkey, - associatedUserId: pubkeyrec.associatedUserId, - refreshCounter: pubkeyrec.refreshCounter, - Issuer: 'IDEA-FAST DMP' - }; - - // update the counter - const fieldsToUpdate = { - refreshCounter: (pubkeyrec.refreshCounter + 1) - }; - const updateResult = await db.collections.pubkeys_collection.findOneAndUpdate({ pubkey, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); - if (updateResult === null) { - throw new GraphQLError('Server error; cannot fulfil the JWT request.'); - } - // return the acccess token - const accessToken = { - accessToken: pubkeycrypto.tokengen(payload, pubkeyrec.jwtSeckey) - }; - - return accessToken; + issueAccessToken: async (_parent, { pubkey, signature }: { pubkey: string, signature: string }) => { + return pubkeyCore.issueAccessToken(pubkey, signature); }, - registerPubkey: async (parent, { pubkey, signature, associatedUserId }: { pubkey: string, signature: string, associatedUserId: string }, context) => { - // refine the public-key parameter from browser - pubkey = pubkey.replace(/\\n/g, '\n'); - const alreadyExist = await db.collections.pubkeys_collection.findOne({ pubkey, deleted: null }); - if (alreadyExist !== null && alreadyExist !== undefined) { - throw new GraphQLError('This public-key has already been registered.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* Check whether requester is the same as the associated user*/ - if (associatedUserId && (requester.id !== associatedUserId)) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - /* Validate the signature with the public key */ - try { - const signature_verifier = await pubkeycrypto.rsaverifier(pubkey, signature); - if (!signature_verifier) { - throw new GraphQLError('Signature vs Public-key mismatched.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - } catch (error) { - throw new GraphQLError('Error: Signature or Public-key is incorrect.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - /* Generate a public key-pair for generating and authenticating JWT access token later */ - const keypair = pubkeycrypto.rsakeygen(); - - /* Update the new public key if the user is already associated with another public key*/ - if (associatedUserId) { - const alreadyRegistered = await db.collections.pubkeys_collection.findOne({ associatedUserId, deleted: null }); - if (alreadyRegistered !== null && alreadyRegistered !== undefined) { - //updating the new public key. - const fieldsToUpdate = { - pubkey, - jwtPubkey: keypair.publicKey, - jwtSeckey: keypair.privateKey - }; - const updateResult = await db.collections.pubkeys_collection.findOneAndUpdate({ associatedUserId, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); - if (updateResult) { - await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to: requester.email, - subject: `[${config.appName}] New public-key has sucessfully registered!`, - html: ` -

- Dear ${requester.firstname}, -

-

- Your new public-key "${pubkey}" on ${config.appName} has successfully registered !
- The old one is already wiped out! - You will need to keep your new private key secretly.
- You will also need to sign a message (using this new public-key) to authenticate the owner of the public key.
-

- -
-

- The ${config.appName} Team. -

- ` - }); - - return updateResult; - } else { - throw new GraphQLError('Server error; no entry or more than one entry has been updated.'); - } - } - } - - /* Register new public key (either associated with an user or not) */ - const registeredPubkey = await userCore.registerPubkey({ - pubkey, - jwtPubkey: keypair.publicKey, - jwtSeckey: keypair.privateKey, - associatedUserId: associatedUserId ?? null - }); - - await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to: requester.email, - subject: `[${config.appName}] Public-key Registration!`, - html: ` -

- Dear ${requester.firstname}, -

-

- You have successfully registered your public-key "${pubkey}" on ${config.appName}!
- You will need to keep your private key secretly.
- You will also need to sign a message (using your public-key) to authenticate the owner of the public key.
-

- -
-

- The ${config.appName} Team. -

- ` - }); - - return registeredPubkey; + registerPubkey: async (_parent, { pubkey, signature, associatedUserId }: { pubkey: string, signature: string, associatedUserId: string }, context) => { + return await pubkeyCore.registerPubkey(context.req.user, pubkey, signature, associatedUserId); } }, diff --git a/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts index dea8183a8..e234b04e9 100644 --- a/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/queryResolvers.ts @@ -1,88 +1,21 @@ -import { IProject, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; -import { queryCore } from '../core/queryCore'; -import { permissionCore } from '../core/permissionCore'; -import { GraphQLError } from 'graphql'; -import { errorCodes } from '../errors'; -import { db } from '../../database/database'; import { DMPResolversMap } from './context'; +import { db } from '../../database/database'; +import { QueryCore } from '@itmat-broker/itmat-cores'; + +const queryCore = Object.freeze(new QueryCore(db)); export const queryResolvers: DMPResolversMap = { Query: { - getQueryById: async (parent, args: { queryId: string }, context) => { - const queryId = args.queryId; - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check query exists */ - const queryEntry = await db.collections.queries_collection.findOne({ id: queryId }, { projection: { _id: 0, claimedBy: 0 } }); - if (queryEntry === null || queryEntry === undefined) { - throw new GraphQLError('Query does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - /* check permission */ - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.query, - atomicOperation.READ, - requester, - queryEntry.studyId, - queryEntry.projectId - ); - - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.query, - atomicOperation.READ, - requester, - queryEntry.studyId - ); - if (!hasProjectLevelPermission && !hasStudyLevelPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - return queryEntry; + getQueryById: async (_parent, args: { queryId: string }, context) => { + return await queryCore.getQueryByIdparent(context.req.user, args.queryId); }, - getQueries: async (parent, args: { studyId: string, projectId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check permission */ - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.query, - atomicOperation.READ, - requester, - args.studyId, - args.projectId - ); - - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.query, - atomicOperation.READ, - requester, - args.studyId - ); - if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const entries = await db.collections.queries_collection.find({ studyId: args.studyId, projectId: args.projectId }).toArray(); - return entries; + getQueries: async (_parent, args: { studyId: string, projectId: string }, context) => { + return queryCore.getQueries(context.req.user, args.studyId, args.projectId); } }, Mutation: { - createQuery: async (parent, args: { query: { userId: string, queryString, studyId: string, projectId?: string } }) => { - /* check study exists */ - const studySearchResult = await db.collections.studies_collection.findOne({ id: args.query.studyId, deleted: null }); - if (studySearchResult === null || studySearchResult === undefined) { - throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - /* check project exists */ - const project = await db.collections.projects_collection.findOne>({ id: args.query.projectId, deleted: null }, { projection: { patientMapping: 0 } }); - if (project === null) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check project matches study */ - if (studySearchResult.id !== project.studyId) { - throw new GraphQLError('Study and project mismatch.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - - const entry = await queryCore.createQuery(args); - return entry; + createQuery: async (_parent, args: { query: { userId: string, queryString, studyId: string, projectId?: string } }) => { + return queryCore.createQuery(args.query.userId, args.query.queryString, args.query.studyId, args.query.projectId); } }, Subscription: {} diff --git a/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts index 112a2854e..3d71e53b1 100644 --- a/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/standardizationResolvers.ts @@ -1,174 +1,23 @@ -import { IProject, IStandardization, atomicOperation } from '@itmat-broker/itmat-types'; -import { permissionCore } from '../core/permissionCore'; -import { studyCore } from '../core/studyCore'; -import { GraphQLError } from 'graphql'; -import { errorCodes } from '../errors'; -import { db } from '../../database/database'; -import { v4 as uuid } from 'uuid'; -import { makeGenericReponse } from '../responses'; import { DMPResolversMap } from './context'; +import { db } from '../../database/database'; +import { StandarizationCore } from '@itmat-broker/itmat-cores'; +import { objStore } from '../../objStore/objStore'; + +const standardizationCore = Object.freeze(new StandarizationCore(db, objStore)); export const standardizationResolvers: DMPResolversMap = { Query: { - getStandardization: async (parent, { studyId, projectId, type, versionId }: { studyId: string, projectId: string, type?: string, versionId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - let modifiedStudyId = studyId; - /* check study exists */ - if (!studyId && !projectId) { - throw new GraphQLError('Either studyId or projectId should be provided.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - if (studyId) { - await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - } - if (projectId) { - const project: IProject = await studyCore.findOneProject_throwErrorIfNotExist(projectId); - modifiedStudyId = project.studyId; - } - - /* check permission */ - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId - ); - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId, - projectId - ); - if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - const study = await studyCore.findOneStudy_throwErrorIfNotExist(modifiedStudyId); - // get all dataVersions that are valid (before/equal the current version) - const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - if (hasStudyLevelPermission && hasStudyLevelPermission.hasVersioned && versionId === null) { - availableDataVersions.push(null); - } - const standardizations = await db.collections.standardizations_collection.aggregate([{ - $sort: { uploadedAt: -1 } - }, { - $match: { dataVersion: { $in: availableDataVersions } } - }, { - $match: { studyId: studyId, type: type ?? /^.*$/ } - }, { - $group: { - _id: { - type: '$type', - field: '$field' - }, - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { newRoot: '$doc' } - }, { - $match: { deleted: null } - } - ]).toArray(); - return standardizations as IStandardization[]; + getStandardization: async (_parent, { studyId, projectId, type, versionId }: { studyId: string, projectId: string, type?: string, versionId: string }, context) => { + return await standardizationCore.getStandardization(context.req.user, versionId, studyId, projectId, type); } }, Mutation: { - createStandardization: async (parent, { studyId, standardization }: { studyId: string, standardization }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.WRITE, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - /* check study exists */ - const studySearchResult = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); - if (studySearchResult === null || studySearchResult === undefined) { - throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - const stdRulesWithId = [...standardization.stdRules]; - stdRulesWithId.forEach(el => { - el.id = uuid(); - }); - if (!(permissionCore.checkDataEntryValid(hasPermission.raw, standardization.field[0].slice(1)))) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - const standardizationEntry: IStandardization = { - id: uuid(), - studyId: studyId, - type: standardization.type, - field: standardization.field, - path: standardization.path, - stdRules: stdRulesWithId || [], - joinByKeys: standardization.joinByKeys || [], - dataVersion: null, - metadata: standardization.metadata, - uploadedAt: Date.now(), - deleted: null - }; - - await db.collections.standardizations_collection.findOneAndUpdate({ studyId: studyId, type: standardization.type, field: standardization.field, dataVersion: null }, { - $set: { ...standardizationEntry } - }, { - upsert: true - }); - return standardizationEntry; + createStandardization: async (_parent, { studyId, standardization }: { studyId: string, standardization }, context) => { + return standardizationCore.createStandardization(context.req.user, studyId, standardization); }, - deleteStandardization: async (parent, { studyId, type, field }: { studyId: string, type: string, field: string[] }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.WRITE, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - if (!(permissionCore.checkDataEntryValid(hasPermission.raw, field[0].slice(1)))) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - /* check study exists */ - const studySearchResult = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); - if (studySearchResult === null || studySearchResult === undefined) { - throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - - // check type exists - const types: string[] = await db.collections.standardizations_collection.distinct('type', { studyId: studyId, deleted: null }); - if (!types.includes(type)) { - throw new GraphQLError('Type does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - const result = await db.collections.standardizations_collection.findOneAndUpdate({ studyId: studyId, field: field, type: type, dataVersion: null }, { - $set: { - id: uuid(), - studyId: studyId, - field: field, - type: type, - dataVersion: null, - uploadedAt: Date.now(), - deleted: Date.now() - } - }, { - upsert: true - }); - return makeGenericReponse(result?.id || ''); + deleteStandardization: async (_parent, { studyId, type, field }: { studyId: string, type: string, field: string[] }, context) => { + return standardizationCore.deleteStandardization(context.req.user, studyId, type, field); } }, Subscription: {} }; - -// function checkFieldEqual(fieldA: string[], fieldB: string[]) { -// return fieldA.length === fieldB.length && fieldA.every((value, index) => { -// return value === fieldB[index]; -// }); -// } diff --git a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts index 5df66725e..f2369165a 100644 --- a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts @@ -1,1617 +1,132 @@ -import { GraphQLError } from 'graphql'; import { IProject, IStudy, - IFieldEntry, studyType, IDataClip, - ISubjectDataRecordSummary, - IOntologyTree, - userTypes, - atomicOperation, - IPermissionManagementOptions, - IDataEntry, - enumValueType, - IQueryString, - IGroupedData, - IValueDescription + IOntologyTree } from '@itmat-broker/itmat-types'; -import { v4 as uuid } from 'uuid'; -import { db } from '../../database/database'; -import { permissionCore } from '../core/permissionCore'; -import { validateAndGenerateFieldEntry } from '../core/fieldCore'; -import { studyCore } from '../core/studyCore'; -import { errorCodes } from '../errors'; -import { IGenericResponse, makeGenericReponse } from '../responses'; -import { buildPipeline, translateMetadata } from '../../utils/query'; -import { dataStandardization } from '../../utils/query'; +import { CreateFieldInput, EditFieldInput, StudyCore } from '@itmat-broker/itmat-cores'; import { DMPResolversMap } from './context'; -import { Filter } from 'mongodb'; - -interface CreateFieldInput { - fieldId: string; - fieldName: string - tableName: string - dataType: enumValueType - possibleValues?: IValueDescription[] - unit?: string - comments?: string - metadata: Record -} +import { db } from '../../database/database'; +import { objStore } from '../../objStore/objStore'; -interface EditFieldInput { - fieldId: string; - fieldName: string; - tableName?: string; - dataType: enumValueType; - possibleValues?: IValueDescription[] - unit?: string - comments?: string -} +const studyCore = Object.freeze(new StudyCore(db, objStore)); export const studyResolvers: DMPResolversMap = { Query: { - getStudy: async (parent, args: { studyId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const studyId: string = args.studyId; - - /* user can get study if he has readonly permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.own, - atomicOperation.READ, - requester, - studyId - ); - if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - const study = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); - if (study === null || study === undefined) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - return study; + getStudy: async (_parent, args: { studyId: string }, context) => { + return studyCore.getStudy(context.req.user, args.studyId); }, - getProject: async (parent, args: { projectId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const projectId: string = args.projectId; - - /* get project */ // defer patientMapping since it's costly and not available to all users - const project = await db.collections.projects_collection.findOne({ id: projectId, deleted: null }, { projection: { patientMapping: 0 } }); - if (!project) - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - - /* check if user has permission */ - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.own, - atomicOperation.READ, - requester, - project.studyId, - projectId - ); - - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.own, - atomicOperation.READ, - requester, - project.studyId - ); - if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - return project; + getProject: async (_parent, args: { projectId: string }, context) => { + return await studyCore.getProject(context.req.user, args.projectId); }, - getStudyFields: async (parent, { studyId, projectId, versionId }: { studyId: string, projectId?: string, versionId?: string | null }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* user can get study if he has readonly permission */ - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId - ); - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId, - projectId - ); - if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const aggregatedPermissions = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); - - // the processes of requiring versioned data and unversioned data are different - // check the metadata:role:**** for versioned data directly - const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - // check the regular expressions for unversioned data - if (requester.type === userTypes.ADMIN) { - if (versionId === null) { - availableDataVersions.push(null); - } - const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } - }, { - $sort: { dateAdded: -1 } - }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); - } - // unversioned data could not be returned by metadata filters - if (versionId === null && aggregatedPermissions.hasVersioned) { - availableDataVersions.push(null); - const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } - }, { - $sort: { dateAdded: -1 } - }, { - $match: { - fieldId: { $in: aggregatedPermissions.raw.fieldIds.map((el: string) => new RegExp(el)) } - } - }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); - } else { - // metadata filter - const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; - aggregatedPermissions.matchObj.forEach((subMetadata) => { - subqueries.push(translateMetadata(subMetadata)); - }); - const metadataFilter = { $or: subqueries }; - const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } - }, { - $sort: { dateAdded: -1 } - }, { $match: metadataFilter }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }, { - $set: { metadata: null } - }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); - } + getStudyFields: async (_parent, { studyId, projectId, versionId }: { studyId: string, projectId?: string, versionId?: string | null }, context) => { + return await studyCore.getStudyFields(context.req.user, studyId, projectId, versionId); }, - getOntologyTree: async (parent, { studyId, projectId, treeName, versionId }: { studyId: string, projectId?: string, treeName?: string, versionId?: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* get studyId by parameter or project */ - const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - if (projectId) { - await studyCore.findOneProject_throwErrorIfNotExist(projectId); - } - - // we dont filters fields of an ontology tree by fieldIds - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.ontologyTrees, - atomicOperation.READ, - requester, - studyId, - projectId - ); - - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.ontologyTrees, - atomicOperation.READ, - requester, - studyId - ); - if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - // if versionId is null, we will only return trees whose data version is null - // this is a different behavior from getting fields or data - if (study.ontologyTrees === undefined) { - return []; - } else { - const trees: IOntologyTree[] = study.ontologyTrees; - if (hasStudyLevelPermission && versionId === null) { - const availableTrees: IOntologyTree[] = []; - for (let i = trees.length - 1; i >= 0; i--) { - if (trees[i].dataVersion === null - && availableTrees.filter(el => el.name === trees[i].name).length === 0) { - availableTrees.push(trees[i]); - } else { - continue; - } - } - if (treeName) { - return availableTrees.filter(el => el.name === treeName); - } else { - return availableTrees; - } - } else { - const availableTrees: IOntologyTree[] = []; - for (let i = trees.length - 1; i >= 0; i--) { - if (availableDataVersions.includes(trees[i].dataVersion || '') - && availableTrees.filter(el => el.name === trees[i].name).length === 0) { - availableTrees.push(trees[i]); - } else { - continue; - } - } - if (treeName) { - return availableTrees.filter(el => el.name === treeName); - } else { - return availableTrees; - } - } - } + getOntologyTree: async (_parent, { studyId, projectId, treeName, versionId }: { studyId: string, projectId?: string, treeName?: string, versionId?: string }, context) => { + return await studyCore.getOntologyTree(context.req.user, studyId, projectId, treeName, versionId); }, - checkDataComplete: async (parent, { studyId }: { studyId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* user can get study if he has readonly permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - // we only check data that hasnt been pushed to a new data version - const data: IDataEntry[] = await db.collections.data_collection.find({ - m_studyId: studyId, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } - }).toArray(); - const fieldMapping = (await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId } - }, { - $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } - }, { - $sort: { dateAdded: -1 } - }, { - $group: { - _id: '$fieldId', - doc: { $last: '$$ROOT' } - } - } - ]).toArray()).map(el => el['doc']).filter(eh => eh.dateDeleted === null).reduce((acc, curr) => { - acc[curr.fieldId] = curr; - return acc; - }, {}); - const summary: ISubjectDataRecordSummary[] = []; - // we will not check data whose fields are not defined, because data that the associated fields are undefined will not be returned while querying data - for (const record of data) { - let error: string | null = null; - if (fieldMapping[record.m_fieldId] !== undefined && fieldMapping[record.m_fieldId] !== null) { - switch (fieldMapping[record.m_fieldId].dataType) { - case 'dec': {// decimal - if (typeof record.value === 'number') { - if (!/^\d+(.\d+)?$/.test(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; - break; - } - break; - } - case 'int': {// integer - if (typeof record.value === 'number') { - if (!/^-?\d+$/.test(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as integer.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as integer.`; - break; - } - break; - } - case 'bool': {// boolean - if (typeof record.value !== 'boolean') { - error = `Field ${record.m_fieldId}: Cannot parse as boolean.`; - break; - } - break; - } - case 'str': { - break; - } - // 01/02/2021 00:00:00 - case 'date': { - if (typeof record.value === 'string') { - const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; - if (!record.value.match(matcher)) { - error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; - break; - } - break; - } - case 'json': { - break; - } - case 'file': { - if (typeof record.value === 'string') { - const file = await db.collections.files_collection.findOne({ id: record.value }); - if (!file) { - error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; - break; - } - break; - } - case 'cat': { - if (typeof record.value === 'string') { - if (!fieldMapping[record.m_fieldId].possibleValues.map((el) => el.code).includes(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; - break; - } - break; - } - default: { - error = `Field ${record.m_fieldId}: Invalid data Type.`; - break; - } - } - } - error && summary.push({ - subjectId: record.m_subjectId, - visitId: record.m_visitId, - fieldId: record.m_fieldId, - error: error - }); - } - - return summary; + checkDataComplete: async (_parent, { studyId }: { studyId: string }, context) => { + return await studyCore.checkDataComplete(context.req.user, studyId); }, - getDataRecords: async (parent, { studyId, queryString, versionId, projectId }: { queryString, studyId: string, versionId: string | null | undefined, projectId?: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* user can get study if he has readonly permission */ - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId - ); - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId, - projectId - ); - if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const aggregatedPermissions = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); - - let availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - let fieldRecords: IFieldEntry[] = []; - let result; - let metadataFilter; - // we obtain the data by different requests - // admin used will not filtered by metadata filters - if (requester.type === userTypes.ADMIN) { - if (versionId !== undefined) { - if (versionId === null) { - availableDataVersions.push(null); - } else if (versionId === '-1') { - availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; - } else { - availableDataVersions = [versionId]; - } - } - - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } - }, { - $sort: { dateAdded: -1 } - }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }]).toArray(); - if (queryString.data_requested?.length > 0) { - fieldRecords = fieldRecords.filter(el => queryString.data_requested.includes(el.fieldId)); - } - const pipeline = buildPipeline(queryString, studyId, availableDataVersions, fieldRecords, undefined, true, versionId === null); - result = await db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); - } else { - const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; - aggregatedPermissions.matchObj.forEach((subMetadata) => { - subqueries.push(translateMetadata(subMetadata)); - }); - metadataFilter = { $or: subqueries }; - // unversioned data: metadatafilter for versioned data and all unversioned tags - if (versionId === null && aggregatedPermissions.hasVersioned) { - availableDataVersions.push(null); - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } - }, { - $sort: { dateAdded: -1 } - }, { - $match: { - $or: [ - metadataFilter, - { m_versionId: null } - ] - } - }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }]).toArray(); - if (queryString.data_requested?.length > 0) { - fieldRecords = fieldRecords.filter(el => queryString.data_requested.includes(el.fieldId)); - } - } else if (versionId === undefined || versionId === '-1') { - if (versionId === '-1') { - availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; - } - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } - }, { - $sort: { dateAdded: -1 } - }, { - $match: { - $or: [ - metadataFilter - ] - } - }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }]).toArray(); - if (queryString.data_requested?.length > 0) { - fieldRecords = fieldRecords.filter(el => queryString.data_requested.includes(el.fieldId)); - } - } else if (versionId !== undefined) { - availableDataVersions = [versionId]; - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } - }, { - $sort: { dateAdded: -1 } - }, { - $match: { - $or: [ - metadataFilter - ] - } - }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }]).toArray(); - if (queryString.data_requested?.length > 0) { - fieldRecords = fieldRecords.filter(el => queryString.data_requested.includes(el.fieldId)); - } - } - - // TODO: placeholder for metadata filter - // if (queryString.metadata) { - // metadataFilter = { $and: queryString.metadata.map((el) => translateMetadata(el)) }; - // } - const pipeline = buildPipeline(queryString, studyId, availableDataVersions, fieldRecords, metadataFilter, false, versionId === null && aggregatedPermissions.hasVersioned); - result = await db.collections.data_collection.aggregate(pipeline, { allowDiskUse: true }).toArray(); - } - // post processing the data - // 2. update to the latest data; start from first record - const groupedResult: IGroupedData = {}; - for (let i = 0; i < result.length; i++) { - const { m_subjectId, m_visitId, m_fieldId, value } = result[i]; - if (!groupedResult[m_subjectId]) { - groupedResult[m_subjectId] = {}; - } - if (!groupedResult[m_subjectId][m_visitId]) { - groupedResult[m_subjectId][m_visitId] = {}; - } - groupedResult[m_subjectId][m_visitId][m_fieldId] = value; - } - - // 2. adjust format: 1) original(exists) 2) standardized - $name 3) grouped - // when standardized data, versionId should not be specified - const standardizations = versionId === null ? null : await db.collections.standardizations_collection.find({ studyId: studyId, type: queryString['format'].split('-')[1], delete: null, dataVersion: { $in: availableDataVersions } }).toArray(); - const formattedData = dataStandardization(study, fieldRecords, - groupedResult, queryString, standardizations); - return { data: formattedData }; + getDataRecords: async (_parent, { studyId, queryString, versionId, projectId }: { queryString, studyId: string, versionId: string | null | undefined, projectId?: string }, context) => { + return await studyCore.getDataRecords(context.req.user, queryString, studyId, versionId, projectId); } }, Study: { projects: async (study: IStudy) => { - return await db.collections.projects_collection.find({ studyId: study.id, deleted: null }).toArray(); + return await studyCore.getStudyProjects(study); }, jobs: async (study: IStudy) => { - return await db.collections.jobs_collection.find({ studyId: study.id }).toArray(); + return await studyCore.getStudyJobs(study); }, roles: async (study: IStudy) => { - return await db.collections.roles_collection.find({ studyId: study.id, projectId: undefined, deleted: null }).toArray(); + return await studyCore.getStudyRoles(study); }, - files: async (study: IStudy, args: never, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - study.id - ); - - if (!hasPermission) { - return []; - } - const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const fileFieldIds: string[] = (await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } - }, { $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { - $sort: { dateAdded: -1 } - }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }]).toArray()).map(el => el.fieldId); - let adds: string[] = []; - let removes: string[] = []; - // versioned data - if (requester.type === userTypes.ADMIN) { - const fileRecords = await db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_fieldId: { $in: fileFieldIds } } - }]).toArray(); - adds = fileRecords.map(el => el.metadata?.add || []).flat(); - removes = fileRecords.map(el => el.metadata?.remove || []).flat(); - } else { - const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; - hasPermission.matchObj.forEach((subMetadata) => { - subqueries.push(translateMetadata(subMetadata)); - }); - const metadataFilter = { $or: subqueries }; - const versionedFileRecors = await db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } - }, { - $match: metadataFilter - }]).toArray(); - - const filters: Filter[] = []; - for (const role of hasPermission.roleraw) { - if (!(role.hasVersioned)) { - continue; - } - filters.push({ - m_subjectId: { $in: role.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: role.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: role.fieldIds.map((el: string) => new RegExp(el)) }, - m_versionId: null - }); - } - let unversionedFileRecords: IDataEntry[] = []; - if (filters.length !== 0) { - unversionedFileRecords = await db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: null, m_fieldId: { $in: fileFieldIds } } - }, { - $match: { $or: filters } - }]).toArray(); - } - adds = versionedFileRecors.map(el => el.metadata?.add || []).flat(); - removes = versionedFileRecors.map(el => el.metadata?.remove || []).flat(); - adds = adds.concat(unversionedFileRecords.map(el => el.metadata?.add || []).flat()); - removes = removes.concat(unversionedFileRecords.map(el => el.metadata?.remove || []).flat()); - } - return await db.collections.files_collection.find({ studyId: study.id, deleted: null, $or: [{ id: { $in: adds, $nin: removes } }, { description: JSON.stringify({}) }] }).sort({ uploadTime: -1 }).toArray(); + files: async (study: IStudy, _args: never, context) => { + return await studyCore.getStudyFiles(context.req.user, study); }, - subjects: async (study: IStudy, args: never, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - study.id - ); - if (!hasPermission) { - return [[], []]; - } - const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const versionedSubjects = (await db.collections.data_collection.distinct('m_subjectId', { - m_studyId: study.id, - m_versionId: availableDataVersions[availableDataVersions.length - 1], - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } - })).sort() || []; - const unVersionedSubjects = hasPermission.hasVersioned ? (await db.collections.data_collection.distinct('m_subjectId', { - m_studyId: study.id, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } - })).sort() || [] : []; - return [versionedSubjects, unVersionedSubjects]; + subjects: async (study: IStudy, _args: never, context) => { + return await studyCore.getStudySubjects(context.req.user, study); }, - visits: async (study: IStudy, args: never, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - study.id - ); - if (!hasPermission) { - return [[], []]; - } - const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const versionedVisits = (await db.collections.data_collection.distinct('m_visitId', { - m_studyId: study.id, - m_versionId: availableDataVersions[availableDataVersions.length - 1], - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } - })).sort((a, b) => parseFloat(a) - parseFloat(b)); - const unVersionedVisits = hasPermission.hasVersioned ? (await db.collections.data_collection.distinct('m_visitId', { - m_studyId: study.id, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } - })).sort((a, b) => parseFloat(a) - parseFloat(b)) : []; - return [versionedVisits, unVersionedVisits]; + visits: async (study: IStudy, _args: never, context) => { + return await studyCore.getStudyVisits(context.req.user, study); }, - numOfRecords: async (study: IStudy, args: never, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - study.id - ); - if (!hasPermission) { - return [0, 0]; - } - const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const numberOfVersioned: number = (await db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: availableDataVersions[availableDataVersions.length - 1], value: { $ne: null } } - }, { - $match: { - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } - } - }, { - $count: 'count' - }]).toArray())[0]?.['count'] || 0; - const numberOfUnVersioned: number = hasPermission.hasVersioned ? (await db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: null, value: { $ne: null } } - }, { - $match: { - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } - } - }, { - $count: 'count' - }]).toArray())[0]?.['count'] || 0 : 0; - return [numberOfVersioned, numberOfUnVersioned]; + numOfRecords: async (study: IStudy, _args: never, context) => { + return await studyCore.getStudyNumOfRecords(context.req.user, study); }, currentDataVersion: async (study: IStudy) => { - return study.currentDataVersion === -1 ? null : study.currentDataVersion; + return studyCore.getStudyCurrentDataVersion(study); } }, Project: { - fields: async (project: Omit, args: never, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - project.studyId, - project.id - ); - if (!hasProjectLevelPermission) { return []; } - // get all dataVersions that are valid (before the current version) - const study = await studyCore.findOneStudy_throwErrorIfNotExist(project.studyId); - - // the processes of requiring versioned data and unversioned data are different - // check the metadata:role:**** for versioned data directly - // check the regular expressions for unversioned data - const availableDataVersions: string[] = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const availableTrees: IOntologyTree[] = []; - const trees: IOntologyTree[] = study.ontologyTrees || []; - for (let i = trees.length - 1; i >= 0; i--) { - if (availableDataVersions.includes(trees[i].dataVersion || '') - && availableTrees.filter(el => el.name === trees[i].name).length === 0) { - availableTrees.push(trees[i]); - } else { - continue; - } - } - if (availableTrees.length === 0) { - return []; - } - const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - let fieldRecords: IFieldEntry[] = []; - if (requester.type === userTypes.ADMIN) { - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } - }, { - $group: { - _id: '$fieldId', - doc: { $last: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }, { - $set: { metadata: null } - }]).toArray(); - } else { - // metadata filter - const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; - hasProjectLevelPermission.matchObj.forEach((subMetadata) => { - subqueries.push(translateMetadata(subMetadata)); - }); - const metadataFilter = { $or: subqueries }; - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } - }, { $match: metadataFilter }, { - $group: { - _id: '$fieldId', - doc: { $last: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }, { - $set: { metadata: null } - }]).toArray(); - } - return fieldRecords; + fields: async (project: Omit, _args: never, context) => { + return await studyCore.getProjectFields(context.req.user, project); }, jobs: async (project: Omit) => { - return await db.collections.jobs_collection.find({ studyId: project.studyId, projectId: project.id }).toArray(); + return await studyCore.getProjectJobs(project); }, - files: async (project: Omit, args: never, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - project.studyId, - project.id - ); - if (!hasPermission) { - return []; - } - const study = await studyCore.findOneStudy_throwErrorIfNotExist(project.studyId); - const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const availableTrees: IOntologyTree[] = []; - const trees: IOntologyTree[] = study.ontologyTrees || []; - for (let i = trees.length - 1; i >= 0; i--) { - if (availableDataVersions.includes(trees[i].dataVersion || '') - && availableTrees.filter(el => el.name === trees[i].name).length === 0) { - availableTrees.push(trees[i]); - } else { - continue; - } - } - if (availableTrees.length === 0) { - return []; - } - const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - const fileFieldIds: string[] = (await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } - }, { $match: { $and: [{ fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } }, { fieldId: { $in: ontologyTreeFieldIds } }] } }, { - $group: { - _id: '$fieldId', - doc: { $last: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }, { - $sort: { fieldId: 1 } - }]).toArray()).map(el => el.fieldId); - let add: string[] = []; - let remove: string[] = []; - if (Object.keys(hasPermission.matchObj).length === 0) { - (await db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } - }]).toArray()).forEach(element => { - add = add.concat(element.metadata?.add || []); - remove = remove.concat(element.metadata?.remove || []); - }); - } else { - const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; - hasPermission.matchObj.forEach((subMetadata) => { - subqueries.push(translateMetadata(subMetadata)); - }); - const metadataFilter = { $or: subqueries }; - (await db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } - }, { - $match: metadataFilter - }]).toArray()).forEach(element => { - add = add.concat(element.metadata?.add || []); - remove = remove.concat(element.metadata?.remove || []); - }); - } - return await db.collections.files_collection.find({ $and: [{ id: { $in: add } }, { id: { $nin: remove } }] }).toArray(); + files: async (project: Omit, _args: never, context) => { + return await studyCore.getProjectFiles(context.req.user, project); }, dataVersion: async (project: IProject) => { - const study = await db.collections.studies_collection.findOne({ id: project.studyId, deleted: null }); - if (study === undefined || study === null) { - return null; - } - if (study.currentDataVersion === -1) { - return null; - } - return study.dataVersions[study?.currentDataVersion]; + return await studyCore.getProjectDataVersion(project); }, - summary: async (project: IProject, args: never, context) => { - const summary = {}; - const study = await db.collections.studies_collection.findOne({ id: project.studyId }); - if (study === undefined || study === null || study.currentDataVersion === -1) { - return summary; - } - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* user can get study if he has readonly permission */ - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - project.studyId - ); - const hasProjectLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - project.studyId, - project.id - ); - if (!hasStudyLevelPermission && !hasProjectLevelPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - // get all dataVersions that are valid (before the current version) - const aggregatedPermissions = permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); - - let metadataFilter; - - const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - // ontology trees - const availableTrees: IOntologyTree[] = []; - const trees: IOntologyTree[] = study.ontologyTrees || []; - for (let i = trees.length - 1; i >= 0; i--) { - if (availableDataVersions.includes(trees[i].dataVersion || '') - && availableTrees.filter(el => el.name === trees[i].name).length === 0) { - availableTrees.push(trees[i]); - } else { - continue; - } - } - // const ontologyTreeFieldIds = (availableTrees[0]?.routes || []).map(el => el.field[0].replace('$', '')); - - let fieldRecords; - if (requester.type === userTypes.ADMIN) { - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } - }, { - $group: { - _id: '$fieldId', - doc: { $last: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }]).toArray(); - } else { - const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; - aggregatedPermissions.matchObj.forEach((subMetadata) => { - subqueries.push(translateMetadata(subMetadata)); - }); - metadataFilter = { $or: subqueries }; - fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } - }, { $match: metadataFilter }, { - $group: { - _id: '$fieldId', - doc: { $last: '$$ROOT' } - } - }, { - $replaceRoot: { - newRoot: '$doc' - } - }]).toArray(); - } - // fieldRecords = fieldRecords.filter(el => ontologyTreeFieldIds.includes(el.fieldId)); - const emptyQueryString: IQueryString = { - cohort: [[]], - new_fields: [] - }; - const pipeline = buildPipeline(emptyQueryString, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IFieldEntry[], metadataFilter, requester.type === userTypes.ADMIN, false); - const result = await db.collections.data_collection.aggregate<{ m_subjectId: string, m_visitId: string, m_fieldId: string, value: unknown }>(pipeline, { allowDiskUse: true }).toArray(); - summary['subjects'] = Array.from(new Set(result.map((el) => el.m_subjectId))).sort(); - summary['visits'] = Array.from(new Set(result.map((el) => el.m_visitId))).sort((a, b) => parseFloat(a) - parseFloat(b)).sort(); - summary['standardizationTypes'] = (await db.collections.standardizations_collection.distinct('type', { studyId: study.id, deleted: null })).sort(); - return summary; + summary: async (project: IProject, _args: never, context) => { + return await studyCore.getProjectSummary(context.req.user, project); }, - patientMapping: async (project: Omit, args: never, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (!(await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, // patientMapping is not visible to project users; only to study users. - requester, - project.studyId - ))) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - /* returning */ - const result = - await db.collections.projects_collection.findOne( - { id: project.id, deleted: null }, - { projection: { patientMapping: 1 } } - ); - if (result && result.patientMapping) { - return result.patientMapping; - } else { - return null; - } + patientMapping: async (project: IProject, _args: never, context) => { + return await studyCore.getProjectPatientMapping(context.req.user, project); }, roles: async (project: IProject) => { - return await db.collections.roles_collection.find({ studyId: project.studyId, projectId: project.id, deleted: null }).toArray(); + return await studyCore.getProjectRoles(project); }, - iCanEdit: async (project: IProject) => { // TO_DO - await db.collections.roles_collection.findOne({ - studyId: project.studyId, - projectId: project.id - // permissions: permissions.specific_project.specifi - }); + iCanEdit: async () => { // TO_DO return true; } }, Mutation: { - createStudy: async (parent, { name, description, type }: { name: string, description: string, type: studyType }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (requester.type !== userTypes.ADMIN) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - /* create study */ - const study = await studyCore.createNewStudy(name, description, type, requester.id); - return study; + createStudy: async (_parent, { name, description, type }: { name: string, description: string, type: studyType }, context) => { + return await studyCore.createNewStudy(context.req.user, name, description, type); }, - editStudy: async (parent, { studyId, description }: { studyId: string, description: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (requester.type !== userTypes.ADMIN) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - /* create study */ - const study = await studyCore.editStudy(studyId, description); - return study; + editStudy: async (_parent, { studyId, description }: { studyId: string, description: string }, context) => { + return await studyCore.editStudy(context.req.user, studyId, description); }, - createNewField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput: CreateFieldInput[] }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - /* user can get study if he has readonly permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.WRITE, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - // check study exists - await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - - const response: IGenericResponse[] = []; - let isError = false; - const bulk = db.collections.field_dictionary_collection.initializeUnorderedBulkOp(); - // remove duplicates by fieldId - const keysToCheck = ['fieldId']; - const filteredFieldInput = fieldInput.filter( - (s => o => (k => !s.has(k) && s.add(k))(keysToCheck.map(k => o[k]).join('|')))(new Set()) - ); - // check fieldId duplicate - for (const oneFieldInput of filteredFieldInput) { - isError = false; - // check data valid - if (!(permissionCore.checkDataEntryValid(hasPermission.raw, oneFieldInput.fieldId))) { - isError = true; - response.push({ successful: false, code: errorCodes.NO_PERMISSION_ERROR, description: 'You do not have permissions to create this field.' }); - continue; - } - const { fieldEntry, error: thisError } = validateAndGenerateFieldEntry(oneFieldInput, requester); - if (thisError.length !== 0) { - response.push({ successful: false, code: errorCodes.CLIENT_MALFORMED_INPUT, description: `Field ${oneFieldInput.fieldId || 'fieldId not defined'}-${oneFieldInput.fieldName || 'fieldName not defined'}: ${JSON.stringify(thisError)}` }); - isError = true; - } else { - response.push({ successful: true, description: `Field ${oneFieldInput.fieldId}-${oneFieldInput.fieldName} is created successfully.` }); - } - // // construct the rest of the fields - if (!isError) { - const newFieldEntry: IFieldEntry = { - ...fieldEntry, - fieldId: oneFieldInput.fieldId, - fieldName: oneFieldInput.fieldName, - dataType: oneFieldInput.dataType, - id: uuid(), - studyId: studyId, - dataVersion: null, - dateAdded: Date.now(), - dateDeleted: null, - metadata: { - uploader: requester.id - } - }; - bulk.find({ - fieldId: fieldEntry.fieldId, - studyId: studyId, - dataVersion: null - }).upsert().updateOne({ $set: newFieldEntry }); - } - } - if (bulk.batches.length > 0) { - await bulk.execute(); - } - return response; + createNewField: async (_parent, { studyId, fieldInput }: { studyId: string, fieldInput: CreateFieldInput[] }, context) => { + return await studyCore.createNewField(context.req.user, studyId, fieldInput); }, - editField: async (parent, { studyId, fieldInput }: { studyId: string, fieldInput: EditFieldInput }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (requester.type !== userTypes.ADMIN) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - // check fieldId exist - const searchField = await db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); - if (!searchField) { - throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - searchField.fieldId = fieldInput.fieldId; - searchField.fieldName = fieldInput.fieldName; - searchField.dataType = fieldInput.dataType; - if (fieldInput.tableName) { - searchField.tableName = fieldInput.tableName; - } - if (fieldInput.unit) { - searchField.unit = fieldInput.unit; - } - if (fieldInput.possibleValues) { - searchField.possibleValues = fieldInput.possibleValues; - } - if (fieldInput.tableName) { - searchField.tableName = fieldInput.tableName; - } - if (fieldInput.comments) { - searchField.comments = fieldInput.comments; - } - - const { fieldEntry, error } = validateAndGenerateFieldEntry(searchField, requester); - if (error.length !== 0) { - throw new GraphQLError(JSON.stringify(error), { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); - } - const newFieldEntry = { ...fieldEntry, id: searchField.id, dateAdded: searchField.dateAdded, deleted: searchField.dateDeleted, studyId: searchField.studyId }; - await db.collections.field_dictionary_collection.findOneAndUpdate({ studyId: studyId, fieldId: newFieldEntry.fieldId }, { $set: newFieldEntry }); - - return newFieldEntry; - + editField: async (_parent, { studyId, fieldInput }: { studyId: string, fieldInput: EditFieldInput }, context) => { + return await studyCore.editField(context.req.user, studyId, fieldInput); }, - deleteField: async (parent, { studyId, fieldId }: { studyId: string, fieldId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.WRITE, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - if (!(await permissionCore.checkDataEntryValid(hasPermission.raw, fieldId))) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - // check fieldId exist - const searchField = await db.collections.field_dictionary_collection.find({ studyId: studyId, fieldId: fieldId, dateDeleted: null }).limit(1).sort({ dateAdded: -1 }).toArray(); - if (searchField.length === 0 || searchField[0].dateDeleted !== null) { - throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - - const fieldEntry = { - id: uuid(), - studyId: studyId, - fieldId: searchField[0].fieldId, - fieldName: searchField[0].fieldName, - tableName: searchField[0].tableName, - dataType: searchField[0].dataType, - possibleValues: searchField[0].possibleValues, - unit: searchField[0].unit, - comments: searchField[0].comments, - dataVersion: null, - dateAdded: (new Date()).valueOf(), - dateDeleted: (new Date()).valueOf() - }; - await db.collections.field_dictionary_collection.insertOne(fieldEntry); - return searchField[0]; - + deleteField: async (_parent, { studyId, fieldId }: { studyId: string, fieldId: string }, context) => { + return await studyCore.deleteField(context.req.user, studyId, fieldId); }, - uploadDataInArray: async (parent, { studyId, data }: { studyId: string, data: IDataClip[] }, context) => { - // check study exists - const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - /* user can get study if he has readonly permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.WRITE, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - // find the fieldsList, including those that have not been versioned, same method as getStudyFields - // get all dataVersions that are valid (before/equal the current version) - const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const fieldRecords = await db.collections.field_dictionary_collection.aggregate([{ - $sort: { dateAdded: -1 } - }, { - $match: { $or: [{ dataVersion: null }, { dataVersion: { $in: availableDataVersions } }] } - }, { - $match: { studyId: studyId } - }, { - $group: { - _id: '$fieldId', - doc: { $first: '$$ROOT' } - } - } - ]).toArray(); - // filter those that have been deleted - const fieldsList = fieldRecords.map(el => el['doc']).filter(eh => eh.dateDeleted === null); - const response = (await studyCore.uploadOneDataClip(studyId, hasPermission.raw, fieldsList, data, requester)); - - return response; + uploadDataInArray: async (_parent, { studyId, data }: { studyId: string, data: IDataClip[] }, context) => { + return await studyCore.uploadDataInArray(context.req.user, studyId, data); }, - deleteDataRecords: async (parent, { studyId, subjectIds, visitIds, fieldIds }: { studyId: string, subjectIds: string[], visitIds: string[], fieldIds: string[] }, context) => { - // check study exists - await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - const response: IGenericResponse[] = []; - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - const hasPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.WRITE, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - let validSubjects: string[]; - let validVisits: string[]; - let validFields; - // filter - if (subjectIds === undefined || subjectIds === null || subjectIds.length === 0) { - validSubjects = (await db.collections.data_collection.distinct('m_subjectId', { m_studyId: studyId })); - } else { - validSubjects = subjectIds; - } - if (visitIds === undefined || visitIds === null || visitIds.length === 0) { - validVisits = (await db.collections.data_collection.distinct('m_visitId', { m_studyId: studyId })); - } else { - validVisits = visitIds; - } - if (fieldIds === undefined || fieldIds === null || fieldIds.length === 0) { - validFields = (await db.collections.field_dictionary_collection.distinct('fieldId', { studyId: studyId })); - } else { - validFields = fieldIds; - } - - const bulk = db.collections.data_collection.initializeUnorderedBulkOp(); - for (const subjectId of validSubjects) { - for (const visitId of validVisits) { - for (const fieldId of validFields) { - if (!(await permissionCore.checkDataEntryValid(hasPermission.raw, fieldId, subjectId, visitId))) { - continue; - } - bulk.find({ m_studyId: studyId, m_subjectId: subjectId, m_visitId: visitId, m_fieldId: fieldId, m_versionId: null }).upsert().updateOne({ - $set: { - m_studyId: studyId, - m_subjectId: subjectId, - m_visitId: visitId, - m_versionId: null, - m_fieldId: fieldId, - value: null, - uploadedAt: (new Date()).valueOf(), - id: uuid() - } - }); - response.push({ successful: true, description: `SubjectId-${subjectId}:visitId-${visitId}:fieldId-${fieldId} is deleted.` }); - } - } - } - if (bulk.batches.length > 0) { - await bulk.execute(); - } - return response; + deleteDataRecords: async (_parent, { studyId, subjectIds, visitIds, fieldIds }: { studyId: string, subjectIds: string[], visitIds: string[], fieldIds: string[] }, context) => { + return await studyCore.deleteDataRecords(context.req.user, studyId, subjectIds, visitIds, fieldIds); }, - createNewDataVersion: async (parent, { studyId, dataVersion, tag }: { studyId: string, dataVersion: string, tag: string }, context) => { - // check study exists - await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* check privileges */ - if (requester.type !== userTypes.ADMIN) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - // check dataVersion name valid - if (!/^\d{1,3}(\.\d{1,2}){0,2}$/.test(dataVersion)) { - throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); - } - - const created = await studyCore.createNewDataVersion(studyId, tag, dataVersion); - if (created === null) { - throw new GraphQLError('No matched or modified records', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); - } - return created; + createNewDataVersion: async (_parent, { studyId, dataVersion, tag }: { studyId: string, dataVersion: string, tag: string }, context) => { + return await studyCore.createNewDataVersion(context.req.user, studyId, dataVersion, tag); }, - createOntologyTree: async (parent, { studyId, ontologyTree }: { studyId: string, ontologyTree: Pick }, context) => { - /* check study exists */ - const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* user can get study if he has readonly permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.ontologyTrees, - atomicOperation.WRITE, - requester, - studyId - ); - if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - // in case of old documents whose ontologyTrees are invalid - if (study.ontologyTrees === undefined || study.ontologyTrees === null) { - await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { - $set: { - ontologyTrees: [] - } - }); - } - const ontologyTreeWithId: Partial = { ...ontologyTree }; - ontologyTreeWithId.id = uuid(); - ontologyTreeWithId.routes = ontologyTreeWithId.routes || []; - ontologyTreeWithId.routes.forEach(el => { - el.id = uuid(); - el.visitRange = el.visitRange || []; - }); - await db.collections.studies_collection.findOneAndUpdate({ - id: studyId, deleted: null, ontologyTrees: { - $not: { - $elemMatch: { - name: ontologyTree.name, - dataVersion: null - } - } - } - }, { - $addToSet: { - ontologyTrees: ontologyTreeWithId - } - }); - await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null, ontologyTrees: { $elemMatch: { name: ontologyTreeWithId.name, dataVersion: null } } }, { - $set: { - 'ontologyTrees.$.routes': ontologyTreeWithId.routes, - 'ontologyTrees.$.dataVersion': null, - 'ontologyTrees.$.deleted': null - } - }); - return ontologyTreeWithId as IOntologyTree; + createOntologyTree: async (_parent, { studyId, ontologyTree }: { studyId: string, ontologyTree: Pick }, context) => { + return await studyCore.createOntologyTree(context.req.user, studyId, ontologyTree); }, - deleteOntologyTree: async (parent, { studyId, treeName }: { studyId: string, treeName: string }, context) => { - /* check study exists */ - await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* user can get study if he has readonly permission */ - const hasPermission = await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.ontologyTrees, - atomicOperation.WRITE, - requester, - studyId - ); - if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - - const resultAdd = await db.collections.studies_collection.findOneAndUpdate({ - id: studyId, deleted: null, ontologyTrees: { - $not: { - $elemMatch: { - name: treeName, - dataVersion: null - } - } - } - }, { - $addToSet: { - ontologyTrees: { - id: uuid(), - name: treeName, - dataVersion: null, - deleted: Date.now().valueOf() - } - } - }); - const resultUpdate = await db.collections.studies_collection.findOneAndUpdate({ - id: studyId, deleted: null, ontologyTrees: { $elemMatch: { name: treeName, dataVersion: null } } - }, { - $set: { - 'ontologyTrees.$.deleted': Date.now().valueOf(), - 'ontologyTrees.$.routes': undefined - } - }); - if (resultAdd || resultUpdate) { - return makeGenericReponse(treeName); - } else { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - + deleteOntologyTree: async (_parent, { studyId, treeName }: { studyId: string, treeName: string }, context) => { + return await studyCore.deleteOntologyTree(context.req.user, studyId, treeName); }, - createProject: async (parent, { studyId, projectName }: { studyId: string, projectName: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (!(await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.own, - atomicOperation.WRITE, - requester, - studyId - ))) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - /* making sure that the study exists first */ - await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - - /* create project */ - const project = await studyCore.createProjectForStudy(studyId, projectName, requester.id); - return project; + createProject: async (_parent, { studyId, projectName }: { studyId: string, projectName: string }, context) => { + return await studyCore.createProjectForStudy(context.req.user, studyId, projectName); }, - deleteProject: async (parent, { projectId }: { projectId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const project = await studyCore.findOneProject_throwErrorIfNotExist(projectId); - - /* check privileges */ - if (!(await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.own, - atomicOperation.WRITE, - requester, - project.studyId - ))) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - /* delete project */ - await studyCore.deleteProject(projectId); - return makeGenericReponse(projectId); + deleteProject: async (_parent, { projectId }: { projectId: string }, context) => { + return await studyCore.deleteProject(context.req.user, projectId); }, - deleteStudy: async (parent, { studyId }: { studyId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (requester.type !== userTypes.ADMIN) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - const study = await db.collections.studies_collection.findOne({ id: studyId, deleted: null }); - - if (study) { - /* delete study */ - await studyCore.deleteStudy(studyId); - } else { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - return makeGenericReponse(studyId); + deleteStudy: async (_parent, { studyId }: { studyId: string }, context) => { + return await studyCore.deleteStudy(context.req.user, studyId); }, - setDataversionAsCurrent: async (parent, { studyId, dataVersionId }: { studyId: string, dataVersionId: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (!(await permissionCore.userHasTheNeccessaryManagementPermission( - IPermissionManagementOptions.own, - atomicOperation.WRITE, - requester, - studyId - ))) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - const study = await studyCore.findOneStudy_throwErrorIfNotExist(studyId); - - /* check whether the dataversion exists */ - const selectedataVersionFiltered = study.dataVersions.filter((el) => el.id === dataVersionId); - if (selectedataVersionFiltered.length !== 1) { - throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); - } - - /* create a new dataversion with the same contentId */ - // const newDataVersion: IStudyDataVersion = { - // ...selectedataVersionFiltered[0], - // id: uuid() - // }; - - /* add this to the database */ - // const result = await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { - // $push: { dataVersions: newDataVersion }, $inc: { currentDataVersion: 1 } - // }, { returnDocument: 'after' }); - - /* update the currentversion field in database */ - const versionIdsList = study.dataVersions.map((el) => el.id); - const result = await db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { - $set: { currentDataVersion: versionIdsList.indexOf(dataVersionId) } - }, { - returnDocument: 'after' - }); - - if (result) { - return result; - } else { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - - - + setDataversionAsCurrent: async (_parent, { studyId, dataVersionId }: { studyId: string, dataVersionId: string }, context) => { + return await studyCore.setDataversionAsCurrent(context.req.user, studyId, dataVersionId); } }, Subscription: {} diff --git a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts index 8e362fef1..3a68de6b3 100644 --- a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts @@ -1,826 +1,66 @@ -import { ApolloServerErrorCode } from '@apollo/server/errors'; -import { } from '@apollo/server'; -import { GraphQLError } from 'graphql'; -import bcrypt from 'bcrypt'; -import crypto from 'crypto'; -import { mailer } from '../../emailer/emailer'; -import { IProject, IStudy, IUser, IUserWithoutToken, IResetPasswordRequest, userTypes } from '@itmat-broker/itmat-types'; -import { Logger } from '@itmat-broker/itmat-commons'; -import { v4 as uuid } from 'uuid'; +import { IUserWithoutToken } from '@itmat-broker/itmat-types'; +import { CreateUserInput, EditUserInput, UserCore } from '@itmat-broker/itmat-cores'; +import { DMPResolversMap } from './context'; import { db } from '../../database/database'; +import { mailer } from '../../emailer/emailer'; import config from '../../utils/configManager'; -import { userCore } from '../core/userCore'; -import { errorCodes } from '../errors'; -import { IGenericResponse, makeGenericReponse } from '../responses'; -import * as mfa from '../../utils/mfa'; -import QRCode from 'qrcode'; -import tmp from 'tmp'; -import { DMPResolversMap } from './context'; -import { UpdateFilter } from 'mongodb'; - -type CreateUserInput = { - username: string, - firstname: string, - lastname: string, - email: string, - emailNotificationsActivated?: boolean, - password: string, - description?: string, - organisation: string, - metadata: unknown -} - -type EditUserInput = { - id: string, - username?: string, - type?: userTypes, - firstname?: string, - lastname?: string, - email?: string, - emailNotificationsActivated?: boolean, - emailNotificationsStatus?: unknown, - password?: string, - description?: string, - organisation?: string, - expiredAt?: number, - metadata?: unknown -} - +const userCore = Object.freeze(new UserCore(db, mailer, config)); export const userResolvers: DMPResolversMap = { Query: { - whoAmI: (parent, args, context) => { + whoAmI: (_parent, _args, context) => { return context.req.user; }, - getUsers: async (parent, args: { userId?: string }) => { - // everyone is allowed to see all the users in the app. But only admin can access certain fields, like emails, etc - see resolvers for User type. - const queryObj = args.userId === undefined ? { deleted: null } : { deleted: null, id: args.userId }; - const cursor = db.collections.users_collection.find(queryObj, { projection: { _id: 0 } }); - return cursor.toArray(); + getUsers: async (_parent, args: { userId?: string }) => { + return await userCore.getUsers(args.userId); }, - validateResetPassword: async (parent, args: { token: string, encryptedEmail: string }) => { - /* decrypt email */ - const salt = makeAESKeySalt(args.token); - const iv = makeAESIv(args.token); - let email; - try { - email = await decryptEmail(args.encryptedEmail, salt, iv); - } catch (e) { - throw new GraphQLError('Token is not valid.'); - } - - /* check whether username and token is valid */ - /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ - const TIME_NOW = new Date().valueOf(); - const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; - const user: IUserWithoutToken | null = await db.collections.users_collection.findOne({ - email, - resetPasswordRequests: { - $elemMatch: { - id: args.token, - timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, - used: false - } - }, - deleted: null - }); - if (!user) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - return makeGenericReponse(); + validateResetPassword: async (_parent, args: { token: string, encryptedEmail: string }) => { + return await userCore.validateResetPassword(args.token, args.encryptedEmail); }, recoverSessionExpireTime: async () => { - return makeGenericReponse(); + return await userCore.recoverSessionExpireTime(); } }, User: { - access: async (user: IUser, args, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - /* if requested user is admin, then he has access to all studies */ - if (user.type === userTypes.ADMIN) { - const allprojects: IProject[] = await db.collections.projects_collection.find({ deleted: null }).toArray(); - const allstudies: IStudy[] = await db.collections.studies_collection.find({ deleted: null }).toArray(); - return { id: `user_access_obj_user_id_${user.id}`, projects: allprojects, studies: allstudies }; - } - - /* if requested user is not admin, find all the roles a user has */ - const roles = await db.collections.roles_collection.find({ users: user.id, deleted: null }).toArray(); - const init: { projects: string[], studies: string[] } = { projects: [], studies: [] }; - const studiesAndProjectThatUserCanSee: { projects: string[], studies: string[] } = roles.reduce( - (a, e) => { - if (e.projectId) { - a.projects.push(e.projectId); - } else { - a.studies.push(e.studyId); - } - return a; - }, init - ); - - const projects = await db.collections.projects_collection.find({ - $or: [ - { id: { $in: studiesAndProjectThatUserCanSee.projects }, deleted: null }, - { studyId: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null } - ] - }).toArray(); - const studies = await db.collections.studies_collection.find({ id: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null }).toArray(); - return { id: `user_access_obj_user_id_${user.id}`, projects, studies }; + access: async (user: IUserWithoutToken, _args, context) => { + return await userCore.getUserAccess(context.req.user, user); }, - username: async (user: IUser, args, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - return user.username; + username: async (user: IUserWithoutToken, _args, context) => { + return await userCore.getUserUsername(context.req.user, user); }, - description: async (user: IUser, args, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - return user.description; + description: async (user: IUserWithoutToken, _args, context) => { + return await userCore.getUserDescription(context.req.user, user); }, - email: async (user: IUser, args, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - return user.email; + email: async (user: IUserWithoutToken, _args, context) => { + return await userCore.getUserEmail(context.req.user, user); } }, Mutation: { - requestExpiryDate: async (parent, { username, email }: { username?: string, email?: string }) => { - /* double-check user existence */ - const queryObj = email ? { deleted: null, email } : { deleted: null, username }; - const user: IUser | null = await db.collections.users_collection.findOne(queryObj); - if (!user) { - /* even user is null. send successful response: they should know that a user doesn't exist */ - await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); - return makeGenericReponse(); - } - /* send email to the DMP admin mailing-list */ - await mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ - userEmail: user.email, - username: user.username - })); - - /* send email to client */ - await mailer.sendMail(formatEmailRequestExpiryDatetoClient({ - to: user.email, - username: user.username - })); - - return makeGenericReponse(); + requestExpiryDate: async (_parent: Record, { username, email }: { username?: string, email?: string }) => { + return await userCore.requestExpiryDate(username, email); }, - requestUsernameOrResetPassword: async (parent, { forgotUsername, forgotPassword, email, username }: { forgotUsername: boolean, forgotPassword: boolean, email?: string, username?: string }, context) => { - /* checking the args are right */ - if ((forgotUsername && !email) // should provide email if no username - || (forgotUsername && username) // should not provide username if it's forgotten.. - || (!email && !username)) { - throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); - } else if (email && username) { - // TO_DO : better client erro - /* only provide email if no username */ - throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); - } - - /* check user existence */ - const queryObj = email ? { deleted: null, email } : { deleted: null, username }; - const user = await db.collections.users_collection.findOne(queryObj); - if (!user) { - /* even user is null. send successful response: they should know that a user doesn't exist */ - await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); - return makeGenericReponse(); - } - - if (forgotPassword) { - /* make link to change password */ - const passwordResetToken = uuid(); - const resetPasswordRequest: IResetPasswordRequest = { - id: passwordResetToken, - timeOfRequest: new Date().valueOf(), - used: false - }; - const invalidateAllTokens = await db.collections.users_collection.findOneAndUpdate( - queryObj, - { - $set: { - 'resetPasswordRequests.$[].used': true - } - } - ); - if (invalidateAllTokens === null) { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - const updateResult = await db.collections.users_collection.findOneAndUpdate( - queryObj, - { - $push: { - resetPasswordRequests: resetPasswordRequest - } - } - ); - if (updateResult === null) { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - - /* send email to client */ - await mailer.sendMail(await formatEmailForForgottenPassword({ - to: user.email, - resetPasswordToken: passwordResetToken, - username: user.username, - firstname: user.firstname, - origin: context.req.headers.origin - })); - } else { - /* send email to client */ - await mailer.sendMail(formatEmailForFogettenUsername({ - to: user.email, - username: user.username - })); - } - return makeGenericReponse(); - }, - login: async (parent: Record, args: { username: string, password: string, totp: string, requestexpirydate?: boolean }, context) => { - const { req }: { req: Express.Request } = context; - const result = await db.collections.users_collection.findOne({ deleted: null, username: args.username }); - if (!result) { - throw new GraphQLError('User does not exist.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - const passwordMatched = await bcrypt.compare(args.password, result.password); - if (!passwordMatched) { - throw new GraphQLError('Incorrect password.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - // validate the TOTP - const totpValidated = mfa.verifyTOTP(args.totp, result.otpSecret); - if (!totpValidated) { - if (process.env['NODE_ENV'] === 'development') - console.warn('Incorrect One-Time password. Continuing in development ...'); - else - throw new GraphQLError('Incorrect One-Time password.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - /* validate if account expired */ - if (result.expiredAt < Date.now() && result.type === userTypes.STANDARD) { - if (args.requestexpirydate) { - /* send email to the DMP admin mailing-list */ - await mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ - userEmail: result.email, - username: result.username - })); - /* send email to client */ - await mailer.sendMail(formatEmailRequestExpiryDatetoClient({ - to: result.email, - username: result.username - })); - throw new GraphQLError('New expiry date has been requested! Wait for ADMIN to approve.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - throw new GraphQLError('Account Expired. Please request a new expiry date!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - const filteredResult: IUserWithoutToken = { ...result }; - - return new Promise((resolve, reject) => { - req.login(filteredResult, (err: unknown) => { - if (err) { - Logger.error(err); - reject(new GraphQLError('Cannot log in. Please try again later.')); - return; - } - resolve(filteredResult); - }); - }); - }, - logout: async (parent: Record, args: unknown, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const req: Express.Request = context.req; - return new Promise((resolve) => { - req.logout((err) => { - if (err) { - Logger.error(err); - throw new GraphQLError('Cannot log out'); - } else { - resolve(makeGenericReponse(requester.id)); - } - }); - }); + requestUsernameOrResetPassword: async (_parent: Record, { forgotUsername, forgotPassword, email, username }: { forgotUsername: boolean, forgotPassword: boolean, email?: string, username?: string }, context) => { + return await userCore.requestUsernameOrResetPassword(forgotUsername, forgotPassword, context.req.headers.origin, email, username); }, - createUser: async (parent, args: { user: CreateUserInput }) => { - const { username, firstname, lastname, email, emailNotificationsActivated, password, description, organisation, metadata }: { - username: string, firstname: string, lastname: string, email: string, emailNotificationsActivated?: boolean, password: string, description?: string, organisation: string, metadata: unknown - } = args.user; - - /* check email is valid form */ - if (!/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { - throw new GraphQLError('Email is not the right format.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - /* check password validity */ - if (password && !passwordIsGoodEnough(password)) { - throw new GraphQLError('Password has to be at least 8 character long.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - /* check that username and password dont have space */ - if (username.indexOf(' ') !== -1 || password.indexOf(' ') !== -1) { - throw new GraphQLError('Username or password cannot have spaces.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - const alreadyExist = await db.collections.users_collection.findOne({ username, deleted: null }); // since bycrypt is CPU expensive let's check the username is not taken first - if (alreadyExist !== null && alreadyExist !== undefined) { - throw new GraphQLError('User already exists.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - /* check if email has been used to register */ - const emailExist = await db.collections.users_collection.findOne({ email, deleted: null }); - if (emailExist !== null && emailExist !== undefined) { - throw new GraphQLError('This email has been registered. Please sign-in or register with another email!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - /* randomly generate a secret for Time-based One Time Password*/ - const otpSecret = mfa.generateSecret(); - - await userCore.createUser({ - password, - otpSecret, - username, - type: userTypes.STANDARD, - description: description ?? '', - firstname, - lastname, - email, - organisation, - emailNotificationsActivated: !!emailNotificationsActivated, - metadata - }); - - /* send email to the registered user */ - // get QR Code for the otpSecret. - const oauth_uri = `otpauth://totp/${config.appName}:${username}?secret=${otpSecret}&issuer=Data%20Science%20Institute`; - const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'qrcodeimg-', postfix: '.png' }); - - QRCode.toFile(tmpobj.name, oauth_uri, {}, function (err) { - if (err) throw new GraphQLError(err.message); - }); - - const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; - await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to: email, - subject: `[${config.appName}] Registration Successful`, - html: ` -

- Dear ${firstname}, -

-

- Welcome to the ${config.appName} data portal!
- Your username is ${username}.
-

-

- To login you will need to use a MFA authenticator app for one time passcode (TOTP).
- Scan the QRCode below in your MFA application of choice to configure it:
- QR code
- If you need to type the token in use ${otpSecret.toLowerCase()} -

-
-

- The ${config.appName} Team. -

- `, - attachments: attachments - }); - tmpobj.removeCallback(); - return makeGenericReponse(); + login: async (_parent: Record, args: { username: string, password: string, totp: string, requestexpirydate?: boolean }, context) => { + return await userCore.login(context.req, args.username, args.password, args.totp, args.requestexpirydate); }, - deleteUser: async (parent, args: { userId: string }, context) => { - /* only admin can delete users */ - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - // user (admin type) cannot delete itself - if (requester.id === args.userId) { - throw new GraphQLError('User cannot delete itself'); - } - - if (requester.type !== userTypes.ADMIN) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - await userCore.deleteUser(args.userId); - return makeGenericReponse(args.userId); + logout: async (_parent: Record, _args: unknown, context) => { + return await userCore.logout(context.req); }, - resetPassword: async (parent, { encryptedEmail, token, newPassword }: { encryptedEmail: string, token: string, newPassword: string }) => { - /* check password validity */ - if (!passwordIsGoodEnough(newPassword)) { - throw new GraphQLError('Password has to be at least 8 character long.'); - } - - /* check that username and password dont have space */ - if (newPassword.indexOf(' ') !== -1) { - throw new GraphQLError('Password cannot have spaces.'); - } - - /* decrypt email */ - if (token.length < 16) { - throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); - } - const salt = makeAESKeySalt(token); - const iv = makeAESIv(token); - let email; - try { - email = await decryptEmail(encryptedEmail, salt, iv); - } catch (e) { - throw new GraphQLError('Token is not valid.'); - } - - /* check whether username and token is valid */ - /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ - const TIME_NOW = new Date().valueOf(); - const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; - const user: IUserWithoutToken | null = await db.collections.users_collection.findOne({ - email, - resetPasswordRequests: { - $elemMatch: { - id: token, - timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, - used: false - } - }, - deleted: null - }); - if (!user) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* randomly generate a secret for Time-based One Time Password*/ - const otpSecret = mfa.generateSecret(); - - /* all ok; change the user's password */ - const hashedPw = await bcrypt.hash(newPassword, config.bcrypt.saltround); - const updateResult = await db.collections.users_collection.findOneAndUpdate( - { - id: user.id, - resetPasswordRequests: { - $elemMatch: { - id: token, - timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, - used: false - } - } - }, - { $set: { 'password': hashedPw, 'otpSecret': otpSecret, 'resetPasswordRequests.$.used': true } }); - if (updateResult === null) { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } - - /* need to log user out of all sessions */ - // TO_DO - - /* send email to the registered user */ - // get QR Code for the otpSecret. - const oauth_uri = `otpauth://totp/${config.appName}:${user.username}?secret=${otpSecret}&issuer=Data%20Science%20Institute`; - const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'qrcodeimg-', postfix: '.png' }); - - QRCode.toFile(tmpobj.name, oauth_uri, {}, function (err) { - if (err) throw new GraphQLError(err.message); - }); - - const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; - await mailer.sendMail({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to: email, - subject: `[${config.appName}] Password reset`, - html: ` -

- Dear ${user.firstname}, -

-

- Your password on ${config.appName} is now reset!
- You will need to update your MFA application for one-time passcode.
-

-

- To update your MFA authenticator app you can scan the QRCode below to configure it:
- QR code
- If you need to type the token in use ${otpSecret.toLowerCase()} -

-
-

- The ${config.appName} Team. -

- `, - attachments: attachments - }); - tmpobj.removeCallback(); - return makeGenericReponse(); + createUser: async (_parent, args: { user: CreateUserInput }) => { + return await userCore.createUser(args.user); }, - editUser: async (parent, args: { user: EditUserInput }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - const { id, username, type, firstname, lastname, email, emailNotificationsActivated, emailNotificationsStatus, password, description, organisation, expiredAt, metadata }: { - id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown - } = args.user; - if (password !== undefined && requester.id !== id) { // only the user themself can reset password - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - if (password && !passwordIsGoodEnough(password)) { - throw new GraphQLError('Password has to be at least 8 character long.'); - } - if (requester.type !== userTypes.ADMIN && requester.id !== id) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - let result; - if (requester.type === userTypes.ADMIN) { - result = await db.collections.users_collection.findOne({ id, deleted: null }); // just an extra guard before going to bcrypt cause bcrypt is CPU intensive. - if (result === null || result === undefined) { - throw new GraphQLError('User not found'); - } - } - - const fieldsToUpdate: UpdateFilter = { - type, - firstname, - lastname, - username, - email, - emailNotificationsActivated, - emailNotificationsStatus, - password, - description, - organisation, - expiredAt, - metadata - }; - - /* check email is valid form */ - if (email && !/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { - throw new GraphQLError('User not updated: Email is not the right format.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - if (requester.type !== userTypes.ADMIN && ( - type || firstname || lastname || username || description || organisation - )) { - throw new GraphQLError('User not updated: Non-admin users are only authorised to change their password, email or email notification.'); - } - - if (password) { fieldsToUpdate['password'] = await bcrypt.hash(password, config.bcrypt.saltround); } - for (const each of (Object.keys(fieldsToUpdate) as Array)) { - if (fieldsToUpdate[each] === undefined) { - delete fieldsToUpdate[each]; - } - } - if (expiredAt) { - fieldsToUpdate['emailNotificationsStatus'] = { - expiringNotification: false - }; - } - const updateResult = await db.collections.users_collection.findOneAndUpdate({ id, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); - if (updateResult) { - // New expiry date has been updated successfully. - if (expiredAt && result) { - /* send email to client */ - await mailer.sendMail(formatEmailRequestExpiryDateNotification({ - to: result.email, - username: result.username - })); - } - return updateResult; - } else { - throw new GraphQLError('Server error; no entry or more than one entry has been updated.'); - } + deleteUser: async (_parent, args: { userId: string }, context) => { + return await userCore.deleteUser(context.req.user, args.userId); }, - createOrganisation: async (parent, { name, shortname, containOrg, metadata }: { name: string, shortname: string, containOrg: string, metadata: unknown }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (requester.type !== userTypes.ADMIN) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - // if the org already exists, update it; the existence is checked by the name - const createdOrganisation = await userCore.createOrganisation({ - name, - shortname: shortname ?? null, - containOrg: containOrg ?? null, - metadata: metadata ?? null - }); - - return createdOrganisation; + resetPassword: async (_parent, { encryptedEmail, token, newPassword }: { encryptedEmail: string, token: string, newPassword: string }) => { + return await userCore.resetPassword(encryptedEmail, token, newPassword); }, - deleteOrganisation: async (parent, { id }: { id: string }, context) => { - const requester = context.req.user; - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - /* check privileges */ - if (requester.type !== userTypes.ADMIN) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - - const res = await db.collections.organisations_collection.findOneAndUpdate({ id: id }, { - $set: { - deleted: Date.now() - } - }, { - returnDocument: 'after' - }); - - if (res) { - return res; - } else { - throw new GraphQLError('Delete organisation failed.'); - } + editUser: async (_parent, args: { user: EditUserInput }, context) => { + return await userCore.editUser(context.req.user, args.user); } }, Subscription: {} }; - -export function makeAESKeySalt(str: string): string { - return str; -} - -export function makeAESIv(str: string): string { - if (str.length < 16) { throw new Error('IV cannot be less than 16 bytes long.'); } - return str.slice(0, 16); -} - -export async function encryptEmail(email: string, keySalt: string, iv: string) { - const algorithm = 'aes-256-cbc'; - return new Promise((resolve, reject) => { - crypto.scrypt(config.aesSecret, keySalt, 32, (err, derivedKey) => { - if (err) reject(err); - const cipher = crypto.createCipheriv(algorithm, derivedKey, iv); - let encoded = cipher.update(email, 'utf8', 'hex'); - encoded += cipher.final('hex'); - resolve(encoded); - }); - }); - -} - -export async function decryptEmail(encryptedEmail: string, keySalt: string, iv: string) { - const algorithm = 'aes-256-cbc'; - return new Promise((resolve, reject) => { - crypto.scrypt(config.aesSecret, keySalt, 32, (err, derivedKey) => { - if (err) reject(err); - try { - const decipher = crypto.createDecipheriv(algorithm, derivedKey, iv); - let decoded = decipher.update(encryptedEmail, 'hex', 'utf8'); - decoded += decipher.final('utf-8'); - resolve(decoded); - } catch (e) { - reject(e); - } - }); - }); -} - -async function formatEmailForForgottenPassword({ username, firstname, to, resetPasswordToken, origin }: { resetPasswordToken: string, to: string, username: string, firstname: string, origin: unknown }) { - const keySalt = makeAESKeySalt(resetPasswordToken); - const iv = makeAESIv(resetPasswordToken); - const encryptedEmail = await encryptEmail(to, keySalt, iv); - - const link = `${origin}/reset/${encryptedEmail}/${resetPasswordToken}`; - return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to, - subject: `[${config.appName}] password reset`, - html: ` -

- Dear ${firstname}, -

-

- Your username is ${username}. -

-

- You can reset you password by click the following link (active for 1 hour):
- ${link} -

-
-

- The ${config.appName} Team. -

- ` - }); -} - -function formatEmailForFogettenUsername({ username, to }: { username: string, to: string }) { - return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to, - subject: `[${config.appName}] password reset`, - html: ` -

- Dear user, -

-

- Your username is ${username}. -

-
-

- The ${config.appName} Team. -

- ` - }); -} - -function formatEmailRequestExpiryDatetoClient({ username, to }: { username: string, to: string }) { - return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to, - subject: `[${config.appName}] New expiry date has been requested!`, - html: ` -

- Dear user, -

-

- New expiry date for your ${username} account has been requested. - You will get a notification email once the request is approved. -

-
-

- The ${config.appName} Team. -

- ` - }); -} - -function formatEmailRequestExpiryDatetoAdmin({ username, userEmail }: { username: string, userEmail: string }) { - return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to: `${config.adminEmail}`, - subject: `[${config.appName}] New expiry date has been requested from ${username} account!`, - html: ` -

- Dear ADMINs, -

-

- A expiry date request from the ${username} account (whose email address is ${userEmail}) has been submitted. - Please approve or deny the request ASAP. -

-
-

- The ${config.appName} Team. -

- ` - }); -} - -function formatEmailRequestExpiryDateNotification({ username, to }: { username: string, to: string }) { - return ({ - from: `${config.appName} <${config.nodemailer.auth.user}>`, - to, - subject: `[${config.appName}] New expiry date has been updated!`, - html: ` -

- Dear user, -

-

- New expiry date for your ${username} account has been updated. - You now can log in as normal. -

-
-

- The ${config.appName} Team. -

- ` - }); -} - -function passwordIsGoodEnough(pw: string): boolean { - if (pw.length < 8) { - return false; - } - return true; -} diff --git a/packages/itmat-interface/src/interfaceRunner.ts b/packages/itmat-interface/src/interfaceRunner.ts index cf261216d..af503897b 100644 --- a/packages/itmat-interface/src/interfaceRunner.ts +++ b/packages/itmat-interface/src/interfaceRunner.ts @@ -4,7 +4,8 @@ import { objStore } from './objStore/objStore'; import { MongoClient } from 'mongodb'; import { Router } from './server/router'; import { Runner } from './server/server'; -import { pubsub, subscriptionEvents } from './graphql/pubsub'; +import { pubsub } from './graphql/pubsub'; +import { subscriptionEvents } from '@itmat-broker/itmat-cores'; class ITMATInterfaceRunner extends Runner { diff --git a/packages/itmat-interface/src/log/logPlugin.ts b/packages/itmat-interface/src/log/logPlugin.ts index 16c9a57b6..60529b03b 100644 --- a/packages/itmat-interface/src/log/logPlugin.ts +++ b/packages/itmat-interface/src/log/logPlugin.ts @@ -1,118 +1,4 @@ +import { LogPlugin } from '@itmat-broker/itmat-cores'; import { db } from '../database/database'; -import { v4 as uuid } from 'uuid'; -import { LOG_TYPE, LOG_ACTION, LOG_STATUS, USER_AGENT, userTypes } from '@itmat-broker/itmat-types'; -import { GraphQLRequestContextWillSendResponse } from '@apollo/server'; -import { ApolloServerContext } from '../graphql/ApolloServerContext'; -// only requests in white list will be recorded -export const logActionRecordWhiteList = Object.keys(LOG_ACTION); - -// only requests in white list will be recorded -export const logActionShowWhiteList = Object.keys(LOG_ACTION); - -export class LogPlugin { - public async serverWillStartLogPlugin(): Promise { - await db.collections.log_collection.insertOne({ - id: uuid(), - requesterName: userTypes.SYSTEM, - requesterType: userTypes.SYSTEM, - logType: LOG_TYPE.SYSTEM_LOG, - actionType: LOG_ACTION.startSERVER, - actionData: JSON.stringify({}), - time: Date.now(), - status: LOG_STATUS.SUCCESS, - errors: '', - userAgent: USER_AGENT.OTHER - }); - return null; - } - - public async requestDidStartLogPlugin(requestContext: GraphQLRequestContextWillSendResponse): Promise { - if (!requestContext.operationName || !logActionRecordWhiteList.includes(requestContext.operationName)) { - return null; - } - if (LOG_ACTION[requestContext.operationName] === undefined || LOG_ACTION[requestContext.operationName] === null) { - return null; - } - const variables = requestContext.request.variables ?? {}; // Add null check - await db.collections.log_collection.insertOne({ - id: uuid(), - requesterName: requestContext.contextValue?.req?.user?.username ?? 'NA', - requesterType: requestContext.contextValue?.req?.user?.type ?? userTypes.SYSTEM, - userAgent: (requestContext.contextValue.req?.headers['user-agent'] as string)?.startsWith('Mozilla') ? USER_AGENT.MOZILLA : USER_AGENT.OTHER, - logType: LOG_TYPE.REQUEST_LOG, - actionType: LOG_ACTION[requestContext.operationName], - actionData: JSON.stringify(ignoreFieldsHelper(variables, requestContext.operationName)), // Use the null-checked variables - time: Date.now(), - status: requestContext.errors === undefined ? LOG_STATUS.SUCCESS : LOG_STATUS.FAIL, - errors: requestContext.errors === undefined ? '' : requestContext.errors[0].message - }); - return null; - } -} - -type LogOperationName = 'login' | 'createUser' | 'registerPubkey' | 'issueAccessToken' | 'editUser' | 'uploadDataInArray' | 'uploadFile' | string; - -interface LoginData { - passpord?: string; - totp?: string; -} - -interface CreateUserData { - user?: { - password?: string; - }; -} - -interface registerPubkeyData { - signature?: string; -} - -interface EditUserData { - user?: { - password?: string; - }; -} - -interface UploadDataInArrayData { - data?: { - value?: string; - file?: string; - metadata?: string; - }[]; -} - -interface UploadFileData { - file?: string; -} - -type DataObj = LoginData | CreateUserData | registerPubkeyData | EditUserData | UploadDataInArrayData | UploadFileData; - -function ignoreFieldsHelper(dataObj: DataObj, operationName: LogOperationName) { - if (operationName === 'login') { - delete dataObj['password']; - delete dataObj['totp']; - } else if (operationName === 'createUser') { - delete dataObj['user']['password']; - } else if (operationName === 'registerPubkey') { - delete dataObj['signature']; - } else if (operationName === 'issueAccessToken') { - delete dataObj['signature']; - } else if (operationName === 'editUser') { - delete dataObj['user']['password']; - } else if (operationName === 'uploadDataInArray') { - if (Array.isArray(dataObj['data'])) { - for (let i = 0; i < dataObj['data'].length; i++) { - // only keep the fieldId - delete dataObj['data'][i].value; - delete dataObj['data'][i].file; - delete dataObj['data'][i].metadata; - } - } - } else if (operationName === 'uploadFile') { - delete dataObj['file']; - } - return dataObj; -} - -export const logPlugin = Object.freeze(new LogPlugin()); +export const logPluginInstance = new LogPlugin(db); \ No newline at end of file diff --git a/packages/itmat-interface/src/rest/fileDownload.ts b/packages/itmat-interface/src/rest/fileDownload.ts index c1d10fd61..edc295586 100644 --- a/packages/itmat-interface/src/rest/fileDownload.ts +++ b/packages/itmat-interface/src/rest/fileDownload.ts @@ -1,68 +1,6 @@ -import { Request, Response } from 'express'; import { db } from '../database/database'; +import { FileDownloadController } from '@itmat-broker/itmat-cores'; import { objStore } from '../objStore/objStore'; -import { permissionCore } from '../graphql/core/permissionCore'; -import { atomicOperation, IUser } from '@itmat-broker/itmat-types'; -import jwt from 'jsonwebtoken'; -import { userRetrieval } from '../authentication/pubkeyAuthentication'; -import { ApolloServerErrorCode } from '@apollo/server/errors'; -import { GraphQLError } from 'graphql'; -export const fileDownloadController = (req: Request, res: Response) => { - (async () => { - const requester = req.user as IUser; - const requestedFile = req.params['fileId']; - const token = req.headers.authorization || ''; - let associatedUser = requester; - if ((token !== '') && (req.user === undefined)) { - // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed - const decodedPayload = jwt.decode(token); - // obtain the public-key of the robot user in the JWT payload - let pubkey: string; - if (decodedPayload !== null && !(typeof decodedPayload === 'string')) { - pubkey = decodedPayload['publicKey']; - } else { - throw new GraphQLError('JWT verification failed.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - // verify the JWT - jwt.verify(token, pubkey, function (error) { - if (error) { - throw new GraphQLError('JWT verification failed.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); - } - }); - associatedUser = await userRetrieval(pubkey); - } else if (!requester) { - res.status(403).json({ error: 'Please log in.' }); - return; - } - try { - /* download file */ - const file = await db.collections.files_collection.findOne({ id: requestedFile, deleted: null }); - if (!file) { - res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); - return; - } - // check target field exists - const hasStudyLevelPermission = await permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - associatedUser, - file.studyId - ); - if (!hasStudyLevelPermission) { - res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); - return; - } - - const stream = await objStore.downloadFile(file.studyId, file.uri); - res.set('Content-Type', 'application/octet-stream'); - res.set('Content-Type', 'application/download'); - res.set('Content-Disposition', `attachment; filename="${file.fileName}"`); - stream.pipe(res, { end: true }); - return; - } catch (e) { - res.status(500).json(e); - return; - } - })().catch(() => { return; }); -}; +export const fileDownloadControllerInstance = new FileDownloadController(db, objStore); \ No newline at end of file diff --git a/packages/itmat-interface/src/server/router.ts b/packages/itmat-interface/src/server/router.ts index 3a4c65415..aa95830e1 100644 --- a/packages/itmat-interface/src/server/router.ts +++ b/packages/itmat-interface/src/server/router.ts @@ -19,19 +19,17 @@ import passport from 'passport'; import { db } from '../database/database'; import { resolvers } from '../graphql/resolvers'; import { typeDefs } from '../graphql/typeDefs'; -import { fileDownloadController } from '../rest/fileDownload'; -import { userLoginUtils } from '../utils/userLoginUtils'; -import { IConfiguration } from '../utils/configManager'; -import { logPlugin } from '../log/logPlugin'; -import { spaceFixing } from '../utils/regrex'; +import { fileDownloadControllerInstance } from '../rest/fileDownload'; import { BigIntResolver as scalarResolvers } from 'graphql-scalars'; import jwt from 'jsonwebtoken'; -import { userRetrieval } from '../authentication/pubkeyAuthentication'; import { createProxyMiddleware, RequestHandler } from 'http-proxy-middleware'; import qs from 'qs'; import { IUser } from '@itmat-broker/itmat-types'; import { ApolloServerContext } from '../graphql/ApolloServerContext'; import { DMPContext } from '../graphql/resolvers/context'; +import { logPluginInstance } from '../log/logPlugin'; +import { IConfiguration, spaceFixing, userRetrieval } from '@itmat-broker/itmat-cores'; +import { userLoginUtils } from '../utils/userLoginUtils'; export class Router { private readonly app: Express; @@ -122,7 +120,7 @@ export class Router { plugins: [ { async serverWillStart() { - await logPlugin.serverWillStartLogPlugin(); + await logPluginInstance.serverWillStartLogPlugin(); return { async drainServer() { await serverCleanup.dispose(); @@ -137,7 +135,7 @@ export class Router { requestContext.request.variables = operation ? spaceFixing(operation, actionData) : undefined; }, async willSendResponse(requestContext) { - await logPlugin.requestDidStartLogPlugin(requestContext); + await logPluginInstance.requestDidStartLogPlugin(requestContext); } }; } @@ -236,7 +234,7 @@ export class Router { } }); // store the associated user with the JWT to context - const associatedUser = await userRetrieval(pubkey); + const associatedUser = await userRetrieval(db, pubkey); req.user = associatedUser; } return ({ req, res }); @@ -267,7 +265,7 @@ export class Router { // next(); // }); - this.app.get('/file/:fileId', fileDownloadController); + this.app.get('/file/:fileId', fileDownloadControllerInstance.fileDownloadController); } diff --git a/packages/itmat-interface/src/server/server.ts b/packages/itmat-interface/src/server/server.ts index a743bcf92..88dff204d 100644 --- a/packages/itmat-interface/src/server/server.ts +++ b/packages/itmat-interface/src/server/server.ts @@ -1,5 +1,5 @@ import { CustomError, IServerBaseConfig, Logger, ServerBase } from '@itmat-broker/itmat-commons'; -import { IConfiguration } from '../utils/configManager'; +import { IConfiguration } from '@itmat-broker/itmat-cores'; export interface IServerConfig extends IServerBaseConfig { bcrypt: { diff --git a/packages/itmat-interface/src/utils/configManager.ts b/packages/itmat-interface/src/utils/configManager.ts index 9ccf7ecbe..bb8a90166 100644 --- a/packages/itmat-interface/src/utils/configManager.ts +++ b/packages/itmat-interface/src/utils/configManager.ts @@ -1,45 +1,4 @@ -import merge from 'deepmerge'; -import fs from 'fs-extra'; import path from 'path'; -import { IObjectStoreConfig, IDatabaseBaseConfig, Logger } from '@itmat-broker/itmat-commons'; -import configDefaults from '../../config/config.sample.json'; -import { IServerConfig } from '../server/server.js'; -import chalk from 'chalk'; -import SMTPTransport from 'nodemailer/lib/smtp-transport'; - -export interface IConfiguration extends IServerConfig { - appName: string; - database: IDatabaseBaseConfig; - objectStore: IObjectStoreConfig; - nodemailer: SMTPTransport.Options & { auth: { user: string, pass: string } }; - aesSecret: string; - sessionsSecret: string; - adminEmail: string; - aeEndpoint: string; -} - -class ConfigurationManager { - - public static expand(configurationFiles: string[]): IConfiguration { - - let config = configDefaults; - Logger.log('Applied default configuration.'); - - configurationFiles.forEach((configurationFile) => { - try { - if (fs.existsSync(configurationFile)) { - const content = fs.readFileSync(configurationFile, 'utf8'); - config = merge(config, JSON.parse(content)); - Logger.log(`Applied configuration from ${path.resolve(configurationFile)}.`); - } - } catch (e) { - Logger.error(chalk.red('Cannot parse configuration file.')); - } - }); - - return config; - } - -} +import { ConfigurationManager } from '@itmat-broker/itmat-cores'; export default ConfigurationManager.expand((process.env['NODE_ENV'] === 'development' ? [path.join(__dirname.replace('dist', ''), 'config/config.json')] : []).concat(['config/config.json'])); diff --git a/packages/itmat-interface/src/utils/userLoginUtils.ts b/packages/itmat-interface/src/utils/userLoginUtils.ts index d05c3c39a..bd227874b 100644 --- a/packages/itmat-interface/src/utils/userLoginUtils.ts +++ b/packages/itmat-interface/src/utils/userLoginUtils.ts @@ -1,27 +1,4 @@ -import { IUser, IUserWithoutToken } from '@itmat-broker/itmat-types'; +import { UserLoginUtils } from '@itmat-broker/itmat-cores'; import { db } from '../database/database'; -export class UserLoginUtils { - constructor() { - this.serialiseUser = this.serialiseUser.bind(this); - this.deserialiseUser = this.deserialiseUser.bind(this); - } - - public serialiseUser(user: Express.User, done: (__unused__err: unknown, __unused__id: string) => void) { - done(null, (user as IUser).username); - } - - public deserialiseUser(username: string, done: (__unused__err: unknown, __unused__id: IUserWithoutToken | null) => void) { - this._getUser(username) - .then(user => { - done(null, user); - }) - .catch(() => { return; }); - } - - private async _getUser(username: string): Promise { - return await db.collections.users_collection.findOne({ deleted: null, username }, { projection: { _id: 0, deleted: 0, password: 0 } }); - } -} - -export const userLoginUtils = Object.freeze(new UserLoginUtils()); +export const userLoginUtils = Object.freeze(new UserLoginUtils(db)); diff --git a/packages/itmat-interface/test/serverTests/_loginHelper.ts b/packages/itmat-interface/test/serverTests/_loginHelper.ts index e804b9cc7..42208a60c 100644 --- a/packages/itmat-interface/test/serverTests/_loginHelper.ts +++ b/packages/itmat-interface/test/serverTests/_loginHelper.ts @@ -1,7 +1,7 @@ import { print } from 'graphql'; import { LOGIN, LOGOUT } from '@itmat-broker/itmat-models'; -import * as mfa from '../../src/utils/mfa'; import { SuperTest, Test } from 'supertest'; +import { generateTOTP } from '@itmat-broker/itmat-cores'; export async function connectAdmin(agent: SuperTest): Promise { const adminSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; @@ -14,7 +14,7 @@ export async function connectUser(agent: SuperTest): Promise { } export async function connectAgent(agent: SuperTest, user: string, pw: string, secret: string): Promise { - const otp = mfa.generateTOTP(secret).toString(); + const otp = generateTOTP(secret).toString(); return agent.post('/graphql') .set('Content-type', 'application/json') .send({ diff --git a/packages/itmat-interface/test/serverTests/file.test.ts b/packages/itmat-interface/test/serverTests/file.test.ts index a754c7914..9093d53c7 100644 --- a/packages/itmat-interface/test/serverTests/file.test.ts +++ b/packages/itmat-interface/test/serverTests/file.test.ts @@ -12,7 +12,7 @@ import { objStore } from '../../src/objStore/objStore'; import { Router } from '../../src/server/router'; import path from 'path'; import { v4 as uuid } from 'uuid'; -import { errorCodes } from '../../src/graphql/errors'; +import { errorCodes } from '@itmat-broker/itmat-cores'; import { Db, MongoClient } from 'mongodb'; import { studyType, IStudy, IUser, IRole, IFile, IFieldEntry, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { UPLOAD_FILE, CREATE_STUDY, DELETE_FILE } from '@itmat-broker/itmat-models'; diff --git a/packages/itmat-interface/test/serverTests/job.test.ts b/packages/itmat-interface/test/serverTests/job.test.ts index 261a0723c..116928ed6 100644 --- a/packages/itmat-interface/test/serverTests/job.test.ts +++ b/packages/itmat-interface/test/serverTests/job.test.ts @@ -7,7 +7,7 @@ import { connectAdmin, connectUser, connectAgent } from './_loginHelper'; import { db } from '../../src/database/database'; import { Router } from '../../src/server/router'; import { v4 as uuid } from 'uuid'; -import { errorCodes } from '../../src/graphql/errors'; +import { errorCodes } from '@itmat-broker/itmat-cores'; import { Db, MongoClient } from 'mongodb'; import { IJobEntry, IUser, IRole, IStudy, IProject, IQueryEntry, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { CREATE_QUERY_CURATION_JOB } from '@itmat-broker/itmat-models'; diff --git a/packages/itmat-interface/test/serverTests/log.test.ts b/packages/itmat-interface/test/serverTests/log.test.ts index cd0c8687e..b3c1e20a5 100644 --- a/packages/itmat-interface/test/serverTests/log.test.ts +++ b/packages/itmat-interface/test/serverTests/log.test.ts @@ -11,8 +11,7 @@ import { Db, MongoClient } from 'mongodb'; import { MongoMemoryServer } from 'mongodb-memory-server'; import { setupDatabase } from '@itmat-broker/itmat-setup'; import config from '../../config/config.sample.json'; -import { errorCodes } from '../../src/graphql/errors'; -import * as mfa from '../../src/utils/mfa'; +import { errorCodes, generateTOTP } from '@itmat-broker/itmat-cores'; import { GET_LOGS, LOGIN, DELETE_USER } from '@itmat-broker/itmat-models'; import { userTypes, IUser, ILogEntry, LOG_STATUS, LOG_ACTION, LOG_TYPE, USER_AGENT } from '@itmat-broker/itmat-types'; import { Express } from 'express'; @@ -87,7 +86,7 @@ describe('LOG API', () => { }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const newloggedoutuser = request.agent(app); - const otp = mfa.generateTOTP(userSecret).toString(); + const otp = generateTOTP(userSecret).toString(); const res = await newloggedoutuser.post('/graphql').set('Content-type', 'application/json').send({ query: print(LOGIN), variables: { diff --git a/packages/itmat-interface/test/serverTests/permission.test.ts b/packages/itmat-interface/test/serverTests/permission.test.ts index 103318e00..9ee8ac180 100644 --- a/packages/itmat-interface/test/serverTests/permission.test.ts +++ b/packages/itmat-interface/test/serverTests/permission.test.ts @@ -6,7 +6,7 @@ import { print } from 'graphql'; import { connectAdmin, connectUser, connectAgent } from './_loginHelper'; import { db } from '../../src/database/database'; import { Router } from '../../src/server/router'; -import { errorCodes } from '../../src/graphql/errors'; +import { errorCodes } from '@itmat-broker/itmat-cores'; import { Db, MongoClient } from 'mongodb'; import { IUser, IStudy, IProject, IRole, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { ADD_NEW_ROLE, EDIT_ROLE, REMOVE_ROLE } from '@itmat-broker/itmat-models'; diff --git a/packages/itmat-interface/test/serverTests/standardization.test.ts b/packages/itmat-interface/test/serverTests/standardization.test.ts index 9f4bc66be..ea3aa8254 100644 --- a/packages/itmat-interface/test/serverTests/standardization.test.ts +++ b/packages/itmat-interface/test/serverTests/standardization.test.ts @@ -6,7 +6,7 @@ import { print } from 'graphql'; import { connectAdmin, connectUser, connectAgent } from './_loginHelper'; import { db } from '../../src/database/database'; import { Router } from '../../src/server/router'; -import { errorCodes } from '../../src/graphql/errors'; +import { errorCodes } from '@itmat-broker/itmat-cores'; import { Db, MongoClient } from 'mongodb'; import { MongoMemoryServer } from 'mongodb-memory-server'; import { setupDatabase } from '@itmat-broker/itmat-setup'; diff --git a/packages/itmat-interface/test/serverTests/study.test.ts b/packages/itmat-interface/test/serverTests/study.test.ts index 9152e9990..c761c003c 100644 --- a/packages/itmat-interface/test/serverTests/study.test.ts +++ b/packages/itmat-interface/test/serverTests/study.test.ts @@ -8,7 +8,7 @@ import { print } from 'graphql'; import { connectAdmin, connectUser, connectAgent } from './_loginHelper'; import { db } from '../../src/database/database'; import { Router } from '../../src/server/router'; -import { errorCodes } from '../../src/graphql/errors'; +import { errorCodes } from '@itmat-broker/itmat-cores'; import { Db, MongoClient } from 'mongodb'; import { MongoMemoryServer } from 'mongodb-memory-server'; import { setupDatabase } from '@itmat-broker/itmat-setup'; @@ -407,7 +407,7 @@ if (global.hasMinio) { }); expect(res.status).toBe(200); expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + expect(res.body.errors[0].message).toBe('Study does not exist.'); expect(res.body.data.deleteStudy).toEqual(null); }); @@ -418,7 +418,7 @@ if (global.hasMinio) { }); expect(res.status).toBe(200); expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); + expect(res.body.errors[0].message).toBe('Study does not exist.'); expect(res.body.data.deleteStudy).toEqual(null); }); diff --git a/packages/itmat-interface/test/serverTests/users.test.ts b/packages/itmat-interface/test/serverTests/users.test.ts index 49191b53b..99ff2bc3b 100644 --- a/packages/itmat-interface/test/serverTests/users.test.ts +++ b/packages/itmat-interface/test/serverTests/users.test.ts @@ -6,15 +6,13 @@ import request, { SuperAgentTest } from 'supertest'; import { print } from 'graphql'; import { connectAdmin, connectUser, connectAgent } from './_loginHelper'; import { db } from '../../src/database/database'; -import { makeAESIv, makeAESKeySalt, encryptEmail } from '../../src/graphql/resolvers/userResolvers'; import { v4 as uuid } from 'uuid'; import { Router } from '../../src/server/router'; -import { errorCodes } from '../../src/graphql/errors'; import { MongoClient, Db } from 'mongodb'; import { MongoMemoryServer } from 'mongodb-memory-server'; import { setupDatabase } from '@itmat-broker/itmat-setup'; import config from '../../config/config.sample.json'; -import * as mfa from '../../src/utils/mfa'; +import { errorCodes, generateTOTP, encryptEmail, makeAESKeySalt, makeAESIv } from '@itmat-broker/itmat-cores'; import { WHO_AM_I, GET_USERS, @@ -109,7 +107,7 @@ describe('USERS API', () => { beforeAll(async () => { loggedoutUser = request.agent(app); encryptedEmailForStandardUser = - await encryptEmail(SEED_STANDARD_USER_EMAIL, makeAESKeySalt(presetToken), makeAESIv(presetToken)); + await encryptEmail(config.aesSecret, SEED_STANDARD_USER_EMAIL, makeAESKeySalt(presetToken), makeAESIv(presetToken)); }); test('Request reset password with non-existent user providing username', async () => { @@ -692,7 +690,7 @@ describe('USERS API', () => { }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const newloggedoutuser = request.agent(app); - const otp = mfa.generateTOTP(userSecret).toString(); + const otp = generateTOTP(userSecret).toString(); const res = await newloggedoutuser.post('/graphql').set('Content-type', 'application/json').send({ query: print(LOGIN), variables: { @@ -737,7 +735,7 @@ describe('USERS API', () => { }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const newloggedoutuser = request.agent(app); - const otp = mfa.generateTOTP(adminSecret).toString(); + const otp = generateTOTP(adminSecret).toString(); const res = await newloggedoutuser.post('/graphql').set('Content-type', 'application/json').send({ query: print(LOGIN), variables: { @@ -1104,7 +1102,7 @@ describe('USERS API', () => { .collection(config.database.collections.users_collection) .findOne({ username: 'testuser0' })); - const incorrectTotp = mfa.generateTOTP(createdUser.otpSecret) + 1; + const incorrectTotp = generateTOTP(createdUser.otpSecret) + 1; const res_login = await admin.post('/graphql') .set('Content-type', 'application/json') .send({ diff --git a/packages/itmat-job-executor/src/utils/configManager.ts b/packages/itmat-job-executor/src/utils/configManager.ts index 7170cb8c8..fc4bbf5f7 100644 --- a/packages/itmat-job-executor/src/utils/configManager.ts +++ b/packages/itmat-job-executor/src/utils/configManager.ts @@ -1,7 +1,7 @@ import merge from 'deepmerge'; import fs from 'fs-extra'; import path from 'path'; -import { IObjectStoreConfig, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; +import { IObjectStoreConfig, IDatabaseBaseConfig, Logger } from '@itmat-broker/itmat-commons'; import configDefaults from '../../config/config.sample.json'; import { IServerConfig } from '../server/server.js'; @@ -15,17 +15,17 @@ class ConfigurationManager { public static expand(configurationFiles: string[]): IConfiguration { let config = configDefaults; - console.log('Applied default configuration.'); + Logger.log('Applied default configuration.'); configurationFiles.forEach((configurationFile) => { try { if (fs.existsSync(configurationFile)) { const content = fs.readFileSync(configurationFile, 'utf8'); config = merge(config, JSON.parse(content)); - console.log(`Applied configuration from ${path.resolve(configurationFile)}.`); + Logger.log(`Applied configuration from ${path.resolve(configurationFile)}.`); } } catch (e) { - console.error('Could not parse configuration file.'); + Logger.error('Could not parse configuration file.'); } }); diff --git a/packages/itmat-ui-react/src/components/log/logList.tsx b/packages/itmat-ui-react/src/components/log/logList.tsx index 81f6243a5..c05bb4a6f 100644 --- a/packages/itmat-ui-react/src/components/log/logList.tsx +++ b/packages/itmat-ui-react/src/components/log/logList.tsx @@ -91,7 +91,6 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { Object.keys(logCopy).forEach(item => { logCopy[item] = (logCopy[item] || '').toString(); }); - console.log(inputs); return (searchTerm === '' || (logCopy.requesterName.toUpperCase().search(searchTerm) > -1 || logCopy.requesterType.toUpperCase().search(searchTerm) > -1 || logCopy.logType.toUpperCase().search(searchTerm) > -1 || logCopy.actionType.toUpperCase().search(searchTerm) > -1 || logCopy.status.toUpperCase().search(searchTerm) > -1 || logCopy.userAgent.toUpperCase().search(searchTerm) > -1 diff --git a/tsconfig.base.json b/tsconfig.base.json index bf400e0a0..d39bb4f21 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -33,6 +33,9 @@ ], "@itmat-broker/itmat-types": [ "packages/itmat-types/src/index.ts" + ], + "@itmat-broker/itmat-cores": [ + "packages/itmat-cores/src/index.ts" ] } }, diff --git a/yarn.lock b/yarn.lock index cb2cb164d..eb39b36a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -63,7 +63,7 @@ "@ant-design/plots@2.2.0": version "2.2.0" - resolved "https://registry.npmjs.org/@ant-design/plots/-/plots-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/@ant-design/plots/-/plots-2.2.0.tgz#9606de1dfd5ca0297c38a77ea483815d7417c2f5" integrity sha512-tCsOyPwxQ8xr5wMOWrFO3CEgdboXxMzMPrydZ7szXULi8LzztO9HHrg5WClwjAr9Zgfit0fHjmPd1FkIBP4k7A== dependencies: "@ant-design/charts-util" "0.0.1-alpha.5" From f8f3f28cdcc2185dee59a21bba11b143c488ac3c Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Tue, 14 May 2024 16:26:14 +0100 Subject: [PATCH 158/252] chore(interface): Provide better naming for declaration file --- .../src/graphql/{declare.d.ts => graphql-type-json.d.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/itmat-interface/src/graphql/{declare.d.ts => graphql-type-json.d.ts} (100%) diff --git a/packages/itmat-interface/src/graphql/declare.d.ts b/packages/itmat-interface/src/graphql/graphql-type-json.d.ts similarity index 100% rename from packages/itmat-interface/src/graphql/declare.d.ts rename to packages/itmat-interface/src/graphql/graphql-type-json.d.ts From 11bbf9cae37329c1a7959fd3219084af607e576b Mon Sep 17 00:00:00 2001 From: Florian Guitton Date: Tue, 14 May 2024 16:26:53 +0100 Subject: [PATCH 159/252] chore: Provide more flexible naming choices for commitlint --- .commitlintrc.js | 1 + 1 file changed, 1 insertion(+) diff --git a/.commitlintrc.js b/.commitlintrc.js index 7f4146536..30bdd333a 100644 --- a/.commitlintrc.js +++ b/.commitlintrc.js @@ -13,6 +13,7 @@ module.exports = { (await getProjects(ctx, projectFilter)) .forEach(element => { projectNames.add(element); + projectNames.add(element.replaceAll('itmat-', '')); }); return [ 2, From e2867460815f57ae7db9c01d12e4c3096f523b69 Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Sun, 26 May 2024 21:47:22 +0100 Subject: [PATCH 160/252] feat(trpc-user): Create the tRPC backend and add user procedures --- package.json | 12 +- .../src/{core => GraphQLCore}/fileCore.ts | 131 +- .../src/{core => GraphQLCore}/jobCore.ts | 0 .../src/{core => GraphQLCore}/logCore.ts | 6 +- .../{core => GraphQLCore}/organisationCore.ts | 20 +- .../{core => GraphQLCore}/permissionCore.ts | 10 +- .../src/{core => GraphQLCore}/pubkeyCore.ts | 0 .../src/{core => GraphQLCore}/queryCore.ts | 0 .../standardizationCore.ts | 0 .../src/{core => GraphQLCore}/studyCore.ts | 772 ++- .../src/{core => GraphQLCore}/userCore.ts | 104 +- .../authentication/pubkeyAuthentication.ts | 2 +- packages/itmat-cores/src/database/database.ts | 8 +- packages/itmat-cores/src/index.ts | 25 +- packages/itmat-cores/src/log/logPlugin.ts | 8 +- packages/itmat-cores/src/rest/fileDownload.ts | 4 +- .../itmat-cores/src/trpcCore/configCore.ts | 57 + packages/itmat-cores/src/trpcCore/fileCore.ts | 251 + .../itmat-cores/src/trpcCore/studyCore.ts | 34 + packages/itmat-cores/src/trpcCore/userCore.ts | 1301 +++++ packages/itmat-cores/src/utils/query.ts | 32 +- .../itmat-cores/src/utils/userLoginUtils.ts | 2 +- .../itmat-interface/config/config.sample.json | 3 +- packages/itmat-interface/express-user.d.ts | 4 +- .../src/graphql/resolvers/index.ts | 2 +- .../src/graphql/resolvers/logResolvers.ts | 4 +- .../src/graphql/resolvers/studyResolvers.ts | 3 - .../src/graphql/resolvers/userResolvers.ts | 6 +- packages/itmat-interface/src/index.ts | 10 +- .../src/server/commonMiddleware.ts | 31 + packages/itmat-interface/src/server/router.ts | 52 +- .../itmat-interface/src/trpc/middleware.ts | 1 + .../itmat-interface/src/trpc/tRPCRouter.ts | 8 + packages/itmat-interface/src/trpc/trpc.ts | 21 + .../itmat-interface/src/trpc/userProcedure.ts | 291 ++ .../_loginHelper.ts | 0 .../file.test.ts | 53 +- .../{serverTests => GraphQLTests}/job.test.ts | 11 +- .../{serverTests => GraphQLTests}/log.test.ts | 18 +- .../permission.test.ts | 134 +- .../standardization.test.ts | 65 +- .../study.test.ts | 1013 ++-- .../users.test.ts | 200 +- .../test/trpcTests/_loginHelper.ts | 42 + .../itmat-interface/test/trpcTests/helper.ts | 3 + .../test/trpcTests/user.test.ts | 476 ++ .../src/database/database.ts | 4 +- packages/itmat-models/src/graphql/fields.ts | 1 - packages/itmat-models/src/graphql/study.ts | 1 - packages/itmat-models/src/graphql/user.ts | 1 - .../databaseSetup/collectionsAndIndexes.ts | 15 +- .../src/databaseSetup/seed/organisations.ts | 23 +- .../src/databaseSetup/seed/users.ts | 21 +- packages/itmat-types/src/types/base.ts | 12 + packages/itmat-types/src/types/config.ts | 212 + packages/itmat-types/src/types/coreErrors.ts | 42 + packages/itmat-types/src/types/data.ts | 10 + packages/itmat-types/src/types/field.ts | 52 +- packages/itmat-types/src/types/file.ts | 59 +- packages/itmat-types/src/types/index.ts | 13 +- packages/itmat-types/src/types/log.ts | 4 +- .../itmat-types/src/types/organisation.ts | 15 +- packages/itmat-types/src/types/pubkey.ts | 6 +- packages/itmat-types/src/types/study.ts | 18 +- packages/itmat-types/src/types/user.ts | 29 +- packages/itmat-types/src/types/utils.ts | 47 + packages/itmat-types/src/types/zod.ts | 9 + packages/itmat-ui-react/proxy.conf.js | 5 + .../src/components/datasetDetail/index.tsx | 4 +- .../tabContent/data/dataSummary.tsx | 2 +- .../datasetDetail/tabContent/data/dataTab.tsx | 4 +- .../tabContent/data/fieldListSelection.tsx | 4 +- .../tabContent/files/fileTab.tsx | 30 +- .../projects/detailSections/projectDetail.tsx | 4 +- .../tabContent/projects/projectTab.tsx | 4 +- .../components/datasetList/addNewDataSet.tsx | 4 +- .../src/components/log/logList.tsx | 6 +- .../src/components/profile/profile.tsx | 2 +- .../src/components/projectDetail/index.tsx | 6 +- .../tabContent/analysis/analysisTab.tsx | 44 +- .../projectDetail/tabContent/data/dataTab.tsx | 28 +- .../reusable/fieldList/fieldList.tsx | 8 +- .../components/reusable/fileList/fileList.tsx | 8 +- .../src/components/scaffold/mainMenuBar.tsx | 10 +- .../src/components/users/userDetails.tsx | 10 +- .../itmat-ui-react/src/utils/logUtils.tsx | 4 +- packages/itmat-ui-react/src/utils/tools.ts | 10 +- yarn.lock | 4255 +++++++++-------- 88 files changed, 6590 insertions(+), 3686 deletions(-) rename packages/itmat-cores/src/{core => GraphQLCore}/fileCore.ts (80%) rename packages/itmat-cores/src/{core => GraphQLCore}/jobCore.ts (100%) rename packages/itmat-cores/src/{core => GraphQLCore}/logCore.ts (89%) rename packages/itmat-cores/src/{core => GraphQLCore}/organisationCore.ts (78%) rename packages/itmat-cores/src/{core => GraphQLCore}/permissionCore.ts (98%) rename packages/itmat-cores/src/{core => GraphQLCore}/pubkeyCore.ts (100%) rename packages/itmat-cores/src/{core => GraphQLCore}/queryCore.ts (100%) rename packages/itmat-cores/src/{core => GraphQLCore}/standardizationCore.ts (100%) rename packages/itmat-cores/src/{core => GraphQLCore}/studyCore.ts (80%) rename packages/itmat-cores/src/{core => GraphQLCore}/userCore.ts (89%) create mode 100644 packages/itmat-cores/src/trpcCore/configCore.ts create mode 100644 packages/itmat-cores/src/trpcCore/fileCore.ts create mode 100644 packages/itmat-cores/src/trpcCore/studyCore.ts create mode 100644 packages/itmat-cores/src/trpcCore/userCore.ts create mode 100644 packages/itmat-interface/src/server/commonMiddleware.ts create mode 100644 packages/itmat-interface/src/trpc/middleware.ts create mode 100644 packages/itmat-interface/src/trpc/tRPCRouter.ts create mode 100644 packages/itmat-interface/src/trpc/trpc.ts create mode 100644 packages/itmat-interface/src/trpc/userProcedure.ts rename packages/itmat-interface/test/{serverTests => GraphQLTests}/_loginHelper.ts (100%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/file.test.ts (95%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/job.test.ts (97%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/log.test.ts (91%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/permission.test.ts (97%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/standardization.test.ts (97%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/study.test.ts (85%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/users.test.ts (93%) create mode 100644 packages/itmat-interface/test/trpcTests/_loginHelper.ts create mode 100644 packages/itmat-interface/test/trpcTests/helper.ts create mode 100644 packages/itmat-interface/test/trpcTests/user.test.ts create mode 100644 packages/itmat-types/src/types/base.ts create mode 100644 packages/itmat-types/src/types/config.ts create mode 100644 packages/itmat-types/src/types/coreErrors.ts create mode 100644 packages/itmat-types/src/types/utils.ts create mode 100644 packages/itmat-types/src/types/zod.ts diff --git a/package.json b/package.json index b60383ea5..e012b0237 100644 --- a/package.json +++ b/package.json @@ -97,13 +97,15 @@ }, "dependencies": { "@ant-design/icons": "5.3.6", - "@ant-design/plots": "2.2.0", + "@ant-design/plots": "2.2.2", "@apollo/client": "3.9.11", "@apollo/server": "4.10.4", "@commitlint/config-conventional": "^18.6.2", "@commitlint/config-nx-scopes": "^18.6.1", "@ideafast/idgen": "0.1.1", "@swc/helpers": "0.5.10", + "@trpc/server": "10.45.2", + "JSONStream": "1.3.5", "antd": "5.16.4", "apollo-upload-client": "18.0.1", "axios": "1.6.8", @@ -114,7 +116,7 @@ "core-js": "^3.37.0", "cors": "2.8.5", "csv-parse": "5.5.5", - "dayjs": "1.11.10", + "dayjs": "1.11.11", "deepmerge": "4.3.1", "esbuild": "^0.20.2", "export-from-json": "1.7.4", @@ -132,16 +134,17 @@ "hi-base32": "0.5.1", "http-proxy-middleware": "3.0.0", "https-browserify": "1.0.0", - "JSONStream": "1.3.5", "jsonwebtoken": "9.0.2", "jstat": "1.9.6", "lint-staged": "15.2.2", + "lodash-es": "4.17.21", "minio": "7.1.3", "mongodb": "6.5.0", "nodemailer": "6.9.13", "passport": "0.7.0", "path-browserify": "1.0.1", "qrcode": "1.5.3", + "rc-picker": "4.5.0", "react": "18.2.0", "react-csv": "2.2.2", "react-dom": "18.2.0", @@ -156,7 +159,8 @@ "tmp": "0.2.3", "tslib": "^2.6.2", "url": "0.11.3", - "uuid": "9.0.1" + "uuid": "9.0.1", + "zod": "3.23.8" }, "resolutions": { "**/@jest/create-cache-key-function": "^29", diff --git a/packages/itmat-cores/src/core/fileCore.ts b/packages/itmat-cores/src/GraphQLCore/fileCore.ts similarity index 80% rename from packages/itmat-cores/src/core/fileCore.ts rename to packages/itmat-cores/src/GraphQLCore/fileCore.ts index 51d71d7d5..840d31d1c 100644 --- a/packages/itmat-cores/src/core/fileCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/fileCore.ts @@ -1,4 +1,4 @@ -import { IDataEntry, IFile, IOrganisation, IPermissionManagementOptions, IUserWithoutToken, atomicOperation, deviceTypes } from '@itmat-broker/itmat-types'; +import { IFile, IPermissionManagementOptions, IUserWithoutToken, atomicOperation, deviceTypes, enumFileCategories, enumFileTypes } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { DBType } from '../database/database'; import { FileUpload } from 'graphql-upload-minimal'; @@ -7,7 +7,6 @@ import { validate } from '@ideafast/idgen'; import { fileSizeLimit } from '../utils/definition'; import crypto from 'crypto'; import { makeGenericReponse } from '../utils/responses'; -import { MatchKeysAndValues } from 'mongodb'; import { errorCodes } from '../utils/errors'; import { PermissionCore } from './permissionCore'; import { StudyCore } from './studyCore'; @@ -49,13 +48,14 @@ export class FileCore { let targetFieldId: string; let isStudyLevel = false; - // obtain sitesIDMarker from db - const sitesIDMarkers = (await this.db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce>((acc, curr) => { - if (curr.metadata?.siteIDMarker) { - acc[curr.metadata.siteIDMarker] = curr.shortname; + const organisations = await this.db.collections.organisations_collection.find({ 'life.deletedTime': null }).toArray(); + const sitesIDMarkers: Record = organisations.reduce((acc, curr) => { + if (curr.metadata['siteIDMarker']) { + acc[String(curr.metadata['siteIDMarker'])] = curr.shortname ?? curr.name; } return acc; - }, {}); + }, {} as Record); + // if the description object is empty, then the file is study-level data // otherwise, a subjectId must be provided in the description object // we will check other properties in the decription object (deviceId, startDate, endDate) @@ -100,7 +100,7 @@ export class FileCore { const file_ = await file; const fileNameParts = file_.filename.split('.'); - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { (async () => { try { let fileName: string = file_.filename; @@ -202,42 +202,56 @@ export class FileCore { reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); return; } + const fileParts: string[] = file_.filename.split('.'); + const fileExtension = fileParts.length === 1 ? 'UNKNOWN' : fileParts[fileParts.length - 1].trim().toLowerCase(); const fileEntry: IFile = { id: uuid(), - fileName: fileName, studyId: studyId, + userId: null, + fileName: fileName, + fileSize: readBytes, description: description, - uploadTime: `${Date.now()}`, - uploadedBy: requester.id, - deleted: null, - metadata: metadata, - fileSize: readBytes.toString(), + properties: {}, uri: fileUri, - hash: hashString + hash: hashString, + fileType: fileExtension in enumFileTypes ? enumFileTypes[fileExtension] : enumFileTypes.UNKNOWN, + fileCategory: enumFileCategories.STUDY_DATA_FILE, + sharedUsers: [], + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: metadata }; - fileEntry.fileSize = readBytes.toString(); - fileEntry.uri = fileUri; - fileEntry.hash = hashString; if (!isStudyLevel) { await this.db.collections.data_collection.insertOne({ id: uuid(), - m_studyId: studyId, - m_subjectId: parsedDescription.participantId, - m_versionId: null, - m_visitId: targetVisitId, - m_fieldId: targetFieldId, - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - 'uploader:user': requester.id, - 'add': [fileEntry.id], - 'remove': [] - } + studyId: studyId, + fieldId: targetFieldId, + dataVersion: null, + value: fileEntry.id, + properties: { + m_subjectId: parsedDescription.participantId, + m_visitId: targetVisitId + }, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} }); } const insertResult = await this.db.collections.files_collection.insertOne(fileEntry); if (insertResult.acknowledged) { - resolve(fileEntry); + resolve({ + ...fileEntry, + uploadTime: fileEntry.life.createdTime, + uploadedBy: requester.id + }); } else { throw new GraphQLError(errorCodes.DATABASE_ERROR); } @@ -255,7 +269,7 @@ export class FileCore { } const file = await this.db.collections.files_collection.findOne({ deleted: null, id: fileId }); - if (!file) { + if (!file || !file.studyId || !file.description) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( @@ -278,44 +292,21 @@ export class FileCore { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } // update data record - const obj = { - m_studyId: file.studyId, - m_subjectId: parsedDescription.participantId, - m_versionId: null, - m_visitId: targetVisitId, - m_fieldId: targetFieldId - }; - const existing = await this.db.collections.data_collection.findOne(obj); - if (!existing) { - await this.db.collections.data_collection.insertOne({ - ...obj, - id: uuid(), - uploadedAt: (new Date()).valueOf(), - value: '', - metadata: { - add: [], - remove: [] - } - }); - } - const objWithData: Partial> = { - ...obj, + await this.db.collections.data_collection.insertOne({ id: uuid(), - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - 'uploader:user': requester.id, - 'add': existing?.metadata?.add ?? [], - 'remove': (existing?.metadata?.remove || []).concat(fileId) - } - }; - const updateResult = await this.db.collections.data_collection.updateOne(obj, { $set: objWithData }, { upsert: true }); - - // const updateResult = await this.db.collections.files_collection.updateOne({ deleted: null, id: args.fileId }, { $set: { deleted: new Date().valueOf() } }); - if (updateResult.modifiedCount === 1 || updateResult.upsertedCount === 1) { - return makeGenericReponse(); - } else { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } + studyId: file.studyId, + fieldId: targetFieldId, + dataVersion: null, + value: fileId, + properties: file.properties, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: Date.now(), + deletedUser: requester.id + }, + metadata: {} + }); + return makeGenericReponse(file.id); } } \ No newline at end of file diff --git a/packages/itmat-cores/src/core/jobCore.ts b/packages/itmat-cores/src/GraphQLCore/jobCore.ts similarity index 100% rename from packages/itmat-cores/src/core/jobCore.ts rename to packages/itmat-cores/src/GraphQLCore/jobCore.ts diff --git a/packages/itmat-cores/src/core/logCore.ts b/packages/itmat-cores/src/GraphQLCore/logCore.ts similarity index 89% rename from packages/itmat-cores/src/core/logCore.ts rename to packages/itmat-cores/src/GraphQLCore/logCore.ts index a7833a020..d9a0ecae2 100644 --- a/packages/itmat-cores/src/core/logCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/logCore.ts @@ -1,4 +1,4 @@ -import { ILogEntry, IUserWithoutToken, LOG_ACTION, LOG_STATUS, LOG_TYPE, userTypes } from '@itmat-broker/itmat-types'; +import { ILogEntry, IUserWithoutToken, LOG_ACTION, LOG_STATUS, LOG_TYPE, enumUserTypes } from '@itmat-broker/itmat-types'; import { DBType } from '../database/database'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../utils/errors'; @@ -15,12 +15,12 @@ export class LogCore { UPLOAD_FILE: ['file', 'description'] }; - public async getLogs(requester: IUserWithoutToken | undefined, requesterName?: string, requesterType?: userTypes, logType?: LOG_TYPE, actionType?: LOG_ACTION, status?: LOG_STATUS) { + public async getLogs(requester: IUserWithoutToken | undefined, requesterName?: string, requesterType?: enumUserTypes, logType?: LOG_TYPE, actionType?: LOG_ACTION, status?: LOG_STATUS) { if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (!(requester.type === userTypes.ADMIN) && !(requester.metadata?.logPermission === true)) { + if (!(requester.type === enumUserTypes.ADMIN) && !(requester.metadata?.['logPermission'] === true)) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } diff --git a/packages/itmat-cores/src/core/organisationCore.ts b/packages/itmat-cores/src/GraphQLCore/organisationCore.ts similarity index 78% rename from packages/itmat-cores/src/core/organisationCore.ts rename to packages/itmat-cores/src/GraphQLCore/organisationCore.ts index 6adf99385..4ec9a9cb9 100644 --- a/packages/itmat-cores/src/core/organisationCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/organisationCore.ts @@ -1,4 +1,4 @@ -import { IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IOrganisation, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import { DBType } from '../database/database'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../utils/errors'; @@ -15,24 +15,28 @@ export class OrganisationCore { return await this.db.collections.organisations_collection.find(queryObj, { projection: { _id: 0 } }).toArray(); } - public async createOrganisation(requester: IUserWithoutToken | undefined, org: { name: string, shortname: string | null, containOrg: string | null, metadata }): Promise { + public async createOrganisation(requester: IUserWithoutToken | undefined, org: { name: string, shortname: string | undefined, containOrg: string | null, metadata }): Promise { if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const { name, shortname, containOrg, metadata } = org; + const { name, shortname, metadata } = org; const entry: IOrganisation = { id: uuid(), name, shortname, - containOrg, - deleted: null, metadata: metadata?.siteIDMarker ? { siteIDMarker: metadata.siteIDMarker - } : {} + } : {}, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + } }; const result = await this.db.collections.organisations_collection.findOneAndUpdate({ name: name, deleted: null }, { $set: entry @@ -51,7 +55,7 @@ export class OrganisationCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } diff --git a/packages/itmat-cores/src/core/permissionCore.ts b/packages/itmat-cores/src/GraphQLCore/permissionCore.ts similarity index 98% rename from packages/itmat-cores/src/core/permissionCore.ts rename to packages/itmat-cores/src/GraphQLCore/permissionCore.ts index 174bfbe98..dfcbe1a4b 100644 --- a/packages/itmat-cores/src/core/permissionCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/permissionCore.ts @@ -1,5 +1,5 @@ import { GraphQLError } from 'graphql'; -import { atomicOperation, IDataEntry, IDataPermission, IManagementPermission, IPermissionManagementOptions, IRole, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { atomicOperation, IDataEntry, IDataPermission, IManagementPermission, IPermissionManagementOptions, IRole, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import { BulkWriteResult, Document, Filter } from 'mongodb'; import { v4 as uuid } from 'uuid'; import { DBType } from '../database/database'; @@ -62,7 +62,7 @@ export class PermissionCore { } /* if user is an admin then return true if admin privileges includes needed permissions */ - if (user.type === userTypes.ADMIN) { + if (user.type === enumUserTypes.ADMIN) { return true; } const tag = `permissions.manage.${type}`; @@ -77,7 +77,7 @@ export class PermissionCore { } public async combineUserDataPermissions(operation: string, user: IUserWithoutToken, studyId: string, projectId?: string) { - if (user.type === userTypes.ADMIN) { + if (user.type === enumUserTypes.ADMIN) { const matchAnyString = '^.*$'; return { subjectIds: [matchAnyString], @@ -126,7 +126,7 @@ export class PermissionCore { } const matchAnyString = '^.*$'; /* if user is an admin then return true if admin privileges includes needed permissions */ - if (user.type === userTypes.ADMIN) { + if (user.type === enumUserTypes.ADMIN) { return { matchObj: [], hasVersioned: true, @@ -299,7 +299,7 @@ export class PermissionCore { const testedUser: string[] = []; for (const each of allRequestedUserChanges) { if (!testedUser.includes(each)) { - const user = await this.db.collections.users_collection.findOne({ id: each, deleted: null }); + const user = await this.db.collections.users_collection.findOne({ 'id': each, 'life.deletedTime': null }); if (user === null) { throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); } else { diff --git a/packages/itmat-cores/src/core/pubkeyCore.ts b/packages/itmat-cores/src/GraphQLCore/pubkeyCore.ts similarity index 100% rename from packages/itmat-cores/src/core/pubkeyCore.ts rename to packages/itmat-cores/src/GraphQLCore/pubkeyCore.ts diff --git a/packages/itmat-cores/src/core/queryCore.ts b/packages/itmat-cores/src/GraphQLCore/queryCore.ts similarity index 100% rename from packages/itmat-cores/src/core/queryCore.ts rename to packages/itmat-cores/src/GraphQLCore/queryCore.ts diff --git a/packages/itmat-cores/src/core/standardizationCore.ts b/packages/itmat-cores/src/GraphQLCore/standardizationCore.ts similarity index 100% rename from packages/itmat-cores/src/core/standardizationCore.ts rename to packages/itmat-cores/src/GraphQLCore/standardizationCore.ts diff --git a/packages/itmat-cores/src/core/studyCore.ts b/packages/itmat-cores/src/GraphQLCore/studyCore.ts similarity index 80% rename from packages/itmat-cores/src/core/studyCore.ts rename to packages/itmat-cores/src/GraphQLCore/studyCore.ts index 1f82134a2..d38c4e376 100644 --- a/packages/itmat-cores/src/core/studyCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/studyCore.ts @@ -1,10 +1,10 @@ import { GraphQLError } from 'graphql'; -import { IFile, IProject, IStudy, studyType, IStudyDataVersion, IDataEntry, IDataClip, IRole, IFieldEntry, deviceTypes, IOrganisation, IUserWithoutToken, IPermissionManagementOptions, atomicOperation, userTypes, IOntologyTree, ISubjectDataRecordSummary, IQueryString, IGroupedData, enumValueType, IValueDescription } from '@itmat-broker/itmat-types'; +import { IFile, IProject, IStudy, studyType, IStudyDataVersion, IDataEntry, IDataClip, IRole, IField, deviceTypes, IUserWithoutToken, IPermissionManagementOptions, atomicOperation, enumUserTypes, IOntologyTree, IQueryString, IGroupedData, enumFileTypes, enumFileCategories, enumDataTypes, ICategoricalOption } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { errorCodes } from '../utils/errors'; import { ICombinedPermissions, PermissionCore, translateCohort } from './permissionCore'; import { validate } from '@ideafast/idgen'; -import type { Filter, MatchKeysAndValues } from 'mongodb'; +import type { Filter } from 'mongodb'; import { FileUpload } from 'graphql-upload-minimal'; import crypto from 'crypto'; import { fileSizeLimit } from '../utils/definition'; @@ -16,20 +16,20 @@ import { ObjectStore } from '@itmat-broker/itmat-commons'; export interface CreateFieldInput { fieldId: string; fieldName: string - tableName: string - dataType: enumValueType - possibleValues?: IValueDescription[] + tableName?: string + dataType: string; + possibleValues?: ICategoricalOption[] unit?: string comments?: string - metadata: Record + metadata?: Record } export interface EditFieldInput { fieldId: string; fieldName: string; tableName?: string; - dataType: enumValueType; - possibleValues?: IValueDescription[] + dataType: string; + possibleValues?: ICategoricalOption[] unit?: string comments?: string } @@ -73,11 +73,15 @@ export class StudyCore { ); if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const study = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + const study = await this.db.collections.studies_collection.findOne({ 'id': studyId, 'life.deletedTime': null }); if (study === null || study === undefined) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } - return study; + return { + ...study, + createdBy: study.life.createdUser, + deleted: study.life.deletedTime + }; } public async getProject(requester: IUserWithoutToken | undefined, projectId: string) { @@ -110,6 +114,47 @@ export class StudyCore { return project; } + /** + * This function convert the new field type to the old ones for consistency with the GraphQL schema + */ + public fieldTypeConverter(fields: IField[]) { + return fields.map((field) => { + return { + ...field, + possibleValues: field.categoricalOptions ? field.categoricalOptions.map((el) => { + return { + id: el.id, + code: el.code, + description: el.description + }; + }) : [], + dataType: (() => { + if (field.dataType === enumDataTypes.INTEGER) { + return 'int'; + } else if (field.dataType === enumDataTypes.DECIMAL) { + return 'dec'; + } else if (field.dataType === enumDataTypes.STRING) { + return 'str'; + } else if (field.dataType === enumDataTypes.BOOLEAN) { + return 'bool'; + } else if (field.dataType === enumDataTypes.DATETIME) { + return 'date'; + } else if (field.dataType === enumDataTypes.FILE) { + return 'file'; + } else if (field.dataType === enumDataTypes.JSON) { + return 'json'; + } else if (field.dataType === enumDataTypes.CATEGORICAL) { + return 'cat'; + } else { + return 'str'; + } + })(), + dateAdded: field.life.createdTime.toString(), + dateDeleted: field.life.deletedTime ? field.life.deletedTime.toString() : null + }; + }); + } + public async getStudyFields(requester: IUserWithoutToken | undefined, studyId: string, projectId?: string, versionId?: string | null) { if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -134,14 +179,14 @@ export class StudyCore { // check the metadata:role:**** for versioned data directly const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); // check the regular expressions for unversioned data - if (requester.type === userTypes.ADMIN) { + if (requester.type === enumUserTypes.ADMIN) { if (versionId === null) { availableDataVersions.push(null); } - const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { - $sort: { dateAdded: -1 } + $sort: { 'life.createdTime': -1 } }, { $group: { _id: '$fieldId', @@ -154,15 +199,15 @@ export class StudyCore { }, { $sort: { fieldId: 1 } }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); + return this.fieldTypeConverter(fieldRecords.filter(el => el.life.deletedTime === null)); } // unversioned data could not be returned by metadata filters if (versionId === null && aggregatedPermissions.hasVersioned) { availableDataVersions.push(null); - const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { - $sort: { dateAdded: -1 } + $sort: { 'life.createdTime': -1 } }, { $match: { fieldId: { $in: aggregatedPermissions.raw.fieldIds.map((el: string) => new RegExp(el)) } @@ -179,7 +224,7 @@ export class StudyCore { }, { $sort: { fieldId: 1 } }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); + return this.fieldTypeConverter(fieldRecords.filter(el => el.life.deletedTime === null)); } else { // metadata filter const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; @@ -187,10 +232,10 @@ export class StudyCore { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { - $sort: { dateAdded: -1 } + $sort: { 'life.createdTime': -1 } }, { $match: metadataFilter }, { $group: { _id: '$fieldId', @@ -202,11 +247,10 @@ export class StudyCore { } }, { $sort: { fieldId: 1 } - }, { - $set: { metadata: null } }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); + return this.fieldTypeConverter(fieldRecords.filter(el => el.life.deletedTime === null)); } + return []; } public async getOntologyTree(requester: IUserWithoutToken | undefined, studyId: string, projectId?: string, treeName?: string, versionId?: string) { @@ -278,143 +322,6 @@ export class StudyCore { } } - public async checkDataComplete(requester: IUserWithoutToken | undefined, studyId: string) { - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* user can get study if he has readonly permission */ - const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - // we only check data that hasnt been pushed to a new data version - const data: IDataEntry[] = await this.db.collections.data_collection.find({ - m_studyId: studyId, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } - }).toArray(); - const fieldMapping = (await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId } - }, { - $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } - }, { - $sort: { dateAdded: -1 } - }, { - $group: { - _id: '$fieldId', - doc: { $last: '$$ROOT' } - } - } - ]).toArray()).map(el => el['doc']).filter(eh => eh.dateDeleted === null).reduce((acc, curr) => { - acc[curr.fieldId] = curr; - return acc; - }, {}); - const summary: ISubjectDataRecordSummary[] = []; - // we will not check data whose fields are not defined, because data that the associated fields are undefined will not be returned while querying data - for (const record of data) { - let error: string | null = null; - if (fieldMapping[record.m_fieldId] !== undefined && fieldMapping[record.m_fieldId] !== null) { - switch (fieldMapping[record.m_fieldId].dataType) { - case 'dec': {// decimal - if (typeof record.value === 'number') { - if (!/^\d+(.\d+)?$/.test(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; - break; - } - break; - } - case 'int': {// integer - if (typeof record.value === 'number') { - if (!/^-?\d+$/.test(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as integer.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as integer.`; - break; - } - break; - } - case 'bool': {// boolean - if (typeof record.value !== 'boolean') { - error = `Field ${record.m_fieldId}: Cannot parse as boolean.`; - break; - } - break; - } - case 'str': { - break; - } - // 01/02/2021 00:00:00 - case 'date': { - if (typeof record.value === 'string') { - const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; - if (!record.value.match(matcher)) { - error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; - break; - } - break; - } - case 'json': { - break; - } - case 'file': { - if (typeof record.value === 'string') { - const file = await this.db.collections.files_collection.findOne({ id: record.value }); - if (!file) { - error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; - break; - } - break; - } - case 'cat': { - if (typeof record.value === 'string') { - if (!fieldMapping[record.m_fieldId].possibleValues.map((el) => el.code).includes(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; - break; - } - break; - } - default: { - error = `Field ${record.m_fieldId}: Invalid data Type.`; - break; - } - } - } - error && summary.push({ - subjectId: record.m_subjectId, - visitId: record.m_visitId, - fieldId: record.m_fieldId, - error: error - }); - } - - return summary; - } - public async getDataRecords(requester: IUserWithoutToken | undefined, queryString: IQueryString, studyId: string, versionId: string | null | undefined, projectId?: string) { if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -438,12 +345,12 @@ export class StudyCore { const aggregatedPermissions = this.permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); let availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - let fieldRecords: IFieldEntry[] = []; + let fieldRecords: IField[] = []; let result; let metadataFilter; // we obtain the data by different requests // admin used will not filtered by metadata filters - if (requester.type === userTypes.ADMIN) { + if (requester.type === enumUserTypes.ADMIN) { if (versionId !== undefined) { if (versionId === null) { availableDataVersions.push(null); @@ -454,7 +361,7 @@ export class StudyCore { } } - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -484,7 +391,7 @@ export class StudyCore { // unversioned data: metadatafilter for versioned data and all unversioned tags if (versionId === null && aggregatedPermissions.hasVersioned) { availableDataVersions.push(null); - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -514,7 +421,7 @@ export class StudyCore { if (versionId === '-1') { availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; } - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -541,7 +448,7 @@ export class StudyCore { } } else if (versionId !== undefined) { availableDataVersions = [versionId]; - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -623,8 +530,8 @@ export class StudyCore { return []; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } + const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumDataTypes.FILE } }, { $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { $sort: { dateAdded: -1 } }, { @@ -642,9 +549,9 @@ export class StudyCore { let adds: string[] = []; let removes: string[] = []; // versioned data - if (requester.type === userTypes.ADMIN) { + if (requester.type === enumUserTypes.ADMIN) { const fileRecords = await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, fieldId: { $in: fileFieldIds } } }]).toArray(); adds = fileRecords.map(el => el.metadata?.add || []).flat(); removes = fileRecords.map(el => el.metadata?.remove || []).flat(); @@ -655,7 +562,7 @@ export class StudyCore { }); const metadataFilter = { $or: subqueries }; const versionedFileRecors = await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, dataVersion: { $in: availableDataVersions }, fieldId: { $in: fileFieldIds } } }, { $match: metadataFilter }]).toArray(); @@ -666,16 +573,16 @@ export class StudyCore { continue; } filters.push({ - m_subjectId: { $in: role.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: role.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: role.fieldIds.map((el: string) => new RegExp(el)) }, - m_versionId: null + 'properties.m_subjectId': { $in: role.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: role.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: role.fieldIds.map((el: string) => new RegExp(el)) }, + 'dataVersion': null }); } let unversionedFileRecords: IDataEntry[] = []; if (filters.length !== 0) { unversionedFileRecords = await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: null, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, dataVersion: null, fieldId: { $in: fileFieldIds } } }, { $match: { $or: filters } }]).toArray(); @@ -701,21 +608,21 @@ export class StudyCore { return [[], []]; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const versionedSubjects = (await this.db.collections.data_collection.distinct('m_subjectId', { - m_studyId: study.id, - m_versionId: availableDataVersions[availableDataVersions.length - 1], - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } + const versionedSubjects = (await this.db.collections.data_collection.distinct('properties.m_subjectId', { + 'studyId': study.id, + 'dataVersion': availableDataVersions[availableDataVersions.length - 1], + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + 'value': { $ne: null } })).sort() || []; - const unVersionedSubjects = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('m_subjectId', { - m_studyId: study.id, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } + const unVersionedSubjects = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('properties.m_subjectId', { + 'studyId': study.id, + 'dataVersion': null, + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + 'value': { $ne: null } })).sort() || [] : []; return [versionedSubjects, unVersionedSubjects]; } @@ -733,21 +640,21 @@ export class StudyCore { return [[], []]; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const versionedVisits = (await this.db.collections.data_collection.distinct('m_visitId', { - m_studyId: study.id, - m_versionId: availableDataVersions[availableDataVersions.length - 1], - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } + const versionedVisits = (await this.db.collections.data_collection.distinct('properties.m_visitId', { + 'studyId': study.id, + 'dataVersion': availableDataVersions[availableDataVersions.length - 1], + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + 'value': { $ne: null } })).sort((a, b) => parseFloat(a) - parseFloat(b)); - const unVersionedVisits = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('m_visitId', { - m_studyId: study.id, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } + const unVersionedVisits = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('properties.m_visitId', { + 'studyId': study.id, + 'dataVersion': null, + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + 'value': { $ne: null } })).sort((a, b) => parseFloat(a) - parseFloat(b)) : []; return [versionedVisits, unVersionedVisits]; } @@ -766,23 +673,23 @@ export class StudyCore { } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); const numberOfVersioned: number = (await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: availableDataVersions[availableDataVersions.length - 1], value: { $ne: null } } + $match: { studyId: study.id, dataVersion: availableDataVersions[availableDataVersions.length - 1], value: { $ne: null } } }, { $match: { - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { $count: 'count' }]).toArray())[0]?.['count'] || 0; const numberOfUnVersioned: number = hasPermission.hasVersioned ? (await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: null, value: { $ne: null } } + $match: { studyId: study.id, dataVersion: null, value: { $ne: null } } }, { $match: { - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { $count: 'count' @@ -826,9 +733,9 @@ export class StudyCore { return []; } const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - let fieldRecords: IFieldEntry[] = []; - if (requester.type === userTypes.ADMIN) { - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + let fieldRecords: IField[] = []; + if (requester.type === enumUserTypes.ADMIN) { + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } }, { $group: { @@ -851,8 +758,8 @@ export class StudyCore { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { 'studyId': project.studyId, 'life.deletedTime': null, 'dataVersion': { $in: availableDataVersions }, 'fieldId': { $in: ontologyTreeFieldIds } } }, { $match: metadataFilter }, { $group: { _id: '$fieldId', @@ -904,8 +811,8 @@ export class StudyCore { return []; } const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } + const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumDataTypes.FILE } }, { $match: { $and: [{ fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } }, { fieldId: { $in: ontologyTreeFieldIds } }] } }, { $group: { _id: '$fieldId', @@ -922,7 +829,7 @@ export class StudyCore { let remove: string[] = []; if (Object.keys(hasPermission.matchObj).length === 0) { (await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, dataVersion: { $in: availableDataVersions }, fieldId: { $in: fileFieldIds } } }]).toArray()).forEach(element => { add = add.concat(element.metadata?.add || []); remove = remove.concat(element.metadata?.remove || []); @@ -934,7 +841,7 @@ export class StudyCore { }); const metadataFilter = { $or: subqueries }; (await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, dataVersion: { $in: availableDataVersions }, fieldId: { $in: fileFieldIds } } }, { $match: metadataFilter }]).toArray()).forEach(element => { @@ -998,9 +905,9 @@ export class StudyCore { // const ontologyTreeFieldIds = (availableTrees[0]?.routes || []).map(el => el.field[0].replace('$', '')); let fieldRecords; - if (requester.type === userTypes.ADMIN) { + if (requester.type === enumUserTypes.ADMIN) { fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + $match: { 'studyId': project.studyId, 'life.deletedTime': null, 'dataVersion': { $in: availableDataVersions } } }, { $group: { _id: '$fieldId', @@ -1018,7 +925,7 @@ export class StudyCore { }); metadataFilter = { $or: subqueries }; fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + $match: { 'studyId': project.studyId, 'life.deletedTime': null, 'dataVersion': { $in: availableDataVersions } } }, { $match: metadataFilter }, { $group: { _id: '$fieldId', @@ -1035,7 +942,7 @@ export class StudyCore { cohort: [[]], new_fields: [] }; - const pipeline = buildPipeline(emptyQueryString, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IFieldEntry[], metadataFilter, requester.type === userTypes.ADMIN, false); + const pipeline = buildPipeline(emptyQueryString, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IField[], metadataFilter, requester.type === enumUserTypes.ADMIN, false); const result = await this.db.collections.data_collection.aggregate<{ m_subjectId: string, m_visitId: string, m_fieldId: string, value: unknown }>(pipeline, { allowDiskUse: true }).toArray(); summary['subjects'] = Array.from(new Set(result.map((el) => el.m_subjectId))).sort(); summary['visits'] = Array.from(new Set(result.map((el) => el.m_visitId))).sort((a, b) => parseFloat(a) - parseFloat(b)).sort(); @@ -1073,13 +980,13 @@ export class StudyCore { return await this.db.collections.roles_collection.find({ studyId: project.studyId, projectId: project.id, deleted: null }).toArray(); } - public async createNewStudy(requester: IUserWithoutToken | undefined, studyName: string, description: string, type: studyType): Promise { + public async createNewStudy(requester: IUserWithoutToken | undefined, studyName: string, description: string, type: studyType) { /* check if study already exist (lowercase because S3 minio buckets cant be mixed case) */ if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -1105,21 +1012,28 @@ export class StudyCore { const study: IStudy = { id: uuid(), name: studyName, - createdBy: requester.id, currentDataVersion: -1, - lastModified: new Date().valueOf(), dataVersions: [], - deleted: null, description: description, - type: type, ontologyTrees: [], - metadata: {} + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: { + type: type + } }; await this.db.collections.studies_collection.insertOne(study); - return study; + return { + ...study, + type: type + }; } - public async validateAndGenerateFieldEntry(fieldEntry: Partial, requester: IUserWithoutToken) { + public async validateAndGenerateFieldEntry(fieldEntry: CreateFieldInput, requester: IUserWithoutToken) { // duplicates with existing fields are checked by caller function const error: string[] = []; const complusoryField = [ @@ -1139,11 +1053,12 @@ export class StudyCore { error.push('FieldId should contain letters, numbers and _ only.'); } // data types - if (!fieldEntry.dataType || !Object.values(enumValueType).includes(fieldEntry.dataType)) { + const dataTypes = ['int', 'dec', 'str', 'bool', 'date', 'file', 'json', 'cat']; + if (!fieldEntry.dataType || !dataTypes.includes(fieldEntry.dataType)) { error.push(`Data type shouldn't be ${fieldEntry.dataType}: use 'int' for integer, 'dec' for decimal, 'str' for string, 'bool' for boolean, 'date' for datetime, 'file' for FILE, 'json' for json.`); } // check possiblevalues to be not-empty if datatype is categorical - if (fieldEntry.dataType === enumValueType.CATEGORICAL) { + if (fieldEntry.dataType === enumDataTypes.CATEGORICAL) { if (fieldEntry.possibleValues !== undefined && fieldEntry.possibleValues !== null) { if (fieldEntry.possibleValues.length === 0) { error.push(`${fieldEntry.fieldId}-${fieldEntry.fieldName}: possible values can't be empty if data type is categorical.`); @@ -1159,9 +1074,9 @@ export class StudyCore { const newField = { fieldId: fieldEntry.fieldId, fieldName: fieldEntry.fieldName, - tableName: fieldEntry.tableName, + tableName: null, dataType: fieldEntry.dataType, - possibleValues: fieldEntry.dataType === enumValueType.CATEGORICAL ? fieldEntry.possibleValues : null, + possibleValues: fieldEntry.dataType === enumDataTypes.CATEGORICAL ? fieldEntry.possibleValues : null, unit: fieldEntry.unit, comments: fieldEntry.comments, metadata: { @@ -1209,7 +1124,7 @@ export class StudyCore { response.push({ successful: false, code: errorCodes.NO_PERMISSION_ERROR, description: 'You do not have permissions to create this field.' }); continue; } - const { fieldEntry, error: thisError } = await this.validateAndGenerateFieldEntry(oneFieldInput, requester); + const { error: thisError } = await this.validateAndGenerateFieldEntry(oneFieldInput, requester); if (thisError.length !== 0) { response.push({ successful: false, code: errorCodes.CLIENT_MALFORMED_INPUT, description: `Field ${oneFieldInput.fieldId || 'fieldId not defined'}-${oneFieldInput.fieldName || 'fieldName not defined'}: ${JSON.stringify(thisError)}` }); isError = true; @@ -1218,25 +1133,47 @@ export class StudyCore { } // // construct the rest of the fields if (!isError) { - const newFieldEntry: IFieldEntry = { - ...fieldEntry, - fieldId: oneFieldInput.fieldId, - fieldName: oneFieldInput.fieldName, - dataType: oneFieldInput.dataType, + const newFieldEntry: IField = { id: uuid(), studyId: studyId, + fieldName: oneFieldInput.fieldName, + fieldId: oneFieldInput.fieldId, + dataType: (() => { + if (oneFieldInput.dataType === 'int') { + return enumDataTypes.INTEGER; + } else if (oneFieldInput.dataType === 'dec') { + return enumDataTypes.DECIMAL; + } else if (oneFieldInput.dataType === 'str') { + return enumDataTypes.STRING; + } else if (oneFieldInput.dataType === 'bool') { + return enumDataTypes.BOOLEAN; + } else if (oneFieldInput.dataType === 'date') { + return enumDataTypes.DATETIME; + } else if (oneFieldInput.dataType === 'file') { + return enumDataTypes.FILE; + } else if (oneFieldInput.dataType === 'json') { + return enumDataTypes.JSON; + } else if (oneFieldInput.dataType === 'cat') { + return enumDataTypes.CATEGORICAL; + } else { + return enumDataTypes.STRING; + } + })(), + categoricalOptions: oneFieldInput.dataType === 'cat' ? oneFieldInput.possibleValues : undefined, + unit: oneFieldInput.unit, + comments: oneFieldInput.comments, dataVersion: null, - dateAdded: Date.now(), - dateDeleted: null, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, metadata: { - uploader: requester.id + tableName: oneFieldInput.tableName } }; - bulk.find({ - fieldId: fieldEntry.fieldId, - studyId: studyId, - dataVersion: null - }).upsert().updateOne({ $set: newFieldEntry }); + bulk.insert(newFieldEntry); } } if (bulk.batches.length > 0) { @@ -1250,39 +1187,79 @@ export class StudyCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } // check fieldId exist - const searchField = await this.db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); + const searchField = await this.db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); if (!searchField) { throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } searchField.fieldId = fieldInput.fieldId; searchField.fieldName = fieldInput.fieldName; - searchField.dataType = fieldInput.dataType; + searchField.dataType = (() => { + if (fieldInput.dataType === 'int') { + return enumDataTypes.INTEGER; + } else if (fieldInput.dataType === 'dec') { + return enumDataTypes.DECIMAL; + } else if (fieldInput.dataType === 'str') { + return enumDataTypes.STRING; + } else if (fieldInput.dataType === 'bool') { + return enumDataTypes.BOOLEAN; + } else if (fieldInput.dataType === 'date') { + return enumDataTypes.DATETIME; + } else if (fieldInput.dataType === 'file') { + return enumDataTypes.FILE; + } else if (fieldInput.dataType === 'json') { + return enumDataTypes.JSON; + } else if (fieldInput.dataType === 'cat') { + return enumDataTypes.CATEGORICAL; + } else { + return enumDataTypes.STRING; + } + })(); if (fieldInput.tableName) { - searchField.tableName = fieldInput.tableName; + searchField.metadata['tableName'] = fieldInput.tableName; } if (fieldInput.unit) { searchField.unit = fieldInput.unit; } if (fieldInput.possibleValues) { - searchField.possibleValues = fieldInput.possibleValues; + searchField.categoricalOptions = fieldInput.possibleValues; } if (fieldInput.tableName) { - searchField.tableName = fieldInput.tableName; + searchField.metadata['tableName'] = fieldInput.tableName; } if (fieldInput.comments) { searchField.comments = fieldInput.comments; } - const { fieldEntry, error } = await this.validateAndGenerateFieldEntry(searchField, requester); + const { error } = await this.validateAndGenerateFieldEntry(searchField, requester); if (error.length !== 0) { throw new GraphQLError(JSON.stringify(error), { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); } - const newFieldEntry = { ...fieldEntry, id: searchField.id, dateAdded: searchField.dateAdded, deleted: searchField.dateDeleted, studyId: searchField.studyId }; + // const newFieldEntry = { ...fieldEntry, id: searchField.id, dateAdded: searchField.dateAdded, deleted: searchField.dateDeleted, studyId: searchField.studyId }; + const newFieldEntry: IField = { + id: searchField.id, + studyId: searchField.studyId, + fieldName: searchField.fieldName, + fieldId: searchField.fieldId, + dataType: searchField.dataType, + categoricalOptions: searchField.categoricalOptions, + unit: searchField.unit, + comments: searchField.comments, + dataVersion: null, + life: { + createdTime: searchField.life.createdTime, + createdUser: searchField.life.createdUser, + deletedTime: searchField.life.deletedTime, + deletedUser: searchField.life.deletedUser + }, + verifier: searchField.verifier, + properties: searchField.properties, + metadata: searchField.metadata + }; await this.db.collections.field_dictionary_collection.findOneAndUpdate({ studyId: studyId, fieldId: newFieldEntry.fieldId }, { $set: newFieldEntry }); return newFieldEntry; @@ -1308,26 +1285,32 @@ export class StudyCore { // check fieldId exist const searchField = await this.db.collections.field_dictionary_collection.find({ studyId: studyId, fieldId: fieldId, dateDeleted: null }).limit(1).sort({ dateAdded: -1 }).toArray(); - if (searchField.length === 0 || searchField[0].dateDeleted !== null) { + if (searchField.length === 0 || searchField[0].life.deletedTime !== null) { throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } - const fieldEntry = { + const fieldEntry: IField = { id: uuid(), studyId: studyId, - fieldId: searchField[0].fieldId, fieldName: searchField[0].fieldName, - tableName: searchField[0].tableName, + fieldId: searchField[0].fieldId, dataType: searchField[0].dataType, - possibleValues: searchField[0].possibleValues, + categoricalOptions: searchField[0].categoricalOptions, unit: searchField[0].unit, comments: searchField[0].comments, dataVersion: null, - dateAdded: (new Date()).valueOf(), - dateDeleted: (new Date()).valueOf() + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: Date.now(), + deletedUser: requester.id + }, + verifier: searchField[0].verifier, + properties: searchField[0].properties, + metadata: searchField[0].metadata }; await this.db.collections.field_dictionary_collection.insertOne(fieldEntry); - return searchField[0]; + return this.fieldTypeConverter([fieldEntry])[0]; } public async editStudy(requester: IUserWithoutToken | undefined, studyId: string, description: string): Promise { @@ -1335,7 +1318,7 @@ export class StudyCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -1369,7 +1352,7 @@ export class StudyCore { // get all dataVersions that are valid (before/equal the current version) const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ - $sort: { dateAdded: -1 } + $sort: { 'life.createdTime': -1 } }, { $match: { $or: [{ dataVersion: null }, { dataVersion: { $in: availableDataVersions } }] } }, { @@ -1382,7 +1365,7 @@ export class StudyCore { } ]).toArray(); // filter those that have been deleted - const fieldsList = fieldRecords.map(el => el['doc']).filter(eh => eh.dateDeleted === null); + const fieldsList = fieldRecords.map(el => el['doc']).filter(eh => eh.life.deletedTime === null); const response = (await this.uploadOneDataClip(studyId, hasPermission.raw, fieldsList, data, requester)); return response; @@ -1410,12 +1393,12 @@ export class StudyCore { let validFields; // filter if (subjectIds === undefined || subjectIds === null || subjectIds.length === 0) { - validSubjects = (await this.db.collections.data_collection.distinct('m_subjectId', { m_studyId: studyId })); + validSubjects = (await this.db.collections.data_collection.distinct('properties.m_subjectId', { studyId: studyId })); } else { validSubjects = subjectIds; } if (visitIds === undefined || visitIds === null || visitIds.length === 0) { - validVisits = (await this.db.collections.data_collection.distinct('m_visitId', { m_studyId: studyId })); + validVisits = (await this.db.collections.data_collection.distinct('properties.m_visitId', { studyId: studyId })); } else { validVisits = visitIds; } @@ -1432,17 +1415,22 @@ export class StudyCore { if (!(await this.permissionCore.checkDataEntryValid(hasPermission.raw, fieldId, subjectId, visitId))) { continue; } - bulk.find({ m_studyId: studyId, m_subjectId: subjectId, m_visitId: visitId, m_fieldId: fieldId, m_versionId: null }).upsert().updateOne({ - $set: { - m_studyId: studyId, + bulk.insert({ + studyId: studyId, + fieldId: fieldId, + value: null, + properties: { m_subjectId: subjectId, - m_visitId: visitId, - m_versionId: null, - m_fieldId: fieldId, - value: null, - uploadedAt: (new Date()).valueOf(), - id: uuid() - } + m_visitId: visitId + }, + dataVersion: null, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: Date.now(), + deletedUser: requester.id + }, + id: uuid() }); response.push({ successful: true, description: `SubjectId-${subjectId}:visitId-${visitId}:fieldId-${fieldId} is deleted.` }); } @@ -1463,7 +1451,7 @@ export class StudyCore { } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -1472,15 +1460,14 @@ export class StudyCore { throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); } const newDataVersionId = uuid(); - const newContentId = uuid(); // update data const resData = await this.db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: null + studyId: studyId, + dataVersion: null }, { $set: { - m_versionId: newDataVersionId + dataVersion: newDataVersionId } }); // update field @@ -1516,10 +1503,15 @@ export class StudyCore { // insert a new version into study const newDataVersion: IStudyDataVersion = { id: newDataVersionId, - contentId: newContentId, // same content = same id - used in reverting data, version control version: dataVersion, tag: tag, - updateDate: (new Date().valueOf()).toString() + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await this.db.collections.studies_collection.updateOne({ id: studyId }, { $push: { dataVersions: newDataVersion }, @@ -1543,22 +1535,22 @@ export class StudyCore { validSubjects = []; const subqueries = translateCohort(role.permissions.data.filters); validSubjects = (await this.db.collections.data_collection.aggregate<{ - m_subjectId: string, m_visitId: string, m_fieldId: string, value: string | number | boolean | { [key: string]: unknown } + 'm_subjectId': string, m_visitId: string, fieldId: string, value: string | number | boolean | { [key: string]: unknown } }>([{ - $match: { m_fieldId: { $in: role.permissions.data.filters.map(el => el.field) } } + $match: { fieldId: { $in: role.permissions.data.filters.map(el => el.field) } } }, { $sort: { uploadedAt: -1 } }, { $group: { - _id: { m_subjectId: '$m_subjectId', m_visitId: '$m_visitId', m_fieldId: '$m_fieldId' }, + _id: { m_subjectId: '$properties.m_subjectId', m_visitId: '$properties.m_visitId', m_fieldId: '$fieldId' }, doc: { $first: '$$ROOT' } } }, { $project: { - m_subjectId: '$doc.m_subjectId', - m_visitId: '$doc.m_visitId', - m_fieldId: '$doc.m_fieldId', + m_subjectId: '$doc.properties.m_subjectId', + m_visitId: '$doc.properties.m_visitId', + m_fieldId: '$doc.fieldId', value: '$doc.value', _id: 0 } @@ -1572,25 +1564,25 @@ export class StudyCore { } const tag = `metadata.${'role:'.concat(role.id)}`; await this.db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: newDataVersionId, - $and: [ - { m_subjectId: { $in: filters.subjectIds.map((el: string) => new RegExp(el)) } }, - { m_subjectId: { $in: validSubjects } } + 'studyId': studyId, + 'dataVersion': newDataVersionId, + '$and': [ + { 'properties.m_subjectId': { $in: filters.subjectIds.map((el: string) => new RegExp(el)) } }, + { 'properties.m_subjectId': { $in: validSubjects } } ], - m_visitId: { $in: filters.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } + 'properties.m_visitId': { $in: filters.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } }, { $set: { [tag]: true } }); await this.db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: newDataVersionId, + studyId: studyId, + dataVersion: newDataVersionId, $or: [ - { m_subjectId: { $nin: filters.subjectIds.map((el: string) => new RegExp(el)) } }, - { m_subjectId: { $nin: validSubjects } }, - { m_visitId: { $nin: filters.visitIds.map((el: string) => new RegExp(el)) } }, - { m_fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } } + { 'properties.m_subjectId': { $nin: filters.subjectIds.map((el: string) => new RegExp(el)) } }, + { 'properties.m_subjectId': { $nin: validSubjects } }, + { 'properties.m_visitId': { $nin: filters.visitIds.map((el: string) => new RegExp(el)) } }, + { fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } } ] }, { $set: { [tag]: false } @@ -1613,10 +1605,14 @@ export class StudyCore { if (newDataVersion === null) { throw new GraphQLError('No matched or modified records', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } - return newDataVersion; + return { + ...newDataVersion, + updateDate: newDataVersion.life.createdTime.toString(), + contentId: uuid() + }; } - public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUserWithoutToken): Promise { + public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUserWithoutToken): Promise { const response: IGenericResponse[] = []; let bulk = this.db.collections.data_collection.initializeUnorderedBulkOp(); // remove duplicates by subjectId, visitId and fieldId @@ -1648,7 +1644,7 @@ export class StudyCore { parsedValue = '99999'; } else { switch (fieldInDb.dataType) { - case 'dec': {// decimal + case enumDataTypes.DECIMAL: {// decimal if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as decimal.`; break; @@ -1660,7 +1656,7 @@ export class StudyCore { parsedValue = parseFloat(dataClip.value); break; } - case 'int': {// integer + case enumDataTypes.INTEGER: {// integer if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as integer.`; break; @@ -1672,7 +1668,7 @@ export class StudyCore { parsedValue = parseInt(dataClip.value, 10); break; } - case 'bool': {// boolean + case enumDataTypes.BOOLEAN: {// boolean if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as boolean.`; break; @@ -1685,7 +1681,7 @@ export class StudyCore { } break; } - case 'str': { + case enumDataTypes.STRING: { if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as string.`; break; @@ -1694,7 +1690,7 @@ export class StudyCore { break; } // 01/02/2021 00:00:00 - case 'date': { + case enumDataTypes.DATETIME: { if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; break; @@ -1707,11 +1703,11 @@ export class StudyCore { parsedValue = dataClip.value.toString(); break; } - case 'json': { + case enumDataTypes.JSON: { parsedValue = dataClip.value; break; } - case 'file': { + case enumDataTypes.FILE: { if (!dataClip.file || typeof (dataClip.file) === 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as file.`; break; @@ -1726,12 +1722,12 @@ export class StudyCore { } break; } - case 'cat': { - if (!fieldInDb.possibleValues) { + case enumDataTypes.CATEGORICAL: { + if (!fieldInDb.categoricalOptions) { error = `Field ${dataClip.fieldId}: Cannot parse as categorical, possible values not defined.`; break; } - if (dataClip.value && !fieldInDb.possibleValues.map((el) => el.code).includes(dataClip.value?.toString())) { + if (dataClip.value && !fieldInDb.categoricalOptions.map((el) => el.code).includes(dataClip.value?.toString())) { error = `Field ${dataClip.fieldId}: Cannot parse as categorical, value not in value list.`; break; } else { @@ -1751,58 +1747,25 @@ export class StudyCore { } else { response.push({ successful: true, description: `${dataClip.subjectId}-${dataClip.visitId}-${dataClip.fieldId}` }); } - const obj = { - m_studyId: studyId, - m_versionId: null, - m_subjectId: dataClip.subjectId, - m_visitId: dataClip.visitId, - m_fieldId: dataClip.fieldId - }; - let objWithData: Partial>; - // update the file data differently - if (fieldInDb.dataType === 'file') { - const existing = await this.db.collections.data_collection.findOne(obj); - if (!existing) { - await this.db.collections.data_collection.insertOne({ - ...obj, - id: uuid(), - uploadedAt: (new Date()).valueOf(), - value: '', - metadata: { - add: [], - remove: [] - } - }); - } + bulk.insert({ + id: uuid(), + studyId: studyId, + fieldId: dataClip.fieldId, + dataVersion: null, + value: parsedValue, + properties: { + m_subjectId: dataClip.subjectId, + m_visitId: dataClip.visitId + }, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }); - objWithData = { - ...obj, - id: uuid(), - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - ...dataClip.metadata, - participantId: dataClip.subjectId, - add: (existing?.metadata?.add || []).concat(parsedValue), - uploader: requester.id - }, - uploadedBy: requester.id - }; - bulk.find(obj).updateOne({ $set: objWithData }); - } else { - objWithData = { - ...obj, - id: uuid(), - value: parsedValue, - uploadedAt: (new Date()).valueOf(), - metadata: { - ...dataClip.metadata, - uploader: requester.id - }, - uploadedBy: requester.id - }; - bulk.insert(objWithData); - } if (bulk.batches.length > 999) { await bulk.execute(); bulk = this.db.collections.data_collection.initializeUnorderedBulkOp(); @@ -1821,19 +1784,20 @@ export class StudyCore { if (!study) { return { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, description: 'Study does not exist.' }; } - const sitesIDMarkers = (await this.db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce<{ [key: string]: string | null }>((acc, curr) => { - if (curr.metadata?.siteIDMarker) { - acc[curr.metadata.siteIDMarker] = curr.shortname; + const organisations = await this.db.collections.organisations_collection.find({ 'life.deletedTime': null }).toArray(); + const sitesIDMarkers: Record = organisations.reduce((acc, curr) => { + if (curr.metadata['siteIDMarker']) { + acc[String(curr.metadata['siteIDMarker'])] = curr.shortname ?? curr.name; } return acc; - }, {}); + }, {} as Record); // check file metadata + let parsedDescription: Record; + let startDate: number; + let endDate: number; + let deviceId: string; + let participantId: string; if (data.metadata) { - let parsedDescription: Record; - let startDate: number; - let endDate: number; - let deviceId: string; - let participantId: string; try { parsedDescription = data.metadata; if (!parsedDescription['startDate'] || !parsedDescription['endDate'] || !parsedDescription['deviceId'] || !parsedDescription['participantId']) { @@ -1864,22 +1828,11 @@ export class StudyCore { const file: FileUpload = await data.file; // check if old files exist; if so, denote it as deleted - const dataEntry = await this.db.collections.data_collection.findOne({ m_studyId: studyId, m_visitId: data.visitId, m_subjectId: data.subjectId, m_versionId: null, m_fieldId: data.fieldId }); + const dataEntry = await this.db.collections.data_collection.findOne({ 'studyId': studyId, 'properties.m_visitId': data.visitId, 'properties.m_subjectId': data.subjectId, 'dataVersion': null, 'fieldId': data.fieldId }); const oldFileId = dataEntry ? dataEntry.value : null; return new Promise((resolve, reject) => { (async () => { try { - const fileEntry: Partial = { - id: uuid(), - fileName: file.filename, - studyId: studyId, - description: JSON.stringify({}), - uploadTime: `${Date.now()}`, - uploadedBy: uploader.id, - deleted: null, - metadata: (data.metadata as Record) - }; - if (args.fileLength !== undefined && args.fileLength > fileSizeLimit) { reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); return; @@ -1923,10 +1876,29 @@ export class StudyCore { reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); return; } + const fileParts: string[] = file.filename.split('.'); + const fileExtension = fileParts.length === 1 ? enumFileTypes.UNKNOWN : (fileParts[fileParts.length - 1].trim().toUpperCase() in enumFileTypes ? fileParts[fileParts.length - 1].trim().toUpperCase() : enumFileTypes.UNKNOWN); - fileEntry.fileSize = readBytes.toString(); - fileEntry.uri = fileUri; - fileEntry.hash = hashString; + const fileEntry: Partial = { + id: uuid(), + studyId: studyId, + userId: null, + fileName: file.filename, + fileSize: readBytes, + description: JSON.stringify({}), + properties: { + participantId: participantId, + deviceId: deviceId, + startDate: startDate, + endDate: endDate, + site: sitesIDMarkers[participantId.substr(0, 1).toUpperCase()] ?? 'Unknown' + }, + uri: fileUri, + hash: hashString, + fileType: fileExtension in enumFileTypes ? enumFileTypes[fileExtension] : enumFileTypes.UNKNOWN, + fileCategory: enumFileCategories.STUDY_DATA_FILE, + sharedUsers: [] + }; const insertResult = await this.db.collections.files_collection.insertOne(fileEntry as IFile); if (insertResult.acknowledged) { // delete old file if existing @@ -2079,7 +2051,7 @@ export class StudyCore { }; const getListOfPatientsResult = await this.db.collections.data_collection.aggregate([ - { $match: { m_studyId: studyId } }, + { $match: { studyId: studyId } }, { $group: { _id: null, array: { $addToSet: '$m_subjectId' } } }, { $project: { array: 1 } } ]).toArray(); @@ -2101,10 +2073,10 @@ export class StudyCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const study = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + const study = await this.db.collections.studies_collection.findOne({ 'id': studyId, 'life.deletedTime': null }); if (!study) { throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -2116,7 +2088,7 @@ export class StudyCore { try { /* delete the study */ - await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); + await this.db.collections.studies_collection.findOneAndUpdate({ 'id': studyId, 'life.deletedTime': null }, { $set: { 'life.deletedUser': requester.id, 'life.deletedTime': timestamp } }); /* delete all projects related to the study */ await this.db.collections.projects_collection.updateMany({ studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); @@ -2125,7 +2097,7 @@ export class StudyCore { await this.permissionCore.removeRoleFromStudyOrProject({ studyId }); /* delete all files belong to the study*/ - await this.db.collections.files_collection.updateMany({ studyId, deleted: null }, { $set: { deleted: timestamp } }); + await this.db.collections.files_collection.updateMany({ studyId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': timestamp } }); await session.commitTransaction(); session.endSession().catch(() => { return; }); diff --git a/packages/itmat-cores/src/core/userCore.ts b/packages/itmat-cores/src/GraphQLCore/userCore.ts similarity index 89% rename from packages/itmat-cores/src/core/userCore.ts rename to packages/itmat-cores/src/GraphQLCore/userCore.ts index 41326775d..764b5db3f 100644 --- a/packages/itmat-cores/src/core/userCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/userCore.ts @@ -1,6 +1,6 @@ import bcrypt from 'bcrypt'; import { GraphQLError } from 'graphql'; -import { IUser, IUserWithoutToken, userTypes, IPubkey, IProject, IStudy, IResetPasswordRequest } from '@itmat-broker/itmat-types'; +import { IUser, IUserWithoutToken, enumUserTypes, IPubkey, IProject, IStudy, IResetPasswordRequest, enumReservedUsers } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { errorCodes } from '../utils/errors'; import { MarkOptional } from 'ts-essentials'; @@ -31,7 +31,7 @@ export interface CreateUserInput { export interface EditUserInput { id: string, username?: string, - type?: userTypes, + type?: enumUserTypes, firstname?: string, lastname?: string, email?: string, @@ -66,7 +66,7 @@ export class UserCore { } public async getOneUser_throwErrorIfNotExists(username: string): Promise { - const user = await this.db.collections.users_collection.findOne({ deleted: null, username }); + const user = await this.db.collections.users_collection.findOne({ 'life.deletedTime': null, username }); if (user === undefined || user === null) { throw new GraphQLError('User does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -75,8 +75,17 @@ export class UserCore { public async getUsers(userId?: string) { // everyone is allowed to see all the users in the app. But only admin can access certain fields, like emails, etc - see resolvers for User type. - const queryObj = userId === undefined ? { deleted: null } : { deleted: null, id: userId }; - return await this.db.collections.users_collection.find(queryObj, { projection: { _id: 0 } }).toArray(); + const queryObj = userId === undefined ? { 'life.deletedTime': null } : { 'life.deletedTime': null, 'id': userId }; + const users = await this.db.collections.users_collection.find(queryObj, { projection: { _id: 0, password: 0, otpSecret: 0 } }).toArray(); + const modifiedUsers: Record[] = []; + for (const user of users) { + modifiedUsers.push({ + ...user, + createdAt: user.life.createdTime, + deleted: user.life.deletedTime + }); + } + return modifiedUsers; } public async validateResetPassword(token: string, encryptedEmail: string) { @@ -96,14 +105,14 @@ export class UserCore { const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; const user: IUserWithoutToken | null = await this.db.collections.users_collection.findOne({ email, - resetPasswordRequests: { + 'resetPasswordRequests': { $elemMatch: { id: token, timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, used: false } }, - deleted: null + 'life.deletedTime': null }); if (!user) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -120,14 +129,14 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== enumUserTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } /* if requested user is admin, then he has access to all studies */ - if (user.type === userTypes.ADMIN) { + if (user.type === enumUserTypes.ADMIN) { const allprojects: IProject[] = await this.db.collections.projects_collection.find({ deleted: null }).toArray(); - const allstudies: IStudy[] = await this.db.collections.studies_collection.find({ deleted: null }).toArray(); + const allstudies: IStudy[] = await this.db.collections.studies_collection.find({ 'life.deletedTime': null }).toArray(); return { id: `user_access_obj_user_id_${user.id}`, projects: allprojects, studies: allstudies }; } @@ -151,7 +160,7 @@ export class UserCore { { studyId: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null } ] }).toArray(); - const studies = await this.db.collections.studies_collection.find({ id: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null }).toArray(); + const studies = await this.db.collections.studies_collection.find({ 'id': { $in: studiesAndProjectThatUserCanSee.studies }, 'life.deletedTime': null }).toArray(); return { id: `user_access_obj_user_id_${user.id}`, projects, studies }; } @@ -160,7 +169,7 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== enumUserTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -172,7 +181,7 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== enumUserTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -184,7 +193,7 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== enumUserTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -193,7 +202,7 @@ export class UserCore { public async requestExpiryDate(username?: string, email?: string) { /* double-check user existence */ - const queryObj = email ? { deleted: null, email } : { deleted: null, username }; + const queryObj = email ? { 'life.deletedTime': null, email } : { 'life.deletedTime': null, username }; const user: IUser | null = await this.db.collections.users_collection.findOne(queryObj); if (!user) { /* even user is null. send successful response: they should know that a user doesn't exist */ @@ -217,7 +226,7 @@ export class UserCore { return makeGenericReponse(); } - public async requestUsernameOrResetPassword(forgotUsername: boolean, forgotPassword: boolean, origin: unknown, email?: string, username?: string) { + public async requestUsernameOrResetPassword(forgotUsername: boolean, forgotPassword: boolean, origin: string, email?: string, username?: string) { /* checking the args are right */ if ((forgotUsername && !email) // should provide email if no username || (forgotUsername && username) // should not provide username if it's forgotten.. @@ -230,7 +239,7 @@ export class UserCore { } /* check user existence */ - const queryObj = email ? { deleted: null, email } : { deleted: null, username }; + const queryObj = email ? { 'life.deletedTime': null, email } : { 'life.deletedTime': null, username }; const user = await this.db.collections.users_collection.findOne(queryObj); if (!user) { /* even user is null. send successful response: they should know that a user doesn't exist */ @@ -292,7 +301,7 @@ export class UserCore { public async login(request: Express.Request, username: string, password: string, totp: string, requestexpirydate?: boolean) { // const { req }: { req: Express.Request } = context; - const result = await this.db.collections.users_collection.findOne({ deleted: null, username: username }); + const result = await this.db.collections.users_collection.findOne({ 'life.deletedTime': null, 'username': username }); if (!result) { throw new GraphQLError('User does not exist.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } @@ -312,7 +321,7 @@ export class UserCore { } /* validate if account expired */ - if (result.expiredAt < Date.now() && result.type === userTypes.STANDARD) { + if (result.expiredAt < Date.now() && result.type === enumUserTypes.STANDARD) { if (requestexpirydate) { /* send email to the DMP admin mailing-list */ await this.mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ @@ -334,14 +343,19 @@ export class UserCore { const filteredResult: IUserWithoutToken = { ...result }; - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { request.login(filteredResult, (err: unknown) => { if (err) { Logger.error(err); reject(new GraphQLError('Cannot log in. Please try again later.')); return; } - resolve(filteredResult); + + resolve({ + ...filteredResult, + createdAt: filteredResult.life.createdTime, + deleted: filteredResult.life.deletedTime + }); }); }); } @@ -378,13 +392,13 @@ export class UserCore { throw new GraphQLError('Username or password cannot have spaces.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const alreadyExist = await this.db.collections.users_collection.findOne({ username: user.username, deleted: null }); // since bycrypt is CPU expensive let's check the username is not taken first + const alreadyExist = await this.db.collections.users_collection.findOne({ 'username': user.username, 'life.deletedTime': null }); // since bycrypt is CPU expensive let's check the username is not taken first if (alreadyExist !== null && alreadyExist !== undefined) { throw new GraphQLError('User already exists.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } /* check if email has been used to register */ - const emailExist = await this.db.collections.users_collection.findOne({ email: user.email, deleted: null }); + const emailExist = await this.db.collections.users_collection.findOne({ 'email': user.email, 'life.deletedTime': null }); if (emailExist !== null && emailExist !== undefined) { throw new GraphQLError('This email has been registered. Please sign-in or register with another email!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } @@ -398,7 +412,7 @@ export class UserCore { id: uuid(), username: user.username, otpSecret, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, description: user.description ?? '', organisation: user.organisation, firstname: user.firstname, @@ -407,11 +421,15 @@ export class UserCore { email: user.email, emailNotificationsActivated: user.emailNotificationsActivated ?? false, emailNotificationsStatus: { expiringNotification: false }, - createdAt, expiredAt, resetPasswordRequests: [], - metadata: user.metadata, - deleted: null + metadata: {}, + life: { + createdTime: createdAt, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + } }; const result = await this.db.collections.users_collection.insertOne(entry); @@ -470,7 +488,7 @@ export class UserCore { throw new GraphQLError('User cannot delete itself'); } - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -478,7 +496,7 @@ export class UserCore { session.startTransaction(); try { /* delete the user */ - await this.db.collections.users_collection.findOneAndUpdate({ id: userId, deleted: null }, { $set: { deleted: new Date().valueOf(), password: 'DeletedUserDummyPassword' } }, { returnDocument: 'after', projection: { deleted: 1 } }); + await this.db.collections.users_collection.findOneAndUpdate({ 'id': userId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': Date.now(), 'password': 'DeletedUserDummyPassword' } }, { returnDocument: 'after', projection: { 'life.deletedTime': 1 } }); /* delete all user records in roles related to the study */ await this.db.collections.roles_collection.updateMany( @@ -533,14 +551,14 @@ export class UserCore { const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; const user: IUserWithoutToken | null = await this.db.collections.users_collection.findOne({ email, - resetPasswordRequests: { + 'resetPasswordRequests': { $elemMatch: { id: token, timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, used: false } }, - deleted: null + 'life.deletedTime': null }); if (!user) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -613,7 +631,7 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } const { id, username, type, firstname, lastname, email, emailNotificationsActivated, emailNotificationsStatus, password, description, organisation, expiredAt, metadata }: { - id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown + id: string, username?: string, type?: enumUserTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown } = user; if (password !== undefined && requester.id !== id) { // only the user themself can reset password throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -621,12 +639,12 @@ export class UserCore { if (password && !passwordIsGoodEnough(password)) { throw new GraphQLError('Password has to be at least 8 character long.'); } - if (requester.type !== userTypes.ADMIN && requester.id !== id) { + if (requester.type !== enumUserTypes.ADMIN && requester.id !== id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } let result; - if (requester.type === userTypes.ADMIN) { - result = await this.db.collections.users_collection.findOne({ id, deleted: null }); // just an extra guard before going to bcrypt cause bcrypt is CPU intensive. + if (requester.type === enumUserTypes.ADMIN) { + result = await this.db.collections.users_collection.findOne({ id, 'life.deletedTime': null }); // just an extra guard before going to bcrypt cause bcrypt is CPU intensive. if (result === null || result === undefined) { throw new GraphQLError('User not found'); } @@ -644,14 +662,14 @@ export class UserCore { description, organisation, expiredAt, - metadata + metadata: metadata ?? {} }; /* check email is valid form */ if (email && !/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { throw new GraphQLError('User not updated: Email is not the right format.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - if (requester.type !== userTypes.ADMIN && ( + if (requester.type !== enumUserTypes.ADMIN && ( type || firstname || lastname || username || description || organisation )) { throw new GraphQLError('User not updated: Non-admin users are only authorised to change their password, email or email notification.'); @@ -668,7 +686,7 @@ export class UserCore { expiringNotification: false }; } - const updateResult = await this.db.collections.users_collection.findOneAndUpdate({ id, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + const updateResult = await this.db.collections.users_collection.findOneAndUpdate({ id, 'life.deletedTime': null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); if (updateResult) { // New expiry date has been updated successfully. if (expiredAt && result) { @@ -685,7 +703,7 @@ export class UserCore { } } - public async registerPubkey(pubkeyobj: { pubkey: string, associatedUserId: string | null, jwtPubkey: string, jwtSeckey: string }): Promise { + public async registerPubkey(pubkeyobj: { pubkey: string, associatedUserId: string, jwtPubkey: string, jwtSeckey: string }): Promise { const { pubkey, associatedUserId, jwtPubkey, jwtSeckey } = pubkeyobj; const entry: IPubkey = { id: uuid(), @@ -694,7 +712,13 @@ export class UserCore { jwtPubkey, jwtSeckey, refreshCounter: 0, - deleted: null + life: { + createdTime: Date.now(), + createdUser: associatedUserId, + deletedTime: null, + deletedUser: null + }, + metadata: {} }; const result = await this.db.collections.pubkeys_collection.insertOne(entry); diff --git a/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts b/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts index 27f7b1ce7..6e52daa74 100644 --- a/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts +++ b/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts @@ -14,7 +14,7 @@ export async function userRetrieval(db: DBType, pubkey: string): Promise throw new GraphQLError('The public-key embedded in the JWT is not associated with any user!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const associatedUser: IUser | null = await db.collections.users_collection.findOne({ deleted: null, id: pubkeyrec.associatedUserId }, { projection: { _id: 0 } }); + const associatedUser: IUser | null = await db.collections.users_collection.findOne({ 'life.deletedTime': null, 'id': pubkeyrec.associatedUserId }, { projection: { _id: 0 } }); if (!associatedUser) { throw new GraphQLError('The user assciated with the public-key embedded in the JWT is not existed or already deleted!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } diff --git a/packages/itmat-cores/src/database/database.ts b/packages/itmat-cores/src/database/database.ts index 261e5179d..6c46c2192 100644 --- a/packages/itmat-cores/src/database/database.ts +++ b/packages/itmat-cores/src/database/database.ts @@ -1,4 +1,4 @@ -import type { IDataEntry, IFieldEntry, IFile, IJobEntry, ILogEntry, IOrganisation, IProject, IPubkey, IQueryEntry, IRole, IStudy, IUser, IStandardization } from '@itmat-broker/itmat-types'; +import type { IField, IFile, IJobEntry, ILogEntry, IOrganisation, IProject, IPubkey, IQueryEntry, IRole, IStudy, IUser, IStandardization, IConfig, IData } from '@itmat-broker/itmat-types'; import { Database as DatabaseBase, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; import type { Collection } from 'mongodb'; @@ -17,6 +17,7 @@ export interface IDatabaseConfig extends IDatabaseBaseConfig { pubkeys_collection: string, data_collection: string, standardizations_collection: string, + configs_collection: string }; } @@ -26,13 +27,14 @@ export interface IDatabaseCollectionConfig { studies_collection: Collection, projects_collection: Collection, queries_collection: Collection, - field_dictionary_collection: Collection, + field_dictionary_collection: Collection, roles_collection: Collection, files_collection: Collection, organisations_collection: Collection, log_collection: Collection, pubkeys_collection: Collection, - data_collection: Collection, + data_collection: Collection, standardizations_collection: Collection, + configs_collection: Collection } export type DBType = DatabaseBase; diff --git a/packages/itmat-cores/src/index.ts b/packages/itmat-cores/src/index.ts index a2e4263f3..81a15686d 100644 --- a/packages/itmat-cores/src/index.ts +++ b/packages/itmat-cores/src/index.ts @@ -1,15 +1,18 @@ -export * from './core/fileCore'; -export * from './core/jobCore'; -export * from './core/logCore'; -export * from './core/organisationCore'; -export * from './core/permissionCore'; -export * from './core/pubkeyCore'; -export * from './core/queryCore'; -export * from './core/standardizationCore'; -export * from './core/studyCore'; -export * from './core/userCore'; +// GraphQLCore +export * from './GraphQLCore/fileCore'; +export * from './GraphQLCore/jobCore'; +export * from './GraphQLCore/logCore'; +export * from './GraphQLCore/organisationCore'; +export * from './GraphQLCore/permissionCore'; +export * from './GraphQLCore/pubkeyCore'; +export * from './GraphQLCore/queryCore'; +export * from './GraphQLCore/standardizationCore'; +export * from './GraphQLCore/studyCore'; +export * from './GraphQLCore/userCore'; +// TRPCCore +export * from './trpcCore/userCore'; export * from './rest/fileDownload'; export * from './authentication/pubkeyAuthentication'; export * from './log/logPlugin'; export * from './database/database'; -export * from './utils'; \ No newline at end of file +export * from './utils'; diff --git a/packages/itmat-cores/src/log/logPlugin.ts b/packages/itmat-cores/src/log/logPlugin.ts index 2a684ea2e..a1618ebd1 100644 --- a/packages/itmat-cores/src/log/logPlugin.ts +++ b/packages/itmat-cores/src/log/logPlugin.ts @@ -1,5 +1,5 @@ import { v4 as uuid } from 'uuid'; -import { LOG_TYPE, LOG_ACTION, LOG_STATUS, USER_AGENT, userTypes } from '@itmat-broker/itmat-types'; +import { LOG_TYPE, LOG_ACTION, LOG_STATUS, USER_AGENT, enumUserTypes } from '@itmat-broker/itmat-types'; import { GraphQLRequestContextWillSendResponse } from '@apollo/server'; import { ApolloServerContext } from '../utils/ApolloServerContext'; import { DBType } from '../database/database'; @@ -19,8 +19,8 @@ export class LogPlugin { public async serverWillStartLogPlugin(): Promise { await this.db.collections.log_collection.insertOne({ id: uuid(), - requesterName: userTypes.SYSTEM, - requesterType: userTypes.SYSTEM, + requesterName: enumUserTypes.SYSTEM, + requesterType: enumUserTypes.SYSTEM, logType: LOG_TYPE.SYSTEM_LOG, actionType: LOG_ACTION.startSERVER, actionData: JSON.stringify({}), @@ -43,7 +43,7 @@ export class LogPlugin { await this.db.collections.log_collection.insertOne({ id: uuid(), requesterName: requestContext.contextValue?.req?.user?.username ?? 'NA', - requesterType: requestContext.contextValue?.req?.user?.type ?? userTypes.SYSTEM, + requesterType: requestContext.contextValue?.req?.user?.type ?? enumUserTypes.SYSTEM, userAgent: (requestContext.contextValue.req?.headers['user-agent'] as string)?.startsWith('Mozilla') ? USER_AGENT.MOZILLA : USER_AGENT.OTHER, logType: LOG_TYPE.REQUEST_LOG, actionType: LOG_ACTION[requestContext.operationName], diff --git a/packages/itmat-cores/src/rest/fileDownload.ts b/packages/itmat-cores/src/rest/fileDownload.ts index 896811582..65f64d147 100644 --- a/packages/itmat-cores/src/rest/fileDownload.ts +++ b/packages/itmat-cores/src/rest/fileDownload.ts @@ -4,7 +4,7 @@ import jwt from 'jsonwebtoken'; import { userRetrieval } from '../authentication/pubkeyAuthentication'; import { ApolloServerErrorCode } from '@apollo/server/errors'; import { GraphQLError } from 'graphql'; -import { PermissionCore } from '../core/permissionCore'; +import { PermissionCore } from '../GraphQLCore/permissionCore'; import { DBType } from '../database/database'; import { ObjectStore } from '@itmat-broker/itmat-commons'; @@ -49,7 +49,7 @@ export class FileDownloadController { try { /* download file */ const file = await this._db.collections.files_collection.findOne({ id: requestedFile, deleted: null }); - if (!file) { + if (!file || !file.studyId) { res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); return; } diff --git a/packages/itmat-cores/src/trpcCore/configCore.ts b/packages/itmat-cores/src/trpcCore/configCore.ts new file mode 100644 index 000000000..da7c6e0af --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/configCore.ts @@ -0,0 +1,57 @@ +import { CoreError, defaultSettings, enumConfigType, enumCoreErrors, enumReservedUsers } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; +import { v4 as uuid } from 'uuid'; + +export class TRPCConfigCore { + db: DBType; + constructor(db: DBType) { + this.db = db; + } + /** + * Get the config. + * + * @param configType - The type of the config.. + * @param key - The key of the config. studyid, userid, or null for system. + * @param useDefault - Whether to use the default config if not found. + * + * @return IConfig + */ + public async getConfig(configType: enumConfigType, key: string | null, useDefault: boolean) { + const config = await this.db.collections.configs_collection.findOne({ 'type': configType, 'key': key, 'life.deletedTime': null }); + if (!config) { + if (useDefault) { + return { + id: uuid(), + type: configType, + key: key, + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + properties: (() => { + if (configType === enumConfigType.CACHECONFIG) { + return defaultSettings.cacheConfig; + } else if (configType === enumConfigType.STUDYCONFIG) { + return defaultSettings.studyConfig; + } else if (configType === enumConfigType.SYSTEMCONFIG) { + return defaultSettings.systemConfig; + } else if (configType === enumConfigType.USERCONFIG) { + return defaultSettings.userConfig; + } else { + return defaultSettings.userConfig; + } + })() + }; + } else { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Config does not exist.' + ); + } + } + return config; + } +} \ No newline at end of file diff --git a/packages/itmat-cores/src/trpcCore/fileCore.ts b/packages/itmat-cores/src/trpcCore/fileCore.ts new file mode 100644 index 000000000..93c67d1f1 --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/fileCore.ts @@ -0,0 +1,251 @@ +import { enumConfigType, IFile, defaultSettings, enumFileTypes, enumFileCategories, IUserWithoutToken, IStudy, FileUpload, CoreError, enumCoreErrors, ISystemConfig, IStudyConfig, IUserConfig, IDocConfig, ICacheConfig, IDomainConfig, IGenericResponse } from '@itmat-broker/itmat-types'; +import { v4 as uuid } from 'uuid'; +import crypto, { BinaryLike } from 'crypto'; +import { DBType } from '../database/database'; +import { ObjectStore } from '@itmat-broker/itmat-commons'; +import { TRPCStudyCore } from './studyCore'; +import { makeGenericReponse } from '../utils'; + +/** + * This class provides methods to interact with files. + * Note that all core functions are should be called by other core functions or resolvers, not by the client. + * Necessary permission check should be done in the caller functions. + */ +export class TRPCFileCore { + db: DBType; + objStore: ObjectStore; + studyCore: TRPCStudyCore; + constructor(db: DBType, objStore: ObjectStore, studyCore: TRPCStudyCore) { + this.db = db; + this.objStore = objStore; + this.studyCore = studyCore; + } + /** + * Upload a file to storage. + * Note this function will upload file based on the input parameters regardless of the requester's permission and file metadata. + * + * @param requester - The requester. + * @param studyId - The id of the study. Could be null for non-study files. + * @param userId - The id of the user. + * @param fileUpload - The file to upload. + * @param description - The description of the file. + * @param fileType - The type of the file. + * @param fileCategory - The category of the file. + * @param properties - The properties of the file. Note if the data is attached to a field, the fieldproperties will be used. + * + * @return IFile - The object of IFile. + */ + public async uploadFile(requester: IUserWithoutToken, studyId: string | null, userId: string | null, fileUpload: FileUpload, fileType: enumFileTypes, fileCategory: enumFileCategories, description?: string, properties?: Record): Promise { + let study: IStudy | null = null; + if (studyId) { + study = (await this.studyCore.getStudies(studyId))[0]; + if (!study) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Study does not exist.' + ); + } + } + // fetch the config file. study file or user file or system file + let fileConfig: ISystemConfig | IStudyConfig | IUserConfig | IDocConfig | ICacheConfig | IDomainConfig | null = null; + let userRepoRemainingSpace = 0; + let fileSizeLimit: number; + let defaultFileBucketId: string; + if (fileCategory === enumFileCategories.STUDY_DATA_FILE && studyId) { + // study file config + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.STUDYCONFIG, key: studyId }); + if (config) { + fileConfig = config.properties; + } else { + fileConfig = defaultSettings.studyConfig; + } + fileSizeLimit = (fileConfig as IStudyConfig).defaultMaximumFileSize; + defaultFileBucketId = studyId; + } else if (fileCategory === enumFileCategories.USER_DRIVE_FILE) { + // user file config + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.USERCONFIG, key: requester.id }); + if (config) { + fileConfig = config.properties as IUserConfig; + } else { + fileConfig = defaultSettings.userConfig; + } + const totalSize: number = (await this.db.collections.files_collection.aggregate([{ + $match: { 'userId': requester.id, 'life.deletedTime': null } + }, { + $group: { _id: '$userId', totalSize: { $sum: '$fileSize' } } + }]))[0].totalSize; + userRepoRemainingSpace = (fileConfig as IUserConfig).defaultMaximumFileRepoSize - totalSize; + fileSizeLimit = Math.max((fileConfig as IUserConfig).defaultMaximumFileSize, userRepoRemainingSpace); + defaultFileBucketId = (fileConfig as IUserConfig).defaultFileBucketId; + } else if (fileCategory === enumFileCategories.DOC_FILE) { + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.DOCCONFIG, key: null }); + if (config) { + fileConfig = config.properties as IDocConfig; + } else { + fileConfig = defaultSettings.docConfig; + } + fileSizeLimit = (fileConfig as IDocConfig).defaultMaximumFileSize; + defaultFileBucketId = (fileConfig as IDocConfig).defaultFileBucketId; + } else if (fileCategory === enumFileCategories.CACHE) { + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.CACHECONFIG, key: null }); + if (config) { + fileConfig = config.properties as ICacheConfig; + } else { + fileConfig = defaultSettings.cacheConfig; + } + fileSizeLimit = (fileConfig as ICacheConfig).defaultMaximumFileSize; + defaultFileBucketId = (fileConfig as ICacheConfig).defaultFileBucketId; + } else if (fileCategory === enumFileCategories.PROFILE_FILE) { + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.SYSTEMCONFIG, key: null }); + if (config) { + fileConfig = config.properties as ISystemConfig; + } else { + fileConfig = defaultSettings.systemConfig; + } + fileSizeLimit = (fileConfig as ISystemConfig).defaultMaximumFileSize; + defaultFileBucketId = (fileConfig as ISystemConfig).defaultProfileBucketId; + } else { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'File category does not exist.' + ); + } + + const fileUri = uuid(); + const hash = crypto.createHash('sha256'); + + // Create a read stream for the file + const fileStream = fileUpload.createReadStream(); + + return new Promise((resolve, reject) => { + (async () => { + try { + let fileSize = 0; + + fileStream.on('data', (chunk: BinaryLike) => { + hash.update(chunk); + fileSize += (chunk as Buffer).length; // Asserting the chunk as Buffer for length property + }); + + + try { + // Check file size limit + if (fileSize > fileSizeLimit) { + throw new Error('File size exceeds the limit.'); + } + + const hashString = hash.digest('hex'); + + // Create a new read stream for the file upload + const uploadStream = fileUpload.createReadStream(); + + // Upload the file to the storage + await this.objStore.uploadFile(uploadStream, defaultFileBucketId, fileUri); + + const fileEntry: IFile = { + id: uuid(), + studyId: studyId, + userId: userId, + fileName: fileUpload.filename, // Access filename directly from the fileUpload object. + fileSize: fileSize, // Use buffer's length for file size. + description: description, + uri: fileUri, + hash: hashString, + fileType: fileType, + fileCategory: fileCategory, + properties: properties ? properties : {}, + sharedUsers: [], + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + const insertResult = await this.db.collections.files_collection.insertOne(fileEntry as IFile); + if (insertResult.acknowledged) { + resolve(fileEntry as IFile); + } else { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + + } catch (error) { + reject(new CoreError( + enumCoreErrors.FILE_STREAM_ERROR, + 'Error during file upload.' + )); + } + + + fileStream.on('error', (err) => { + reject(new CoreError( + enumCoreErrors.FILE_STREAM_ERROR, + 'Error reading file stream.' + String(err.message) + )); + }); + } catch (error) { + reject(new CoreError( + enumCoreErrors.FILE_STREAM_ERROR, + enumCoreErrors.FILE_STREAM_ERROR + )); + } + })().catch((e) => reject(e)); + }); + } + + /** + * Delete a file. + * + * @param requester - The requester. + * @param fileId - The id of the file. + * + * @return IGenericResponse + */ + public async deleteFile(requester: string, fileId: string): Promise { + const file = await this.db.collections.files_collection.findOne({ 'id': fileId, 'life.deletedTime': null }); + if (!file) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'File does not exist.' + ); + } + try { + await this.db.collections.files_collection.findOneAndUpdate({ id: fileId }, { $set: { 'life.deletedTime': Date.now().valueOf(), 'life.deletedUser': requester } }); + return makeGenericReponse(fileId, undefined, undefined, 'File has been deleted.'); + } catch { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + } + + /** + * Get the list of files by fileIds in a simplified format or detailed format with explicit username. + * The aim is to avoid leaking user information in the frontend. + * + * @param fileIds + * @param readable + * @returns + */ + public async findFiles(fileIds: string[], readable?: boolean): Promise { + const result = await this.db.collections.files_collection.find({ id: { $in: fileIds } }).toArray(); + if (readable) { + const users = await this.db.collections.users_collection.find({ 'life.deletedTime': null }).toArray(); + result.forEach(el => { + const user = users.filter(ek => ek.id === el.life.createdUser)[0]; + if (!user) { + el.life.createdUser = 'UNKNOWN'; + } else { + el.life.createdUser = `${user.firstname} ${user.lastname}`; + } + }); + } + return result; + } +} + diff --git a/packages/itmat-cores/src/trpcCore/studyCore.ts b/packages/itmat-cores/src/trpcCore/studyCore.ts new file mode 100644 index 000000000..081c4a504 --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/studyCore.ts @@ -0,0 +1,34 @@ +import { ObjectStore } from '@itmat-broker/itmat-commons'; +import { DBType } from '../database/database'; +import { CoreError, IStudy, enumCoreErrors } from '@itmat-broker/itmat-types'; +import { Filter } from 'mongodb'; + +export class TRPCStudyCore { + db: DBType; + objStore: ObjectStore; + constructor(db: DBType, objStore: ObjectStore) { + this.db = db; + this.objStore = objStore; + } + /** + * Get the info of a study. + * + * @param studyId - The id of the study. + * + * @return IStudy - The object of IStudy. + */ + public async getStudies(studyId: string | null): Promise { + const query: Filter = { 'life.deletedTime': null }; + if (studyId) { + query.id = studyId; + } + const studies = await this.db.collections.studies_collection.find(query).toArray(); + if (studies.length === 0) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Study does not exist.' + ); + } + return studies; + } +} \ No newline at end of file diff --git a/packages/itmat-cores/src/trpcCore/userCore.ts b/packages/itmat-cores/src/trpcCore/userCore.ts new file mode 100644 index 000000000..979e729a3 --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/userCore.ts @@ -0,0 +1,1301 @@ +import { CoreError, FileUpload, IFile, IPubkey, IResetPasswordRequest, IUser, IUserWithoutToken, defaultSettings, enumCoreErrors, enumFileCategories, enumFileTypes, enumUserTypes } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; +import { Logger, Mailer, ObjectStore } from '@itmat-broker/itmat-commons'; +import { IConfiguration, makeGenericReponse, rsakeygen, rsaverifier, tokengen } from '../utils'; +import { TRPCFileCore } from './fileCore'; +import { TRPCConfigCore } from './configCore'; +import { TRPCStudyCore } from './studyCore'; +import { v4 as uuid } from 'uuid'; +import bcrypt from 'bcrypt'; +import * as mfa from '../utils/mfa'; +import QRCode from 'qrcode'; +import tmp from 'tmp'; +import { UpdateFilter } from 'mongodb'; +import { decryptEmail, encryptEmail, makeAESIv, makeAESKeySalt } from '..'; + +export class TRPCUserCore { + db: DBType; + mailer: Mailer; + config: IConfiguration; + objStore: ObjectStore; + fileCore: TRPCFileCore; + configCore: TRPCConfigCore; + studyCore: TRPCStudyCore; + constructor(db: DBType, mailer: Mailer, config: IConfiguration, objStore: ObjectStore) { + this.db = db; + this.mailer = mailer; + this.config = config; + this.objStore = objStore; + this.studyCore = new TRPCStudyCore(db, objStore); + this.fileCore = new TRPCFileCore(db, objStore, this.studyCore); + this.configCore = new TRPCConfigCore(db); + } + /** + * Get a user. One of the parameters should not be null, we will find users by the following order: usreId, username, email. + * + * @param requester - The requester. + * @param userId - The id of the user. + * @param username - The username of the user. + * @param email - The email of the user. + * + * @return IUserWithoutToken | null - Thu user object; or null if the user does not exist. + */ + public async getUser(requester: IUserWithoutToken | undefined, userId?: string, username?: string, email?: string): Promise { + if (!userId && !username && !email) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'At least one of the parameters should not be empty.' + ); + } + if (!requester || (requester.type !== enumUserTypes.ADMIN && ((userId && requester.id !== userId) || (username && requester.username !== username) || (email && requester.email !== email)))) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + enumCoreErrors.NO_PERMISSION_ERROR + ); + } + + let user: IUserWithoutToken | null = null; + if (userId) { + user = await this.db.collections.users_collection.findOne({ 'id': userId, 'life.deletedTime': null }, { projection: { password: 0, otpSecret: 0 } }); + } else if (username) { + user = await this.db.collections.users_collection.findOne({ 'username': username, 'life.deletedTime': null }, { projection: { password: 0, otpSecret: 0 } }); + } else if (email) { + user = await this.db.collections.users_collection.findOne({ 'email': email, 'life.deletedTime': null }, { projection: { password: 0, otpSecret: 0 } }); + } else { + return null; + } + + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + return user; + } + + /** + * Get all users. + * + * @param requester - The id of the requester. + * @param includeDeleted - Whether to include users that have been deleted. + * + * @return IUserWithoutToken[] - The list of users. + */ + public async getUsers(requester: IUserWithoutToken | undefined, includeDeleted?: boolean): Promise { + if (!requester || requester.type !== enumUserTypes.ADMIN) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + enumCoreErrors.NO_PERMISSION_ERROR + ); + } + return includeDeleted ? await this.db.collections.users_collection.find({}).toArray() : await this.db.collections.users_collection.find({ 'life.deletedTime': null }).toArray(); + } + + /** + * Validate the token from the reset password request. + * + * @param encryptedEmail - The encrypted email. + * @param token - The token for resetting password. + * @returns IGenericResponse + */ + public async validateResetPassword(encryptedEmail: string, token: string) { + /* decrypt email */ + const salt = makeAESKeySalt(token); + const iv = makeAESIv(token); + let email; + try { + email = await decryptEmail(this.config.aesSecret, encryptedEmail, salt, iv); + } catch (e) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Token is not valid.' + ); + } + + /* check whether username and token is valid */ + /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ + const TIME_NOW = new Date().valueOf(); + const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; + const user: IUser | null = await this.db.collections.users_collection.findOne({ + email, + 'resetPasswordRequests': { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + }, + 'life.deletedTime': null + }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + return makeGenericReponse(user.id, true); + } + + /** + * Create a user. + * + * @param username - The username of the user, should be unique. + * @param email - The email address of the user. + * @param firstname - The first name of the user. + * @param lastname - The last name of the user. + * @param organisation - The id of the user's organisation. Should be one of the organisaiton in the database. + * @param type - The user type of the user. + * @param emailNotificationsActivated - Whether email notification service is activared. + * @param password - The password of the user, should be hashed. + * @param profile - The profile of the user. + * @param description - The description of the user. + * @param requester - The id of the requester. + * + * @return Partial - The object of IUser. Remove private information. + */ + public async createUser(requester: IUserWithoutToken | undefined, username: string, email: string, firstname: string, lastname: string, organisation: string, type: enumUserTypes, emailNotificationsActivated: boolean, password: string, profile?: FileUpload, description?: string): Promise> { + /* check email is valid form */ + if (!/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Email is not the right format.' + ); + } + + /* check password validity */ + if (password && !passwordIsGoodEnough(password)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Password has to be at least 8 character long.' + ); + } + + /* check that username and password dont have space */ + if (username.indexOf(' ') !== -1 || password.indexOf(' ') !== -1) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Username or password cannot have spaces.' + ); + } + /* randomly generate a secret for Time-based One Time Password*/ + const otpSecret = mfa.generateSecret(); + + const user = await this.db.collections.users_collection.findOne({ + $or: [ + { username: username }, + { email: email } + ] + }); + if (user) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Username or email already exists.' + ); + } + const org = await this.db.collections.organisations_collection.findOne({ 'id': organisation, 'life.deletedTime': null }); + if (!org) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Organisation does not exist.' + ); + } + // fetch the config file + const userConfig = defaultSettings.userConfig; + + const userId: string = uuid(); + const hashedPassword: string = await bcrypt.hash(password, this.config.bcrypt.saltround); + const expiredAt = Date.now() + 86400 * 1000 /* millisec per day */ * (userConfig.defaultUserExpiredDays); + + const entry: IUser = { + id: userId, + username: username, + email: email, + firstname: firstname, + lastname: lastname, + organisation: organisation, + type: type, + emailNotificationsActivated: emailNotificationsActivated, + emailNotificationsStatus: { + expiringNotification: false + }, + resetPasswordRequests: [], + password: hashedPassword, + otpSecret: otpSecret, + profile: undefined, + description: description ?? '', + expiredAt: expiredAt, + life: { + createdTime: Date.now(), + createdUser: requester?.id ?? userId, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + let fileEntry: IFile; + if (profile) { + if (!Object.keys(enumFileTypes).includes((profile?.filename?.split('.').pop() || '').toUpperCase())) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'File type not supported.' + ); + } + fileEntry = await this.fileCore.uploadFile(entry, null, userId, profile, + enumFileTypes[(profile.filename.split('.').pop() || '').toUpperCase() as keyof typeof enumFileTypes], enumFileCategories.PROFILE_FILE); + entry.profile = fileEntry?.id; + } + await this.db.collections.users_collection.insertOne(entry); + // TODO: add drive for newly registered user + // const driveId = uuid(); + // await db.collections!.drives_collection.insertOne({ + // id: driveId, + // path: [driveId], + // restricted: true, + // name: 'My Drive', + // description: 'This is your own drive.', + // fileId: null, + // type: enumDriveNodeTypes.FOLDER, + // parent: null, + // children: [ + + // ], + // sharedUsers: [ + + // ], + // sharedGroups: [ + + // ], + // life: { + // createdTime: Date.now(), + // createdUser: userId, + // deletedTime: null, + // deletedUser: null + // }, + // metadata: { + + // }, + // managerId: userId + // }); + + /* send email to the registered user */ + // get QR Code for the otpSecret. + const oauth_uri = `otpauth://totp/${this.config.appName}:${username}?secret=${otpSecret}&issuer=Data%20Science%20Institute`; + const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'qrcodeimg-', postfix: '.png' }); + + QRCode.toFile(tmpobj.name, oauth_uri, {}, function (err) { + if (err) { + throw new CoreError( + enumCoreErrors.UNQUALIFIED_ERROR, + err.message + ); + } + }); + + const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: email, + subject: `[${this.config.appName}] Registration Successful`, + html: ` +

+ Dear ${firstname}, +

+

+ Welcome to the ${this.config.appName} data portal!
+ Your username is ${username}.
+

+

+ To login you will need to use a MFA authenticator app for one time passcode (TOTP).
+ Scan the QRCode below in your MFA application of choice to configure it:
+ QR code
+ If you need to type the token in use ${otpSecret.toLowerCase()} +

+
+

+ The ${this.config.appName} Team. +

+ `, + attachments: attachments + }); + tmpobj.removeCallback(); + + return entry; + } + + /** + * Edit an existing user. Note, this function will use all default values, so if you want to keep some fields the same, you need to first fetch the original values as the inputs. + * + * @param requester - The id of the requester. + * @param userId - The id of the user. + * @param username - The username of the user, should be unique. + * @param email - Optional. The emailAddress of the user. + * @param firstname - Optional. The first name of the user. + * @param lastname - Optional. The last name of the user. + * @param organisation - Optional. The id of the user's organisation. Should be one of the organisaiton in the database. + * @param type - Optional. The user type of the user. + * @param emailNotificationsActivated - Optional. Whether email notification service is activared. + * @param password - Optional. The password of the user, should be hashed. + * @param otpSecret - Optional. The otp secret of the user. + * @param profile - Optional. The image of the profile of the user. Could be null. + * @param description - Optional. The description of the user. + * @param expiredAt - Optional. The expired timestamps of the user. + * + * @return Partial - The object of IUser. Remove private information. + */ + public async editUser(requester: IUserWithoutToken | undefined, userId: string, username?: string, email?: string, firstname?: string, lastname?: string, organisation?: string, type?: enumUserTypes, emailNotificationsActivated?: boolean, password?: string, otpSecret?: string, profile?: FileUpload, description?: string, expiredAt?: number): Promise> { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== userId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only edit his/her own account.' + ); + } + + if (requester.type !== enumUserTypes.ADMIN && (type || expiredAt || organisation)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'Standard user can not change their type, expiration time and organisation. Please contact admins for help.' + ); + } + + if (password && !passwordIsGoodEnough(password)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Password has to be at least 8 character long.' + ); + } + + /* check that username and password dont have space */ + if ((username && username.indexOf(' ') !== -1) || (password && password.indexOf(' ') !== -1)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Username or password cannot have spaces.' + ); + } + + /* check email is valid form */ + if (email && !/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Email is not the right format.' + ); + } + + if (expiredAt && expiredAt < Date.now()) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Cannot set to a previous time.' + ); + } + + + const user = await this.db.collections.users_collection.findOne({ 'id': userId, 'life.deletedTime': null }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + const setObj: UpdateFilter = {}; + if (username && username !== user.username) { + const existUsername = await this.db.collections.users_collection.findOne({ 'username': username, 'life.deletedTime': null }); + if (existUsername) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Username already used.' + ); + } + setObj['username'] = username; + } + + if (email && email !== user.email) { + const existEmail = await this.db.collections.users_collection.findOne({ 'email': email, 'life.deletedTime': null }); + if (existEmail) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Email already used.' + ); + } + setObj['email'] = email; + } + + if (organisation) { + const org = await this.db.collections.organisations_collection.findOne({ 'id': organisation, 'life.deletedTime': null }); + if (!org) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Organisation does not exist.' + ); + } + setObj['organisation'] = organisation; + } + + if (password) { + const hashedPassword: string = await bcrypt.hash(password, this.config.bcrypt.saltround); + if (await bcrypt.compare(password, user.password)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'You need to select a new password.' + ); + } + setObj['password'] = hashedPassword; + } + + if (otpSecret) { + setObj['otpSecret'] = otpSecret; + } + + let fileEntry; + if (profile) { + if (!Object.keys(enumFileTypes).includes((profile?.filename?.split('.').pop() || '').toUpperCase())) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'File type not supported.' + ); + } + fileEntry = await this.fileCore.uploadFile(requester, null, user.id, profile, enumFileTypes[(profile.filename.split('.').pop() || '').toUpperCase() as keyof typeof enumFileTypes], enumFileCategories.PROFILE_FILE); + setObj['profile'] = fileEntry.id; + } + + if (expiredAt) { + setObj['expiredAt'] = expiredAt; + } + + const result = await this.db.collections.users_collection.findOneAndUpdate({ id: user.id }, { + $set: setObj + }, { + returnDocument: 'after' + }); + if (!result) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } else { + if (expiredAt) { + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDateNotification({ + config: this.config, + to: result.email, + username: result.username + })); + } + return result; + } + } + + /** + * Delete an user. + * + * @param requester - The requester. + * @param userId - The id of the user. + * + * @return IGenericResponse - General response. + */ + public async deleteUser(requester: IUserWithoutToken | undefined, userId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + /* Admins can delete anyone, while general user can only delete themself */ + if (!(requester.type === enumUserTypes.ADMIN) && !(requester.id === userId)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only delete his/her own account.' + ); + } + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + /* Admins can delete anyone, while general user can only delete themself */ + if (!(requester.type === enumUserTypes.ADMIN) && !(requester.id === userId)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + enumCoreErrors.NO_PERMISSION_ERROR + ); + } + const user = await this.db.collections.users_collection.findOne({ 'id': userId, 'life.deletedTime': null }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + + const session = this.db.client.startSession(); + session.startTransaction(); + try { + /* delete the user */ + await this.db.collections.users_collection.findOneAndUpdate({ 'id': userId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': Date.now(), 'life.deletedUser': requester, 'password': 'DeletedUserDummyPassword', 'otpSecret': 'DeletedUserDummpOtpSecret' } }, { returnDocument: 'after' }); + + /* delete all user records in roles related to the study */ + await this.db.collections.roles_collection.updateMany({ + 'life.deletedTime': null, + 'users': userId + }, { + $pull: { users: userId } + }); + + await session.commitTransaction(); + await session.endSession(); + return makeGenericReponse(userId, true, undefined, `User ${user.username} has been deleted.`); + } catch (error) { + // If an error occurred, abort the whole transaction and + // undo any changes that might have happened + await session.abortTransaction(); + await session.endSession(); + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + String(error) + ); + } + } + + /** + * Get keys of a user. + * + * @param requester - The requester. + * @param userId - The id of the user. + */ + public async getUserKeys(requester: IUserWithoutToken | undefined, userId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== userId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only get his/her own keys.' + ); + } + return await this.db.collections.pubkeys_collection.find({ 'associatedUserId': userId, 'life.deletedTime': null }).toArray(); + } + /** + * Register a pubkey to a user. + * + * @param requester - The id of the requester. + * @param pubkey - The public key. + * @param signature - The signature of the key. + * @param associatedUserId - The user whom to attach the publick key to. + * + * @return IPubkey - The object of ther registered key. + */ + public async registerPubkey(requester: IUserWithoutToken | undefined, pubkey: string, signature: string, associatedUserId: string): Promise { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== associatedUserId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only register his/her own public key.' + ); + } + + // refine the public-key parameter from browser + pubkey = pubkey.replace(/\\n/g, '\n'); + const alreadyExist = await this.db.collections.pubkeys_collection.findOne({ pubkey, 'life.deletedTime': null }); + if (alreadyExist) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'This public-key has already been registered.' + ); + } + + const user = await this.db.collections.users_collection.findOne({ 'id': requester.id, 'life.deletedTime': null }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'User does not exist.' + ); + } + + /* Validate the signature with the public key */ + try { + const signature_verifier = await rsaverifier(pubkey, signature); + if (!signature_verifier) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Signature vs Public-key mismatched.' + ); + } + } catch (error) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Error: Signature or Public-key is incorrect.' + ); + } + + /* Generate a public key-pair for generating and authenticating JWT access token later */ + const keypair = rsakeygen(); + + const entry: IPubkey = { + id: uuid(), + pubkey: pubkey, + associatedUserId: associatedUserId, + jwtPubkey: keypair.publicKey, + jwtSeckey: keypair.privateKey, + refreshCounter: 0, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + + await this.db.collections.pubkeys_collection.insertOne(entry); + + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: user.email, + subject: `[${this.config.appName}] Public-key Registration!`, + html: ` +

+ Dear ${user.firstname}, +

+

+ You have successfully registered your public-key "${pubkey}" on ${this.config.appName}!
+ You will need to keep your private key secretly.
+ You will also need to sign a message (using your public-key) to authenticate the owner of the public key.
+

+ +
+

+ The ${this.config.appName} Team. +

+ ` + }); + return entry; + } + + /** + * Delete a pubkey. + * + * @param requester - The requester. + * @param userId - The id of the user. + * @param keyId - The id of the key. + * @returns IGenericResponse + */ + public async deletePubkey(requester: IUserWithoutToken | undefined, associatedUserId: string, keyId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== associatedUserId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only delete his/her own public key.' + ); + } + const key = await this.db.collections.pubkeys_collection.findOne({ + 'id': keyId, + 'associatedUserId': associatedUserId, + 'life.deletedTime': null + }); + if (!key) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Key does not exist.' + ); + } + if (key.associatedUserId !== associatedUserId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'The key does not match the user.' + ); + } + + await this.db.collections.pubkeys_collection.findOneAndUpdate({ id: keyId }, { + $set: { + 'life.deletedTime': Date.now(), + 'life.deletedUser': requester + } + }); + + return makeGenericReponse(keyId, true, undefined, undefined); + } + + /** + * Add a reset password request to the user. + * + * @param userId - The id of the user. + * @param resetPasswordRequest - The reset password request. + * @returns IGenericResponse + */ + public async addResetPasswordRequest(userId: string, resetPasswordRequest: IResetPasswordRequest) { + const invalidateAllTokens = await this.db.collections.users_collection.findOneAndUpdate( + { id: userId }, + { + $set: { + 'resetPasswordRequests.$[].used': true + } + } + ); + if (!invalidateAllTokens) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + const updateResult = await this.db.collections.users_collection.findOneAndUpdate( + { id: userId }, + { + $push: { + resetPasswordRequests: resetPasswordRequest + } + } + ); + if (!updateResult) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + + return makeGenericReponse(resetPasswordRequest.id, true, undefined, undefined); + } + + public async processResetPasswordRequest(token: string, email: string, password: string) { + /* check whether username and token is valid */ + /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ + const TIME_NOW = new Date().valueOf(); + const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; + const user = await this.db.collections.users_collection.findOne({ + email, + 'resetPasswordRequests': { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + }, + 'life.deletedTime': null + }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + + /* randomly generate a secret for Time-based One Time Password*/ + const otpSecret = mfa.generateSecret(); + + /* all ok; change the user's password */ + const hashedPw = await bcrypt.hash(password, this.config.bcrypt.saltround); + const updateResult = await this.db.collections.users_collection.findOneAndUpdate( + { + id: user.id, + resetPasswordRequests: { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + } + }, + { $set: { 'password': hashedPw, 'otpSecret': otpSecret, 'resetPasswordRequests.$.used': true } }); + if (!updateResult) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + + return updateResult; + } + + /** + * Issue an access token. + * + * @param pubkey - The public key. + * @param signature - The signature of the key. + * @param life - The life of the token. + * @returns + */ + public async issueAccessToken(pubkey: string, signature: string, life?: number) { + // refine the public-key parameter from browser + pubkey = pubkey.replace(/\\n/g, '\n'); + + /* Validate the signature with the public key */ + if (!await rsaverifier(pubkey, signature)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Signature vs Public key mismatched.' + ); + } + + const pubkeyrec = await this.db.collections.pubkeys_collection.findOne({ pubkey, deleted: null }); + if (pubkeyrec === null || pubkeyrec === undefined) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'This public-key has not been registered yet.' + ); + } + + // payload of the JWT for storing user information + const payload = { + publicKey: pubkeyrec.jwtPubkey, + associatedUserId: pubkeyrec.associatedUserId, + refreshCounter: pubkeyrec.refreshCounter, + Issuer: 'IDEA-FAST DMP' + }; + + // update the counter + const fieldsToUpdate = { + refreshCounter: (pubkeyrec.refreshCounter + 1) + }; + const updateResult = await this.db.collections.pubkeys_collection.findOneAndUpdate({ pubkey, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + if (!updateResult) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + // return the acccess token + const accessToken = { + accessToken: tokengen(payload, pubkeyrec.jwtSeckey, undefined, undefined, life) + }; + + return accessToken; + } + + /** + * Ask for a request to extend account expiration time. Send notifications to user and admin. + * + * @param userId - The id of the user. + * + * @return IGenericResponse + */ + public async requestExpiryDate(requester: IUserWithoutToken | undefined, userId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== userId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only request for his/her own account.' + ); + } + const user = await this.db.collections.users_collection.findOne({ 'id': userId, 'life.deletedTime': null }); + if (!user || !user.email || !user.username) { + /* even user is null. send successful response: they should know that a user doesn't exist */ + await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); + return makeGenericReponse(userId, false, undefined, 'User information is not correct.'); + } + /* send email to the DMP admin mailing-list */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ + config: this.config, + userEmail: user.email, + username: user.username + })); + + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoClient({ + config: this.config, + to: user.email, + username: user.username + })); + + return makeGenericReponse(userId, true, undefined, 'Request successfully sent.'); + } + + /** + * Request for resetting password. + * + * @param forgotUsername - Whether user forget the username. + * @param forgotPassword - Whether user forgot the password. + * @param email - The email of the user. If using email to reset password. + * @param username - The username of the uer. If using username to reset password. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + public async requestUsernameOrResetPassword(forgotUsername: boolean, forgotPassword: boolean, origin: string, email?: string, username?: string) { + /* checking the args are right */ + if ((forgotUsername && !email) // should provide email if no username + || (forgotUsername && username) // should not provide username if it's forgotten. + || (!email && !username)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Inputs are invalid.' + ); + } else if (email && username) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Inputs are invalid.' + ); + } + + /* check user existence */ + const user = await this.db.collections.users_collection.findOne({ '$or': [{ email }, { username }], 'life.deletedTime': null }); + if (!user) { + /* even user is null. send successful response: they should know that a user doesn't exist */ + await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); + return makeGenericReponse(undefined, false, undefined, 'User does not exist.'); + } + + if (forgotPassword) { + /* make link to change password */ + const passwordResetToken = uuid(); + const resetPasswordRequest: IResetPasswordRequest = { + id: passwordResetToken, + timeOfRequest: new Date().valueOf(), + used: false + }; + await this.addResetPasswordRequest(user.id ?? '', resetPasswordRequest); + + /* send email to client */ + await this.mailer.sendMail(await formatEmailForForgottenPassword({ + config: this.config, + to: user.email ?? '', + resetPasswordToken: passwordResetToken, + username: user.username ?? '', + firstname: user.firstname ?? '', + origin: origin + })); + } else { + /* send email to client */ + await this.mailer.sendMail(formatEmailForFogettenUsername({ + config: this.config, + to: user.email ?? '', + username: user.username ?? '' + })); + } + return makeGenericReponse(user.id, true, undefined, 'Request of resetting password successfully sent.'); + } + + /** + * Login a user. + * + * @param req - The request object. + * @param username - The username of the user. + * @param password - The password of the user. + * @param totp - The one-time password of the user. + * @returns IUserWithoutToken + */ + public async login(req: Express.Request, username: string, password: string, totp: string, requestExpiryDate?: boolean) { + const user = await this.db.collections.users_collection.findOne({ username }); + if (!user || !user.password || !user.otpSecret || !user.email || !user.username) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + + const passwordMatched = await bcrypt.compare(password, user.password); + if (!passwordMatched) { + if (process.env['NODE_ENV'] === 'development') + console.warn('Incorrect password. Continuing in development ...'); + else { + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Incorrect password.' + ); + } + } + + /* validate the TOTP */ + const totpValidated = mfa.verifyTOTP(totp, user.otpSecret); + if (!totpValidated) { + if (process.env['NODE_ENV'] === 'development') + console.warn('Incorrect One-Time password. Continuing in development ...'); + else { + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Incorrect One-Time password.' + ); + } + } + + /* validate if account expired */ + if (user.expiredAt && user.expiredAt < Date.now() && user.type === enumUserTypes.STANDARD) { + if (requestExpiryDate) { + /* send email to the DMP admin mailing-list */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ + config: this.config, + userEmail: user.email, + username: user.username + })); + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoClient({ + config: this.config, + to: user.email, + username: user.username + })); + throw new CoreError( + enumCoreErrors.UNQUALIFIED_ERROR, + 'New expiry date has been requested! Wait for ADMIN to approve.' + ); + } + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Account Expired. Please request a new expiry date!' + ); + } + + const { password: __unusedPassword, otpSecret: __unusedOtpSecret, ...filteredUser } = user; + return new Promise((resolve) => { + req.login(filteredUser, (err) => { + if (err) { + Logger.error(err); + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Cannot log in. Please try again later.' + ); + } + resolve(filteredUser); + }); + }); + } + + public async logout(requester: IUserWithoutToken | undefined, req: Express.Request) { + if (!requester) { + return makeGenericReponse(undefined, false, undefined, 'Requester not known.'); + } + return new Promise((resolve) => { + req.logout((err) => { + if (err) { + Logger.error(err); + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Cannot log out. Please try again later.' + ); + } else { + resolve(makeGenericReponse(requester.id)); + } + }); + }); + } + + /** + * Reset password. + * @param encryptedEmail - The encrypted email. + * @param token - The token. + * @param newPassword - The new password. + * @returns IGnericResponse + */ + public async resetPassword(encryptedEmail: string, token: string, newPassword: string) { + if (!passwordIsGoodEnough(newPassword)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Password has to be at least 8 character long.' + ); + } + + /* check that username and password dont have space */ + if (newPassword.indexOf(' ') !== -1) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Password cannot have spaces.' + ); + } + + /* decrypt email */ + if (token.length < 16) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Token is invalid.' + ); + } + + // TODO + const salt = makeAESKeySalt(token); + const iv = makeAESIv(token); + let email; + try { + email = await decryptEmail(this.config.aesSecret, encryptedEmail, salt, iv); + } catch (e) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Token is invalid.' + ); + } + + const user = await this.processResetPasswordRequest(token, email, newPassword); + /* need to log user out of all sessions */ + // TO_DO + + /* send email to the registered user */ + // get QR Code for the otpSecret. + const oauth_uri = `otpauth://totp/${this.config.appName}:${user.username}?secret=${user.otpSecret}&issuer=Data%20Science%20Institute`; + const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'qrcodeimg-', postfix: '.png' }); + + QRCode.toFile(tmpobj.name, oauth_uri, {}, function (err) { + if (err) { + throw new CoreError( + enumCoreErrors.UNQUALIFIED_ERROR, + err.message + ); + } + }); + + const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: email, + subject: `[${this.config.appName}] Password reset`, + html: ` +

+ Dear ${user.firstname}, +

+

+ Your password on ${this.config.appName} is now reset!
+ You will need to update your MFA application for one-time passcode.
+

+

+ To update your MFA authenticator app you can scan the QRCode below to configure it:
+ QR code
+ If you need to type the token in use ${(user.otpSecret as string).toLowerCase()} +

+
+

+ The ${this.config.appName} Team. +

+ `, + attachments: attachments + }); + tmpobj.removeCallback(); + return makeGenericReponse(); + } +} + +function passwordIsGoodEnough(pw: string): boolean { + if (pw.length < 8) { + return false; + } + return true; +} + +async function formatEmailForForgottenPassword({ config, username, firstname, to, resetPasswordToken, origin }: { config: IConfiguration, resetPasswordToken: string, to: string, username: string, firstname: string, origin: string }) { + const keySalt = makeAESKeySalt(resetPasswordToken); + const iv = makeAESIv(resetPasswordToken); + const encryptedEmail = await encryptEmail(config.aesSecret, to, keySalt, iv); + + const link = `${origin}/reset/${encryptedEmail}/${resetPasswordToken}`; + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] password reset`, + html: ` +

+ Dear ${firstname}, +

+

+ Your username is ${username}. +

+

+ You can reset you password by click the following link (active for 1 hour):
+ ${link} +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailForFogettenUsername({ config, username, to }: { config: IConfiguration, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] password reset`, + html: ` +

+ Dear user, +

+

+ Your username is ${username}. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDatetoClient({ config, username, to }: { config: IConfiguration, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] New expiry date has been requested!`, + html: ` +

+ Dear user, +

+

+ New expiry date for your ${username} account has been requested. + You will get a notification email once the request is approved. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDatetoAdmin({ config, username, userEmail }: { config: IConfiguration, username: string, userEmail: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to: `${config.adminEmail}`, + subject: `[${config.appName}] New expiry date has been requested from ${username} account!`, + html: ` +

+ Dear ADMINs, +

+

+ A expiry date request from the ${username} account (whose email address is ${userEmail}) has been submitted. + Please approve or deny the request ASAP. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDateNotification({ config, username, to }: { config: IConfiguration, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] New expiry date has been updated!`, + html: ` +

+ Dear user, +

+

+ New expiry date for your ${username} account has been updated. + You now can log in as normal. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} diff --git a/packages/itmat-cores/src/utils/query.ts b/packages/itmat-cores/src/utils/query.ts index 2e561680e..574605f66 100644 --- a/packages/itmat-cores/src/utils/query.ts +++ b/packages/itmat-cores/src/utils/query.ts @@ -1,6 +1,6 @@ -import { IStudy, IFieldEntry, IStandardization, ICohortSelection, IQueryString, IGroupedData, StandardizationFilterOptionParameters, StandardizationFilterOptions } from '@itmat-broker/itmat-types'; +import { IStudy, IField, IStandardization, ICohortSelection, IQueryString, IGroupedData, StandardizationFilterOptionParameters, StandardizationFilterOptions } from '@itmat-broker/itmat-types'; import { Filter } from 'mongodb'; -import { QueryMatcher } from '../core/permissionCore'; +import { QueryMatcher } from '../GraphQLCore/permissionCore'; /* queryString: format: string # returned foramt: raw, standardized, grouped, summary @@ -12,7 +12,7 @@ import { QueryMatcher } from '../core/permissionCore'; // if has study-level permission, non versioned data will also be returned -export function buildPipeline(query: IQueryString, studyId: string, permittedVersions: Array, permittedFields: IFieldEntry[], metadataFilter, isAdmin: boolean, includeUnversioned: boolean) { +export function buildPipeline(query: IQueryString, studyId: string, permittedVersions: Array, permittedFields: IField[], metadataFilter, isAdmin: boolean, includeUnversioned: boolean) { let fieldIds: string[] = permittedFields.map(el => el.fieldId); const fields = { _id: 0, m_subjectId: 1, m_visitId: 1 }; // We send back the requested fields, by default send all fields @@ -25,7 +25,7 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer } }); } else if (query['table_requested'] !== undefined && query['table_requested'] !== undefined) { - fieldIds = permittedFields.filter(el => el.tableName === query['table_requested']).map(el => el.fieldId); + fieldIds = permittedFields.filter(el => el.metadata['tableName'] === query['table_requested']).map(el => el.fieldId); fieldIds.forEach((field: string) => { fields[field] = 1; }); @@ -49,19 +49,19 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer } const groupFilter = [{ - $match: { m_fieldId: { $in: fieldIds } } + $match: { fieldId: { $in: fieldIds } } }, { - $sort: { uploadedAt: -1 } + $sort: { 'life.createdTime': -1 } }, { $group: { - _id: { m_subjectId: '$m_subjectId', m_visitId: '$m_visitId', m_fieldId: '$m_fieldId' }, + _id: { m_subjectId: '$properties.m_subjectId', m_visitId: '$properties.m_visitId', m_fieldId: '$fieldId' }, doc: { $first: '$$ROOT' } } }, { $project: { - m_subjectId: '$doc.m_subjectId', - m_visitId: '$doc.m_visitId', - m_fieldId: '$doc.m_fieldId', + m_subjectId: '$_id.m_subjectId', + m_visitId: '$_id.m_visitId', + m_fieldId: '$_id.m_fieldId', value: '$doc.value', _id: 0 } @@ -69,7 +69,7 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer ]; if (isAdmin) { return [ - { $match: { m_fieldId: { $regex: /^(?!Device)\w+$/ }, m_versionId: { $in: permittedVersions }, m_studyId: studyId } }, + { $match: { fieldId: { $regex: /^(?!Device)\w+$/ }, dataVersion: { $in: permittedVersions }, studyId: studyId } }, ...groupFilter, { $match: match } // { $project: fields } @@ -77,7 +77,7 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer } else { if (includeUnversioned) { return [ - { $match: { m_fieldId: { $regex: /^(?!Device)\w+$/ }, m_versionId: { $in: permittedVersions }, m_studyId: studyId } }, + { $match: { fieldId: { $regex: /^(?!Device)\w+$/ }, dataVersion: { $in: permittedVersions }, studyId: studyId } }, { $match: { $or: [metadataFilter, { m_versionId: null }] } }, ...groupFilter, { $match: match } @@ -85,7 +85,7 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer ]; } else { return [ - { $match: { m_fieldId: { $regex: /^(?!Device)\w+$/ }, m_versionId: { $in: permittedVersions }, m_studyId: studyId } }, + { $match: { fieldId: { $regex: /^(?!Device)\w+$/ }, dataVersion: { $in: permittedVersions }, studyId: studyId } }, { $match: metadataFilter }, ...groupFilter, { $match: match } @@ -191,7 +191,7 @@ export function translateMetadata(metadata: QueryMatcher[]) { return match; } -export function dataStandardization(study: IStudy, fields: IFieldEntry[], data: IGroupedData, queryString: IQueryString, standardizations: IStandardization[] | null) { +export function dataStandardization(study: IStudy, fields: IField[], data: IGroupedData, queryString: IQueryString, standardizations: IStandardization[] | null) { if (!queryString['format'] || queryString['format'] === 'raw') { return data; } else if (queryString['format'] === 'grouped' || queryString['format'] === 'summary') { @@ -206,9 +206,9 @@ export function dataStandardization(study: IStudy, fields: IFieldEntry[], data: -export function standardize(study: IStudy, fields: IFieldEntry[], data: IGroupedData, standardizations: IStandardization[]) { +export function standardize(study: IStudy, fields: IField[], data: IGroupedData, standardizations: IStandardization[]) { const records = {}; - const mergedFields: IFieldEntry[] = [...fields]; + const mergedFields: IField[] = [...fields]; const seqNumMap: Map = new Map(); for (const field of mergedFields) { let fieldDef = {}; diff --git a/packages/itmat-cores/src/utils/userLoginUtils.ts b/packages/itmat-cores/src/utils/userLoginUtils.ts index 1821ea850..474593aac 100644 --- a/packages/itmat-cores/src/utils/userLoginUtils.ts +++ b/packages/itmat-cores/src/utils/userLoginUtils.ts @@ -22,6 +22,6 @@ export class UserLoginUtils { } private async _getUser(username: string): Promise { - return await this.db.collections.users_collection.findOne({ deleted: null, username }, { projection: { _id: 0, deleted: 0, password: 0 } }); + return await this.db.collections.users_collection.findOne({ 'life.deletedTime': null, username }, { projection: { '_id': 0, 'life.deletedTime': 0, 'password': 0 } }); } } diff --git a/packages/itmat-interface/config/config.sample.json b/packages/itmat-interface/config/config.sample.json index 622ca4650..c08c4f464 100644 --- a/packages/itmat-interface/config/config.sample.json +++ b/packages/itmat-interface/config/config.sample.json @@ -17,7 +17,8 @@ "files_collection": "FILES_COLLECTION", "sessions_collection": "SESSIONS_COLLECTION", "pubkeys_collection": "PUBKEY_COLLECTION", - "standardizations_collection": "STANDARDIZATION_COLLECTION" + "standardizations_collection": "STANDARDIZATION_COLLECTION", + "configs_collection": "CONFIG_COLLECTION" } }, "server": { diff --git a/packages/itmat-interface/express-user.d.ts b/packages/itmat-interface/express-user.d.ts index a1740828a..6e7b3469d 100644 --- a/packages/itmat-interface/express-user.d.ts +++ b/packages/itmat-interface/express-user.d.ts @@ -9,7 +9,9 @@ declare global { interface Request { user?: User; - headers: IncomingHttpHeaders + headers: IncomingHttpHeaders; + login(user: User, done: (err: unknown) => void): void; + logout(done: (err: unknown) => void): void; } } } \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/resolvers/index.ts b/packages/itmat-interface/src/graphql/resolvers/index.ts index a48fcdacc..64100ce84 100644 --- a/packages/itmat-interface/src/graphql/resolvers/index.ts +++ b/packages/itmat-interface/src/graphql/resolvers/index.ts @@ -28,7 +28,7 @@ const modules = [ const bounceNotLoggedInDecorator = (funcName: string, reducerFunction: DMPResolver): DMPResolver => { return (parent, args, context, info) => { - const uncheckedFunctionWhitelist = ['login', 'rsaSigner', 'keyPairGenwSignature', 'issueAccessToken', 'whoAmI', 'getOrganisations', 'requestUsernameOrResetPassword', 'resetPassword', 'createUser', 'writeLog', 'validateResetPassword']; + const uncheckedFunctionWhitelist = ['login', 'rsaSigner', 'keyPairGenwSignature', 'issueAccessToken', 'getOrganisations', 'requestUsernameOrResetPassword', 'resetPassword', 'createUser', 'validateResetPassword']; const requester = context.req.user; if (!requester && !uncheckedFunctionWhitelist.includes(funcName)) { diff --git a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts index 2fbe85ea0..9c5ed02d3 100644 --- a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts @@ -1,4 +1,4 @@ -import { LOG_ACTION, LOG_STATUS, LOG_TYPE, userTypes } from '@itmat-broker/itmat-types'; +import { LOG_ACTION, LOG_STATUS, LOG_TYPE, enumUserTypes } from '@itmat-broker/itmat-types'; import { DMPResolversMap } from './context'; import { db } from '../../database/database'; import { LogCore } from '@itmat-broker/itmat-cores'; @@ -7,7 +7,7 @@ const logCore = Object.freeze(new LogCore(db)); export const logResolvers: DMPResolversMap = { Query: { - getLogs: async (_parent, args: { requesterName: string, requesterType: userTypes, logType: LOG_TYPE, actionType: LOG_ACTION, status: LOG_STATUS }, context) => { + getLogs: async (_parent, args: { requesterName: string, requesterType: enumUserTypes, logType: LOG_TYPE, actionType: LOG_ACTION, status: LOG_STATUS }, context) => { return await logCore.getLogs(context.req.user, args.requesterName, args.requesterType, args.logType, args.actionType, args.status); } } diff --git a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts index f2369165a..c56da1593 100644 --- a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts @@ -26,9 +26,6 @@ export const studyResolvers: DMPResolversMap = { getOntologyTree: async (_parent, { studyId, projectId, treeName, versionId }: { studyId: string, projectId?: string, treeName?: string, versionId?: string }, context) => { return await studyCore.getOntologyTree(context.req.user, studyId, projectId, treeName, versionId); }, - checkDataComplete: async (_parent, { studyId }: { studyId: string }, context) => { - return await studyCore.checkDataComplete(context.req.user, studyId); - }, getDataRecords: async (_parent, { studyId, queryString, versionId, projectId }: { queryString, studyId: string, versionId: string | null | undefined, projectId?: string }, context) => { return await studyCore.getDataRecords(context.req.user, queryString, studyId, versionId, projectId); } diff --git a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts index 3a68de6b3..22613e68d 100644 --- a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts @@ -10,7 +10,11 @@ const userCore = Object.freeze(new UserCore(db, mailer, config)); export const userResolvers: DMPResolversMap = { Query: { whoAmI: (_parent, _args, context) => { - return context.req.user; + return { + ...context.req.user, + createdAt: context.req.user?.life.createdTime, + deleted: context.req.user?.life.deletedTime + }; }, getUsers: async (_parent, args: { userId?: string }) => { return await userCore.getUsers(args.userId); diff --git a/packages/itmat-interface/src/index.ts b/packages/itmat-interface/src/index.ts index 9bc007b65..fad51c2b2 100644 --- a/packages/itmat-interface/src/index.ts +++ b/packages/itmat-interface/src/index.ts @@ -5,7 +5,7 @@ import http from 'http'; import ITMATInterfaceRunner from './interfaceRunner'; import config from './utils/configManager'; import { db } from './database/database'; -import { IUser, userTypes } from '@itmat-broker/itmat-types'; +import { IUser, enumUserTypes } from '@itmat-broker/itmat-types'; import { mailer } from './emailer/emailer'; let interfaceRunner = new ITMATInterfaceRunner(config); @@ -90,19 +90,15 @@ if (module.hot) { async function emailNotification() { const now = Date.now().valueOf(); const threshold = now + 7 * 24 * 60 * 60 * 1000; - // update info if not set before - await db.collections.users_collection.updateMany({ deleted: null, emailNotificationsStatus: null }, { - $set: { emailNotificationsStatus: { expiringNotification: false } } - }); const users = await db.collections.users_collection.find({ 'expiredAt': { $lte: threshold, $gt: now }, - 'type': { $ne: userTypes.ADMIN }, + 'type': { $ne: enumUserTypes.ADMIN }, 'emailNotificationsActivated': true, 'emailNotificationsStatus.expiringNotification': false, - 'deleted': null + 'life.deletedTime': null }).toArray(); for (const user of users) { await mailer.sendMail({ diff --git a/packages/itmat-interface/src/server/commonMiddleware.ts b/packages/itmat-interface/src/server/commonMiddleware.ts new file mode 100644 index 000000000..518226076 --- /dev/null +++ b/packages/itmat-interface/src/server/commonMiddleware.ts @@ -0,0 +1,31 @@ +import jwt from 'jsonwebtoken'; +import { GraphQLError } from 'graphql'; +import { ApolloServerErrorCode } from '@apollo/server/errors'; +import { userRetrieval } from '@itmat-broker/itmat-cores'; +import { db } from '../database/database'; + +export const tokenAuthentication = async (token: string) => { + if (token !== '') { + // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed + const decodedPayload = jwt.decode(token); + // obtain the public-key of the robot user in the JWT payload + let pubkey; + if (decodedPayload !== null && typeof decodedPayload === 'object') { + pubkey = decodedPayload['publicKey']; + } else { + throw new GraphQLError('JWT verification failed. ', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + // verify the JWT + jwt.verify(token, pubkey, function (error) { + if (error) { + throw new GraphQLError('JWT verification failed. ' + error, { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); + } + }); + // store the associated user with the JWT to context + const associatedUser = await userRetrieval(db, pubkey); + return associatedUser; + } else { + return null; + } +}; \ No newline at end of file diff --git a/packages/itmat-interface/src/server/router.ts b/packages/itmat-interface/src/server/router.ts index aa95830e1..ddfff3a41 100644 --- a/packages/itmat-interface/src/server/router.ts +++ b/packages/itmat-interface/src/server/router.ts @@ -1,8 +1,6 @@ import { ApolloServer } from '@apollo/server'; -import { ApolloServerErrorCode } from '@apollo/server/errors'; import { expressMiddleware } from '@apollo/server/express4'; import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer'; -import { GraphQLError } from 'graphql'; import { graphqlUploadExpress, GraphQLUpload } from 'graphql-upload-minimal'; import { execute, subscribe } from 'graphql'; import { WebSocketServer } from 'ws'; @@ -21,15 +19,18 @@ import { resolvers } from '../graphql/resolvers'; import { typeDefs } from '../graphql/typeDefs'; import { fileDownloadControllerInstance } from '../rest/fileDownload'; import { BigIntResolver as scalarResolvers } from 'graphql-scalars'; -import jwt from 'jsonwebtoken'; import { createProxyMiddleware, RequestHandler } from 'http-proxy-middleware'; import qs from 'qs'; import { IUser } from '@itmat-broker/itmat-types'; import { ApolloServerContext } from '../graphql/ApolloServerContext'; import { DMPContext } from '../graphql/resolvers/context'; import { logPluginInstance } from '../log/logPlugin'; -import { IConfiguration, spaceFixing, userRetrieval } from '@itmat-broker/itmat-cores'; +import { IConfiguration, spaceFixing } from '@itmat-broker/itmat-cores'; import { userLoginUtils } from '../utils/userLoginUtils'; +import * as trpcExpress from '@trpc/server/adapters/express'; +import { tokenAuthentication } from './commonMiddleware'; +import { tRPCRouter } from '../trpc/tRPCRouter'; +import { createtRPCContext } from '../trpc/trpc'; export class Router { private readonly app: Express; @@ -189,7 +190,7 @@ export class Router { const data = 'username:token'; preq.setHeader('authorization', `Basic ${Buffer.from(data).toString('base64')}`); }, - error: function (err, req, res, target) { + error: function (err, _req, _res, target) { console.error(err, target); } } @@ -216,25 +217,8 @@ export class Router { expressMiddleware(gqlServer, { context: async ({ req, res }): Promise => { const token: string = req.headers.authorization || ''; - if ((token !== '') && (req.user === undefined)) { - // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed - const decodedPayload = jwt.decode(token); - // obtain the public-key of the robot user in the JWT payload - let pubkey; - if (decodedPayload !== null && typeof decodedPayload === 'object') { - pubkey = decodedPayload['publicKey']; - } else { - throw new GraphQLError('JWT verification failed. ', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - // verify the JWT - jwt.verify(token, pubkey, function (error) { - if (error) { - throw new GraphQLError('JWT verification failed. ' + error, { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); - } - }); - // store the associated user with the JWT to context - const associatedUser = await userRetrieval(db, pubkey); + const associatedUser = await tokenAuthentication(token); + if (associatedUser) { req.user = associatedUser; } return ({ req, res }); @@ -265,6 +249,26 @@ export class Router { // next(); // }); + // trpc + this.app.use('/trpc', (req, _res, next) => { + (async () => { + try { + // in further merge the token authentication of graphql, trpc and file together + const token: string = req.headers.authorization || ''; + const associatedUser = await tokenAuthentication(token); + if (associatedUser) { + req.user = associatedUser; + } + next(); + } catch (error) { + next(error); + } + })().catch(next); + }, trpcExpress.createExpressMiddleware({ + router: tRPCRouter, + createContext: createtRPCContext + })); + this.app.get('/file/:fileId', fileDownloadControllerInstance.fileDownloadController); } diff --git a/packages/itmat-interface/src/trpc/middleware.ts b/packages/itmat-interface/src/trpc/middleware.ts new file mode 100644 index 000000000..03770b0c9 --- /dev/null +++ b/packages/itmat-interface/src/trpc/middleware.ts @@ -0,0 +1 @@ +// This file is a placeholder for further middleware used in the tRPC server. \ No newline at end of file diff --git a/packages/itmat-interface/src/trpc/tRPCRouter.ts b/packages/itmat-interface/src/trpc/tRPCRouter.ts new file mode 100644 index 000000000..02d4f7002 --- /dev/null +++ b/packages/itmat-interface/src/trpc/tRPCRouter.ts @@ -0,0 +1,8 @@ +import { router } from './trpc'; +import { userRouter } from './userProcedure'; + +export const tRPCRouter = router({ + user: userRouter +}); + +export type APPTRPCRouter = typeof tRPCRouter; \ No newline at end of file diff --git a/packages/itmat-interface/src/trpc/trpc.ts b/packages/itmat-interface/src/trpc/trpc.ts new file mode 100644 index 000000000..5d579cc4a --- /dev/null +++ b/packages/itmat-interface/src/trpc/trpc.ts @@ -0,0 +1,21 @@ +import { inferAsyncReturnType, initTRPC } from '@trpc/server'; +import type { CreateNextContextOptions } from '@trpc/server/adapters/next'; + +export const createtRPCContext = async (opts: CreateNextContextOptions) => { + return { + user: opts.req.user, + req: opts.req, + res: opts.res + }; +}; + +type Context = inferAsyncReturnType; +const t = initTRPC.context().create(); + +export const router = t.router; +export const publicProcedure = t.procedure; + +export const baseProcedure = t.procedure.use(async (opts) => { + // Move on to the next middleware or procedure + return opts.next(opts); +}); \ No newline at end of file diff --git a/packages/itmat-interface/src/trpc/userProcedure.ts b/packages/itmat-interface/src/trpc/userProcedure.ts new file mode 100644 index 000000000..814116947 --- /dev/null +++ b/packages/itmat-interface/src/trpc/userProcedure.ts @@ -0,0 +1,291 @@ +import { TRPCUserCore } from '@itmat-broker/itmat-cores'; +import { baseProcedure, router } from './trpc'; +import { db } from '../database/database'; +import { mailer } from '../emailer/emailer'; +import config from '../utils/configManager'; +import { objStore } from '../objStore/objStore'; +import { z } from 'zod'; +import { FileUploadSchema, enumUserTypes } from '@itmat-broker/itmat-types'; + +const userCore = new TRPCUserCore(db, mailer, config, objStore); + +export const userRouter = router({ + /** + * Return the object of IUser of the current requester. + * + * @return Record - The object of IUser. + */ + whoAmI: baseProcedure.query(async (opts) => { + return opts.ctx.req.user ?? null; + }), + /** + * Get a user. + * + * @param userId - The id of the user. If null, return all users. + * @return IUserWithoutToken + */ + getUser: baseProcedure.input(z.object({ + userId: z.optional(z.string()), + username: z.optional(z.string()), + email: z.optional(z.string()) + })).query(async (opts) => { + return await userCore.getUser(opts.ctx.user, opts.input.userId, opts.input.username, opts.input.email); + }), + /** + * Get all users. + * + * @param includedDeleted - If true, return all users including deleted ones. + * @return IUserWithoutToken + */ + getUsers: baseProcedure.input(z.object({ + includedDeleted: z.optional(z.boolean()) + })).query(async (opts) => { + return await userCore.getUsers(opts.ctx.user, opts.input.includedDeleted); + }), + /** + * Refresh the existing session to avoid timeout. Express will update the session as long as there is a new query in. + * + * @return IGenericResponse - The obejct of IGenericResponse. + */ + recoverSessionExpireTime: baseProcedure.query(() => { + return; + }), + /** + * Validate the token from the reset password request. + * + * @param encryptedEmail - The encrypted email. + * @param token - The token for resetting password. + * @returns IGenericResponse + */ + validateResetPassword: baseProcedure.input(z.object({ + encryptedEmail: z.string(), + token: z.string() + })).query(async (opts) => { + return await userCore.validateResetPassword(opts.input.encryptedEmail, opts.input.token); + }), + /** + * Ask for a request to extend account expiration time. Send notifications to user and admin. + * + * @param userId - The id of the user. + * + * @return IGenericResponse - The object of IGenericResponse + */ + requestExpiryDate: baseProcedure.input(z.object({ + userId: z.string() + })).mutation(async (opts) => { + return await userCore.requestExpiryDate(opts.ctx.user, opts.input.userId); + }), + /** + * Request for resetting password. + * + * @param forgotUsername - Whether user forget the username. + * @param forgotPassword - Whether user forgot the password. + * @param email - The email of the user. If using email to reset password. + * @param username - The username of the uer. If using username to reset password. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + requestUsernameOrResetPassword: baseProcedure.input(z.object({ + forgotUsername: z.boolean(), + forgotPassword: z.boolean(), + email: z.optional(z.string()), + username: z.optional(z.string()) + })).mutation(async (opts) => { + return await userCore.requestUsernameOrResetPassword(opts.input.forgotUsername, opts.input.forgotPassword, opts.ctx.req.headers.origin, opts.input.email, opts.input.username); + }), + /** + * Log in to the system. + * + * @param username - The username of the user. + * @param password - The password of the user. + * @param totp - The totp of the user. + * @param requestexpirydate - Whether to request for extend the expiration time of the user. + * + * @return Partial - The object of Partial + */ + login: baseProcedure.input(z.object({ + username: z.string(), + password: z.string(), + totp: z.string(), + requestexpirydate: z.optional(z.boolean()) + })).mutation(async (opts) => { + return await userCore.login(opts.ctx.req, opts.input.username, opts.input.password, opts.input.totp, opts.input.requestexpirydate); + }), + /** + * Logout an account. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + logout: baseProcedure.mutation(async (opts) => { + return await userCore.logout(opts.ctx.user, opts.ctx.req); + }), + /** + * Create a user. + * + * @param username - The username of the user. + * @param firstname - The firstname of the user. + * @param lastname - The lastname of the user. + * @param email - The email of the user. + * @param password - The password of the user. + * @param description - The description of the user. + * @param organisation - The organisation of the user. + * @param profile - The profile of the user. + * + * @return IUser + */ + createUser: baseProcedure.input(z.object({ + username: z.string(), + firstname: z.string(), + lastname: z.string(), + email: z.string(), + password: z.string(), + description: z.optional(z.string()), + organisation: z.string(), + profile: z.optional(FileUploadSchema) + })).mutation(async (opts) => { + return await userCore.createUser( + opts.ctx.user, + opts.input.username, + opts.input.email, + opts.input.firstname, + opts.input.lastname, + opts.input.organisation, + enumUserTypes.STANDARD, + false, + opts.input.password, + opts.input.profile + ); + }), + /** + * Delete a user. + * + * @param userId - The id of the user. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + deleteUser: baseProcedure.input(z.object({ + userId: z.string() + })).mutation(async (opts) => { + return await userCore.deleteUser(opts.ctx.user, opts.input.userId); + }), + /** + * Reset the password of an account. + * + * @param encryptedEmail - The encrypted email of the user. + * @param token - The id of the reset password request of the user. + * @param newPassword - The new password. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + resetPassword: baseProcedure.input(z.object({ + encryptedEmail: z.string(), + token: z.string(), + newPassword: z.string() + })).mutation(async (opts) => { + return await userCore.resetPassword(opts.input.encryptedEmail, opts.input.token, opts.input.newPassword); + }), + /** + * Edit a user. Besides description, other fields whose values is null will not be updated. + * + * @param userId - The id of the user. + * @param username - The username of the user. + * @param type - The type of the user. + * @param firstname - The first name of the user. + * @param lastname - The last name of the user. + * @param email - The email of the user. + * @param emailNotificationsActivated - Whether the email notification is activated. + * @param password - The password of the user. + * @param description - The description of the user. + * @param organisaiton - The organisation of the user. + * @param expiredAt - The expiration time of the user. + * @param profile - The profile of the user. + * + * @return Partial - The object of IUser. + */ + editUser: baseProcedure.input(z.object({ + userId: z.string(), + username: z.optional(z.string()), + type: z.optional(z.nativeEnum(enumUserTypes)), + firstname: z.optional(z.string()), + lastname: z.optional(z.string()), + email: z.optional(z.string()), + password: z.optional(z.string()), + description: z.optional(z.string()), + organisation: z.optional(z.string()), + emailNotificationsActivated: z.optional(z.boolean()), + otpSecret: z.optional(z.string()), + expiredAt: z.optional(z.number()), + profile: z.optional(FileUploadSchema) + })).mutation(async (opts) => { + return await userCore.editUser( + opts.ctx.user, + opts.input.userId, + opts.input.username, + opts.input.email, + opts.input.firstname, + opts.input.lastname, + opts.input.organisation, + opts.input.type, + opts.input.emailNotificationsActivated, + opts.input.password, + opts.input.otpSecret, + opts.input.profile, + opts.input.description, + opts.input.expiredAt + + ); + }), + /** + * Get keys of a user. + * + * @param userId - The id of the user. + * @return IPubkeys[] + */ + getUserKeys: baseProcedure.input(z.object({ + userId: z.string() + })).query(async (opts) => { + return await userCore.getUserKeys(opts.ctx.user, opts.input.userId); + }), + /** + * Register a public key. + * + * @param pubkey - The public key. + * @param signature - The signature of the public key. + * @param associatedUserId - The id of the user. + * @return IPubkey + */ + registerPubkey: baseProcedure.input(z.object({ + pubkey: z.string(), + signature: z.string(), + associatedUserId: z.string() + })).mutation(async (opts) => { + return await userCore.registerPubkey(opts.ctx.user, opts.input.pubkey, opts.input.signature, opts.input.associatedUserId); + }), + /** + * Issue an access token. + * + * @param pubkey - The public key. + * @param signature - The signature of the public key. + * @param life - The life of the token. + * @return IAccessToken + */ + issueAccessToken: baseProcedure.input(z.object({ + pubkey: z.string(), + signature: z.string(), + life: z.optional(z.number()) + })).mutation(async (opts) => { + return await userCore.issueAccessToken(opts.input.pubkey, opts.input.signature, opts.input.life); + }), + /** + * Delete a public key. + * + * @param keyId - The id of the public key. + * @param associatedUserId - The id of the user. + */ + deletePubkey: baseProcedure.input(z.object({ + keyId: z.string(), + associatedUserId: z.string() + })).mutation(async (opts) => { + return await userCore.deletePubkey(opts.ctx.user, opts.input.keyId, opts.input.associatedUserId); + }) +}); \ No newline at end of file diff --git a/packages/itmat-interface/test/serverTests/_loginHelper.ts b/packages/itmat-interface/test/GraphQLTests/_loginHelper.ts similarity index 100% rename from packages/itmat-interface/test/serverTests/_loginHelper.ts rename to packages/itmat-interface/test/GraphQLTests/_loginHelper.ts diff --git a/packages/itmat-interface/test/serverTests/file.test.ts b/packages/itmat-interface/test/GraphQLTests/file.test.ts similarity index 95% rename from packages/itmat-interface/test/serverTests/file.test.ts rename to packages/itmat-interface/test/GraphQLTests/file.test.ts index 9093d53c7..6b5cabbe2 100644 --- a/packages/itmat-interface/test/serverTests/file.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/file.test.ts @@ -14,7 +14,7 @@ import path from 'path'; import { v4 as uuid } from 'uuid'; import { errorCodes } from '@itmat-broker/itmat-cores'; import { Db, MongoClient } from 'mongodb'; -import { studyType, IStudy, IUser, IRole, IFile, IFieldEntry, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; +import { studyType, IStudy, IUser, IRole, IFile, IField, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { UPLOAD_FILE, CREATE_STUDY, DELETE_FILE } from '@itmat-broker/itmat-models'; import { MongoMemoryServer } from 'mongodb-memory-server'; import { setupDatabase } from '@itmat-broker/itmat-setup'; @@ -79,7 +79,7 @@ if (global.hasMinio) { let createdStudyClinical; let createdStudyAny: { id: any; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile: { id: any; otpSecret: any; username?: string; type?: string; firstname?: string; lastname?: string; password?: string; email?: string; description?: string; emailNotificationsActivated?: boolean; organisation?: string; deleted?: null; }; + let authorisedUserProfile: IUser; beforeEach(async () => { /* setup: create a study to upload file to */ const studyname = uuid(); @@ -133,7 +133,7 @@ if (global.hasMinio) { }); // create field for both studies - await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ + await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ fieldId: 'Device_McRoberts', fieldName: 'Device_McRoberts', dataType: 'file', @@ -162,7 +162,7 @@ if (global.hasMinio) { metadata: { } }]); - await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ + await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ fieldId: 'Device_McRoberts', fieldName: 'Device_McRoberts', dataType: 'file', @@ -204,8 +204,14 @@ if (global.hasMinio) { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -243,7 +249,7 @@ if (global.hasMinio) { afterEach(async () => { await mongoClient.collection(config.database.collections.studies_collection).deleteMany({}); - await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); + await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); await mongoClient.collection(config.database.collections.files_collection).deleteMany({}); }); @@ -471,7 +477,6 @@ if (global.hasMinio) { expect(res.body.errors[0].message).toBe('File size mismatch'); expect(res.body.data.uploadFile).toEqual(null); }); - }); describe('DOWNLOAD FILES', () => { @@ -479,7 +484,7 @@ if (global.hasMinio) { let createdStudy; let createdFile: { id: any; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { /* setup: create studies to upload file to */ @@ -499,7 +504,7 @@ if (global.hasMinio) { description: 'test description', type: studyType.SENSOR }); - await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ + await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ fieldId: 'Device_McRoberts', fieldName: 'Device_McRoberts', dataType: 'file', @@ -561,8 +566,14 @@ if (global.hasMinio) { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -600,7 +611,7 @@ if (global.hasMinio) { afterEach(async () => { await mongoClient.collection(config.database.collections.studies_collection).deleteMany({}); - await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); + await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); await mongoClient.collection(config.database.collections.files_collection).deleteMany({}); }); @@ -663,7 +674,7 @@ if (global.hasMinio) { let createdStudy; let createdFile: { id: any; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { /* Clear old values */ await db.collections.roles_collection.deleteMany({}); @@ -684,7 +695,7 @@ if (global.hasMinio) { description: 'test description', type: studyType.SENSOR }); - await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ + await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ fieldId: 'Device_McRoberts', fieldName: 'Device_McRoberts', dataType: 'file', @@ -751,8 +762,14 @@ if (global.hasMinio) { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -790,7 +807,7 @@ if (global.hasMinio) { afterEach(async () => { await mongoClient.collection(config.database.collections.studies_collection).deleteMany({}); - await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); + await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); await mongoClient.collection(config.database.collections.files_collection).deleteMany({}); }); diff --git a/packages/itmat-interface/test/serverTests/job.test.ts b/packages/itmat-interface/test/GraphQLTests/job.test.ts similarity index 97% rename from packages/itmat-interface/test/serverTests/job.test.ts rename to packages/itmat-interface/test/GraphQLTests/job.test.ts index 116928ed6..3c609feb3 100644 --- a/packages/itmat-interface/test/serverTests/job.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/job.test.ts @@ -170,7 +170,7 @@ describe('JOB API', () => { test('Create a query curation job (user with privilege)', async () => { /* setup: creating a privileged user */ const username = uuid(); - const authorisedUserProfile = { + const authorisedUserProfile: IUser = { username, type: 'STANDARD', firstname: `${username}_firstname`, @@ -181,8 +181,13 @@ describe('JOB API', () => { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 200000000, + createdUserId: 'admin', + deletedTime: null, + deletedUserId: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); diff --git a/packages/itmat-interface/test/serverTests/log.test.ts b/packages/itmat-interface/test/GraphQLTests/log.test.ts similarity index 91% rename from packages/itmat-interface/test/serverTests/log.test.ts rename to packages/itmat-interface/test/GraphQLTests/log.test.ts index b3c1e20a5..9d851880b 100644 --- a/packages/itmat-interface/test/serverTests/log.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/log.test.ts @@ -13,7 +13,7 @@ import { setupDatabase } from '@itmat-broker/itmat-setup'; import config from '../../config/config.sample.json'; import { errorCodes, generateTOTP } from '@itmat-broker/itmat-cores'; import { GET_LOGS, LOGIN, DELETE_USER } from '@itmat-broker/itmat-models'; -import { userTypes, IUser, ILogEntry, LOG_STATUS, LOG_ACTION, LOG_TYPE, USER_AGENT } from '@itmat-broker/itmat-types'; +import { enumUserTypes, IUser, ILogEntry, LOG_STATUS, LOG_ACTION, LOG_TYPE, USER_AGENT } from '@itmat-broker/itmat-types'; import { Express } from 'express'; let app: Express; @@ -72,16 +72,20 @@ describe('LOG API', () => { firstname: 'test', lastname: 'user', organisation: 'organisation_system', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, description: 'I am an test user.', emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, - deleted: null, password: '$2b$04$ps9ownz6PqJFD/LExsmgR.ZLk11zhtRdcpUwypWVfWJ4ZW6/Zzok2', otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', resetPasswordRequests: [], - createdAt: 1591134065000, expiredAt: 2501134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -102,7 +106,7 @@ describe('LOG API', () => { if (!lastLog) return; expect(lastLog.requesterName).toEqual('test_user'); - expect(lastLog.requesterType).toEqual(userTypes.ADMIN); + expect(lastLog.requesterType).toEqual(enumUserTypes.ADMIN); expect(lastLog.logType).toEqual(LOG_TYPE.REQUEST_LOG); expect(lastLog.actionType).toEqual(LOG_ACTION.login); expect(JSON.parse(lastLog.actionData)).toEqual({ @@ -127,8 +131,8 @@ describe('LOG API', () => { // write initial data for testing const logSample = [{ id: '001', - requesterName: userTypes.SYSTEM, - requesterType: userTypes.SYSTEM, + requesterName: enumUserTypes.SYSTEM, + requesterType: enumUserTypes.SYSTEM, logType: LOG_TYPE.SYSTEM_LOG, userAgent: USER_AGENT.MOZILLA, actionType: LOG_ACTION.startSERVER, diff --git a/packages/itmat-interface/test/serverTests/permission.test.ts b/packages/itmat-interface/test/GraphQLTests/permission.test.ts similarity index 97% rename from packages/itmat-interface/test/serverTests/permission.test.ts rename to packages/itmat-interface/test/GraphQLTests/permission.test.ts index 9ee8ac180..b42587fb7 100644 --- a/packages/itmat-interface/test/serverTests/permission.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/permission.test.ts @@ -68,7 +68,7 @@ describe('ROLE API', () => { let setupStudy: { id: any; name?: string; createdBy?: any; lastModified?: number; deleted?: null; currentDataVersion?: number; dataVersions?: never[]; }; let setupProject: { id: any; studyId?: string; createdBy?: any; patientMapping?: Record; name?: string; lastModified?: number; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile: { otpSecret: any; id: any; username?: string; type?: string; firstname?: string; lastname?: string; password?: string; email?: string; description?: string; emailNotificationsActivated?: boolean; organisation?: string; deleted?: null; }; + let authorisedUserProfile: IUser; beforeEach(async () => { const studyName = uuid(); setupStudy = { @@ -107,8 +107,14 @@ describe('ROLE API', () => { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -672,7 +678,7 @@ describe('ROLE API', () => { let setupStudy: { id: any; name?: string; createdBy?: any; lastModified?: number; deleted?: null; currentDataVersion?: number; dataVersions?: never[]; }; let setupRole: { id: any; _id?: any; name: any; studyId: any; projectId?: null; permissions?: never[]; createdBy?: any; users?: never[]; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { const studyName = uuid(); setupStudy = { @@ -699,8 +705,14 @@ describe('ROLE API', () => { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -1169,7 +1181,7 @@ describe('ROLE API', () => { test('Add user to role (admin)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -1181,7 +1193,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1279,7 +1298,7 @@ describe('ROLE API', () => { test('Add user to role (privileged user)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -1291,7 +1310,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1389,7 +1415,7 @@ describe('ROLE API', () => { test('Add user to role (user without privilege) (should fail)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -1401,7 +1427,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1471,7 +1504,7 @@ describe('ROLE API', () => { test('Remove user from role (admin)', async () => { /* setup: create a user to be removed from role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -1483,7 +1516,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const updatedRole = await mongoClient.collection(config.database.collections.roles_collection).findOneAndUpdate({ @@ -2210,7 +2250,7 @@ describe('ROLE API', () => { test('Combination of edits (admin)', async () => { /* setup: create a user to be removed from role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -2222,7 +2262,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -2377,7 +2424,7 @@ describe('ROLE API', () => { let setupProject: { id: any; studyId?: string; createdBy?: any; patientMapping?: Record; name?: string; lastModified?: number; deleted?: null; }; let setupRole: { id: any; _id?: any; name: any; projectId?: string; studyId?: string; permissions?: never[]; createdBy?: any; users?: never[]; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { /* setup: creating a setup study */ const studyName = uuid(); @@ -2419,7 +2466,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -2782,7 +2836,7 @@ describe('ROLE API', () => { test('Add user to role (privileged user)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -2794,7 +2848,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -2892,7 +2953,7 @@ describe('ROLE API', () => { test('Add user to role (user without privilege) (should fail)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -2904,7 +2965,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -2961,7 +3029,7 @@ describe('ROLE API', () => { let setupStudy; let setupRole: { id: any; projectId?: null; studyId?: string; name?: string; permissions?: never[]; createdBy?: any; users?: never[]; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { const studyName = uuid(); setupStudy = { @@ -2989,7 +3057,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -3118,7 +3193,7 @@ describe('ROLE API', () => { let setupProject; let setupRole: { id: any; projectId?: string; studyId?: string; name?: string; permissions?: never[]; createdBy?: any; users?: never[]; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { /* setup: creating a setup study */ const studyName = uuid(); @@ -3160,7 +3235,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); diff --git a/packages/itmat-interface/test/serverTests/standardization.test.ts b/packages/itmat-interface/test/GraphQLTests/standardization.test.ts similarity index 97% rename from packages/itmat-interface/test/serverTests/standardization.test.ts rename to packages/itmat-interface/test/GraphQLTests/standardization.test.ts index ea3aa8254..4b8659d95 100644 --- a/packages/itmat-interface/test/serverTests/standardization.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/standardization.test.ts @@ -30,7 +30,7 @@ import { DELETE_STANDARDIZATION, CREATE_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { userTypes, IUser, studyType, IStudy, IProject, IRole, IPermissionManagementOptions, atomicOperation } from '@itmat-broker/itmat-types'; +import { enumUserTypes, IUser, studyType, IStudy, IProject, IRole, IPermissionManagementOptions, atomicOperation } from '@itmat-broker/itmat-types'; import { Express } from 'express'; @@ -354,7 +354,7 @@ describe('STUDY API', () => { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -365,10 +365,15 @@ describe('STUDY API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedProjectUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorised = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); @@ -448,7 +453,7 @@ describe('STUDY API', () => { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorised.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorised.username}_firstname`, lastname: `${createdUserAuthorised.username}_lastname`, organisation: 'organisation_system', @@ -469,7 +474,7 @@ describe('STUDY API', () => { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -480,10 +485,15 @@ describe('STUDY API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorisedStudy = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); @@ -563,7 +573,7 @@ describe('STUDY API', () => { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedStudy.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedStudy.username}_firstname`, lastname: `${createdUserAuthorisedStudy.username}_lastname`, organisation: 'organisation_system', @@ -587,7 +597,7 @@ describe('STUDY API', () => { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -598,10 +608,15 @@ describe('STUDY API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUserManageProject_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -682,7 +697,7 @@ describe('STUDY API', () => { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedStudyManageProjects.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedStudyManageProjects.username}_firstname`, lastname: `${createdUserAuthorisedStudyManageProjects.username}_lastname`, organisation: 'organisation_system', @@ -705,7 +720,7 @@ describe('STUDY API', () => { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toStrictEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -721,15 +736,14 @@ describe('STUDY API', () => { }], studies: [{ id: createdStudy.id, - name: createdStudy.name, - type: studyType.SENSOR + name: createdStudy.name }] }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); } /* connecting users */ @@ -790,7 +804,7 @@ describe('STUDY API', () => { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -806,13 +820,13 @@ describe('STUDY API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); // study data is NOT deleted for audit purposes - unless explicitly requested separately const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study = await db.collections.studies_collection.findOne({ 'id': createdStudy.id, 'life.deletedTime': null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); @@ -1198,7 +1212,8 @@ describe('STUDY API', () => { ] } }); - await authorisedUserStudy.post('/graphql').send({ + console.log(await db.collections.field_dictionary_collection.find({}).toArray()); + const t = await authorisedUserStudy.post('/graphql').send({ query: print(UPLOAD_DATA_IN_ARRAY), variables: { studyId: createdStudy.id, @@ -1219,6 +1234,7 @@ describe('STUDY API', () => { ] } }); + console.log(JSON.stringify(t.body.data.uploadDataInArray)); await admin.post('/graphql').send({ query: print(CREATE_ONTOLOGY_TREE), variables: { @@ -1439,6 +1455,7 @@ describe('STUDY API', () => { }); expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); + console.log(JSON.stringify(res.body.data.getDataRecords)); expect(res.body.data.getDataRecords.data.QS.sort((a: { entry_reserved: string; entry_inc: number; }, b: { entry_reserved: any; entry_inc: number; }) => { return a.entry_reserved !== b.entry_reserved ? a.entry_reserved.localeCompare(b.entry_reserved) : a.entry_inc - b.entry_inc; diff --git a/packages/itmat-interface/test/serverTests/study.test.ts b/packages/itmat-interface/test/GraphQLTests/study.test.ts similarity index 85% rename from packages/itmat-interface/test/serverTests/study.test.ts rename to packages/itmat-interface/test/GraphQLTests/study.test.ts index c761c003c..be06c4bca 100644 --- a/packages/itmat-interface/test/serverTests/study.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/study.test.ts @@ -16,7 +16,6 @@ import config from '../../config/config.sample.json'; import { v4 as uuid } from 'uuid'; import { GET_STUDY_FIELDS, - GET_PROJECT_PATIENT_MAPPING, GET_STUDY, GET_PROJECT, GET_USERS, @@ -33,7 +32,6 @@ import { DELETE_DATA_RECORDS, GET_DATA_RECORDS, CREATE_NEW_DATA_VERSION, - CHECK_DATA_COMPLETE, CREATE_NEW_FIELD, DELETE_FIELD, CREATE_ONTOLOGY_TREE, @@ -41,19 +39,23 @@ import { GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; import { - userTypes, + enumUserTypes, studyType, - enumValueType, + enumDataTypes, IDataEntry, IUser, IFile, - IFieldEntry, + IField, IStudyDataVersion, IStudy, IProject, IRole, IPermissionManagementOptions, - atomicOperation + atomicOperation, + enumReservedUsers, + IData, + enumFileTypes, + enumFileCategories } from '@itmat-broker/itmat-types'; import { Express } from 'express'; import path from 'path'; @@ -139,7 +141,7 @@ if (global.hasMinio) { expect(resWhoAmI.body.data.errors).toBeUndefined(); expect(resWhoAmI.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -151,19 +153,18 @@ if (global.hasMinio) { projects: [], studies: [{ id: createdStudy.id, - name: studyName, - type: studyType.SENSOR + name: studyName }] }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Edit study (admin)', async () => { @@ -190,24 +191,27 @@ if (global.hasMinio) { expect(editStudy.body.data.editStudy).toEqual({ id: createdStudy.id, name: studyName, - description: 'edited description', - type: studyType.SENSOR + description: 'edited description' }); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Create study that violate unique name constraint (admin)', async () => { const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: -1, - dataVersions: [] + dataVersions: [], + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -225,19 +229,23 @@ if (global.hasMinio) { expect(study).toEqual([newStudy]); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Create study that violate unique name constraint (case insensitive) (admin)', async () => { const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: -1, - dataVersions: [] + dataVersions: [], + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -255,7 +263,7 @@ if (global.hasMinio) { expect(study).toEqual([newStudy]); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Create study (user) (should fail)', async () => { @@ -300,21 +308,24 @@ if (global.hasMinio) { expect(editStudy.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Delete study (no projects) (admin)', async () => { /* setup: create a study to be deleted */ const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: -1, dataVersions: [], - type: studyType.SENSOR + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -323,7 +334,7 @@ if (global.hasMinio) { expect(resWhoAmI.body.data.errors).toBeUndefined(); expect(resWhoAmI.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -335,15 +346,14 @@ if (global.hasMinio) { projects: [], studies: [{ id: newStudy.id, - name: studyName, - type: studyType.SENSOR + name: studyName }] }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); /* test */ @@ -359,14 +369,14 @@ if (global.hasMinio) { }); const study = await mongoClient.collection(config.database.collections.studies_collection).findOne({ id: newStudy.id }); - expect(typeof study.deleted).toBe('number'); + expect(typeof study?.life.deletedTime).toBe('number'); const resWhoAmIAfter = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(resWhoAmIAfter.status).toBe(200); expect(resWhoAmIAfter.body.data.errors).toBeUndefined(); expect(resWhoAmIAfter.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -382,21 +392,25 @@ if (global.hasMinio) { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); }); test('Delete study that has been deleted (no projects) (admin)', async () => { /* setup: create a study to be deleted */ const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: new Date().valueOf(), currentDataVersion: -1, - dataVersions: [] + dataVersions: [], + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: 10000, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -425,14 +439,18 @@ if (global.hasMinio) { test('Delete study (user) (should fail)', async () => { /* setup: create a study to be deleted */ const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: -1, - dataVersions: [] + dataVersions: [], + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -447,16 +465,16 @@ if (global.hasMinio) { /* confirms that the created study is still alive */ const createdStudy = await mongoClient.collection(config.database.collections.studies_collection).findOne({ name: studyName }); - expect(createdStudy.deleted).toBe(null); + expect(createdStudy?.life.deletedTime).toBe(null); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); }); describe('MANIPULATING PROJECTS EXISTENCE', () => { let testCounter = 0; - let setupStudy: { id: any; name?: string; createdBy?: string; lastModified?: number; deleted?: null; currentDataVersion?: number; dataVersions?: { id: string; contentId: string; version: string; tag: string; updateDate: string; }[]; }; + let setupStudy: IStudy; let setupProject: { id: any; studyId?: string; createdBy?: string; name?: string; patientMapping?: { patient001: string; }; lastModified?: number; deleted?: null; }; beforeEach(async () => { testCounter++; @@ -465,9 +483,6 @@ if (global.hasMinio) { setupStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: 0, dataVersions: [ { @@ -477,7 +492,14 @@ if (global.hasMinio) { tag: '1', updateDate: '1628049066475' } - ] + ], + life: { + createdTime: 20000001, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(setupStudy); @@ -496,7 +518,7 @@ if (global.hasMinio) { }); afterEach(async () => { - await mongoClient.collection(config.database.collections.studies_collection).updateOne({ id: setupStudy.id }, { $set: { deleted: 10000 } }); + await mongoClient.collection(config.database.collections.studies_collection).updateOne({ id: setupStudy.id }, { $set: { 'life.deletedTime': 10000 } }); await mongoClient.collection(config.database.collections.projects_collection).updateOne({ id: setupProject.id }, { $set: { deleted: 10000 } }); }); @@ -553,7 +575,7 @@ if (global.hasMinio) { const username = uuid(); const authorisedUserProfile: IUser = { username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -564,17 +586,21 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `new_user_id_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); const roleId = uuid(); const newRole = { id: roleId, - projectId: null, studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: { @@ -670,7 +696,7 @@ if (global.hasMinio) { const username = uuid(); const authorisedUserProfile: IUser = { username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -681,17 +707,21 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `new_user_id_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); const roleId = uuid(); const newRole = { id: roleId, - projectId: null, studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: { @@ -754,17 +784,14 @@ if (global.hasMinio) { let createdStudy: { id: any; name: any; }; let createdRole_study: { _id: any; id: any; name: any; }; let createdRole_study_manageProject: { _id: any; id: any; name: any; }; - let createdRole_study_self_access: { _id: any; id: any; name: any; }; let createdRole_project: { _id: any; id: any; name: any; }; let createdUserAuthorised: { id: any; firstname: any; lastname: any; username: string; otpSecret: string; }; // profile let createdUserAuthorisedStudy: { id: any; firstname: any; lastname: any; username: string; otpSecret: string; }; // profile let createdUserAuthorisedStudyManageProjects: { id: any; firstname: any; lastname: any; username: string; otpSecret: string; }; // profile - let createdUserAuthorisedToOneOrg: { id: any; firstname: any; lastname: any; username: string; otpSecret: string; }; // profile let authorisedUser: request.SuperTest; // client let authorisedUserStudy: request.SuperTest; // client let authorisedUserStudyManageProject: request.SuperTest; // client - let authorisedUserToOneOrg: request.SuperTest; // client - let mockFields: IFieldEntry[]; + let mockFields: IField[]; let mockFiles: IFile[]; let mockDataVersion: IStudyDataVersion; const newMockDataVersion: IStudyDataVersion = { // this is not added right away; but multiple tests uses this @@ -803,50 +830,82 @@ if (global.hasMinio) { version: '0.0.1', updateDate: '5000000' }; - const mockData: IDataEntry[] = [ + const mockData: IData[] = [ { id: 'mockData1_1', - m_subjectId: 'mock_patient1', - m_visitId: 'mockvisitId', - m_studyId: createdStudy.id, - m_versionId: mockDataVersion.id, - m_fieldId: '31', + studyId: createdStudy.id, + fieldId: '31', + dataVersion: mockDataVersion.id, value: 'male', - metadata: {}, - deleted: null + properties: { + m_subjectId: 'mock_patient1', + m_visitId: 'mockvisitId' + + }, + life: { + createdTime: 10000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockData1_2', - m_subjectId: 'mock_patient1', - m_visitId: 'mockvisitId', - m_studyId: createdStudy.id, - m_versionId: mockDataVersion.id, - m_fieldId: '49', + studyId: createdStudy.id, + fieldId: '49', + dataVersion: mockDataVersion.id, value: 'England', - metadata: {}, - deleted: null + properties: { + m_subjectId: 'mock_patient1', + m_visitId: 'mockvisitId' + + }, + life: { + createdTime: 10001, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockData2_1', - m_subjectId: 'mock_patient2', - m_visitId: 'mockvisitId', - m_studyId: createdStudy.id, - m_versionId: mockDataVersion.id, - m_fieldId: '31', + studyId: createdStudy.id, + fieldId: '31', + dataVersion: mockDataVersion.id, value: 'female', - metadata: {}, - deleted: null + properties: { + m_subjectId: 'mock_patient2', + m_visitId: 'mockvisitId' + + }, + life: { + createdTime: 10002, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockData2_2', - m_subjectId: 'mock_patient2', - m_visitId: 'mockvisitId', - m_studyId: createdStudy.id, - m_versionId: mockDataVersion.id, - m_fieldId: '49', + studyId: createdStudy.id, + fieldId: '49', + dataVersion: mockDataVersion.id, value: 'France', - metadata: {}, - deleted: null + properties: { + m_subjectId: 'mock_patient2', + m_visitId: 'mockvisitId' + + }, + life: { + createdTime: 10003, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} } ]; mockFields = [ @@ -855,53 +914,79 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '31', fieldName: 'Sex', - dataType: enumValueType.STRING, - possibleValues: [], + dataType: enumDataTypes.STRING, + categoricalOptions: [], unit: 'person', comments: 'mockComments1', - dateAdded: '10000', - dateDeleted: null, - dataVersion: 'mockDataVersionId' + dataVersion: 'mockDataVersionId', + life: { + createdTime: 10000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockfield2', studyId: createdStudy.id, fieldId: '32', fieldName: 'Race', - dataType: enumValueType.STRING, - possibleValues: [], + dataType: enumDataTypes.STRING, + categoricalOptions: [], unit: 'person', comments: 'mockComments2', - dateAdded: '20000', - dateDeleted: null, - dataVersion: 'mockDataVersionId' + dataVersion: 'mockDataVersionId', + life: { + createdTime: 20000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} } ]; mockFiles = [ { id: 'mockfile1_id', - fileName: 'I7N3G6G-MMM7N3G6G-20200704-20210429.txt', studyId: createdStudy.id, + userId: null, + fileName: 'I7N3G6G-MMM7N3G6G-20200704-20210429.txt', fileSize: '1000', description: 'Just a test file1', - uploadTime: '1599345644000', - uploadedBy: adminId, + properties: {}, uri: 'fakeuri', - deleted: null, - hash: 'b0dc2ae76cdea04dcf4be7fcfbe36e2ce8d864fe70a1895c993ce695274ba7a0' + hash: 'b0dc2ae76cdea04dcf4be7fcfbe36e2ce8d864fe70a1895c993ce695274ba7a0', + fileType: enumFileTypes.TXT, + fileCategory: enumFileCategories.STUDY_DATA_FILE, + life: { + createdTime: 1599345644000, + createdUser: adminId, + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockfile2_id', - fileName: 'GR6R4AR-MMMS3JSPP-20200601-20200703.json', studyId: createdStudy.id, + userId: null, + fileName: 'GR6R4AR-MMMS3JSPP-20200601-20200703.json', fileSize: '1000', description: 'Just a test file2', - uploadTime: '1599345644000', - uploadedBy: adminId, + properties: {}, uri: 'fakeuri2', - deleted: null, - hash: '4ae25be36354ee0aec8dc8deac3f279d2e9d6415361da996cf57eb6142cfb1a3' + hash: '4ae25be36354ee0aec8dc8deac3f279d2e9d6415361da996cf57eb6142cfb1a3', + fileType: enumFileTypes.JSON, + fileCategory: enumFileCategories.STUDY_DATA_FILE, + life: { + createdTime: 1599345644000, + createdUser: adminId, + deletedTime: null, + deletedUser: null + }, + metadata: {} } ]; await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { @@ -944,7 +1029,6 @@ if (global.hasMinio) { await db.collections.field_dictionary_collection.insertMany(mockFields); await db.collections.files_collection.insertMany(mockFiles); } - /* 2. create projects for the study */ { const projectName = uuid(); @@ -973,8 +1057,7 @@ if (global.hasMinio) { query: print(ADD_NEW_ROLE), variables: { roleName, - studyId: createdStudy.id, - projectId: null + studyId: createdStudy.id } }); expect(res.status).toBe(200); @@ -984,8 +1067,8 @@ if (global.hasMinio) { expect(createdRole_study).toEqual({ _id: createdRole_study._id, id: createdRole_study.id, - projectId: null, studyId: createdStudy.id, + projectId: null, name: roleName, permissions: { data: { @@ -1042,8 +1125,7 @@ if (global.hasMinio) { query: print(ADD_NEW_ROLE), variables: { roleName, - studyId: createdStudy.id, - projectId: null + studyId: createdStudy.id } }); expect(res.status).toBe(200); @@ -1053,78 +1135,8 @@ if (global.hasMinio) { expect(createdRole_study_manageProject).toEqual({ _id: createdRole_study_manageProject._id, id: createdRole_study_manageProject.id, - projectId: null, - studyId: createdStudy.id, - name: roleName, - permissions: { - data: { - fieldIds: [], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [], - subjectIds: [], - visitIds: [] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - }, - description: '', - createdBy: adminId, - users: [], - deleted: null, - metadata: {} - }); - expect(res.body.data.addRole).toEqual({ - id: createdRole_study_manageProject.id, - name: roleName, - permissions: { - data: { - fieldIds: [], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [], - subjectIds: [], - visitIds: [] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - }, studyId: createdStudy.id, projectId: null, - users: [] - }); - } - - /* create another role for access data with self organisation only */ - { - const roleName = uuid(); - const res = await admin.post('/graphql').send({ - query: print(ADD_NEW_ROLE), - variables: { - roleName, - studyId: createdStudy.id, - projectId: null - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - - createdRole_study_self_access = await mongoClient.collection(config.database.collections.roles_collection).findOne({ name: roleName }); - expect(createdRole_study_self_access).toEqual({ - _id: createdRole_study_self_access._id, - id: createdRole_study_self_access.id, - projectId: null, - studyId: createdStudy.id, name: roleName, permissions: { data: { @@ -1150,7 +1162,7 @@ if (global.hasMinio) { metadata: {} }); expect(res.body.data.addRole).toEqual({ - id: createdRole_study_self_access.id, + id: createdRole_study_manageProject.id, name: roleName, permissions: { data: { @@ -1249,7 +1261,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1260,10 +1272,15 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedProjectUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorised = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); @@ -1343,7 +1360,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorised.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorised.username}_firstname`, lastname: `${createdUserAuthorised.username}_lastname`, organisation: 'organisation_system', @@ -1357,6 +1374,17 @@ if (global.hasMinio) { studies: [] } }); + const tag = `metadata.${'role:'.concat(createdRole_project.id)}`; + await db.collections.field_dictionary_collection.updateMany({}, { + $set: { + [tag]: true + } + }); + await db.collections.data_collection.updateMany({}, { + $set: { + [tag]: true + } + }); } /* 5. create an authorised study user (no role yet) */ @@ -1364,7 +1392,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1375,15 +1403,19 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorisedStudy = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); } - /* 6. add authorised user to role */ { const res = await admin.post('/graphql').send({ @@ -1458,7 +1490,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedStudy.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedStudy.username}_firstname`, lastname: `${createdUserAuthorisedStudy.username}_lastname`, organisation: 'organisation_system', @@ -1475,14 +1507,24 @@ if (global.hasMinio) { }] } }); + const tag = `metadata.${'role:'.concat(createdRole_study.id)}`; + await db.collections.field_dictionary_collection.updateMany({}, { + $set: { + [tag]: true + } + }); + await db.collections.data_collection.updateMany({}, { + $set: { + [tag]: true + } + }); } - /* 5. create an authorised study user that can manage projects (no role yet) */ { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1493,42 +1535,21 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUserManageProject_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorisedStudyManageProjects = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); } - /* 5. create an authorised study user that can access data from self organisation only */ - { - const username = uuid(); - const newUser: IUser = { - username: username, - type: userTypes.STANDARD, - firstname: `${username}_firstname`, - lastname: `${username}_lastname`, - password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: `${username}'@user.io'`, - resetPasswordRequests: [], - description: 'I am an authorised study user to access self org data.', - emailNotificationsActivated: true, - emailNotificationsStatus: { expiringNotification: false }, - organisation: 'organisation_user', - deleted: null, - id: `AuthorisedStudyUserAccessSelfData_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 - }; - - await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); - createdUserAuthorisedToOneOrg = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); - } - /* 6. add authorised user to role */ { const res = await admin.post('/graphql').send({ @@ -1603,7 +1624,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedStudyManageProjects.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedStudyManageProjects.username}_firstname`, lastname: `${createdUserAuthorisedStudyManageProjects.username}_lastname`, organisation: 'organisation_system', @@ -1621,104 +1642,12 @@ if (global.hasMinio) { } }); } - /* 7. add authorised user to role */ - { - const res = await admin.post('/graphql').send({ - query: print(EDIT_ROLE), - variables: { - roleId: createdRole_study_self_access.id, - userChanges: { - add: [createdUserAuthorisedToOneOrg.id], - remove: [] - }, - permissionChanges: { - data: { - fieldIds: ['^.*$'], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [atomicOperation.READ], - subjectIds: ['^K.*$'], - visitIds: ['^.*$'] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ, atomicOperation.WRITE], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - } - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.editRole).toEqual({ - id: createdRole_study_self_access.id, - name: createdRole_study_self_access.name, - studyId: createdStudy.id, - projectId: null, - description: '', - permissions: { - data: { - fieldIds: ['^.*$'], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [atomicOperation.READ], - subjectIds: ['^K.*$'], - visitIds: ['^.*$'] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ, atomicOperation.WRITE], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - }, - users: [{ - id: createdUserAuthorisedToOneOrg.id, - organisation: 'organisation_user', - firstname: createdUserAuthorisedToOneOrg.firstname, - lastname: createdUserAuthorisedToOneOrg.lastname - }] - }); - const resUser = await admin.post('/graphql').send({ - query: print(GET_USERS), - variables: { - fetchDetailsAdminOnly: false, - userId: createdUserAuthorisedToOneOrg.id, - fetchAccessPrivileges: true - } - }); - expect(resUser.status).toBe(200); - expect(resUser.body.errors).toBeUndefined(); - expect(resUser.body.data.getUsers).toHaveLength(1); - expect(resUser.body.data.getUsers[0]).toEqual({ - id: createdUserAuthorisedToOneOrg.id, - type: userTypes.STANDARD, - firstname: `${createdUserAuthorisedToOneOrg.username}_firstname`, - lastname: `${createdUserAuthorisedToOneOrg.username}_lastname`, - organisation: 'organisation_user', - access: { - id: `user_access_obj_user_id_${createdUserAuthorisedToOneOrg.id}`, - projects: [{ - id: createdProject.id, - name: createdProject.name, - studyId: createdStudy.id - }], - studies: [{ - id: createdStudy.id, - name: createdStudy.name - }] - } - }); - } /* fsdafs: admin who am i */ { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toStrictEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -1734,15 +1663,14 @@ if (global.hasMinio) { }], studies: [{ id: createdStudy.id, - name: createdStudy.name, - type: studyType.SENSOR + name: createdStudy.name }] }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); } /* connecting users */ @@ -1752,8 +1680,6 @@ if (global.hasMinio) { await connectAgent(authorisedUserStudy, createdUserAuthorisedStudy.username, 'admin', createdUserAuthorisedStudy.otpSecret); authorisedUserStudyManageProject = request.agent(app); await connectAgent(authorisedUserStudyManageProject, createdUserAuthorisedStudyManageProjects.username, 'admin', createdUserAuthorisedStudyManageProjects.otpSecret); - authorisedUserToOneOrg = request.agent(app); - await connectAgent(authorisedUserToOneOrg, createdUserAuthorisedToOneOrg.username, 'admin', createdUserAuthorisedToOneOrg.otpSecret); }); afterAll(async () => { @@ -1771,7 +1697,7 @@ if (global.hasMinio) { /* delete values in db */ await db.collections.field_dictionary_collection.deleteMany({ studyId: createdStudy.id }); - await db.collections.data_collection.deleteMany({ m_studyId: createdStudy.id }); + await db.collections.data_collection.deleteMany({ studyId: createdStudy.id }); await db.collections.files_collection.deleteMany({ studyId: createdStudy.id }); /* study user cannot delete study */ @@ -1805,7 +1731,7 @@ if (global.hasMinio) { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -1821,13 +1747,13 @@ if (global.hasMinio) { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); // study data is NOT deleted for audit purposes - unless explicitly requested separately const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study = await db.collections.studies_collection.findOne({ 'id': createdStudy.id, 'life.deletedTime': null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); @@ -1882,7 +1808,7 @@ if (global.hasMinio) { createdBy: adminId, jobs: [], description: 'test description', - type: studyType.SENSOR, + type: null, projects: [ { id: createdProject.id, @@ -1912,8 +1838,8 @@ if (global.hasMinio) { [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] } }, - projectId: null, studyId: createdStudy.id, + projectId: null, users: [{ id: createdUserAuthorisedStudy.id, organisation: 'organisation_system', @@ -1943,8 +1869,8 @@ if (global.hasMinio) { [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] } }, - projectId: null, studyId: createdStudy.id, + projectId: null, users: [{ id: createdUserAuthorisedStudyManageProjects.id, organisation: 'organisation_system', @@ -1952,37 +1878,6 @@ if (global.hasMinio) { lastname: createdUserAuthorisedStudyManageProjects.lastname, username: createdUserAuthorisedStudyManageProjects.username }] - }, - { - id: createdRole_study_self_access.id, - name: createdRole_study_self_access.name, - description: '', - permissions: { - data: { - fieldIds: ['^.*$'], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [atomicOperation.READ], - subjectIds: ['^K.*$'], - visitIds: ['^.*$'] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ, atomicOperation.WRITE], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - }, - projectId: null, - studyId: createdStudy.id, - users: [{ - id: createdUserAuthorisedToOneOrg.id, - organisation: 'organisation_user', - firstname: createdUserAuthorisedToOneOrg.firstname, - lastname: createdUserAuthorisedToOneOrg.lastname, - username: createdUserAuthorisedToOneOrg.username - }] } ], files: [], @@ -2069,92 +1964,6 @@ if (global.hasMinio) { } }); - test('Get study (user that can only access self org data)', async () => { - const res = await authorisedUserToOneOrg.post('/graphql').send({ - query: print(GET_STUDY), - variables: { studyId: createdStudy.id } - }); - expect(res.status).toBe(200); - // expect(res.body.errors).toBeUndefined(); - // expect(res.body.data.getStudy.files[0]).toEqual({ - // id: 'mockfile1_id', - // fileName: 'I7N3G6G-MMM7N3G6G-20200704-20210429.txt', - // studyId: createdStudy.id, - // projectId: null, - // fileSize: '1000', - // description: 'Just a test file1', - // uploadTime: '1599345644000', - // uploadedBy: adminId, - // hash: 'b0dc2ae76cdea04dcf4be7fcfbe36e2ce8d864fe70a1895c993ce695274ba7a0' - // } - // ); - }); - - test('Get patient mapping (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(GET_PROJECT_PATIENT_MAPPING), - variables: { projectId: createdProject.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.getProject).toEqual({ - id: createdProject.id, - patientMapping: { - mock_patient1: createdProject.patientMapping.mock_patient1, - mock_patient2: createdProject.patientMapping.mock_patient2 - } - }); - const { patientMapping } = res.body.data.getProject; - expect(typeof patientMapping.mock_patient1).toBe('string'); - expect(patientMapping.mock_patient1).not.toBe('mock_patient1'); // should not be the same as before mapped - expect(typeof patientMapping.mock_patient2).toBe('string'); - expect(patientMapping.mock_patient2).not.toBe('mock_patient2'); // should not be the same as before mapped - }); - - test('Get patient mapping (user without privilege) (should fail)', async () => { - const res = await user.post('/graphql').send({ - query: print(GET_PROJECT_PATIENT_MAPPING), - variables: { projectId: createdProject.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - expect(res.body.data.getProject).toBe(null); - }); - - test('Get patient mapping (user with project data privilege) (should fail)', async () => { - // patient mapping is obscured from users that can only access project data. They should only see the mapped id - const res = await authorisedUser.post('/graphql').send({ - query: print(GET_PROJECT_PATIENT_MAPPING), - variables: { projectId: createdProject.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - expect(res.body.data.getProject).toBe(null); - }); - - test('Get patient mapping (user with study data privilege)', async () => { - const res = await authorisedUserStudy.post('/graphql').send({ - query: print(GET_PROJECT_PATIENT_MAPPING), - variables: { projectId: createdProject.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.getProject).toEqual({ - id: createdProject.id, - patientMapping: { - mock_patient1: createdProject.patientMapping.mock_patient1, - mock_patient2: createdProject.patientMapping.mock_patient2 - } - }); - const { patientMapping } = res.body.data.getProject; - expect(typeof patientMapping.mock_patient1).toBe('string'); - expect(patientMapping.mock_patient1).not.toBe('mock_patient1'); // should not be the same as before mapped - expect(typeof patientMapping.mock_patient2).toBe('string'); - expect(patientMapping.mock_patient2).not.toBe('mock_patient2'); // should not be the same as before mapped - }); - test('Get study (user without privilege)', async () => { const res = await user.post('/graphql').send({ query: print(GET_STUDY), @@ -2229,19 +2038,13 @@ if (global.hasMinio) { fieldId: '32', fieldName: 'Race', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments2', dateAdded: '20000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: { - [`role:${createdRole_study.id}`]: true, - [`role:${createdRole_project.id}`]: true, - [`role:${createdRole_study_manageProject.id}`]: false, - [`role:${createdRole_study_self_access.id}`]: true - } + dataVersion: 'mockDataVersionId' }, { id: 'mockfield1', @@ -2249,19 +2052,13 @@ if (global.hasMinio) { fieldId: '31', fieldName: 'Sex', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments1', dateAdded: '10000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: { - [`role:${createdRole_study.id}`]: true, - [`role:${createdRole_project.id}`]: true, - [`role:${createdRole_study_manageProject.id}`]: false, - [`role:${createdRole_study_self_access.id}`]: true - } + dataVersion: 'mockDataVersionId' } ].sort((a, b) => a.id.localeCompare(b.id))); }); @@ -2283,14 +2080,13 @@ if (global.hasMinio) { fieldId: '31', fieldName: 'Sex', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments1', dateAdded: '10000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: null + dataVersion: 'mockDataVersionId' }, { id: 'mockfield2', @@ -2298,14 +2094,13 @@ if (global.hasMinio) { fieldId: '32', fieldName: 'Race', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments2', dateAdded: '20000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: null + dataVersion: 'mockDataVersionId' } ].sort((a, b) => a.id.localeCompare(b.id))); }); @@ -2331,14 +2126,18 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '32', fieldName: 'Race', - tableName: null, - dataType: enumValueType.STRING, - possibleValues: [], + dataType: enumDataTypes.STRING, + categoricalOptions: [], unit: 'person', comments: 'mockComments1', - dateAdded: '30000', - dateDeleted: '30000', - dataVersion: null + dataVersion: null, + life: { + createdTime: 30000, + createdUserId: 'admin', + deletedTime: 30000, + deletedUserId: 'admin' + }, + metadata: {} }); await db.collections.field_dictionary_collection.insertOne({ @@ -2346,14 +2145,18 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '33', fieldName: 'Weight', - tableName: null, - dataType: enumValueType.DECIMAL, - possibleValues: [], + dataType: enumDataTypes.DECIMAL, + categoricalOptions: [], unit: 'kg', comments: 'mockComments3', - dateAdded: '30000', - dateDeleted: null, - dataVersion: null + dataVersion: null, + life: { + createdTime: 30000, + createdUserId: 'admin', + deletedTime: null, + deletedUserId: null + }, + metadata: {} }); // user with study privilege can access all latest field, including unversioned @@ -2385,14 +2188,13 @@ if (global.hasMinio) { fieldId: '32', fieldName: 'Race', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments2', dateAdded: '20000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: null + dataVersion: 'mockDataVersionId' }, { id: 'mockfield1', @@ -2400,14 +2202,13 @@ if (global.hasMinio) { fieldId: '31', fieldName: 'Sex', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments1', dateAdded: '10000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: null + dataVersion: 'mockDataVersionId' } ].sort((a, b) => a.id.localeCompare(b.id))); // clear database @@ -2532,14 +2333,19 @@ if (global.hasMinio) { firstname: 'FDataCurator', lastname: 'LDataCurator', organisation: 'organisation_system', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, description: 'just a data curator', resetPasswordRequests: [], emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, - deleted: null, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await db.collections.users_collection.insertOne(userDataCurator); @@ -2747,7 +2553,7 @@ if (global.hasMinio) { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.deleteField.fieldId).toBe('8'); - const fieldsInDb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, dateDeleted: { $ne: null } }).toArray(); + const fieldsInDb = await db.collections.field_dictionary_collection.find({ 'studyId': createdStudy.id, 'life.deletedTime': { $ne: null } }).toArray(); expect(fieldsInDb).toHaveLength(1); expect(fieldsInDb[0].fieldId).toBe('8'); // clear database @@ -2820,7 +2626,7 @@ if (global.hasMinio) { let authorisedUser: request.SuperTest; let authorisedProjectUser: request.SuperTest; let unauthorisedUser: request.SuperTest; - let mockFields: any[]; + let mockFields: IField[]; let mockDataVersion: IStudyDataVersion; const fieldTreeId = uuid(); const oneRecord = [{ @@ -2895,8 +2701,7 @@ if (global.hasMinio) { query: print(ADD_NEW_ROLE), variables: { roleName, - studyId: createdStudy.id, - projectId: null + studyId: createdStudy.id } }); expect(res.status).toBe(200); @@ -2906,8 +2711,8 @@ if (global.hasMinio) { expect(createdRole_study_accessData).toEqual({ _id: createdRole_study_accessData._id, id: createdRole_study_accessData.id, - projectId: null, studyId: createdStudy.id, + projectId: null, name: roleName, permissions: { data: { @@ -2963,7 +2768,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -2974,10 +2779,15 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUserManageProject_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -2989,7 +2799,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -3003,10 +2813,14 @@ if (global.hasMinio) { metadata: { wp: 'wp5.1' }, - deleted: null, id: `AuthorisedStudyUserManageProject_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -3087,7 +2901,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedProfile.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedProfile.username}_firstname`, lastname: `${createdUserAuthorisedProfile.username}_lastname`, organisation: 'organisation_system', @@ -3115,13 +2929,17 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '31', fieldName: 'Age', - dataType: enumValueType.INTEGER, - possibleValues: [], + dataType: enumDataTypes.INTEGER, + categoricalOptions: [], unit: 'person', comments: 'mockComments1', - dateAdded: 100000000, - dateDeleted: null, dataVersion: 'mockDataVersionId', + life: { + createdTime: 100000000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, metadata: {} }, { @@ -3129,13 +2947,17 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '32', fieldName: 'Sex', - dataType: enumValueType.STRING, - possibleValues: [], + dataType: enumDataTypes.STRING, + categoricalOptions: [], unit: 'person', comments: 'mockComments2', - dateAdded: 100000000, - dateDeleted: null, dataVersion: 'mockDataVersionId', + life: { + createdTime: 100000001, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, metadata: {} }, { @@ -3143,13 +2965,17 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '33', fieldName: 'DeviceTest', - dataType: enumValueType.FILE, - possibleValues: [], + dataType: enumDataTypes.FILE, + categoricalOptions: [], unit: 'person', comments: 'mockComments3', - dateAdded: 100000000, - dateDeleted: null, dataVersion: 'mockDataVersionId', + life: { + createdTime: 100000002, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, metadata: {} } ]; @@ -3217,7 +3043,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -3231,10 +3057,14 @@ if (global.hasMinio) { metadata: { wp: 'wp5.2' }, - deleted: null, id: `AuthorisedProjectUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorisedProject = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); @@ -3383,7 +3213,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedProject.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedProject.username}_firstname`, lastname: `${createdUserAuthorisedProject.username}_lastname`, organisation: 'organisation_system', @@ -3453,7 +3283,7 @@ if (global.hasMinio) { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -3469,13 +3299,13 @@ if (global.hasMinio) { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); // study data is NOT deleted for audit purposes - unless explicitly requested separately const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study = await db.collections.studies_collection.findOne({ 'id': createdStudy.id, 'life.deletedTime': null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); @@ -3620,41 +3450,10 @@ if (global.hasMinio) { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); // check both data collection and file collection - const fileFirst = await db.collections.files_collection.findOne({ studyId: createdStudy.id, deleted: null }); - const dataFirst = await db.collections.data_collection.findOne({ m_studyId: createdStudy.id, m_visitId: '1', m_fieldId: '33' }); - expect(dataFirst?.metadata?.add[0]).toBe(fileFirst.id); - - // upload again and check whether the old file has been deleted - const resSecond = await authorisedUser.post('/graphql') - .field('operations', JSON.stringify({ - query: print(UPLOAD_DATA_IN_ARRAY), - variables: { - studyId: createdStudy.id, - data: [ - { - fieldId: '33', - subjectId: 'I7N3G6G', - visitId: '1', - file: null, - metadata: { - deviceId: 'MMM7N3G6G', - startDate: '1590966000000', - endDate: '1593730800000', - participantId: 'I7N3G6G', - postFix: 'test' - } - } - ] - } - })) - .field('map', JSON.stringify({ 1: ['variables.data.0.file'] })) - .attach('1', path.join(__dirname, '../filesForTests/I7N3G6G-MMM7N3G6G-20200704-20200721.txt')); - expect(resSecond.status).toBe(200); - expect(resSecond.body.errors).toBeUndefined(); - const fileSecond = await db.collections.files_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const dataSecond = await db.collections.data_collection.findOne({ m_studyId: createdStudy.id, m_visitId: '1', m_fieldId: '33' }); - expect(fileSecond).toHaveLength(2); - expect(dataSecond?.metadata?.add).toEqual([fileSecond[0].id, fileSecond[1].id]); + const fileFirst = await db.collections.files_collection.findOne({ 'studyId': createdStudy.id, 'life.deletedTime': null }); + const dataFirst = await db.collections.data_collection.findOne({ 'studyId': createdStudy.id, 'properties.m_visitId': '1', 'fieldId': '33' }); + expect(dataFirst?.value).toBe(fileFirst.id); + expect(dataFirst?.life.deletedTime).toBe(null); }); test('Create New data version with data only (user with study privilege)', async () => { @@ -3676,7 +3475,7 @@ if (global.hasMinio) { expect(studyInDb.dataVersions).toHaveLength(2); expect(studyInDb.dataVersions[1].version).toBe('1'); expect(studyInDb.dataVersions[1].tag).toBe('testTag'); - const dataInDb = await db.collections.data_collection.find({ m_studyId: createdStudy.id, m_versionId: createRes.body.data.createNewDataVersion.id }).toArray(); + const dataInDb = await db.collections.data_collection.find({ studyId: createdStudy.id, dataVersion: createRes.body.data.createNewDataVersion.id }).toArray(); expect(dataInDb).toHaveLength(6); }); @@ -3687,7 +3486,7 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldInput: { fieldId: '34', fieldName: 'Height', - dataType: enumValueType.DECIMAL, + dataType: 'dec', unit: 'cm' } } @@ -3717,7 +3516,7 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldInput: { fieldId: '34', fieldName: 'Height', - dataType: enumValueType.DECIMAL, + dataType: 'dec', unit: 'cm' } } @@ -3746,7 +3545,7 @@ if (global.hasMinio) { expect(studyInDb.dataVersions).toHaveLength(2); expect(studyInDb.dataVersions[1].version).toBe('1'); expect(studyInDb.dataVersions[1].tag).toBe('testTag'); - const dataInDb = await db.collections.data_collection.find({ m_studyId: createdStudy.id, m_versionId: createRes.body.data.createNewDataVersion.id }).toArray(); + const dataInDb = await db.collections.data_collection.find({ studyId: createdStudy.id, dataVersion: createRes.body.data.createNewDataVersion.id }).toArray(); expect(dataInDb).toHaveLength(7); const fieldsInDb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, dataVersion: { $in: [createRes.body.data.createNewDataVersion.id, 'mockDataVersionId'] } }).toArray(); expect(fieldsInDb).toHaveLength(4); @@ -3851,7 +3650,6 @@ if (global.hasMinio) { { code: null, description: 'GR6R4AR-2-31', id: null, successful: true }, { code: null, description: 'GR6R4AR-2-32', id: null, successful: true } ]); - const deleteRes = await admin.post('/graphql').send({ query: print(DELETE_DATA_RECORDS), variables: { studyId: createdStudy.id } @@ -3875,8 +3673,8 @@ if (global.hasMinio) { { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-32 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-33 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-34 is deleted.' }]); - const dataInDb = await db.collections.data_collection.find({ 31: null }).sort({ uploadedAt: -1 }).toArray(); - expect(dataInDb).toHaveLength(16); // 2 visits * 2 subjects * 2 fields * 2 (delete or not) = 16 records + const dataInDb = await db.collections.data_collection.find({}).sort({ 'life.createdTime': -1 }).toArray(); + expect(dataInDb).toHaveLength(22); // 2 visits * 2 subjects * 2 fields * 2 (delete or not) + 6 (original records) = 22 records }); test('Delete data records: records not exist', async () => { @@ -3894,7 +3692,6 @@ if (global.hasMinio) { { code: null, description: 'GR6R4AR-2-31', id: null, successful: true }, { code: null, description: 'GR6R4AR-2-32', id: null, successful: true } ]); - const deleteRes = await admin.post('/graphql').send({ query: print(DELETE_DATA_RECORDS), variables: { studyId: createdStudy.id, subjectIds: ['I7N3G6G'], visitIds: ['1', '2'] } @@ -3910,8 +3707,8 @@ if (global.hasMinio) { { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-32 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-33 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-34 is deleted.' }]); - const dataInDb = await db.collections.data_collection.find({ m_subjectId: 'I7N3G6G' }).sort({ uploadedAt: -1 }).toArray(); - expect(dataInDb).toHaveLength(8); // two data records, two deleted records + const dataInDb = await db.collections.data_collection.find({}).sort({ 'life.createdTime': -1 }).toArray(); + expect(dataInDb).toHaveLength(14); // 8 deleted records and 6 original records }); test('Get data records (user with study privilege)', async () => { @@ -4357,52 +4154,6 @@ if (global.hasMinio) { } }); }); - - test('Check data complete (admin)', async () => { - await admin.post('/graphql').send({ - query: print(UPLOAD_DATA_IN_ARRAY), - variables: { studyId: createdStudy.id, data: multipleRecords } - }); - // edit a field so that the datatype mismatched with the exisiting value - // this happens when a field is deleted first and then modified and added, while some data has been uploaded before deleting, causing conflicts - await db.collections.field_dictionary_collection.findOneAndUpdate({ - studyId: createdStudy.id, - fieldId: '32' - }, { - $set: { - dataType: enumValueType.DECIMAL - } - }); - - const checkRes = await admin.post('/graphql').send({ - query: print(CHECK_DATA_COMPLETE), - variables: { studyId: createdStudy.id } - }); - expect(checkRes.status).toBe(200); - expect(checkRes.body.errors).toBeUndefined(); - expect(checkRes.body.data.checkDataComplete.sort((a, b) => { - return a.subjectId === b.subjectId ? a.visitId.localeCompare(b.visitId) : a.subjectId.localeCompare(b.subjectId); - })).toEqual([ - { - subjectId: 'GR6R4AR', - visitId: '2', - fieldId: '32', - error: 'Field 32: Cannot parse as decimal.' - }, - { - subjectId: 'I7N3G6G', - visitId: '1', - fieldId: '32', - error: 'Field 32: Cannot parse as decimal.' - }, - { - subjectId: 'I7N3G6G', - visitId: '2', - fieldId: '32', - error: 'Field 32: Cannot parse as decimal.' - } - ]); - }); }); }); } else diff --git a/packages/itmat-interface/test/serverTests/users.test.ts b/packages/itmat-interface/test/GraphQLTests/users.test.ts similarity index 93% rename from packages/itmat-interface/test/serverTests/users.test.ts rename to packages/itmat-interface/test/GraphQLTests/users.test.ts index 99ff2bc3b..da5f1a1f8 100644 --- a/packages/itmat-interface/test/serverTests/users.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/users.test.ts @@ -23,7 +23,7 @@ import { RESET_PASSWORD, LOGIN } from '@itmat-broker/itmat-models'; -import { IResetPasswordRequest, IUser, userTypes } from '@itmat-broker/itmat-types'; +import { IResetPasswordRequest, IUser, enumUserTypes } from '@itmat-broker/itmat-types'; import type { Express } from 'express'; let app: Express; @@ -473,7 +473,7 @@ describe('USERS API', () => { expect(whoami.body.data.whoAmI.id).toBeDefined(); expect(whoami.body.data.whoAmI).toEqual({ username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -489,7 +489,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); /* cleanup */ @@ -541,7 +541,7 @@ describe('USERS API', () => { expect(whoami.body.data.whoAmI.id).toBeDefined(); expect(whoami.body.data.whoAmI).toEqual({ username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -557,7 +557,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); /* test */ @@ -609,8 +609,8 @@ describe('USERS API', () => { const client_not_logged_in = request.agent(app); const res = await client_not_logged_in.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.whoAmI).toBe(null); + expect(res.body.errors).toHaveLength(1); + expect(res.body.errors[0].message).toBe(errorCodes.NOT_LOGGED_IN); }); test('Who am I (admin)', async () => { @@ -620,7 +620,7 @@ describe('USERS API', () => { adminId = res.body.data.whoAmI.id; expect(res.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -636,7 +636,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); }); @@ -648,7 +648,7 @@ describe('USERS API', () => { userId = res.body.data.whoAmI.id; expect(res.body.data.whoAmI).toEqual({ username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -664,7 +664,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); }); @@ -672,7 +672,7 @@ describe('USERS API', () => { const userSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; const newUser: IUser = { username: 'expired_user', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Fexpired user', lastname: 'Lexpired user', password: '$2b$04$ps9ownz6PqJFD/LExsmgR.ZLk11zhtRdcpUwypWVfWJ4ZW6/Zzok2', @@ -717,7 +717,7 @@ describe('USERS API', () => { const adminSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; const newUser: IUser = { username: 'expired_admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fexpired admin', lastname: 'Lexpired admin', password: '$2b$04$ps9ownz6PqJFD/LExsmgR.ZLk11zhtRdcpUwypWVfWJ4ZW6/Zzok2', @@ -728,10 +728,15 @@ describe('USERS API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: 'expiredId1', - createdAt: 1591134065000, - expiredAt: 1501134065000 + expiredAt: 1591134065000, + life: { + createdTime: 1501134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const newloggedoutuser = request.agent(app); @@ -761,9 +766,9 @@ describe('USERS API', () => { }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, - createdAt: 1591134065000, - expiredAt: 1501134065000, - metadata: null + expiredAt: 1591134065000, + createdAt: 1501134065000, + metadata: {} }); expect(res.body.errors).toBeUndefined(); await admin.post('/graphql').send( @@ -794,7 +799,7 @@ describe('USERS API', () => { expect(res.body.data.getUsers).toEqual([ { username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -805,11 +810,11 @@ describe('USERS API', () => { id: adminId, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }, { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -820,7 +825,7 @@ describe('USERS API', () => { id: userId, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -831,7 +836,7 @@ describe('USERS API', () => { expect(res.body.data.getUsers).toEqual([ { username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -847,11 +852,11 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }, { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -867,7 +872,7 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -881,7 +886,7 @@ describe('USERS API', () => { null, { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -892,7 +897,7 @@ describe('USERS API', () => { id: userId, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -909,7 +914,7 @@ describe('USERS API', () => { null, { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -925,7 +930,7 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -936,14 +941,14 @@ describe('USERS API', () => { expect(res.body.error).toBeUndefined(); expect(res.body.data.getUsers).toEqual([ { - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', id: adminId }, { - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -958,14 +963,14 @@ describe('USERS API', () => { expect(res.body.error).toBeUndefined(); expect(res.body.data.getUsers).toEqual([ { - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', id: adminId }, { - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -981,7 +986,7 @@ describe('USERS API', () => { expect(res.body.data.getUsers).toEqual([ { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -997,7 +1002,7 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -1021,7 +1026,7 @@ describe('USERS API', () => { expect(res.body.errors).toBeUndefined(); expect(res.body.data.getUsers).toEqual([ { - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -1037,7 +1042,7 @@ describe('USERS API', () => { expect(res.body.data.getUsers).toEqual([ { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -1053,7 +1058,7 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -1064,7 +1069,7 @@ describe('USERS API', () => { expect(res.body.errors).toBeUndefined(); expect(res.body.data.getUsers).toEqual([ { - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, organisation: 'organisation_system', firstname: 'Tai Man', lastname: 'Chan', @@ -1093,7 +1098,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'user0email@email.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); @@ -1127,7 +1132,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'fake@email.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); @@ -1152,7 +1157,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'fak@e@semail.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); expect(res.status).toBe(200); @@ -1173,7 +1178,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'fake@email.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); expect(res.status).toBe(200); @@ -1186,7 +1191,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Siu Man', lastname: 'LChan Siu Man', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1216,7 +1221,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'fake@email.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); expect(res.status).toBe(200); @@ -1229,7 +1234,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_333333', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Ming Ming', lastname: 'LChan Ming Ming', password: 'fakepassword', @@ -1272,7 +1277,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_3', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Ming Man', lastname: 'LChan Ming Man', password: 'fakepassword', @@ -1297,7 +1302,7 @@ describe('USERS API', () => { variables: { id: 'fakeid2222', username: 'fakeusername', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'FMan', lastname: 'LMan', email: 'hey@uk.io', @@ -1314,7 +1319,7 @@ describe('USERS API', () => { expect(res.body.data.editUser).toEqual( { username: 'fakeusername', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'FMan', lastname: 'LMan', organisation: 'DSI-ICL', @@ -1330,7 +1335,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ); }); @@ -1339,7 +1344,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_4444', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man San', lastname: 'LMing Man San', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1350,10 +1355,15 @@ describe('USERS API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: 'fakeid44444', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const createdUser = request.agent(app); @@ -1380,7 +1390,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_4', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man', lastname: 'LMing Man', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1394,7 +1404,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid4', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const createdUser = request.agent(app); @@ -1415,7 +1431,7 @@ describe('USERS API', () => { expect(res.body.errors).toBeUndefined(); expect(res.body.data.editUser).toEqual({ username: 'new_user_4', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man', lastname: 'LMing Man', organisation: 'organisation_system', @@ -1431,7 +1447,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); const modifieduser = await mongoClient.collection(config.database.collections.users_collection).findOne({ username: 'new_user_4' }); expect(modifieduser.password).not.toBe(newUser.password); @@ -1442,7 +1458,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_5', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man Chon', lastname: 'LMing Man Chon', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1456,7 +1472,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid5', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const createdUser = request.agent(app); @@ -1486,7 +1508,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_6', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man', lastname: 'LMing Man', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1500,7 +1522,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid6', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const createdUser = request.agent(app); @@ -1526,7 +1554,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_7', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man Tai', lastname: 'LMing Man Tai', password: 'fakepassword', @@ -1540,7 +1568,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid7', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1564,7 +1598,7 @@ describe('USERS API', () => { /* setup: create a new user to be deleted */ const newUser: IUser = { username: 'new_user_8', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Mei', lastname: 'LChan Mei', password: 'fakepassword', @@ -1578,7 +1612,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid8', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1591,7 +1631,7 @@ describe('USERS API', () => { expect(getUserRes.body.data.getUsers).toEqual([{ firstname: 'FChan Mei', lastname: 'LChan Mei', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, organisation: 'organisation_system', id: newUser.id }]); @@ -1624,7 +1664,7 @@ describe('USERS API', () => { /* setup: create a "deleted" new user to be deleted */ const newUser: IUser = { username: 'new_user_9', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Mei Fong', lastname: 'LChan Mei Fong', password: 'fakepassword', @@ -1638,7 +1678,13 @@ describe('USERS API', () => { deleted: (new Date()).valueOf(), id: 'fakeid9', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1680,7 +1726,7 @@ describe('USERS API', () => { /* setup: create a new user to be deleted */ const newUser: IUser = { username: 'new_user_10', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Mei Yi', lastname: 'LChan Mei Yi', password: 'fakepassword', @@ -1694,7 +1740,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid10', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1707,7 +1759,7 @@ describe('USERS API', () => { expect(getUserRes.body.data.getUsers).toEqual([{ firstname: 'FChan Mei Yi', lastname: 'LChan Mei Yi', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, organisation: 'organisation_system', id: newUser.id }]); @@ -1734,7 +1786,7 @@ describe('USERS API', () => { expect(getUserResAfter.body.data.getUsers).toEqual([{ firstname: 'FChan Mei Yi', lastname: 'LChan Mei Yi', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, organisation: 'organisation_system', id: newUser.id }]); diff --git a/packages/itmat-interface/test/trpcTests/_loginHelper.ts b/packages/itmat-interface/test/trpcTests/_loginHelper.ts new file mode 100644 index 000000000..42ce22cbf --- /dev/null +++ b/packages/itmat-interface/test/trpcTests/_loginHelper.ts @@ -0,0 +1,42 @@ +import { generateTOTP } from '@itmat-broker/itmat-cores'; +import { SuperTest, Test } from 'supertest'; + +export async function connectAdmin(agent: SuperTest) { + const adminSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; + return connectAgent(agent, 'admin', 'admin', adminSecret); +} + +export async function connectUser(agent: SuperTest) { + const userSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; + return connectAgent(agent, 'standardUser', 'admin', userSecret); +} + +export async function connectAgent(agent: SuperTest, user: string, pw: string, secret: string): Promise { + const otp = generateTOTP(secret).toString(); + try { + const res = await agent.post('/trpc/user.login') + .set('Content-type', 'application/json') + .send({ + username: user, + password: pw, + totp: otp + }); + if (res.status !== 200) { + throw new Error('Login failed'); + } + } catch (err) { + throw new Error('Login request failed'); + } +} + +export async function disconnectAgent(agent: SuperTest): Promise { + try { + const res = await agent.post('/trpc/user.logout'); + if (res.status !== 200) { + throw new Error('Logout failed'); + } + } catch (err) { + throw new Error('Logout request failed'); + } +} + diff --git a/packages/itmat-interface/test/trpcTests/helper.ts b/packages/itmat-interface/test/trpcTests/helper.ts new file mode 100644 index 000000000..3e8af6297 --- /dev/null +++ b/packages/itmat-interface/test/trpcTests/helper.ts @@ -0,0 +1,3 @@ +export function encodeQueryParams(s: unknown): string { + return encodeURIComponent(JSON.stringify(s)); +} diff --git a/packages/itmat-interface/test/trpcTests/user.test.ts b/packages/itmat-interface/test/trpcTests/user.test.ts new file mode 100644 index 000000000..6fb6732e9 --- /dev/null +++ b/packages/itmat-interface/test/trpcTests/user.test.ts @@ -0,0 +1,476 @@ +/** + * @with Minio + */ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck +import { MongoMemoryServer } from 'mongodb-memory-server'; +import { db } from '../../src/database/database'; +import { Express } from 'express'; +import { objStore } from '../../src/objStore/objStore'; +import request from 'supertest'; +import { connectAdmin, connectUser } from './_loginHelper'; +import { Router } from '../../src/server/router'; +import { Db, MongoClient } from 'mongodb'; +import { setupDatabase } from '@itmat-broker/itmat-setup'; +import config from '../../config/config.sample.json'; +import { v4 as uuid } from 'uuid'; +import { IOrganisation, enumUserTypes } from '@itmat-broker/itmat-types'; +import { encodeQueryParams } from './helper'; +import { errorCodes } from '@itmat-broker/itmat-cores'; + +if (global.hasMinio) { + let app: Express; + let mongodb: MongoMemoryServer; + let admin: request.SuperTest; + let user: request.SuperTest; + let mongoConnection: MongoClient; + // eslint-disable-next-line @typescript-eslint/no-unused-vars + let mongoClient: Db; + let adminProfile; + let userProfile; + let organisation: IOrganisation; + + afterAll(async () => { + await db.closeConnection(); + await mongoConnection?.close(); + await mongodb.stop(); + + /* claer all mocks */ + jest.clearAllMocks(); + }); + + beforeAll(async () => { // eslint-disable-line no-undef + /* Creating a in-memory MongoDB instance for testing */ + const dbName = uuid(); + mongodb = await MongoMemoryServer.create({ instance: { dbName } }); + const connectionString = mongodb.getUri(); + await setupDatabase(connectionString, dbName); + /* Wiring up the backend server */ + config.objectStore.port = global.minioContainerPort; + config.database.mongo_url = connectionString; + config.database.database = dbName; + await db.connect(config.database, MongoClient); + await objStore.connect(config.objectStore); + const router = new Router(config); + await router.init(); + /* Connect mongo client (for test setup later / retrieve info later) */ + mongoConnection = await MongoClient.connect(connectionString); + mongoClient = mongoConnection.db(dbName); + + /* Connecting clients for testing later */ + app = router.getApp(); + admin = request.agent(app); + user = request.agent(app); + await connectAdmin(admin); + await connectUser(user); + + // add the root node for each user + const users = await db.collections.users_collection.find({}).toArray(); + adminProfile = users.filter(el => el.type === enumUserTypes.ADMIN)[0]; + userProfile = users.filter(el => el.type === enumUserTypes.STANDARD)[0]; + + // add an organisation + organisation = { + id: uuid(), + name: 'My Org', + shortname: '', + location: [], + profile: null, + metadata: { + }, + life: { + createdTime: 0, + createdUser: 'SYSTEMAGENT', + deletedUser: null, + deletedTime: null + } + }; + await db.collections.organisations_collection.insertOne(organisation); + }); + + afterEach(async () => { + await db.collections.studies_collection.deleteMany({}); + await db.collections.files_collection.deleteMany({}); + await db.collections.roles_collection.deleteMany({}); + await db.collections.field_dictionary_collection.deleteMany({}); + await db.collections.data_collection.deleteMany({}); + await db.collections.jobs_collection.deleteMany({}); + delete userProfile._id; + await db.collections.users_collection.findOneAndUpdate({ id: userProfile.id }, { + $set: userProfile + }); + }); + + describe('tRPC User APIs', () => { + test('Create a user', async () => { + if (process.env.SKIP_EMAIL_TEST) { + return; + } + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(200); + expect(response.body.result.data.username).toBe('test'); + const user = await db.collections.users_collection.findOne({ username: 'test' }); + expect(user).toBeDefined(); + expect(userProfile.id).toBe(response.body.result.data.id); + }); + test('Create a user (invalid email format)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test', + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Email is not the right format.'); + }); + test('Create a user (invalid password format)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Password has to be at least 8 character long.'); + }); + test('Create a user (username have spaces)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'te st', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username or password cannot have spaces.'); + }); + test('Create a user (password have spaces)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_pa ssword', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username or password cannot have spaces.'); + }); + test('Create a user (username already registered)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: userProfile.username, + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username or email already exists.'); + }); + test('Create a user (email already registered)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: userProfile.email, + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username or email already exists.'); + }); + test('Create a user (organisation does not exist)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_password', + description: '', + organisation: 'random' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Organisation does not exist.'); + }); + test('Edit a user (admin)', async () => { + const response = await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description', + type: enumUserTypes.MANAGER + }); + expect(response.status).toBe(200); + expect(response.body.result.data.username).toBe('edit_username'); + const editedUser = await db.collections.users_collection.findOne({ id: userProfile.id }); + expect(editedUser?.username).toBe('edit_username'); + }); + test('Edit a user (user)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(200); + expect(response.body.result.data.username).toBe('edit_username'); + const editedUser = await db.collections.users_collection.findOne({ id: userProfile.id }); + expect(editedUser?.username).toBe('edit_username'); + }); + test('Edit a user (user edit others accounts)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: adminProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('User can only edit his/her own account.'); + }); + test('Edit a user (user edit unpermitted fields)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description', + type: enumUserTypes.ADMIN + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Standard user can not change their type, expiration time and organisation. Please contact admins for help.'); + }); + test('Edit a user (password not long enough)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Password has to be at least 8 character long.'); + }); + test('Edit a user (email not right format)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@', + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Email is not the right format.'); + }); + test('Edit a user (username already used)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: adminProfile.username, + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username already used.'); + }); + test('Edit a user (email already used)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: adminProfile.email, + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Email already used.'); + }); + test('Edit a user (organisation does not exist)', async () => { + const response = await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description', + organisation: 'random' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Organisation does not exist.'); + }); + test('Edit a user (old password)', async () => { + await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description' + }); + const response = await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + password: 'edit_password' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('You need to select a new password.'); + }); + test('Edit a user (expired time is outdated)', async () => { + const response = await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description', + expiredAt: Date.now() - 1000 + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Cannot set to a previous time.'); + }); + test('Get a user by admin (through userId)', async () => { + const paramteres = { + userId: userProfile.id + }; + const response = await admin.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(200); + expect(response.body.result.data).toBeDefined(); + expect(response.body.result.data.username).toBe(userProfile.username); + }); + test('Get a user by user (through userId)', async () => { + const paramteres = { + userId: adminProfile.id + }; + const response = await user.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe(errorCodes.NO_PERMISSION_ERROR); + }); + test('Get a user (through username)', async () => { + const paramteres = { + username: userProfile.username + }; + const response = await user.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(200); + expect(response.body.result.data).toBeDefined(); + expect(response.body.result.data.username).toBe(userProfile.username); + }); + test('Get a user (through email)', async () => { + const paramteres = { + email: userProfile.email + }; + const response = await user.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(200); + expect(response.body.result.data).toBeDefined(); + expect(response.body.result.data.username).toBe(userProfile.username); + }); + test('Get a user by user (user does not exist)', async () => { + const paramteres = { + email: 'random' + }; + const response = await user.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe(errorCodes.NO_PERMISSION_ERROR); + }); + test('Get a user by admin (user does not exist)', async () => { + const paramteres = { + email: 'random' + }; + const response = await admin.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('User does not exist.'); + }); + test('Get all users (admin)', async () => { + const paramteres = { + }; + const response = await admin.get('/trpc/user.getUsers?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(200); + expect(response.body.result.data).toHaveLength(2); + }); + test('Get all users (user)', async () => { + const paramteres = { + }; + const response = await user.get('/trpc/user.getUsers?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe(errorCodes.NO_PERMISSION_ERROR); + }); + }); +} else { + test(`${__filename.split(/[\\/]/).pop()} skipped because it requires Minio on Docker`, () => { + expect(true).toBe(true); + }); +} \ No newline at end of file diff --git a/packages/itmat-job-executor/src/database/database.ts b/packages/itmat-job-executor/src/database/database.ts index 65fbbd5f0..40df0458d 100644 --- a/packages/itmat-job-executor/src/database/database.ts +++ b/packages/itmat-job-executor/src/database/database.ts @@ -1,4 +1,4 @@ -import type { IFile, IJobEntry, IProject, IQueryEntry, IDataEntry, IFieldEntry } from '@itmat-broker/itmat-types'; +import type { IFile, IJobEntry, IProject, IQueryEntry, IDataEntry, IField } from '@itmat-broker/itmat-types'; import { Database as DatabaseBase, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; import type { Collection } from 'mongodb'; @@ -15,7 +15,7 @@ export interface IDatabaseConfig extends IDatabaseBaseConfig { export interface IDatabaseCollectionConfig { jobs_collection: Collection, - field_dictionary_collection: Collection, + field_dictionary_collection: Collection, files_collection: Collection, data_collection: Collection, queries_collection: Collection, diff --git a/packages/itmat-models/src/graphql/fields.ts b/packages/itmat-models/src/graphql/fields.ts index 1285ca626..374a0255f 100644 --- a/packages/itmat-models/src/graphql/fields.ts +++ b/packages/itmat-models/src/graphql/fields.ts @@ -14,7 +14,6 @@ export const FIELD_FRAGMENT = gql` code description } - metadata unit comments dateAdded diff --git a/packages/itmat-models/src/graphql/study.ts b/packages/itmat-models/src/graphql/study.ts index 160b03820..c01b9760b 100644 --- a/packages/itmat-models/src/graphql/study.ts +++ b/packages/itmat-models/src/graphql/study.ts @@ -120,7 +120,6 @@ export const EDIT_STUDY = gql` id name description - type } } `; diff --git a/packages/itmat-models/src/graphql/user.ts b/packages/itmat-models/src/graphql/user.ts index 7f8c023c4..4ea89c096 100644 --- a/packages/itmat-models/src/graphql/user.ts +++ b/packages/itmat-models/src/graphql/user.ts @@ -22,7 +22,6 @@ export const USER_FRAGMENT = gql` studies { id name - type } }, metadata, diff --git a/packages/itmat-setup/src/databaseSetup/collectionsAndIndexes.ts b/packages/itmat-setup/src/databaseSetup/collectionsAndIndexes.ts index eba685d33..3cbb02e41 100644 --- a/packages/itmat-setup/src/databaseSetup/collectionsAndIndexes.ts +++ b/packages/itmat-setup/src/databaseSetup/collectionsAndIndexes.ts @@ -13,15 +13,15 @@ const collections = { name: 'USER_COLLECTION', indexes: [ { key: { id: 1 }, unique: true }, - { key: { username: 1, deleted: 1 }, unique: true }, - { key: { email: 1, deleted: 1 }, unique: true } + { key: { 'username': 1, 'life.deletedTime': 1 }, unique: true }, + { key: { 'email': 1, 'life.deletedTime': 1 }, unique: true } ] }, studies_collection: { name: 'STUDY_COLLECTION', indexes: [ { key: { id: 1 }, unique: true }, - { key: { name: 1, deleted: 1 }, unique: true } + { key: { 'name': 1, 'life.deletedTime': 1 }, unique: true } ] }, projects_collection: { @@ -47,7 +47,7 @@ const collections = { name: 'DATA_COLLECTION', indexes: [ { key: { id: 1 }, unique: true }, - { key: { m_studyId: 1, m_versionId: 1, m_subjectId: 1, m_visitId: 1, m_fieldId: 1, uploadedAt: -1 }, unique: true } + { key: { 'studyId': 1, 'fieldId': 1, 'life.createdTime': 1, 'life.deletedTime': 1, 'properties': 1 }, unique: true } ] }, roles_collection: { @@ -94,6 +94,13 @@ const collections = { indexes: [ { key: { id: 1 }, unique: true } ] + }, + configs_collection: { + name: 'CONFIG_COLLECTION', + indexes: [ + { key: { id: 1 }, unique: true }, + { key: { type: 1, key: 1 }, unique: true } + ] } }; diff --git a/packages/itmat-setup/src/databaseSetup/seed/organisations.ts b/packages/itmat-setup/src/databaseSetup/seed/organisations.ts index 71562762c..2a103a83d 100644 --- a/packages/itmat-setup/src/databaseSetup/seed/organisations.ts +++ b/packages/itmat-setup/src/databaseSetup/seed/organisations.ts @@ -2,15 +2,26 @@ export const seedOrganisations = [{ id: 'organisation_system', name: 'System', shortname: 'Sys', - containOrg: '', - deleted: null + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: { + siteIDMarker: 'I' + } }, { id: 'organisation_user', name: 'user', shortname: 'Use', - containOrg: '', - metadata: { - siteIDMarker: 'I' + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null }, - deleted: null + metadata: { + siteIDMarker: 'Z' + } }]; diff --git a/packages/itmat-setup/src/databaseSetup/seed/users.ts b/packages/itmat-setup/src/databaseSetup/seed/users.ts index 25f7d5b13..f3f1286fa 100644 --- a/packages/itmat-setup/src/databaseSetup/seed/users.ts +++ b/packages/itmat-setup/src/databaseSetup/seed/users.ts @@ -11,10 +11,15 @@ export const seedUsers = [{ description: 'I am an admin user.', emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, - deleted: null, id: 'replaced_at_runtime2', - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { username: 'standardUser', @@ -29,8 +34,14 @@ export const seedUsers = [{ emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: 'replaced_at_runtime1', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }]; diff --git a/packages/itmat-types/src/types/base.ts b/packages/itmat-types/src/types/base.ts new file mode 100644 index 000000000..8351692f9 --- /dev/null +++ b/packages/itmat-types/src/types/base.ts @@ -0,0 +1,12 @@ +export interface ILifeCircle { + createdTime: number; + createdUser: string; + deletedTime: number | null; + deletedUser: string | null; +} + +export interface IBase { + id: string; + life: ILifeCircle; + metadata: Record; +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/config.ts b/packages/itmat-types/src/types/config.ts new file mode 100644 index 000000000..e7919869f --- /dev/null +++ b/packages/itmat-types/src/types/config.ts @@ -0,0 +1,212 @@ +import { IBase, ILifeCircle } from './base'; +import { v4 as uuid } from 'uuid'; +import { enumReservedUsers } from './user'; + +export interface IConfig extends IBase { + type: enumConfigType; + key: string | null; // studyid for study; userid for user; null for system + properties: ISystemConfig | IStudyConfig | IUserConfig | IDocConfig | ICacheConfig | IDomainConfig; +} + +export enum enumConfigType { + SYSTEMCONFIG = 'SYSTEMCONFIG', + STUDYCONFIG = 'STUDYCONFIG', + USERCONFIG = 'USERCONFIG', + FILECONFIG = 'FILECONFIG', + ORGANISATIONCONFIG = 'ORGANISATIONCONFIG', + DOCCONFIG = 'DOCCONFIG', + CACHECONFIG = 'CACHECONFIG', + DOMAINCONFIG = 'DOMAINCONFIG' +} + +export interface ISystemConfig extends IBase { + defaultBackgroundColor: string; // hex code + defaultMaximumFileSize: number; + defaultFileBucketId: string; + defaultProfileBucketId: string; + logoLink: string | null; // TODO: fetch file from database; + logoSize: string[]; // width * height + archiveAddress: string; + defaultEventTimeConsumptionBar: number[]; + defaultUserExpireDays: number; +} + +export interface IStudyConfig extends IBase { + defaultStudyProfile: string | null; + defaultMaximumFileSize: number; + defaultRepresentationForMissingValue: string; + defaultFileColumns: Array<{ title: string, type: string }>; + defaultFileColumnsPropertyColor: string | null; + defaultFileDirectoryStructure: { + pathLabels: string[], + description: string | null + }, + defaultVersioningKeys: string[]; // data clips with same values of such keys will be considered as the same values with different versions +} + +export interface IUserConfig extends IBase { + defaultUserExpiredDays: number + defaultMaximumFileSize: number; + defaultMaximumFileRepoSize: number; + defaultMaximumRepoSize: number; + defaultFileBucketId: string; + defaultMaximumQPS: number; + + // LXD containers + defaultLXDMaximumContainers: number; + defaultLXDMaximumContainerCPUCores: number; + defaultLXDMaximumContainerDiskSize: number; + defaultLXDMaximumContainerMemory: number; + defaultLXDMaximumContainerLife: number; +} + +export interface IOrganisationConfig extends IBase { + defaultFileBucketId: string; +} + +export interface ICacheConfig extends IBase { + defaultFileBucketId: string; + defaultMaximumFileSize: number; +} + +export interface IDocConfig extends IBase { + defaultFileBucketId: string; + defaultMaximumFileSize: number; +} + +export interface IDomainConfig extends IBase { + defaultFileBucketId: string +} +export interface IDefaultSettings extends IBase { + systemConfig: ISystemConfig; + studyConfig: IStudyConfig; + userConfig: IUserConfig; + docConfig: IDocConfig; +} + +// default settings +export class DefaultSettings implements IDefaultSettings { + public readonly id: string = uuid(); + public readonly life: ILifeCircle = { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }; + public readonly metadata: Record = {}; + + public readonly systemConfig: ISystemConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultBackgroundColor: '#FFFFFF', + defaultMaximumFileSize: 1 * 1024 * 1024 * 1024, // 1 GB + defaultFileBucketId: 'system', + defaultProfileBucketId: 'profile', + logoLink: null, + logoSize: ['24px', '24px'], + archiveAddress: '', + defaultEventTimeConsumptionBar: [50, 100], + defaultUserExpireDays: 90 + }; + + public readonly studyConfig: IStudyConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultStudyProfile: null, + defaultMaximumFileSize: 8 * 1024 * 1024 * 1024, // 8 GB, + defaultRepresentationForMissingValue: '99999', + defaultFileColumns: [], + defaultFileColumnsPropertyColor: 'black', + defaultFileDirectoryStructure: { + pathLabels: [], + description: null + }, + defaultVersioningKeys: [] + }; + + public readonly userConfig: IUserConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultUserExpiredDays: 90, + defaultMaximumFileSize: 100 * 1024 * 1024, // 100 MB + defaultMaximumFileRepoSize: 500 * 1024 * 1024, // 500 MB + defaultMaximumRepoSize: 10 * 1024 * 1024 * 1024, // 10GB + defaultFileBucketId: 'user', + defaultMaximumQPS: 500, + defaultLXDMaximumContainers: 2, + defaultLXDMaximumContainerCPUCores: 2, + defaultLXDMaximumContainerDiskSize: 50 * 1024 * 1024 * 1024, + defaultLXDMaximumContainerMemory: 8 * 1024 * 1024 * 1024, + defaultLXDMaximumContainerLife: 8 * 60 * 60 + }; + + public readonly docConfig: IDocConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultFileBucketId: 'doc', + defaultMaximumFileSize: 100 * 1024 * 1024 // 100 MB + }; + + public readonly organisationConfig: IOrganisationConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultFileBucketId: 'organisation' + }; + + public readonly cacheConfig: ICacheConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultFileBucketId: 'cache', + defaultMaximumFileSize: 100 * 1024 * 1024 // 100 MB + }; + + public readonly domainConfig: IDomainConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultFileBucketId: 'domain' + }; +} + +export const defaultSettings = Object.freeze(new DefaultSettings()); diff --git a/packages/itmat-types/src/types/coreErrors.ts b/packages/itmat-types/src/types/coreErrors.ts new file mode 100644 index 000000000..b08c552ce --- /dev/null +++ b/packages/itmat-types/src/types/coreErrors.ts @@ -0,0 +1,42 @@ +import { TRPCError } from '@trpc/server'; +import { TRPC_ERROR_CODE_KEY } from '@trpc/server/dist/rpc'; +export enum enumCoreErrors { + DATABASE_ERROR = 'DATABASE_ERROR', + NOT_LOGGED_IN = 'NOT_LOGGED_IN', + CLIENT_MALFORMED_INPUT = 'CLIENT_MALFORMED_INPUT', + CLIENT_ACTION_ON_NON_EXISTENT_ENTRY = 'CLIENT_ACTION_ON_NON_EXISTENT_ENTRY', + AUTHENTICATION_ERROR = 'AUTHENTICATION_ERROR', + NO_PERMISSION_ERROR = 'NO_PERMISSION_ERROR', + FILE_STREAM_ERROR = 'FILE_STREAM_ERROR', + OBJ_STORE_ERROR = 'OBJ_STORE_ERROR', + UNQUALIFIED_ERROR = 'UNQUALIFIED_ERROR' +} + +export enum enumRequestErrorCodes { + BAD_REQUEST = 'BAD_REQUEST', + UNAUTHORIZED = 'UNAUTHORIZED', + FORBIDDEN = 'FORBIDDEN', + NOT_FOUND = 'NOT_FOUND', + TIMEOUT = 'TIMEOUT', + CONFLICT = 'CONFLICT', + PRECONDITION_FAILED = 'PRECONDITION_FAILED', + PAYLOAD_TOO_LARGE = 'PAYLOAD_TOO_LARGE', + METHOD_NOT_SUPPORTED = 'METHOD_NOT_SUPPORTED', + UNPROCESSABLE_CONTENT = 'UNPROCESSABLE_CONTENT', + TOO_MANY_REQUESTS = 'TOO_MANY_REQUESTS', + CLIENT_CLOSED_REQUEST = 'CLIENT_CLOSED_REQUEST', + INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR' +} + +/** + * This is to keep the consitency of the GraphQL error codes and tRPC error codes. + * If possible, merge it in future. + */ +export class CoreError extends TRPCError { + errorCode: enumCoreErrors; + constructor(errorCode: enumCoreErrors, message: string, httpErrorCode: TRPC_ERROR_CODE_KEY = 'BAD_REQUEST') { + super({ message: message, code: httpErrorCode }); + this.errorCode = errorCode; + Object.setPrototypeOf(this, new.target.prototype); + } +} diff --git a/packages/itmat-types/src/types/data.ts b/packages/itmat-types/src/types/data.ts index 1e0ed7127..8acbce300 100644 --- a/packages/itmat-types/src/types/data.ts +++ b/packages/itmat-types/src/types/data.ts @@ -1,3 +1,5 @@ +import { IBase } from './base'; + export interface IDataEntry { id: string; m_studyId: string; @@ -15,6 +17,14 @@ export interface IDataEntry { uploadedAt: number; } +export interface IData extends IBase { + studyId: string; + fieldId: string; + dataVersion: string | null; + value: unknown; + properties: Record; +} + export interface IGroupedData { [key: string]: { [key: string]: { diff --git a/packages/itmat-types/src/types/field.ts b/packages/itmat-types/src/types/field.ts index 5e4733816..252c5e163 100644 --- a/packages/itmat-types/src/types/field.ts +++ b/packages/itmat-types/src/types/field.ts @@ -1,37 +1,39 @@ -export interface IFieldEntry { - id: string; +import { IBase } from './base'; +import { IValueVerifier } from './utils'; + +export interface IField extends IBase { studyId: string; - fieldId: string; fieldName: string; - tableName?: string; - dataType: enumValueType; - possibleValues?: IValueDescription[] | null; + fieldId: string; + description?: string; + dataType: enumDataTypes; + categoricalOptions?: ICategoricalOption[]; unit?: string; comments?: string; - metadata?: Record; - dateAdded: number; - dateDeleted: number | null; dataVersion: string | null; + verifier?: IValueVerifier[][]; + properties?: IFieldProperty[]; // mostly used for file data } -export interface IValueDescription { - id: string; - code: string; - description: string +export interface IFieldProperty { + name: string; + verifier: IValueVerifier[][] | null; + description: string | null; + required: boolean; } -export enum enumItemType { - IMAGE = 'I', - CLINICAL = 'C' +export enum enumDataTypes { + INTEGER = 'INTEGER', + DECIMAL = 'DECIMAL', + STRING = 'STRING', + BOOLEAN = 'BOOLEAN', + DATETIME = 'DATETIME', + FILE = 'FILE', + JSON = 'JSON', + CATEGORICAL = 'CATEGORICAL' } -export enum enumValueType { - INTEGER = 'int', - DECIMAL = 'dec', - STRING = 'str', - BOOLEAN = 'bool', - DATETIME = 'date', - FILE = 'file', - JSON = 'json', - CATEGORICAL = 'cat' +export interface ICategoricalOption extends IBase { + code: string; + description: string; } diff --git a/packages/itmat-types/src/types/file.ts b/packages/itmat-types/src/types/file.ts index fad6ac3eb..cc18292c3 100644 --- a/packages/itmat-types/src/types/file.ts +++ b/packages/itmat-types/src/types/file.ts @@ -1,14 +1,53 @@ -export interface IFile { - id: string; +import { Readable } from 'stream'; +import { IBase } from './base'; + +export interface IFile extends IBase { + studyId: string | null; // null for system and user file + userId: string | null; // null for system and study file fileName: string; - studyId: string; - projectId?: string; - fileSize?: string; - description: string; - uploadTime: string; - uploadedBy: string; // userId + fileSize: number; + description?: string; + properties: Record; uri: string; - deleted: number | null; hash: string; - metadata: Record + fileType: enumFileTypes; + fileCategory: enumFileCategories; + sharedUsers?: string[]; } + + + +export enum enumFileTypes { + CSV = 'CSV', + ZIP = 'ZIP', + RAR = 'RAR', + UNKNOWN = 'UNKNOWN', + MARKDOWN = 'MARKDOWN', + TXT = 'TXT', + JSON = 'JSON', + PDF = 'PDF', + DOCX = 'DOCX', + // images + JPG = 'JPG', + JPEG = 'JPEG', + PNG = 'PNG', + WEBP = 'WEBP', + // videos + MP4 = 'MP4', + AVI = 'AVI' +} + +export enum enumFileCategories { + STUDY_DATA_FILE = 'STUDY_DATA_FILE', + USER_DRIVE_FILE = 'USER_REPO_FILE', + DOC_FILE = 'DOC_FILE', + CACHE = 'CACHE', + PROFILE_FILE = 'DOMAIN_PROFILE_FILE' +} + +export interface FileUpload { + createReadStream: () => Readable; + filename: string; + mimetype: string; + encoding: string; +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/index.ts b/packages/itmat-types/src/types/index.ts index 8319c3fd8..1c5e1dd1e 100644 --- a/packages/itmat-types/src/types/index.ts +++ b/packages/itmat-types/src/types/index.ts @@ -10,6 +10,11 @@ import * as Pubkey from './pubkey'; import * as Data from './data'; import * as Standardization from './standardization'; import * as Common from './common'; +import * as Base from './base'; +import * as CoreErrors from './coreErrors'; +import * as Config from './config'; +import * as ZodSchema from './zod'; +import * as Utils from './utils'; export * from './field'; export * from './file'; @@ -23,4 +28,10 @@ export * from './pubkey'; export * from './data'; export * from './standardization'; export * from './common'; -export const Types = { File, Job, Log, User, Organisation, Pubkey, Study, Query, Field, Data, Standardization, Common }; +export * from './base'; +export * from './coreErrors'; +export * from './config'; +export * from './zod'; +export * from './utils'; + +export const Types = { File, Job, Log, User, Organisation, Pubkey, Study, Query, Field, Data, Standardization, Common, Base, CoreErrors, Config, ZodSchema, Utils }; diff --git a/packages/itmat-types/src/types/log.ts b/packages/itmat-types/src/types/log.ts index 74e5ea3a8..04949267b 100644 --- a/packages/itmat-types/src/types/log.ts +++ b/packages/itmat-types/src/types/log.ts @@ -1,9 +1,9 @@ -import { userTypes } from './user'; +import { enumUserTypes } from './user'; export interface ILogEntry { id: string, requesterName: string, - requesterType: userTypes, + requesterType: enumUserTypes, userAgent: USER_AGENT, logType: LOG_TYPE, actionType: LOG_ACTION, diff --git a/packages/itmat-types/src/types/organisation.ts b/packages/itmat-types/src/types/organisation.ts index a89d63c11..c2f833abe 100644 --- a/packages/itmat-types/src/types/organisation.ts +++ b/packages/itmat-types/src/types/organisation.ts @@ -1,12 +1,7 @@ -export type OrganisationMetadata = { - siteIDMarker?: string; -} +import { IBase } from './base'; -export interface IOrganisation { - id: string; +export interface IOrganisation extends IBase { name: string; - shortname: string | null; - containOrg: string | null; - deleted: number | null; - metadata: OrganisationMetadata; -} + shortname?: string; + profile?: string; +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/pubkey.ts b/packages/itmat-types/src/types/pubkey.ts index 77f6bf1ad..2d44adecc 100644 --- a/packages/itmat-types/src/types/pubkey.ts +++ b/packages/itmat-types/src/types/pubkey.ts @@ -1,11 +1,11 @@ -export interface IPubkey { - id: string; +import { IBase } from './base'; + +export interface IPubkey extends IBase { pubkey: string; jwtPubkey: string; jwtSeckey: string; refreshCounter: number; associatedUserId: string | null; - deleted: number | null; } export type AccessToken = { diff --git a/packages/itmat-types/src/types/study.ts b/packages/itmat-types/src/types/study.ts index d6fda4611..b0fc0f3a2 100644 --- a/packages/itmat-types/src/types/study.ts +++ b/packages/itmat-types/src/types/study.ts @@ -1,3 +1,4 @@ +import { IBase } from './base'; import { IUser } from './user'; import { FileUpload } from 'graphql-upload-minimal'; @@ -7,26 +8,19 @@ export enum studyType { ANY = 'ANY' } -export interface IStudy { - id: string; +export interface IStudy extends IBase { name: string; - createdBy: string; - lastModified: number; - deleted: number | null; currentDataVersion: number; // index; dataVersions[currentDataVersion] gives current version; // -1 if no data dataVersions: IStudyDataVersion[]; - description: string; + description?: string; + profile?: string; ontologyTrees?: IOntologyTree[]; - type: studyType; - metadata: Record } -export interface IStudyDataVersion { - id: string; // uuid - contentId: string; // same contentId = same data +export interface IStudyDataVersion extends IBase { + id: string; version: string; tag?: string; - updateDate: string; } export enum atomicOperation { diff --git a/packages/itmat-types/src/types/user.ts b/packages/itmat-types/src/types/user.ts index 2812c71d0..7832b224e 100644 --- a/packages/itmat-types/src/types/user.ts +++ b/packages/itmat-types/src/types/user.ts @@ -1,28 +1,31 @@ -export enum userTypes { +import { IBase } from './base'; + +export enum enumUserTypes { ADMIN = 'ADMIN', STANDARD = 'STANDARD', + SYSTEM = 'SYSTEM', + OBSERVER = 'OBSERVER' +} + +export enum enumReservedUsers { SYSTEM = 'SYSTEM' } -export interface IUserWithoutToken { - id: string; +export interface IUserWithoutToken extends IBase { username: string; email: string; firstname: string; lastname: string; organisation: string; - type: userTypes; - description: string; + type: enumUserTypes; emailNotificationsActivated: boolean; - emailNotificationsStatus: { expiringNotification: boolean } | null; - deleted: number | null; - createdAt: number; - expiredAt: number; - resetPasswordRequests: IResetPasswordRequest[]; - metadata?: { - logPermission: boolean; - [key: string]: unknown + emailNotificationsStatus: { + expiringNotification: boolean }; + resetPasswordRequests: IResetPasswordRequest[]; + profile?: string; + expiredAt: number; + description?: string; } export interface IResetPasswordRequest { diff --git a/packages/itmat-types/src/types/utils.ts b/packages/itmat-types/src/types/utils.ts new file mode 100644 index 000000000..0c033ab42 --- /dev/null +++ b/packages/itmat-types/src/types/utils.ts @@ -0,0 +1,47 @@ +// Value verifier +export interface IValueVerifier { + formula: IAST; + condition: enumConditionOps; + value: string | number; + parameters: Record; +} + +export enum enumConditionOps { + NUMERICALEQUAL = 'numerical:=', + NUMERICALNOTEQUAL = 'numerical:!=', + NUMERICALLESSTHAN = 'numerical:<', + NUMERICALGREATERTHAN = 'numerical:>', + NUMERICALNOTLESSTHAN = 'numerical:>=', + NUMERICALNOTGREATERTHAN = 'numerical:<=', + STRINGREGEXMATCH = 'string:=regex=', + STRINGEQUAL = 'string:=', + GENERALISNULL = 'general:=null', + GENERALISNOTNULL = 'general:!=null' +} + +export interface IAST { + type: enumASTNodeTypes; + operator: enumMathOps | null, + value: string | number | null; + parameters: Record; + children: IAST[] | null; // null for lead node; OPERATION type should not be a lead node. +} + +export enum enumASTNodeTypes { + OPERATION = 'OPERATION', + VARIABLE = 'VARIABLE', + SELF = 'SELF', // the input value + VALUE = 'VALUE', + MAP = 'MAP' +} + +export enum enumMathOps { + NUMERICALADD = 'numerical:+', + NUMERICALMINUS = 'numerical:-', + NUMERICALMULTIPLY = 'numerical:*', + NUMERICALDIVIDE = 'numerical:/', + NUMERICALPOW = 'numerical:^', + STRINGCONCAT = 'string:+', + STRINGSUBSTR = 'string:substr', + TYPECONVERSION = 'string:=>' +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/zod.ts b/packages/itmat-types/src/types/zod.ts new file mode 100644 index 000000000..315b251e1 --- /dev/null +++ b/packages/itmat-types/src/types/zod.ts @@ -0,0 +1,9 @@ +import { Readable } from 'stream'; +import { z } from 'zod'; + +export const FileUploadSchema = z.object({ + createReadStream: z.function().returns(z.instanceof(Readable)), + filename: z.string(), + mimetype: z.string(), + encoding: z.string() +}); \ No newline at end of file diff --git a/packages/itmat-ui-react/proxy.conf.js b/packages/itmat-ui-react/proxy.conf.js index c6a27f8a0..7caae434f 100644 --- a/packages/itmat-ui-react/proxy.conf.js +++ b/packages/itmat-ui-react/proxy.conf.js @@ -6,6 +6,11 @@ module.exports = { secure: false, changeOrigin: true }, + '/trpc': { + target: API_SERVER, + secure: false, + changeOrigin: true + }, '/file': { target: API_SERVER, secure: false, diff --git a/packages/itmat-ui-react/src/components/datasetDetail/index.tsx b/packages/itmat-ui-react/src/components/datasetDetail/index.tsx index c4ed9ba6f..9ac887f9d 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/index.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Route, Routes, useParams, Navigate } from 'react-router-dom'; import { GET_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IJobEntry, IProject, IStudy, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IJobEntry, IProject, IStudy, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; import css from './projectPage.module.css'; import { DashboardTabContent, DataManagementTabContentFetch, ProjectsTabContent, AdminTabContent, FieldManagementTabContentFetch } from './tabContent'; @@ -31,7 +31,7 @@ export const DatasetDetailPage: FunctionComponent = () => { if (loading) return ; if (error) return

{error.toString()}

; if (!sessionData) { return null; } - if (sessionData.whoAmI.type === userTypes.ADMIN) { + if (sessionData.whoAmI.type === enumUserTypes.ADMIN) { return ( <> isActive ? css.active : undefined}>DASHBOARD diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx index 81a62ff1d..b601cc674 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx @@ -18,7 +18,7 @@ export const DataSummaryVisual: FunctionComponent<{ studyId: string; selectedVer - +
; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx index b21beb450..71d4c3708 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { generateCascader } from '../../../../utils/tools'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; import { Query } from '@apollo/client/react/components'; import { GET_STUDY, GET_STUDY_FIELDS, GET_DATA_RECORDS, CREATE_NEW_DATA_VERSION, SET_DATAVERSION_AS_CURRENT, WHO_AM_I, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { userTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; +import { enumUserTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; import { DataSummaryVisual } from './dataSummary'; @@ -154,7 +154,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => {
- {whoAmIData.whoAmI.type === userTypes.ADMIN ? + {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ?

- query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> + query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> {({ data, loading, error }) => { if (loading) { return ; } if (error) { return

{JSON.stringify(error)}

; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx index 8c36c2f5d..19d64f777 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx @@ -7,7 +7,7 @@ import { Query } from '@apollo/client/react/components'; import { useApolloClient, useMutation, useQuery } from '@apollo/client/react/hooks'; import { useDropzone } from 'react-dropzone'; import { GET_STUDY, UPLOAD_FILE, GET_ORGANISATIONS, GET_USERS, EDIT_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IFile, userTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; +import { IFile, enumUserTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; import { FileList, formatBytes } from '../../../reusable/fileList/fileList'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -332,30 +332,30 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const studyLevelFiles: IFile[] = []; const subjectLevelFiles: IFile[] = []; for (const file of files) { - if (Object.keys(JSON.parse(file.description)).length !== 0) { + if (file.description && Object.keys(JSON.parse(file.description)).length !== 0) { if (file !== null && file !== undefined && (!searchTerm || (JSON.parse(file.description).participantId).toUpperCase().indexOf(searchTerm) > -1 || sites[JSON.parse(file.description).participantId[0]].toUpperCase().indexOf(searchTerm) > -1 || JSON.parse(file.description).deviceId.toUpperCase().indexOf(searchTerm) > -1 || deviceTypes[JSON.parse(file.description).deviceId.substr(0, 3)].toUpperCase().indexOf(searchTerm) > -1 - || (!userIdNameMapping[file.uploadedBy] || userIdNameMapping[file.uploadedBy].toUpperCase().indexOf(searchTerm) > -1))) { + || (!userIdNameMapping[file.life.createdTime] || userIdNameMapping[file.life.createdTime].toUpperCase().indexOf(searchTerm) > -1))) { subjectLevelFiles.push(file); } } else { studyLevelFiles.push(file); } } - subjectLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); - studyLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); + subjectLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); + studyLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); return [subjectLevelFiles, studyLevelFiles]; } const sortedFiles = dataSourceFilter(getStudyData.getStudy.files); const numberOfFiles = sortedFiles[0].length; - const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (parseInt(b.fileSize || '0') || 0), 0); + const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (b.fileSize || 0), 0); const participantOfFiles = sortedFiles[0].reduce(function (values, v) { - if (!values.set[JSON.parse(v['description'])['participantId']]) { + if (v.description && !values.set[JSON.parse(v['description'])['participantId']]) { values.set[JSON.parse(v['description'])['participantId']] = 1; values.count++; } @@ -365,8 +365,8 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const fileSummary: { site: string, total: number }[] = []; const categoryColumns: ColumnProps<{ site: string, total: number }>[] = []; if (sortedFiles[0].length > 0) { - const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).participantId[0]).sort())); - const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).deviceId.substr(0, 3)).sort())); + const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').participantId[0]).sort())); + const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3)).sort())); categoryColumns.push( { title: 'Site', @@ -395,10 +395,10 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = total: 0 }; for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description).participantId[0] === site - && JSON.parse(el.description).deviceId.substr(0, 3) === deviceType)).length; + tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description ?? '').participantId[0] === site + && JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType)).length; } - tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description).participantId[0] === site).length; + tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').participantId[0] === site).length; fileSummary.push(tmpData); } const tmpData = { @@ -406,7 +406,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = total: sortedFiles[0].length }; for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description).deviceId.substr(0, 3) === deviceType).length; + tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType).length; } fileSummary.push(tmpData); } @@ -445,7 +445,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> =
:
diff --git a/packages/itmat-ui-react/src/components/log/logList.tsx b/packages/itmat-ui-react/src/components/log/logList.tsx index c05bb4a6f..c2f052fa2 100644 --- a/packages/itmat-ui-react/src/components/log/logList.tsx +++ b/packages/itmat-ui-react/src/components/log/logList.tsx @@ -1,6 +1,6 @@ import { FunctionComponent, useState } from 'react'; import { GET_LOGS } from '@itmat-broker/itmat-models'; -import { userTypes, LOG_ACTION, LOG_TYPE, LOG_STATUS, USER_AGENT, ILogEntry } from '@itmat-broker/itmat-types'; +import { enumUserTypes, LOG_ACTION, LOG_TYPE, LOG_STATUS, USER_AGENT, ILogEntry } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../reusable/loadSpinner'; import { Table, Input, Button, Checkbox, Descriptions, DatePicker, Modal, Row, Col } from 'antd'; @@ -39,7 +39,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { const [searchTerm, setSearchTerm] = useState(''); const initInputs: { requesterName: string, - requesterType: userTypes[], + requesterType: enumUserTypes[], userAgent: string[], logType: LOG_TYPE[], actionType: LOG_ACTION[], @@ -247,7 +247,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { - + diff --git a/packages/itmat-ui-react/src/components/profile/profile.tsx b/packages/itmat-ui-react/src/components/profile/profile.tsx index 53551269d..248cedf51 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.tsx +++ b/packages/itmat-ui-react/src/components/profile/profile.tsx @@ -140,7 +140,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce {(submit, { loading, error }) => org.id === user.organisation)?.name }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> diff --git a/packages/itmat-ui-react/src/components/projectDetail/index.tsx b/packages/itmat-ui-react/src/components/projectDetail/index.tsx index 0ede8430e..e705fb23f 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/index.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Navigate, Route, Routes, useParams } from 'react-router-dom'; import { GET_PROJECT, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; import css_dataset from '../datasetDetail/projectPage.module.css'; import { AdminTabContent, DashboardTabContent, DataTabContent } from './tabContent'; @@ -19,7 +19,7 @@ export const ProjectDetailPage: FunctionComponent = () => { return ( query={GET_PROJECT} - variables={{ projectId, admin: whoamidata.whoAmI.type === userTypes.ADMIN }} + variables={{ projectId, admin: whoamidata.whoAmI.type === enumUserTypes.ADMIN }} > {({ loading, error, data }) => { if (loading) { return ; } @@ -34,7 +34,7 @@ export const ProjectDetailPage: FunctionComponent = () => { if (loading) return ; if (error) return

{error.toString()}

; if (!sessionData) { return null; } - if (sessionData.whoAmI.type === userTypes.ADMIN) { + if (sessionData.whoAmI.type === enumUserTypes.ADMIN) { return
isActive ? css_dataset.active : undefined}>
DASHBOARD
{/* isActive ? className={({ isActive }) => isActive ? css.active : undefined}>
SAMPLE
*/} diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx index cc4377368..7504cdf9f 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx @@ -3,7 +3,7 @@ import { statisticsTypes, analysisTemplate, options, dataTypeMapping } from '../ import { get_t_test, get_z_test, mannwhitneyu, findDmField, generateCascader } from '../../../../utils/tools'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; +import { IField, IProject, enumDataTypes, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { SubsectionWithComment } from '../../../reusable/subsection/subsection'; import css from './tabContent.module.css'; @@ -97,7 +97,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu
); }; -const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IFieldEntry[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { +const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IField[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { const [isModalOn, setIsModalOn] = useState(false); const [isTemplateModalOn, setIsTemplateModalOn] = useState(false); const [templateType, setTemplateType] = useState('NA'); @@ -315,8 +315,8 @@ const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispa
); }; -const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFieldEntry[], data }> = ({ project, fields, data }) => { +const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IField[], data }> = ({ project, fields, data }) => { const [statisticsType, setStatisticsType] = useState('ttest'); const [signifianceLevel, setSignigicanceLevel] = useState(undefined); if (data.length === 0) { @@ -505,7 +505,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel }, { key: 'Table Name', - value: thisField.tableName || 'NA' + value: thisField.metadata['tableName'] || 'NA' }, { key: 'Data Type', value: dataTypeMapping[thisField.dataType] || 'NA' @@ -544,7 +544,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel key: 'graph', render: (__unused__value, record) => { const fieldDef = fields.filter(el => el.fieldId === record.field)[0]; - if ([enumValueType.DECIMAL, enumValueType.INTEGER].includes(fieldDef.dataType)) { + if ([enumDataTypes.DECIMAL, enumDataTypes.INTEGER].includes(fieldDef.dataType)) { return (
); - } else if ([enumValueType.BOOLEAN, enumValueType.CATEGORICAL].includes(fieldDef.dataType)) { + } else if ([enumDataTypes.BOOLEAN, enumDataTypes.CATEGORICAL].includes(fieldDef.dataType)) { return (
); }; -function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPathOptions) { +function variableFilterColumns(guideTool, fields: IField[], remove, fieldPathOptions) { return [ { title: 'Field', @@ -807,7 +807,7 @@ function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPa ]; } -function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { +function filterTableColumns(guideTool, fields: IField[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { if (filtersTool[0].groups.length === 0) { return []; } @@ -839,7 +839,7 @@ function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersT render: (__unused__value, record) => { return
{ - record.race.map(el => {raceField?.possibleValues?.filter(ed => ed.code === el.toString())[0].description}) + record.race.map(el => {raceField?.categoricalOptions?.filter(ed => ed.code === el.toString())[0].description}) }
; } @@ -855,7 +855,7 @@ function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersT render: (__unused__value, record) => { return
{ - record.genderID.map(el => {genderField?.possibleValues?.filter(ed => ed.code === el.toString())[0].description}) + record.genderID.map(el => {genderField?.categoricalOptions?.filter(ed => ed.code === el.toString())[0].description}) }
; } @@ -1009,7 +1009,7 @@ function formInitialValues(form, filters, index: number) { } // // we sent the union of the filters as the filters in the request body -function combineFilters(fields: IFieldEntry[], filters: Filter, dmFields) { +function combineFilters(fields: IField[], filters: Filter, dmFields) { const queryString: Partial & { format?: string, subjects_requested?: string[] | null, cohort?: ICohortSelection[][] } = {}; queryString.data_requested = Array.from(new Set((filters.groups.map(el => el.filters).flat().map(es => es.field).concat(filters.comparedFields) .concat(dmFields.filter(el => (el !== undefined && el !== null)).map(el => el.fieldId))))); @@ -1063,11 +1063,11 @@ function divideResults(filters, results, fields, dmFields) { siteID: dmFields[3] }; filters.comparedFields.forEach(el => { - const fieldDef: IFieldEntry = fields.filter(ek => ek.fieldId === el)[0]; - if (![enumValueType.DECIMAL, enumValueType.INTEGER, enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { + const fieldDef: IField = fields.filter(ek => ek.fieldId === el)[0]; + if (![enumDataTypes.DECIMAL, enumDataTypes.INTEGER, enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fieldDef.dataType)) { return; } - if (fieldDef.tableName === 'Participants') { + if (fieldDef['tableName'] === 'Participants') { return; } const dataClip: { @@ -1171,7 +1171,7 @@ function divideResults(filters, results, fields, dmFields) { } }); // construct data for visualization - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fieldDef.dataType)) { + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { dataClip.data[curr].forEach(el => { typeof el === 'number' && acc.push({ @@ -1182,10 +1182,10 @@ function divideResults(filters, results, fields, dmFields) { return acc; }, [] as { x: string, y: number }[]); dataClip.dataForGraph = dataForGraph; - } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { + } else if ([enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { - if (fieldDef.possibleValues) { - fieldDef.possibleValues.forEach(ek => { + if (fieldDef.categoricalOptions) { + fieldDef.categoricalOptions.forEach(ek => { acc.push({ x: curr, y: dataClip.data[curr].filter(es => String(es) === ek.code.toString()).length, diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx index f2ef10d54..a66d57cba 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { filterFields, generateCascader, findDmField } from '../../../../utils/t import { dataTypeMapping } from '../utils/defaultParameters'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; +import { IField, IProject, enumDataTypes, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -123,7 +123,7 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology
-
{project.dataVersion?.updateDate === undefined ? 'NA' : (new Date(parseFloat(project.dataVersion?.updateDate))).toUTCString()}
+
{project.dataVersion?.life.createdTime === undefined ? 'NA' : (new Date(project.dataVersion?.life.createdTime)).toUTCString()}

: @@ -178,7 +178,7 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology -
{project.dataVersion?.updateDate === undefined ? 'NA' : (new Date(parseFloat(project.dataVersion?.updateDate))).toDateString()}
+
{project.dataVersion?.life.createdTime === undefined ? 'NA' : (new Date(project.dataVersion?.life.createdTime)).toDateString()}
@@ -191,7 +191,7 @@ interface IDemographicsReport { value: number; } -export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IFieldEntry[] }> = ({ ontologyTree, studyId, projectId, fields }) => { +export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IField[] }> = ({ ontologyTree, studyId, projectId, fields }) => { const [width, __unused__height__] = useWindowSize(); // process the data const genderField = findDmField(ontologyTree, fields, 'SEX'); @@ -240,7 +240,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, obj.AGE = []; } else { obj.SEX = (data[genderField.fieldId][genderField.visitRange[0]]?.data || []).reduce((acc, curr) => { - const thisGender = genderField?.possibleValues?.filter(el => el.code === curr)[0].description || ''; + const thisGender = genderField?.categoricalOptions?.filter(el => el.code === curr)[0].description || ''; if (acc.filter(es => es.type === thisGender).length === 0) { acc.push({ type: thisGender, value: 0 }); } @@ -274,7 +274,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, obj.RACE = []; } else { obj.RACE = (data[raceField.fieldId][raceField.visitRange[0]]?.data || []).reduce((acc, curr) => { - const thisRace = raceField?.possibleValues?.filter(el => el.code === curr)[0].description || ''; + const thisRace = raceField?.categoricalOptions?.filter(el => el.code === curr)[0].description || ''; if (acc.filter(es => es.type === thisRace).length === 0) { acc.push({ type: thisRace, value: 0 }); } @@ -429,13 +429,13 @@ interface GroupedData { } } -export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IFieldEntry[], project: IProject }> = ({ ontologyTree, fields, project }) => { +export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IField[], project: IProject }> = ({ ontologyTree, fields, project }) => { const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const [selectedGraphType, setSelectedGraphType] = useState(undefined); const routes: IOntologyRoute[] = ontologyTree.routes?.filter(es => { return JSON.stringify([...es.path, es.name]) === JSON.stringify(selectedPath); }) || []; - const field: IFieldEntry | undefined = fields.filter(el => { + const field: IField | undefined = fields.filter(el => { return el.fieldId.toString() === routes[0]?.field[0]?.replace('$', ''); })[0]; //construct the cascader @@ -502,7 +502,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }} > { - [enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === field?.fieldId)[0]?.dataType) ? + [enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === field?.fieldId)[0]?.dataType) ? <> @@ -588,7 +588,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT return ; } let processedData: Array<{ x: string, y: number } | { visit: string, value: string, count: number }> = []; - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { if (el === '99999') { @@ -598,7 +598,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }); return acc; }, [] as { x: string, y: number }[]); - } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { + } else if ([enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { let count = 0; data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { @@ -640,7 +640,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT high: sortedY[sortedY.length - 1] }; }); - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) return selectedGraphType === 'violin' ? ); }; -export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IFieldEntry[] }> = ({ studyId, projectId, ontologyTree, fields }) => { +export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IField[] }> = ({ studyId, projectId, ontologyTree, fields }) => { const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const requestedFields = ontologyTree.routes?.filter(el => { if (JSON.stringify(el.path) === JSON.stringify(selectedPath)) { @@ -756,7 +756,7 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project showTitle: false, fields: ['visit', 'field', 'percentage'], formatter: (datum) => { - const field: IFieldEntry | undefined = fields.filter(el => el.fieldId === datum.field)[0]; + const field: IField | undefined = fields.filter(el => el.fieldId === datum.field)[0]; let name; if (field) { name = field.fieldId.concat('-').concat(field.fieldName); diff --git a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx index e3364959b..591f53339 100644 --- a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx @@ -1,8 +1,8 @@ import { FunctionComponent } from 'react'; -import { enumValueType, IFieldEntry } from '@itmat-broker/itmat-types'; +import { enumDataTypes, IField } from '@itmat-broker/itmat-types'; import { Table, Tooltip } from 'antd'; -export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IFieldEntry[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { +export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IField[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { const possibleValuesColumns = [ { title: 'Code', @@ -54,10 +54,10 @@ export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedL dataIndex: 'dataType', key: 'dataType', render: (__unused__value, record) => { - if (record.dataType === enumValueType.CATEGORICAL) { + if (record.dataType === enumDataTypes.CATEGORICAL) { return
}> {record.dataType} diff --git a/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx b/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx index fcda13f85..dbabbe4d6 100644 --- a/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx @@ -2,7 +2,7 @@ import { FunctionComponent, useState } from 'react'; import { useMutation, useQuery } from '@apollo/client/react/hooks'; import { Table, Button, notification, Tooltip } from 'antd'; import { DELETE_FILE, WHO_AM_I, GET_ORGANISATIONS, GET_USERS } from '@itmat-broker/itmat-models'; -import { IFile, userTypes } from '@itmat-broker/itmat-types'; +import { IFile, enumUserTypes } from '@itmat-broker/itmat-types'; import { DeleteOutlined, CloudDownloadOutlined, SwapRightOutlined, NumberOutlined } from '@ant-design/icons'; import { ApolloError } from '@apollo/client/errors'; import dayjs from 'dayjs'; @@ -186,7 +186,7 @@ export const FileList: FunctionComponent<{ files: IFile[], searchTerm: string | width: '10rem', key: 'download' }] - .concat(!loadingWhoAmI && dataWhoAmI?.whoAmI?.type === userTypes.ADMIN ? [ + .concat(!loadingWhoAmI && dataWhoAmI?.whoAmI?.type === enumUserTypes.ADMIN ? [ { render: (__unused__value, record) => (
- {whoAmIData.whoAmI.type === userTypes.ADMIN ? + {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ?
isActive ? css.clickedButton : undefined}>
Users
: null } - {(whoAmIData.whoAmI.type === userTypes.ADMIN || whoAmIData.whoAmI.metadata?.logPermission) ? + {(whoAmIData.whoAmI.type === enumUserTypes.ADMIN || whoAmIData.whoAmI.metadata?.logPermission) ?
isActive ? css.clickedButton : undefined}>
Logs
@@ -69,14 +69,14 @@ export const MainMenuBar: FunctionComponent = ({ projects }) = isActive ? css.clickedButton : undefined}>
{ - (whoAmIData.whoAmI.type !== userTypes.ADMIN && dayjs().add(2, 'week').valueOf() - dayjs(whoAmIData.whoAmI.expiredAt).valueOf() > 0) ? + (whoAmIData.whoAmI.type !== enumUserTypes.ADMIN && dayjs().add(2, 'week').valueOf() - dayjs(whoAmIData.whoAmI.expiredAt).valueOf() > 0) ? <> My Account : <> My Account }
- {(whoAmIData.whoAmI.type === userTypes.ADMIN || whoAmIData.whoAmI.metadata?.aePermission === true) + {(whoAmIData.whoAmI.type === enumUserTypes.ADMIN || whoAmIData.whoAmI.metadata?.aePermission === true) ?
isActive ? css.clickedButton : undefined}>
Analytical Environment
diff --git a/packages/itmat-ui-react/src/components/users/userDetails.tsx b/packages/itmat-ui-react/src/components/users/userDetails.tsx index c9fe463e4..43af1fde3 100644 --- a/packages/itmat-ui-react/src/components/users/userDetails.tsx +++ b/packages/itmat-ui-react/src/components/users/userDetails.tsx @@ -1,7 +1,7 @@ import { FunctionComponent, useState } from 'react'; import { Mutation } from '@apollo/client/react/components'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; -import { IGenericResponse, IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IGenericResponse, IOrganisation, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import { WHO_AM_I, DELETE_USER, EDIT_USER, GET_USERS, REQUEST_USERNAME_OR_RESET_PASSWORD, GET_ORGANISATIONS, GET_STUDY } from '@itmat-broker/itmat-models'; import { Subsection } from '../reusable'; import LoadSpinner from '../reusable/loadSpinner'; @@ -98,7 +98,7 @@ export const UserDetailsSection: FunctionComponent = () => { type EditUser = IUserWithoutToken & { organisation: string, - type: userTypes, + type: enumUserTypes, metadata: { [key: string]: unknown, aePermission: boolean, @@ -152,7 +152,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce org.id === user.organisation)?.id }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> @@ -218,7 +218,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce - {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === userTypes.ADMIN + {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === enumUserTypes.ADMIN ? <>     - -
- } -
-
- -
-
- -
- -
- ); -}; - -type AddRoleProps = { - studyId: string; - projectId?: string; -} - -export const AddRole: FunctionComponent = ({ - studyId, - projectId -}) => { - - const [isExpanded, setIsExpanded] = useState(false); - const [addNewRole, { - data: createRoleData, - loading: createRoleLoading, - error: createRoleError - }] = useMutation(ADD_NEW_ROLE, { - onCompleted: () => { setIsExpanded(false); }, - refetchQueries: projectId ? [{ - query: GET_PROJECT, - variables: { - projectId, - admin: true - } - }] : [{ - query: GET_STUDY, - variables: { - studyId, - admin: true - } - }], - onError: () => { return; } - }); - - if (!isExpanded) - return ( - <> - -
- - ); - - return ( -
- { - addNewRole({ - variables: { - ...variables, - studyId, - projectId - } - }).catch(() => { return; }); - }}> - - - - {createRoleError ? ( - <> - error.message).join()} /> -
- - ) : null} - {createRoleData?.successful ? ( - <> - -
- - ) : null} - - -     - - - -
- ); -}; - -type PermissionsControlPanelProps = { - role: IRoleQL -} - -type EditRole = { - roleId: string; - permissionChanges: { - data: { - subjectIds: string[], - visitIds: string[], - fieldIds: string[], - uploaders: string[], - hasVersioned: boolean, - operations: string[], - filters: ICohortSelection[][] - }, - manage: { - own: atomicOperation[], - role: atomicOperation[], - job: atomicOperation[], - query: atomicOperation[], - ontologyTrees: atomicOperation[] - } - }, - description: string -} - -const PermissionsControlPanel: FunctionComponent = ({ - role -}) => { - const filterColumns = function (remove) { - return [ - { - title: 'Field', - width: '50%', - dataIndex: 'field', - key: 'field', - align: 'center' as const, - render: (__unused__value, __unused__record, index) => { - return ( - - - - ); - } - }, - { - title: 'Op', - width: '20%', - dataIndex: 'op', - key: 'op', - align: 'center' as const, - render: (__unused__value, __unused__record, index) => { - return ( - - - - ); - } - }, - { - title: 'Threshold', - width: '20%', - dataIndex: 'threshold', - key: 'threshold', - align: 'center' as const, - render: (__unused__value, __unused__record, index) => { - return ( - - - - ); - } - }, - { - title: 'Delete', - width: '10%', - dataIndex: 'delete', - key: 'delete', - align: 'center' as const, - render: (__unused__value, record) => { - return ( - remove(record.name)} /> - ); - } - } - ]; - }; - return ( - - mutation={EDIT_ROLE} - // onCompleted={() => setSavedSuccessfully(true)} - > - {(submit, { loading, error }) => -
{ - submit({ - variables: { - roleId: role.id, - permissionChanges: { - data: { - subjectIds: variables.subjectIds, - visitIds: variables.visitIds, - fieldIds: variables.fieldIds, - uploaders: variables.uploaders, - hasVersioned: variables.hasVersioned, - operations: variables.operations, - filters: variables.filters - }, - manage: { - own: variables.own, - role: variables.role, - job: variables.job, - query: variables.query, - ontologyTrees: variables.ontologyTrees - } - }, - description: variables.description - } - }).catch(() => { return; }); - }}> -
-
- - - -
-
- Data Permissions - - - - - - - - - - - - - - { - return { label: el, value: atomicOperation[el] }; - })} - /> - - - - - - - - - - {(filters, { add, remove }) => { - return ( -
- Variable Filter add()} /> - { - filters.length > 0 ? -
- : - null - } -
- ); - }} -
-
-
- Management Permissions - - -
- - { - return { label: el, value: atomicOperation[el] }; - })} - /> - -
- - -
- - { - return { label: el, value: atomicOperation[el] }; - })} - /> - -
- - -
- - { - return { label: el, value: atomicOperation[el] }; - })} - /> - -
- - -
- - { - return { label: el, value: atomicOperation[el] }; - })} - /> - -
- - -
- - { - return { label: el, value: atomicOperation[el] }; - })} - /> - -
- -
-
- - {error ? ( - <> - error.message).join()} /> -
- - ) : null} - {loading ? ( - - ) : null} -
-
- } - - - ); -}; - -type UsersControlPanelProps = { - roleId: string; - studyId: string; - projectId?: string; - availableUserList: IUser[]; - originallySelectedUsers: IUser[]; - permissions; -} - -const UsersControlPanel: FunctionComponent = ({ - roleId, - availableUserList, - originallySelectedUsers, - permissions -}) => { - - const [editUsers, { loading }] = useMutation(EDIT_ROLE); - const { loading: getOrgsLoading, error: getOrgsError, data: getOrgsData } = useQuery(GET_ORGANISATIONS); - - const handleSelect = (value: string) => { - editUsers({ - variables: { - roleId, - userChanges: { - add: [value], - remove: [] - }, - permissionChanges: permissions - } - }).catch(() => { return; }); - }; - - const handleDeselect = (value: string) => { - editUsers({ - variables: { - roleId, - userChanges: { - add: [], - remove: [value] - }, - permissionChanges: permissions - } - }).catch(() => { return; }); - }; - - const handleFilter = (value: string, option) => { - const searchTerm = value?.trim()?.toLocaleLowerCase(); - const user = availableUserList.filter(user => user.id === option.value)?.[0]; - if (!user || !searchTerm || searchTerm === '') - return false; - return user.firstname.toLocaleLowerCase().includes(value) - || user.lastname.toLocaleLowerCase().includes(value); - }; - - const tagRender = (props) => { - - const { label, value, onClose } = props; - - return ( - { - editUsers({ - variables: { - roleId, - userChanges: { - add: [], - remove: [value] - }, - permissionChanges: permissions - } - }).then(() => { - onClose(); - }).catch(() => { return; }); - }} - > - {label} - - ); - }; - - if (getOrgsLoading) - return ; - - if (getOrgsError) - return
- An error occured, please contact your administrator: {getOrgsError.message} -
; - - const sites = getOrgsData.getOrganisations.filter(org => org.metadata?.siteIDMarker).reduce((prev, current) => ({ - ...prev, - [current.metadata.siteIDMarker]: current.name - }), {}); - - return ( - > - mode='multiple' - loading={loading} - style={{ width: '100%' }} - placeholder='Add users to this role' - tokenSeparators={[',', ';']} - value={originallySelectedUsers.map(user => user.id)} - filterOption={handleFilter} - onSelect={handleSelect} - onDeselect={handleDeselect} - tagRender={tagRender} - > - { - availableUserList.map((user, index) => ( - - {user.firstname} {user.lastname} {sites[user.organisation] ? `(${sites[user.organisation]})` : ''} - - )) - } - - ); -}; - -const ops: string[] = ['=', '!=', '<', '>', '>=', '<=']; diff --git a/packages/itmat-ui-react/webpack.config.js b/packages/itmat-ui-react/webpack.config.js index ea257eaba..7a63c8ca7 100644 --- a/packages/itmat-ui-react/webpack.config.js +++ b/packages/itmat-ui-react/webpack.config.js @@ -9,14 +9,30 @@ module.exports = composePlugins( withReact(), (config, context) => { - config.externals = [{ + config.resolve.alias = { fs: 'empty', http: require.resolve('stream-http'), https: require.resolve('https-browserify'), url: require.resolve('url/'), path: require.resolve('path-browserify'), stream: require.resolve('stream-browserify') - }]; + }; + + config.externals = function (context, request, callback) { + const externals = { + 'fs': 'empty', + 'stream-http': 'stream-http', + 'https-browserify': 'https-browserify', + 'url/': 'url', + 'path-browserify': 'path-browserify', + 'stream-browserify': 'stream-browserify' + }; + + if (externals[request]) { + return callback(null, `commonjs ${externals[request]}`); + } + callback(); + }; const baseHref = context?.options?.baseHref ?? '/'; @@ -31,13 +47,6 @@ module.exports = composePlugins( Buffer: ['buffer', 'Buffer'] })); - config.optimization = { - concatenateModules: false - }; - - // Enable source maps for easier debugging - config.devtool = 'source-map'; - return config; } -); +); \ No newline at end of file From bb9cef51a4b65ac46c73f1c227a9b3d64b76e387 Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Wed, 5 Jun 2024 16:46:45 +0100 Subject: [PATCH 166/252] fix(std): Fix the issue that empty data will be pushed into std pipeline --- packages/itmat-cores/src/utils/query.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/itmat-cores/src/utils/query.ts b/packages/itmat-cores/src/utils/query.ts index 2e561680e..583464319 100644 --- a/packages/itmat-cores/src/utils/query.ts +++ b/packages/itmat-cores/src/utils/query.ts @@ -238,7 +238,7 @@ export function standardize(study: IStudy, fields: IFieldEntry[], data: IGrouped } for (const subjectId of Object.keys(data)) { for (const visitId of Object.keys(data[subjectId])) { - if (data[subjectId][visitId][field.fieldId] === null) { + if (data[subjectId][visitId][field.fieldId] === null || data[subjectId][visitId][field.fieldId] === undefined) { continue; } const dataClip: Record = {}; From efbd0b6b9edd47e6133c8b8fbed42b839e0ab205 Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Mon, 10 Jun 2024 20:39:18 +0100 Subject: [PATCH 167/252] feat(trpc-study): Add the trpc study backend --- packages/itmat-cores/src/index.ts | 1 + packages/itmat-cores/src/trpcCore/fileCore.ts | 2 +- .../src/trpcCore/permissionCore.ts | 21 + .../itmat-cores/src/trpcCore/studyCore.ts | 431 ++++++++- .../src/trpc/studyProcedure.ts | 107 +++ .../itmat-interface/src/trpc/tRPCRouter.ts | 4 +- .../test/GraphQLTests/file.test.ts | 3 + .../test/filesForTests/dsi.jpeg | Bin 0 -> 5139 bytes .../test/trpcTests/study.test.ts | 829 ++++++++++++++++++ .../test/trpcTests/user.test.ts | 1 + 10 files changed, 1392 insertions(+), 7 deletions(-) create mode 100644 packages/itmat-cores/src/trpcCore/permissionCore.ts create mode 100644 packages/itmat-interface/src/trpc/studyProcedure.ts create mode 100644 packages/itmat-interface/test/filesForTests/dsi.jpeg create mode 100644 packages/itmat-interface/test/trpcTests/study.test.ts diff --git a/packages/itmat-cores/src/index.ts b/packages/itmat-cores/src/index.ts index 0c4a5357f..a67431da3 100644 --- a/packages/itmat-cores/src/index.ts +++ b/packages/itmat-cores/src/index.ts @@ -15,6 +15,7 @@ export * from './trpcCore/driveCore'; export * from './trpcCore/fileCore'; export * from './trpcCore/studyCore'; export * from './trpcCore/userCore'; +export * from './trpcCore/permissionCore'; export * from './rest/fileDownload'; export * from './authentication/pubkeyAuthentication'; export * from './log/logPlugin'; diff --git a/packages/itmat-cores/src/trpcCore/fileCore.ts b/packages/itmat-cores/src/trpcCore/fileCore.ts index 6b7db3dd6..6584eeeda 100644 --- a/packages/itmat-cores/src/trpcCore/fileCore.ts +++ b/packages/itmat-cores/src/trpcCore/fileCore.ts @@ -25,9 +25,9 @@ export class TRPCFileCore { * @param studyId - The id of the study. Could be null for non-study files. * @param userId - The id of the user. * @param fileUpload - The file to upload. - * @param description - The description of the file. * @param fileType - The type of the file. * @param fileCategory - The category of the file. + * @param description - The description of the file. * @param properties - The properties of the file. Note if the data is attached to a field, the fieldproperties will be used. * * @return IFile - The object of IFile. diff --git a/packages/itmat-cores/src/trpcCore/permissionCore.ts b/packages/itmat-cores/src/trpcCore/permissionCore.ts new file mode 100644 index 000000000..455227323 --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/permissionCore.ts @@ -0,0 +1,21 @@ +import { IUserWithoutToken } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; + +export class TRPCPermissionCore { + db: DBType; + constructor(db: DBType) { + this.db = db; + } + + /** + * Get the roles of a user. + * + * @param user + * @param studyId + * @returns + */ + public async getRolesOfUser(user: IUserWithoutToken, studyId?: string) { + return studyId ? await this.db.collections.roles_collection.find({ 'studyId': studyId, 'users': user.id, 'life.deletedTime': null }).toArray() : + await this.db.collections.roles_collection.find({ 'users': user.id, 'life.deletedTime': null }).toArray(); + } +} \ No newline at end of file diff --git a/packages/itmat-cores/src/trpcCore/studyCore.ts b/packages/itmat-cores/src/trpcCore/studyCore.ts index 081c4a504..a3ad665e5 100644 --- a/packages/itmat-cores/src/trpcCore/studyCore.ts +++ b/packages/itmat-cores/src/trpcCore/studyCore.ts @@ -1,14 +1,22 @@ import { ObjectStore } from '@itmat-broker/itmat-commons'; import { DBType } from '../database/database'; -import { CoreError, IStudy, enumCoreErrors } from '@itmat-broker/itmat-types'; -import { Filter } from 'mongodb'; +import { CoreError, FileUpload, IFile, IStudy, IStudyDataVersion, IUserWithoutToken, enumConfigType, enumCoreErrors, enumFileCategories, enumFileTypes, enumStudyRoles, enumUserTypes } from '@itmat-broker/itmat-types'; +import { Filter, UpdateFilter } from 'mongodb'; +import { TRPCPermissionCore } from './permissionCore'; +import { v4 as uuid } from 'uuid'; +import { TRPCFileCore } from './fileCore'; +import { makeGenericReponse } from '../utils'; export class TRPCStudyCore { db: DBType; objStore: ObjectStore; - constructor(db: DBType, objStore: ObjectStore) { + permissionCore: TRPCPermissionCore; + fileCore: TRPCFileCore; + constructor(db: DBType, objStore: ObjectStore, permissionCore: TRPCPermissionCore, fileCore: TRPCFileCore) { this.db = db; this.objStore = objStore; + this.permissionCore = permissionCore; + this.fileCore = fileCore; } /** * Get the info of a study. @@ -17,13 +25,28 @@ export class TRPCStudyCore { * * @return IStudy - The object of IStudy. */ - public async getStudies(studyId: string | null): Promise { + public async getStudies(requester: IUserWithoutToken | undefined, studyId?: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + + if (requester.type === 'ADMIN') { + return studyId ? await this.db.collections.studies_collection.find({ 'id': studyId, 'life.deletedTime': null }).toArray() : + await this.db.collections.studies_collection.find({ 'life.deletedTime': null }).toArray(); + } + const roleStudyIds = (await this.permissionCore.getRolesOfUser(requester)).map(role => role.studyId); + const query: Filter = { 'life.deletedTime': null }; if (studyId) { query.id = studyId; + } else { + query.id = { $in: roleStudyIds }; } const studies = await this.db.collections.studies_collection.find(query).toArray(); - if (studies.length === 0) { + if (studies.length === 0 && studyId) { throw new CoreError( enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, 'Study does not exist.' @@ -31,4 +54,402 @@ export class TRPCStudyCore { } return studies; } + + /** + * Create a study. + * + * @param requester - The id of the requester. + * @param studyName - The name of the study. + * @param description - The description of the study. + * + * @return IStudy - The object of the IStudy. + */ + public async createStudy(requester: IUserWithoutToken | undefined, studyName: string, description?: string, profile?: FileUpload): Promise> { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + + if (requester.type !== 'ADMIN') { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'Only admin can create a study.' + ); + } + + const studyId = uuid(); + const existing = await this.db.collections.studies_collection.findOne({ 'name': studyName, 'life.deletedTime': null }); + if (existing) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Study name already used.' + ); + } + + const studyEntry: IStudy = { + id: studyId, + name: studyName, + currentDataVersion: -1, + dataVersions: [], + description: description ?? '', + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + await this.db.collections.studies_collection.insertOne(studyEntry); + let fileEntry: IFile | null = null; + if (profile) { + if (!Object.keys(enumFileTypes).includes((profile?.filename?.split('.').pop() || '').toUpperCase())) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'File type not supported.' + ); + } + fileEntry = await this.fileCore.uploadFile(requester, studyId, null, profile, enumFileTypes[(profile.filename.split('.').pop() || '').toUpperCase() as keyof typeof enumFileTypes], enumFileCategories.PROFILE_FILE); + await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId }, { + $set: { + profile: fileEntry.id + } + }, { + returnDocument: 'after' + }); + + // create a default study config + await this.db.collections.configs_collection.insertOne({ + id: uuid(), + type: enumConfigType.STUDYCONFIG, + key: studyEntry.id, + properties: { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultStudyProfile: null, + defaultMaximumFileSize: 8 * 1024 * 1024 * 1024, // 8 GB, + defaultRepresentationForMissingValue: '99999', + defaultFileColumns: [], + defaultFileColumnsPropertyColor: 'black', + defaultFileDirectoryStructure: { + pathLabels: [], + description: null + }, + defaultVersioningKeys: [] + }, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }); + return { + ...studyEntry, + profile: fileEntry.id + }; + } + return studyEntry; + } + + /** + * Edit the description of the study. + * + * @param requester - The requester. + * @param studyId - The id of the study. + * @param name - The name of the study. + * @param description - The description of the study. + * @param profile - The profile of the study. + * + * @return IStudy - The object of IStudy + */ + public async editStudy(requester: IUserWithoutToken | undefined, studyId: string, name?: string, description?: string, profile?: FileUpload) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + const roleStudyRoles: enumStudyRoles[] = (await this.permissionCore.getRolesOfUser(requester, studyId)).map(role => role.studyRole); + if (requester.type !== enumUserTypes.ADMIN && !roleStudyRoles.includes(enumStudyRoles.STUDY_MANAGER)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'Only admin or study manager can edit a study.' + ); + } + + const study = await this.db.collections.studies_collection.findOne({ 'id': studyId, 'life.deletedTime': null }); + if (!study) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Study does not exist.' + ); + } + + const setObj: UpdateFilter = {}; + let fileEntry; + if (profile) { + try { + if (!Object.keys(enumFileTypes).includes((profile?.filename?.split('.').pop() || '').toUpperCase())) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'File format not supported' + ); + } + fileEntry = await this.fileCore.uploadFile(requester, studyId, null, profile, enumFileTypes[(profile.filename.split('.').pop() || '').toUpperCase() as keyof typeof enumFileTypes], enumFileCategories.PROFILE_FILE); + setObj['profile'] = fileEntry.id; + } catch (error) { + setObj['profile'] = study.profile; + } + } + if (name) { + if (name !== study.name) { + const existing = await this.db.collections.studies_collection.findOne({ 'name': name, 'life.deletedTime': null }); + if (existing) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Study name already used.' + ); + } + } + setObj['name'] = name; + } + if (description) { + setObj['description'] = description; + } + const response = await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId }, { + $set: setObj + }, { + returnDocument: 'after' + }); + return response; + + } + /** + * Delete a study. + * + * @param requester - The id of the requester. + * @param studyId - The id of the study. + * + * @return IGenericResponse - The obejct of IGenericResponse. + */ + public async deleteStudy(requester: IUserWithoutToken | undefined, studyId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + + if (requester.type !== 'ADMIN') { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'Only admin can delete a study.' + ); + } + + const study = await this.db.collections.studies_collection.findOne({ 'id': studyId, 'life.deletedTime': null }); + if (!study) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Study does not exist.' + ); + } + + const timestamp = new Date().valueOf(); + /* delete the study */ + await this.db.collections.studies_collection.findOneAndUpdate({ 'id': studyId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': timestamp, 'life.deletedUser': requester } }); + + /* delete all projects related to the study */ + await this.db.collections.projects_collection.updateMany({ 'studyId': studyId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': timestamp, 'life.deletedUser': requester } }); + + /* delete all roles related to the study */ + // await this.localPermissionCore.removeRoleFromStudyOrProject({ studyId }); + + /* delete all files belong to the study*/ + await this.db.collections.files_collection.updateMany({ 'studyId': studyId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': timestamp, 'life.deletedUser': requester } }); + + /* delete all fields belong to the study*/ + await this.db.collections.field_dictionary_collection.updateMany({ 'studyId': studyId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': timestamp, 'life.deletedUser': requester } }); + + /* delete all data belong to the study*/ + await this.db.collections.data_collection.updateMany({ 'studyId': studyId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': timestamp, 'life.deletedUser': requester } }); + + /* delete all config belong to the study*/ + await this.db.collections.configs_collection.updateMany({ 'type': enumConfigType.STUDYCONFIG, 'key': studyId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': timestamp, 'life.deletedUser': requester } }); + + return makeGenericReponse(studyId, true, undefined, `Study ${study.name} has been deleted.`); + } + /** + * Create a new data version of the study. + * + * @param requester - The id of the requester. + * @param studyId - The id of the study. + * @param tag - The tag of the study. + * @param dataVersion - The new version of the study. Use float number. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + public async createDataVersion(requester: IUserWithoutToken | undefined, studyId: string, tag: string, dataVersion: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + + const roleStudyRoles: enumStudyRoles[] = (await this.permissionCore.getRolesOfUser(requester)).map(role => role.studyRole); + if (requester.type !== enumUserTypes.ADMIN && !roleStudyRoles.includes(enumStudyRoles.STUDY_MANAGER)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'Only admin or study manager can create a study version.' + ); + } + + const study = await this.db.collections.studies_collection.findOne({ 'id': studyId, 'life.deletedTime': null }); + if (!study) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Study does not exist.' + ); + } + + const decimalRegex = /^[0-9]+(\.[0-9]+)?$/; + if (!decimalRegex.test(dataVersion)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Version must be a float number.' + ); + } + + if (study.dataVersions.map(el => el.version).includes(dataVersion)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Version has been used.' + ); + } + + const newDataVersionId = uuid(); + + + // update data + const resData = await this.db.collections.data_collection.updateMany({ + studyId: studyId, + dataVersion: null + }, { + $set: { + dataVersion: newDataVersionId + } + }); + // update field + const resField = await this.db.collections.field_dictionary_collection.updateMany({ + studyId: studyId, + dataVersion: null + }, { + $set: { + dataVersion: newDataVersionId + } + }); + + // TODO: invalidate hash + // await this.db.collections.cache_collection.updateMany({ + // 'keys.studyId': studyId + // }, { + // $set: { + // status: enumCacheStatus.OUTDATED + // } + // }); + + // TODO: update stds, ontologies + + // TODO: update cold storage + + + const newDataVersion: IStudyDataVersion = { + id: newDataVersionId, + version: dataVersion, + tag: tag, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + await this.db.collections.studies_collection.updateOne({ id: studyId }, { + $push: { dataVersions: newDataVersion }, + $inc: { + currentDataVersion: 1 + } + }); + if (resData.modifiedCount === 0 && resField.modifiedCount === 0) { + throw new CoreError( + enumCoreErrors.UNQUALIFIED_ERROR, + 'Nothing to update.' + ); + } + } + + /** + * Set a data version as the current data version of a study. + * + * @param requester - The requester. + * @param studyId - The id of the study. + * @param dataVersionId - The id of the data version. + * @returns IGenericResponse + */ + public async setDataversionAsCurrent(requester: IUserWithoutToken | undefined, studyId: string, dataVersionId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + + /* check privileges */ + const roleStudyRoles: enumStudyRoles[] = (await this.permissionCore.getRolesOfUser(requester)).map(role => role.studyRole); + if (requester.type !== enumUserTypes.ADMIN && !roleStudyRoles.includes(enumStudyRoles.STUDY_MANAGER)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'Only admin or study manager can set a study version.' + ); + } + + const study = await this.db.collections.studies_collection.findOne({ 'id': studyId, 'life.deletedTime': null }); + if (!study) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Study does not exist.' + ); + } + + /* check whether the dataversion exists */ + const selectedataVersionFiltered = study.dataVersions.filter((el) => el.id === dataVersionId); + if (selectedataVersionFiltered.length !== 1) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Data version does not exist.' + ); + } + + /* update the currentversion field in database */ + const versionIdsList = study.dataVersions.map((el) => el.id); + await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { + $set: { currentDataVersion: versionIdsList.indexOf(dataVersionId) } + }, { + returnDocument: 'after' + }); + + return makeGenericReponse(studyId, true, undefined, `Data version ${dataVersionId} has been set as the current version of study ${study.name}.`); + } } \ No newline at end of file diff --git a/packages/itmat-interface/src/trpc/studyProcedure.ts b/packages/itmat-interface/src/trpc/studyProcedure.ts new file mode 100644 index 000000000..707d15541 --- /dev/null +++ b/packages/itmat-interface/src/trpc/studyProcedure.ts @@ -0,0 +1,107 @@ +import { IUser, FileUploadSchema } from '@itmat-broker/itmat-types'; +import { z } from 'zod'; +import { baseProcedure, router } from './trpc'; +import { TRPCFileCore, TRPCPermissionCore, TRPCStudyCore } from '@itmat-broker/itmat-cores'; +import { db } from '../database/database'; +import { objStore } from '../objStore/objStore'; + +const studyCore = new TRPCStudyCore(db, objStore, new TRPCPermissionCore(db), new TRPCFileCore(db, objStore)); + +export const studyRouter = router({ + /** + * Get the info of studies. + * + * @param studyId - The if of the study. + * + * @return Partial + */ + getStudies: baseProcedure.input(z.object({ + studyId: z.optional(z.string()) + })).query(async (opts) => { + const requester: IUser = opts.ctx.req?.user ?? opts.ctx.user; + // if (opts.input.studyId) { + // await permissionCore.checkOperationPermissionByUser(requester.id, opts.input.studyId); + // } + return await studyCore.getStudies(requester, opts.input.studyId); + }), + /** + * Create a study. + * + * @param name - The name of the study. + * @param description - The description of the study. + * @param profile - The profile of the study. + * + * @return IStudy + */ + createStudy: baseProcedure.input(z.object({ + name: z.string(), + description: z.optional(z.string()), + files: z.optional(z.object({ + profile: z.optional(z.array(FileUploadSchema)) + })) + })).mutation(async (opts) => { + return await studyCore.createStudy(opts.ctx.req.user, opts.input.name, opts.input.description, opts.input.files?.profile?.[0]); + }), + /** + * Edit a study. + * + * @param studyId - The id of the study. + * @param name - The name of the study. + * @param description - The description of the study. + * @param profile - The profile of the user. + * + * @return Partial + */ + editStudy: baseProcedure.input(z.object({ + studyId: z.string(), + name: z.optional(z.string()), + description: z.optional(z.string()), + files: z.optional(z.object({ + profile: z.optional(z.array(FileUploadSchema)) + })) + })).mutation(async (opts) => { + return await studyCore.editStudy(opts.ctx.req.user, opts.input.studyId, opts.input.name, opts.input.description, opts.input.files?.profile?.[0]); + }), + /** + * Delete a study. + * + * @param studyId - The id of the study. + * + * @return IGenericResponse - The obejct of IGenericResponse. + */ + deleteStudy: baseProcedure.input(z.object({ + studyId: z.string() + })).mutation(async (opts) => { + return await studyCore.deleteStudy(opts.ctx.req.user, opts.input.studyId); + }), + /** + * Create a new data version of the study. + * + * @param studyId - The id of the study. + * @param tag - The tag of the study. + * @param dataVersion - The new version of the study. User float number. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + createDataVersion: baseProcedure.input(z.object({ + studyId: z.string(), + dataVersion: z.string(), + tag: z.string() + })).mutation(async (opts) => { + return await studyCore.createDataVersion(opts.ctx.req.user, opts.input.studyId, opts.input.tag, opts.input.dataVersion); + }), + /** + * Set a data version as the current data version of a study. + * + * @param studyId - The id of the study. + * @param dataVersionId - The id of the data version. + * + * @return IGenreicResponse + */ + setDataversionAsCurrent: baseProcedure.input(z.object({ + studyId: z.string(), + dataVersionId: z.string() + })).mutation(async (opts) => { + return await studyCore.setDataversionAsCurrent(opts.ctx.req.user, opts.input.studyId, opts.input.dataVersionId); + }) +}); \ No newline at end of file diff --git a/packages/itmat-interface/src/trpc/tRPCRouter.ts b/packages/itmat-interface/src/trpc/tRPCRouter.ts index 4c46694d5..32e890945 100644 --- a/packages/itmat-interface/src/trpc/tRPCRouter.ts +++ b/packages/itmat-interface/src/trpc/tRPCRouter.ts @@ -1,10 +1,12 @@ import { driveRouter } from './driveProcedure'; +import { studyRouter } from './studyProcedure'; import { router } from './trpc'; import { userRouter } from './userProcedure'; export const tRPCRouter = router({ user: userRouter, - drive: driveRouter + drive: driveRouter, + study: studyRouter }); export type APPTRPCRouter = typeof tRPCRouter; \ No newline at end of file diff --git a/packages/itmat-interface/test/GraphQLTests/file.test.ts b/packages/itmat-interface/test/GraphQLTests/file.test.ts index 4a669e5b0..d1a7acf07 100644 --- a/packages/itmat-interface/test/GraphQLTests/file.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/file.test.ts @@ -64,6 +64,9 @@ if (global.hasMinio) { }, 10000); describe('FILE API', () => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + let adminId: string; + beforeAll(async () => { /* setup: first retrieve the generated user id */ const result = await mongoClient.collection(config.database.collections.users_collection).find({}, { projection: { id: 1, username: 1 } }).toArray(); diff --git a/packages/itmat-interface/test/filesForTests/dsi.jpeg b/packages/itmat-interface/test/filesForTests/dsi.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f78e06878b5a398b580783aef7f6d88f9da2ed00 GIT binary patch literal 5139 zcmeH~XEfa3y2pPQ22r9*^iFgJ(UKr~kkLaBJ!--rN|Z!GbVf@=h?YsBM{g0L2Ek}y z7;TI?qKJaTtbSf*JV^B zWFay{6ciLxm#A2&saa)s*m-3B$3gf8(2)Z@Ko1EKFF;I3L_$YI=pf1m03uSNzX$MV z5D}ArNXfwD6qJ`P1H?omB*Y*RQc@7;VrS^Z8UUgrrRR}WBV&NtgL!=zWuB$vk@Kln zwlNtGZ}H1I_&%qgWM*N#a#cW3NLb_=L{47ex}uWCZA~q09bG*WQ!{f5%X?OiPR=f_ z58d2he*OVZ0)v7hU%ZTpeiai7PfbhD$b9`KE5D$y=mX;8r_W!is%vWN>Khu{zjt(Y zb@%lCK#q)#jZgfVoSI))#4KT#S60`ycXs#o@dt-T$3y_hKX5L_e*pa#9=Z!2Vi1S~ z1pb4Ei1^8cNa#SMJkn(JYEZDf4+F2vGjc}tl)TC|3O-rmEhY!wVM=Cx$h^SzA4q>E z`tJcf|6dXP3+P`wgeicEgy`bJNa%o@0On(UEIx@}I6oHnzf~@y%+C{^7>uVYd0}=K zBk)7G4GelPy6WtUm$5Ao^UC*O>z%aR<0=w;M#>1iLmVso{x4PfIKw=sn@8G*yC1(@ za6I+Mb_$cTP2VKaWHbTtV}<`I5?EX7j^ZlU{$B3S>cyt|ale~%f(Y5^vv{%boqkk~ z;4bl;^fHKEdL$O>x4v3EpoKo3ee{kb+Tc4M-+1Y)$AQIo)R3l^m-ir6m!sNRrE9}- z|N0;-_9xWaLR_zBI#oUT1Z<*ULoci0U{9 zKp3Tn;|vBOE|Gp0ee{b$nRcK$={0_^MLqsN8UBy{j*XWM&CLT z;zVlBp5ZCg3nnWV@>e!R3L!D0LP#up?oM5b2v5X)&rn2wY)@AZ&Q#KW@)4vBA^xtY z=JUYv=UXLGm9o`H_iYy+cq@{Fgq?qO(d3InL z$`V%nGO9yicPE(q+2Ww!%s19fUH5Umrcr$E%O6XINsF+N#cOodq1oS6zjV{<^cUCP z*hJ(uO6R2IZl%rk28GD=n@`Z8dAsGBU)^@LV7o=B#^%#SZJKG3j{7aX_#90xfmR4y zFeZN8b}1en{%ToqfKp~1L*20^XG5Y_>7~`SP!+vVi^^|Odj6*H%`JY`gFTf9;z(o` zB!LT;arME-t^gV?F@@%n(|48rNzFT{-;Scg`*!0QAt?}zv}Hrs#|H@GEG+dLVUuU z17!48_%yvDB#?^y45_(A9;m>OJI^2=B^|2hY^_Rm(S2c+x-?sQIQ2yyE!lKMYy-+G z*wSys)AdVLbJWb_+=;rhH1m2wi44Uum^b~Yn#h;Bx`v7`O&(6tZIG4DVZ$(6R$?+k z1(H~A8TvHcX3nOk9z_yrom26N(OEg7p*N^$PD~rVu)xaRb0=_`o3@!dCKoasgwUOd zG8le+duP<^cPaj8=(^vujEt%q?$iAnZ^dIKF};r^*b<*aXfH*{8OM3*7AAf$V9~Cb z@Q>rp7?2^i`f&*rl_ztLN_T((0@F-1)I05l~G=V5R*EqfY;)+}EEs zxkISp&;4OPkgd!30|G$ALI4uYu8LSPREGROhW|AOU2?m*dlEtbBH{=@_q7B@>;5M@ zl0jBRr{`z_Fvm*(wtuLU3Y~{P3g4m&KU{+5#|6DSjYFHK5`dd^t%u~Tr@l#|x&$B> zHG2xOJ6AM)n2)v(=RHWjxX?k|?{i{F0>EDIZ#m7b3fH~1>uLG7)WSQ}xkqO$1mK${ z0a#4eiWSGQ{9(l6^xXC@BckWwk~ja|Ncx45%-lbX=v^4;8~oEq(IctWlndO}<(=I> zkKh8=ZucnYFI?PTS;GHG`=3douix6>6YI@Qt7zk!c3Ry1Fsvzk(PVD@A+{R~&qZ^Y z-5w9p>oZIXJNZ+U$PPu0H{N7CR3ZR(w*xBAq7j;SYnPZiK3=y9I}k4yrzdXC%^tB= zCmkOdE!!59RPl4(aOUTzh)+76s~Ipilr=xEQ9v*Wdz?KC8YKX<&Dxae>n^GM&EB!j z&UOchkHM`*!Osamn-%t*zbj~byRzAbot8bKKpK}bhFtw}{g9{F9u@b#Ag6P&=ger? zDwslYE}T3=QM6PTgl8+v8_k++d1exas`;rJ#(5ZnfRoie6NK(`9gtr&lnIF6-Cw;Y zZ_7DWLv3szKlM|q=~c=#g}$Y^xlN&GHnXoFXU0bH^6*ZoF8M5Q;w{9(1oh43A^R!< zFj1E7?RSEE)QPXH5FZ$*3Xspyyf28!ZK zeo+r4`02Fen)`TJ&R4m&!fM>tzvXaO);2XXRNamp*66V^YvTx9&Jhh3cWNu-;GJ#H zWM+ojwhxM>D!;;@ThX=@sKgp@r*%{0!a?0`;pNgsB38$`?9@)H?CCUJpM)~)g&A4n zu~Vp-XtyVOszbBM0s`*{95x?@<<6$jpT;M~P(OaFCZO+?ih=GHk?>-O!Qm@wUp%iU~UX3=Z)H=%|&sG2kGUV{Ik z2it2z?M1~j(b0ERuOv;PiDu{ce(bn@4}as*czG#r1Dys4MgTsZ-05R8IA0MGEY_V* z2tezCj#XDI)!b;|DD_0$nRpAEZFw~I#Bz93j1TT1QVR8Y`d()S{#bgJG`y#{F;0&| zr^>CtkN?oQ$iQ)tTC2~vdIy_0gjFyX?~wJ;MN&Eb~-3m z8!ay!I)(Ybyyn@8-!3~CFG)D@n(=Fv1Vw$};-daliNRj&Co&=Y_@h*&2qCo&JuI7>G}0GtAUjOfy9NeQ)%3dR zK&AtCs${0OX3akT=i8K6KP0A9g0H?VJwHpffrExJ_pUo83tuYLK<};~CQ%_org1V& zMU8F-uFXb{D#Sz5ACN1EB!|_6FDQwHsg9;IUP}@MsA%_f@6|ROS&0kv4Zv~@43AZn z3{)ks){1PfZ>$@R$-dfiH?K`>b(O1Fp_4pdPkRw+f$$CZ9j$1UIu#m3Zm@x5`xBNa z=vdir@oL=7fR3#Bq~C1Aw?H}3J9tQAbY%I4MD;#{nvdH@ol4Y9dq-Di5^%s-{Wh`@ zR9GYT)PA8d#;cF0UY%t8bnB1pRlV>=?RNkNPbx zDn5;b*S0LDRf9~svE|qW5r0ucB4+cA zm9a*SQqs3DvnQ5YrQ_+2WO+=TE%%)dXXz?7*1-B>C@|tm92?W1mNC?c=M3T z2e>g+^!0Bb*O6Qwvw=JJs}z-STDvB1T)sADESTMWw&c(ujN8MEO6&8}msIp@_aLsV z{Ng^jIy|u_+DhYIZXbBJ{_fg}Zy6$wt9J!hHC3lWpR^yVlGvTBCf5r!p3C|oqKn?xY_=|*(wO&%ke=6KSfYJQL%YXLi9BKlP(x*cJ%G1vM#{$>eubvk#ik_gv<#kIjJ9wQdx2`9s zt%a(UD``KRR+2Vne~ti|CE?h9ADz|{fY#D;xwJe9Z>K)v`^_bLHr~j^4lbJN*N~=w ztVIJK(wPzsSi$FXA(C>wn_H5l_qetNwvwVC`dci}OlT~WLh)hdfRND0N3NK?a*3!- zEZT&hg}#%|-^sV|oHuK?k00#^Z_>~H?IKXM{|PTK{`GA-jv24q%FaLlE}7F9(OWyB zHYdD=B2I5j_+ir>8k#F&9ymPKrJU?;Xn4aY8bhJ^YwvOPJO^EQDiha$u2)=k4C*bmz| zgYSJ%{pwnF)eT#p+^h0MZ~5?D99KV5A5!)8$SH`8wXaf$E8#k_x}kj9_*3A{ug$OG z1fXZkjR4qE5P-av$EHUv83ELgBtD`Do0#jTZs~rDeN6PO5^nO0P|bThnv8cZKKTEy K|2P9MVe)U&m1; + let user: request.SuperTest; + let authorisedUser: request.SuperTest; + let mongoConnection: MongoClient; + // eslint-disable-next-line @typescript-eslint/no-unused-vars + let mongoClient: Db; + // eslint-disable-next-line @typescript-eslint/no-unused-vars + let adminProfile: IUser; + // eslint-disable-next-line @typescript-eslint/no-unused-vars + let userProfile: IUser; + let authorisedUserProfile: IUser; + + afterAll(async () => { + await db.closeConnection(); + await mongoConnection?.close(); + await mongodb.stop(); + + /* claer all mocks */ + jest.clearAllMocks(); + }); + + beforeAll(async () => { // eslint-disable-line no-undef + /* Creating a in-memory MongoDB instance for testing */ + const dbName = uuid(); + mongodb = await MongoMemoryServer.create({ instance: { dbName } }); + const connectionString = mongodb.getUri(); + await setupDatabase(connectionString, dbName); + /* Wiring up the backend server */ + config.objectStore.port = (global as any).minioContainerPort; + config.database.mongo_url = connectionString; + config.database.database = dbName; + await db.connect(config.database, MongoClient); + await objStore.connect(config.objectStore); + const router = new Router(config); + await router.init(); + /* Connect mongo client (for test setup later / retrieve info later) */ + mongoConnection = await MongoClient.connect(connectionString); + mongoClient = mongoConnection.db(dbName); + + /* Connecting clients for testing later */ + app = router.getApp(); + admin = request.agent(app); + user = request.agent(app); + await connectAdmin(admin); + await connectUser(user); + + // add the root node for each user + const users = await db.collections.users_collection.find({}).toArray(); + adminProfile = users.filter(el => el.type === enumUserTypes.ADMIN)[0]; + userProfile = users.filter(el => el.type === enumUserTypes.STANDARD)[0]; + + /* setup: creating a privileged user */ + const username = uuid(); + authorisedUserProfile = { + username, + type: enumUserTypes.STANDARD, + firstname: `${username}_firstname`, + lastname: `${username}_lastname`, + password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', + otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', + email: `${username}@example.com`, + description: 'I am a new user.', + emailNotificationsActivated: true, + organisation: 'organisation_system', + id: `new_user_id_${username}`, + emailNotificationsStatus: { expiringNotification: false }, + resetPasswordRequests: [], + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); + + const roleId = uuid(); + const newRole = { + id: roleId, + studyId: '', + name: `${roleId}_rolename`, + dataPermissions: [{ + fields: ['^.*$'], + dataProperties: {}, + includeUnVersioned: true, + permission: 7 + }], + studyRole: enumStudyRoles.STUDY_MANAGER, + users: [authorisedUserProfile.id], + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + await mongoClient.collection(config.database.collections.roles_collection).insertOne(newRole); + + authorisedUser = request.agent(app); + await connectAgent(authorisedUser, username, 'admin', authorisedUserProfile.otpSecret); + }); + + afterEach(async () => { + await db.collections.studies_collection.deleteMany({}); + await db.collections.files_collection.deleteMany({}); + await db.collections.field_dictionary_collection.deleteMany({}); + await db.collections.data_collection.deleteMany({}); + }); + + describe('tRPC Study APIs', () => { + test('Create a study', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response = await request; + expect(response.status).toBe(200); + expect(response.body.result.data.name).toBe('Test Study'); + const file = await db.collections.files_collection.findOne({}); + expect(file?.id).toBe(response.body.result.data.profile); + const study = await db.collections.studies_collection.findOne({}); + expect(study?.id).toBe(response.body.result.data.id); + }); + test('Create a study (no permission)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = user.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response = await request; + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Only admin can create a study.'); + }); + test('Create a study (duplicates names)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + await request; + const request2 = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response2 = await request2; + expect(response2.status).toBe(400); + expect(response2.body.error.message).toBe('Study name already used.'); + }); + test('Edit a study', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + const request2 = admin.post('/trpc/study.editStudy') + .field('studyId', response1.body.result.data.id) + .attach('profile', filePath) + .field('name', 'Test Study edited') + .field('description', ''); + const response2 = await request2; + expect(response2.status).toBe(200); + expect(response2.body.result.data.name).toBe('Test Study edited'); + const files = await db.collections.files_collection.find({}).toArray(); + expect(files).toHaveLength(2); + expect(files[1]?.id).toBe(response2.body.result.data.profile); + const study = await db.collections.studies_collection.findOne({}); + expect(study?.id).toBe(response2.body.result.data.id); + }); + test('Edit a study (authorised study manager)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + + await db.collections.roles_collection.updateMany({}, { $set: { studyId: response1.body.result.data.id } }); + + const request2 = authorisedUser.post('/trpc/study.editStudy') + .field('studyId', response1.body.result.data.id) + .attach('profile', filePath) + .field('name', 'Test Study edited') + .field('description', ''); + const response2 = await request2; + expect(response2.status).toBe(200); + expect(response2.body.result.data.name).toBe('Test Study edited'); + const files = await db.collections.files_collection.find({}).toArray(); + expect(files).toHaveLength(2); + expect(files[1]?.id).toBe(response2.body.result.data.profile); + const study = await db.collections.studies_collection.findOne({}); + expect(study?.id).toBe(response2.body.result.data.id); + + // clear database + await db.collections.roles_collection.updateMany({}, { $set: { studyId: '' } }); + }); + test('Edit a study (no permission)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + const request2 = user.post('/trpc/study.editStudy') + .field('studyId', response1.body.result.data.id) + .attach('profile', filePath) + .field('name', 'Test Study edited') + .field('description', ''); + const response2 = await request2; + expect(response2.status).toBe(400); + expect(response2.body.error.message).toBe('Only admin or study manager can edit a study.'); + }); + test('Edit a study (study does not exist)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.editStudy') + .attach('profile', filePath) + .field('name', 'Test Study edited') + .field('description', '') + .field('studyId', 'random'); + const response = await request; + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Study does not exist.'); + }); + test('Edit a study (used name)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request1 = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request1; + const request2 = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study 2') + .field('description', ''); + await request2; + const request3 = admin.post('/trpc/study.editStudy') + .field('studyId', response1.body.result.data.id) + .attach('profile', filePath) + .field('name', 'Test Study 2') + .field('description', ''); + const response3 = await request3; + expect(response3.status).toBe(400); + expect(response3.body.error.message).toBe('Study name already used.'); + }); + test('Delete a study', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + const response2 = await admin.post('/trpc/study.deleteStudy') + .send({ + studyId: response1.body.result.data.id + }); + expect(response2.status).toBe(200); + expect(response2.body.result.data.id).toBe(response1.body.result.data.id); + }); + test('Delete a study (no permission)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + const response2 = await user.post('/trpc/study.deleteStudy') + .send({ + studyId: response1.body.result.data.id + }); + expect(response2.status).toBe(400); + expect(response2.body.error.message).toBe('Only admin can delete a study.'); + }); + test('Delete a study (study does not exist)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + await request; + const response2 = await admin.post('/trpc/study.deleteStudy') + .send({ + studyId: 'random' + }); + expect(response2.status).toBe(400); + expect(response2.body.error.message).toBe('Study does not exist.'); + }); + test('Get studies', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + await db.collections.roles_collection.updateMany({}, { $set: { studyId: response1.body.result.data.id } }); + const paramteres = { + }; + const response2 = await authorisedUser.get('/trpc/study.getStudies?input=' + encodeQueryParams(paramteres)) + .query({}); + expect(response2.status).toBe(200); + expect(response2.body.result.data).toHaveLength(1); + expect(response2.body.result.data[0].id).toBe(response1.body.result.data.id); + }); + test('Get studies (with valid study id)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + await db.collections.roles_collection.updateMany({}, { $set: { studyId: response1.body.result.data.id } }); + const paramteres = { + studyId: response1.body.result.data.id + }; + const response2 = await authorisedUser.get('/trpc/study.getStudies?input=' + encodeQueryParams(paramteres)) + .query({}); + expect(response2.status).toBe(200); + expect(response2.body.result.data).toHaveLength(1); + expect(response2.body.result.data[0].id).toBe(response1.body.result.data.id); + }); + test('Get studies (with invalid study id)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + await db.collections.roles_collection.updateMany({}, { $set: { studyId: response1.body.result.data.id } }); + const paramteres = { + studyId: 'random' + }; + const response2 = await authorisedUser.get('/trpc/study.getStudies?input=' + encodeQueryParams(paramteres)) + .query({}); + expect(response2.status).toBe(400); + expect(response2.body.error.message).toBe('Study does not exist.'); + }); + test('Get studies (unpermitted user)', async () => { + const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + const request = admin.post('/trpc/study.createStudy') + .attach('profile', filePath) + .field('name', 'Test Study') + .field('description', ''); + const response1 = await request; + await db.collections.roles_collection.updateMany({}, { $set: { studyId: response1.body.result.data.id } }); + const paramteres = { + }; + const response2 = await user.get('/trpc/study.getStudies?input=' + encodeQueryParams(paramteres)) + .query({}); + expect(response2.status).toBe(200); + expect(response2.body.result.data).toHaveLength(0); + }); + // test('Create a new data version', async () => { + // const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + // const request = admin.post('/trpc/study.createStudy'); + // request.attach('profile', filePath); + // request.field('name', 'Test Study'); + // request.field('description', ''); + // const response1 = await request; + // await db.collections.roles_collection.updateMany({}, { $set: { studyId: response1.body.result.data.id } }); + // await user.post('/trpc/data.createStudyField') + // .send({ + // studyId: response1.body.result.data.id, + // fieldName: 'Test Field 1', + // fieldId: '1', + // description: '', + // dataType: enumDataTypes.INTEGER + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '10' + // }] + // }); + // const response2 = await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0', + // tag: '1.0' + // }); + // expect(response2.status).toBe(200); + // expect(response2.body.result.data.version).toBe('1.0'); + // const data = await db.collections.data_collection.findOne({}); + // const field = await db.collections.field_dictionary_collection.findOne({}); + // const study = await db.collections.studies_collection.findOne({}); + // expect(field?.dataVersion).toBe(response2.body.result.data.id); + // expect(data?.dataVersion).toBe(response2.body.result.data.id); + // expect(study?.currentDataVersion).toBe(0); + // expect(study?.dataVersions).toHaveLength(1); + // expect(study?.dataVersions[0].id).toBe(response2.body.result.data.id); + // }); + // test('Create a new data version (no permission)', async () => { + // const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + // const request = admin.post('/trpc/study.createStudy'); + // request.attach('profile', filePath); + // request.field('name', 'Test Study'); + // request.field('description', ''); + // const response1 = await request; + // const fullPermissionRole = { + // id: 'full_permission_role_id', + // studyId: response1.body.result.data.id, + // name: 'Full Permissison Role', + // description: '', + // // data permissions for studyId + // dataPermissions: [{ + // fields: ['^1.*$'], + // dataProperties: { + // }, + // permission: parseInt('110', 2) + // }], + // studyRole: enumStudyRoles.STUDY_USER, + // users: [userProfile.id], + // groups: [] + // }; + // await db.collections.roles_collection.insertOne(fullPermissionRole); + // await user.post('/trpc/data.createStudyField') + // .send({ + // studyId: response1.body.result.data.id, + // fieldName: 'Test Field 1', + // fieldId: '1', + // description: '', + // dataType: enumDataTypes.INTEGER + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '10' + // }] + // }); + // const response2 = await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0', + // tag: '1.0' + // }); + // expect(response2.status).toBe(400); + // expect(response2.body.error.message).toBe(errorCodes.NO_PERMISSION_ERROR); + // }); + // test('Create a new data version (version is not float string)', async () => { + // const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + // const request = admin.post('/trpc/study.createStudy'); + // request.attach('profile', filePath); + // request.field('name', 'Test Study'); + // request.field('description', ''); + // const response1 = await request; + // const fullPermissionRole = { + // id: 'full_permission_role_id', + // studyId: response1.body.result.data.id, + // name: 'Full Permissison Role', + // description: '', + // // data permissions for studyId + // dataPermissions: [{ + // fields: ['^1.*$'], + // dataProperties: { + // }, + // permission: parseInt('110', 2) + // }], + // studyRole: enumStudyRoles.STUDY_MANAGER, + // users: [userProfile.id], + // groups: [] + // }; + // await db.collections.roles_collection.insertOne(fullPermissionRole); + // await user.post('/trpc/data.createStudyField') + // .send({ + // studyId: response1.body.result.data.id, + // fieldName: 'Test Field 1', + // fieldId: '1', + // description: '', + // dataType: enumDataTypes.INTEGER + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '10' + // }] + // }); + // const response2 = await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0.5', + // tag: '1.0' + // }); + // expect(response2.status).toBe(400); + // expect(response2.body.error.message).toBe('Version must be a float number.'); + // }); + // test('Create a new data version (duplicate versions)', async () => { + // const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + // const request = admin.post('/trpc/study.createStudy'); + // request.attach('profile', filePath); + // request.field('name', 'Test Study'); + // request.field('description', ''); + // const response1 = await request; + // const fullPermissionRole = { + // id: 'full_permission_role_id', + // studyId: response1.body.result.data.id, + // name: 'Full Permissison Role', + // description: '', + // // data permissions for studyId + // dataPermissions: [{ + // fields: ['^1.*$'], + // dataProperties: { + // }, + // permission: parseInt('110', 2) + // }], + // studyRole: enumStudyRoles.STUDY_MANAGER, + // users: [userProfile.id], + // groups: [] + // }; + // await db.collections.roles_collection.insertOne(fullPermissionRole); + // await user.post('/trpc/data.createStudyField') + // .send({ + // studyId: response1.body.result.data.id, + // fieldName: 'Test Field 1', + // fieldId: '1', + // description: '', + // dataType: enumDataTypes.INTEGER + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '10' + // }] + // }); + // await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0', + // tag: '1.0' + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '11' + // }] + // }); + // const response2 = await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0', + // tag: '1.0' + // }); + // expect(response2.status).toBe(400); + // expect(response2.body.error.message).toBe('Version has been used.'); + // }); + // test('Create a new data version (nothing update)', async () => { + // const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + // const request = admin.post('/trpc/study.createStudy'); + // request.attach('profile', filePath); + // request.field('name', 'Test Study'); + // request.field('description', ''); + // const response1 = await request; + // const fullPermissionRole = { + // id: 'full_permission_role_id', + // studyId: response1.body.result.data.id, + // name: 'Full Permissison Role', + // description: '', + // // data permissions for studyId + // dataPermissions: [{ + // fields: ['^1.*$'], + // dataProperties: { + // }, + // permission: parseInt('110', 2) + // }], + // studyRole: enumStudyRoles.STUDY_MANAGER, + // users: [userProfile.id], + // groups: [] + // }; + // await db.collections.roles_collection.insertOne(fullPermissionRole); + // const response = await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0', + // tag: '1.0' + // }); + // expect(response.status).toBe(400); + // expect(response.body.error.message).toBe('Nothing to update.'); + // }); + // test('Set to a previous data version', async () => { + // const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + // const request = admin.post('/trpc/study.createStudy'); + // request.attach('profile', filePath); + // request.field('name', 'Test Study'); + // request.field('description', ''); + // const response1 = await request; + // const fullPermissionRole = { + // id: 'full_permission_role_id', + // studyId: response1.body.result.data.id, + // name: 'Full Permissison Role', + // description: '', + // // data permissions for studyId + // dataPermissions: [{ + // fields: ['^1.*$'], + // dataProperties: { + // }, + // permission: parseInt('110', 2) + // }], + // studyRole: enumStudyRoles.STUDY_MANAGER, + // users: [userProfile.id], + // groups: [] + // }; + // await db.collections.roles_collection.insertOne(fullPermissionRole); + // await user.post('/trpc/data.createStudyField') + // .send({ + // studyId: response1.body.result.data.id, + // fieldName: 'Test Field 1', + // fieldId: '1', + // description: '', + // dataType: enumDataTypes.INTEGER + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '10' + // }] + // }); + // const response2 = await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0', + // tag: '1.0' + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '11' + // }] + // }); + // await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.1', + // tag: '1.1' + // }); + // const response3 = await user.post('/trpc/study.setDataversionAsCurrent') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersionId: response2.body.result.data.id + // }); + // expect(response3.status).toBe(200); + // expect(response3.body.result.data.successful).toBe(true); + // const study = await db.collections.studies_collection.findOne({}); + // expect(study?.currentDataVersion).toBe(0); + // expect(study?.dataVersions).toHaveLength(2); + // }); + // test('Set to a previous data version (no permission)', async () => { + // const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + // const request = admin.post('/trpc/study.createStudy'); + // request.attach('profile', filePath); + // request.field('name', 'Test Study'); + // request.field('description', ''); + // const response1 = await request; + // const fullPermissionRole = { + // id: 'full_permission_role_id', + // studyId: response1.body.result.data.id, + // name: 'Full Permissison Role', + // description: '', + // // data permissions for studyId + // dataPermissions: [{ + // fields: ['^1.*$'], + // dataProperties: { + // }, + // permission: parseInt('110', 2) + // }], + // studyRole: enumStudyRoles.STUDY_MANAGER, + // users: [userProfile.id], + // groups: [] + // }; + // await db.collections.roles_collection.insertOne(fullPermissionRole); + // await user.post('/trpc/data.createStudyField') + // .send({ + // studyId: response1.body.result.data.id, + // fieldName: 'Test Field 1', + // fieldId: '1', + // description: '', + // dataType: enumDataTypes.INTEGER + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '10' + // }] + // }); + // const response2 = await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0', + // tag: '1.0' + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '11' + // }] + // }); + // await db.collections?.roles_collection.updateOne({}, { + // $set: { + // studyRole: enumStudyRoles.STUDY_USER + // } + // }); + // await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.1', + // tag: '1.1' + // }); + // const response3 = await user.post('/trpc/study.setDataversionAsCurrent') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersionId: response2.body.result.data.id + // }); + // expect(response3.status).toBe(400); + // expect(response3.body.error.message).toBe(errorCodes.NO_PERMISSION_ERROR); + // }); + // test('Set to a previous data version (version id not exist)', async () => { + // const filePath = path.join(__dirname, '../filesForTests/dsi.jpeg'); + // const request = admin.post('/trpc/study.createStudy'); + // request.attach('profile', filePath); + // request.field('name', 'Test Study'); + // request.field('description', ''); + // const response1 = await request; + // const fullPermissionRole = { + // id: 'full_permission_role_id', + // studyId: response1.body.result.data.id, + // name: 'Full Permissison Role', + // description: '', + // // data permissions for studyId + // dataPermissions: [{ + // fields: ['^1.*$'], + // dataProperties: { + // }, + // permission: parseInt('110', 2) + // }], + // studyRole: enumStudyRoles.STUDY_MANAGER, + // users: [userProfile.id], + // groups: [] + // }; + // await db.collections.roles_collection.insertOne(fullPermissionRole); + // await user.post('/trpc/data.createStudyField') + // .send({ + // studyId: response1.body.result.data.id, + // fieldName: 'Test Field 1', + // fieldId: '1', + // description: '', + // dataType: enumDataTypes.INTEGER + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '10' + // }] + // }); + // await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.0', + // tag: '1.0' + // }); + // await user.post('/trpc/data.uploadStudyData') + // .send({ + // studyId: response1.body.result.data.id, + // data: [{ + // fieldId: '1', + // value: '11' + // }] + // }); + // await user.post('/trpc/study.createDataVersion') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersion: '1.1', + // tag: '1.1' + // }); + // const response3 = await user.post('/trpc/study.setDataversionAsCurrent') + // .send({ + // studyId: response1.body.result.data.id, + // dataVersionId: 'random' + // }); + // expect(response3.status).toBe(400); + // expect(response3.body.error.message).toBe('Data version does not exist.'); + // }); + }); +} else { + test(`${__filename.split(/[\\/]/).pop()} skipped because it requires Minio on Docker`, () => { + expect(true).toBe(true); + }); +} \ No newline at end of file diff --git a/packages/itmat-interface/test/trpcTests/user.test.ts b/packages/itmat-interface/test/trpcTests/user.test.ts index 6fb6732e9..53d07f263 100644 --- a/packages/itmat-interface/test/trpcTests/user.test.ts +++ b/packages/itmat-interface/test/trpcTests/user.test.ts @@ -99,6 +99,7 @@ if (global.hasMinio) { await db.collections.users_collection.findOneAndUpdate({ id: userProfile.id }, { $set: userProfile }); + await db.collections.users_collection.deleteMany({ id: { $nin: [adminProfile.id, userProfile.id] } }); }); describe('tRPC User APIs', () => { From 786029ff4f91a2eaa2064430ec3961b190ef81ff Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Tue, 11 Jun 2024 13:36:07 +0100 Subject: [PATCH 168/252] chore: Change version to 2.6.0 --- SECURITY.md | 2 +- package.json | 2 +- packages/itmat-docker/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index 62844fc8f..b6db843eb 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -7,7 +7,7 @@ currently being supported with security updates. | Version | Supported | | ------- | ------------------ | -| 2.5.1 | :white_check_mark: | +| 2.6.0 | :white_check_mark: | | < 2 | :x: | ## Reporting a Vulnerability diff --git a/package.json b/package.json index b60383ea5..4242d7ffe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "itmat-broker", - "version": "2.5.1", + "version": "2.6.0", "private": true, "license": "MIT", "scripts": { diff --git a/packages/itmat-docker/package.json b/packages/itmat-docker/package.json index d972f5503..c56ae160f 100644 --- a/packages/itmat-docker/package.json +++ b/packages/itmat-docker/package.json @@ -1,6 +1,6 @@ { "name": "@itmat-broker/itmat-setup", - "version": "2.5.1", + "version": "2.6.0", "description": "ITMAT Broker", "keywords": [ "itmat", From 4421af7c321a54b0db0959e5db761e3bf52ee402 Mon Sep 17 00:00:00 2001 From: Siyao Wang Date: Sun, 26 May 2024 21:47:22 +0100 Subject: [PATCH 169/252] feat(trpc-user): Create the tRPC backend and add user procedures --- package.json | 12 +- .../src/{core => GraphQLCore}/fileCore.ts | 131 +- .../src/{core => GraphQLCore}/jobCore.ts | 0 .../src/{core => GraphQLCore}/logCore.ts | 6 +- .../{core => GraphQLCore}/organisationCore.ts | 20 +- .../{core => GraphQLCore}/permissionCore.ts | 10 +- .../src/{core => GraphQLCore}/pubkeyCore.ts | 0 .../src/{core => GraphQLCore}/queryCore.ts | 0 .../standardizationCore.ts | 0 .../src/{core => GraphQLCore}/studyCore.ts | 772 ++- .../src/{core => GraphQLCore}/userCore.ts | 104 +- .../authentication/pubkeyAuthentication.ts | 2 +- packages/itmat-cores/src/database/database.ts | 8 +- packages/itmat-cores/src/index.ts | 25 +- packages/itmat-cores/src/log/logPlugin.ts | 8 +- packages/itmat-cores/src/rest/fileDownload.ts | 4 +- .../itmat-cores/src/trpcCore/configCore.ts | 57 + packages/itmat-cores/src/trpcCore/fileCore.ts | 251 + .../itmat-cores/src/trpcCore/studyCore.ts | 34 + packages/itmat-cores/src/trpcCore/userCore.ts | 1301 +++++ packages/itmat-cores/src/utils/query.ts | 32 +- .../itmat-cores/src/utils/userLoginUtils.ts | 2 +- .../itmat-interface/config/config.sample.json | 3 +- packages/itmat-interface/express-user.d.ts | 4 +- .../src/graphql/resolvers/index.ts | 2 +- .../src/graphql/resolvers/logResolvers.ts | 4 +- .../src/graphql/resolvers/studyResolvers.ts | 3 - .../src/graphql/resolvers/userResolvers.ts | 6 +- packages/itmat-interface/src/index.ts | 10 +- .../src/server/commonMiddleware.ts | 31 + packages/itmat-interface/src/server/router.ts | 52 +- .../itmat-interface/src/trpc/middleware.ts | 1 + .../itmat-interface/src/trpc/tRPCRouter.ts | 8 + packages/itmat-interface/src/trpc/trpc.ts | 21 + .../itmat-interface/src/trpc/userProcedure.ts | 291 ++ .../_loginHelper.ts | 0 .../file.test.ts | 53 +- .../{serverTests => GraphQLTests}/job.test.ts | 11 +- .../{serverTests => GraphQLTests}/log.test.ts | 18 +- .../permission.test.ts | 134 +- .../standardization.test.ts | 60 +- .../study.test.ts | 1013 ++-- .../users.test.ts | 200 +- .../test/trpcTests/_loginHelper.ts | 42 + .../itmat-interface/test/trpcTests/helper.ts | 3 + .../test/trpcTests/user.test.ts | 485 ++ .../src/database/database.ts | 4 +- packages/itmat-models/src/graphql/fields.ts | 1 - packages/itmat-models/src/graphql/study.ts | 1 - packages/itmat-models/src/graphql/user.ts | 1 - .../databaseSetup/collectionsAndIndexes.ts | 15 +- .../src/databaseSetup/seed/organisations.ts | 23 +- .../src/databaseSetup/seed/users.ts | 21 +- packages/itmat-types/src/types/base.ts | 12 + packages/itmat-types/src/types/config.ts | 212 + packages/itmat-types/src/types/coreErrors.ts | 42 + packages/itmat-types/src/types/data.ts | 10 + packages/itmat-types/src/types/field.ts | 52 +- packages/itmat-types/src/types/file.ts | 59 +- packages/itmat-types/src/types/index.ts | 13 +- packages/itmat-types/src/types/log.ts | 4 +- .../itmat-types/src/types/organisation.ts | 15 +- packages/itmat-types/src/types/pubkey.ts | 6 +- packages/itmat-types/src/types/study.ts | 18 +- packages/itmat-types/src/types/user.ts | 29 +- packages/itmat-types/src/types/utils.ts | 47 + packages/itmat-types/src/types/zod.ts | 9 + packages/itmat-ui-react/proxy.conf.js | 5 + .../src/components/datasetDetail/index.tsx | 4 +- .../tabContent/data/dataSummary.tsx | 2 +- .../datasetDetail/tabContent/data/dataTab.tsx | 4 +- .../tabContent/data/fieldListSelection.tsx | 4 +- .../tabContent/files/fileTab.tsx | 30 +- .../projects/detailSections/projectDetail.tsx | 4 +- .../tabContent/projects/projectTab.tsx | 4 +- .../components/datasetList/addNewDataSet.tsx | 4 +- .../src/components/log/logList.tsx | 6 +- .../src/components/profile/profile.tsx | 2 +- .../src/components/projectDetail/index.tsx | 6 +- .../tabContent/analysis/analysisTab.tsx | 44 +- .../projectDetail/tabContent/data/dataTab.tsx | 28 +- .../reusable/fieldList/fieldList.tsx | 8 +- .../components/reusable/fileList/fileList.tsx | 8 +- .../src/components/scaffold/mainMenuBar.tsx | 10 +- .../src/components/users/userDetails.tsx | 10 +- .../itmat-ui-react/src/utils/logUtils.tsx | 4 +- packages/itmat-ui-react/src/utils/tools.ts | 10 +- packages/itmat-ui-react/webpack.config.js | 20 +- yarn.lock | 4247 +++++++++-------- 89 files changed, 6609 insertions(+), 3683 deletions(-) rename packages/itmat-cores/src/{core => GraphQLCore}/fileCore.ts (80%) rename packages/itmat-cores/src/{core => GraphQLCore}/jobCore.ts (100%) rename packages/itmat-cores/src/{core => GraphQLCore}/logCore.ts (89%) rename packages/itmat-cores/src/{core => GraphQLCore}/organisationCore.ts (78%) rename packages/itmat-cores/src/{core => GraphQLCore}/permissionCore.ts (98%) rename packages/itmat-cores/src/{core => GraphQLCore}/pubkeyCore.ts (100%) rename packages/itmat-cores/src/{core => GraphQLCore}/queryCore.ts (100%) rename packages/itmat-cores/src/{core => GraphQLCore}/standardizationCore.ts (100%) rename packages/itmat-cores/src/{core => GraphQLCore}/studyCore.ts (80%) rename packages/itmat-cores/src/{core => GraphQLCore}/userCore.ts (89%) create mode 100644 packages/itmat-cores/src/trpcCore/configCore.ts create mode 100644 packages/itmat-cores/src/trpcCore/fileCore.ts create mode 100644 packages/itmat-cores/src/trpcCore/studyCore.ts create mode 100644 packages/itmat-cores/src/trpcCore/userCore.ts create mode 100644 packages/itmat-interface/src/server/commonMiddleware.ts create mode 100644 packages/itmat-interface/src/trpc/middleware.ts create mode 100644 packages/itmat-interface/src/trpc/tRPCRouter.ts create mode 100644 packages/itmat-interface/src/trpc/trpc.ts create mode 100644 packages/itmat-interface/src/trpc/userProcedure.ts rename packages/itmat-interface/test/{serverTests => GraphQLTests}/_loginHelper.ts (100%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/file.test.ts (95%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/job.test.ts (97%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/log.test.ts (91%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/permission.test.ts (97%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/standardization.test.ts (97%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/study.test.ts (85%) rename packages/itmat-interface/test/{serverTests => GraphQLTests}/users.test.ts (93%) create mode 100644 packages/itmat-interface/test/trpcTests/_loginHelper.ts create mode 100644 packages/itmat-interface/test/trpcTests/helper.ts create mode 100644 packages/itmat-interface/test/trpcTests/user.test.ts create mode 100644 packages/itmat-types/src/types/base.ts create mode 100644 packages/itmat-types/src/types/config.ts create mode 100644 packages/itmat-types/src/types/coreErrors.ts create mode 100644 packages/itmat-types/src/types/utils.ts create mode 100644 packages/itmat-types/src/types/zod.ts diff --git a/package.json b/package.json index 4242d7ffe..fa18702af 100644 --- a/package.json +++ b/package.json @@ -97,13 +97,15 @@ }, "dependencies": { "@ant-design/icons": "5.3.6", - "@ant-design/plots": "2.2.0", + "@ant-design/plots": "2.2.2", "@apollo/client": "3.9.11", "@apollo/server": "4.10.4", "@commitlint/config-conventional": "^18.6.2", "@commitlint/config-nx-scopes": "^18.6.1", "@ideafast/idgen": "0.1.1", "@swc/helpers": "0.5.10", + "@trpc/server": "10.45.2", + "JSONStream": "1.3.5", "antd": "5.16.4", "apollo-upload-client": "18.0.1", "axios": "1.6.8", @@ -114,7 +116,7 @@ "core-js": "^3.37.0", "cors": "2.8.5", "csv-parse": "5.5.5", - "dayjs": "1.11.10", + "dayjs": "1.11.11", "deepmerge": "4.3.1", "esbuild": "^0.20.2", "export-from-json": "1.7.4", @@ -132,16 +134,17 @@ "hi-base32": "0.5.1", "http-proxy-middleware": "3.0.0", "https-browserify": "1.0.0", - "JSONStream": "1.3.5", "jsonwebtoken": "9.0.2", "jstat": "1.9.6", "lint-staged": "15.2.2", + "lodash-es": "4.17.21", "minio": "7.1.3", "mongodb": "6.5.0", "nodemailer": "6.9.13", "passport": "0.7.0", "path-browserify": "1.0.1", "qrcode": "1.5.3", + "rc-picker": "4.5.0", "react": "18.2.0", "react-csv": "2.2.2", "react-dom": "18.2.0", @@ -156,7 +159,8 @@ "tmp": "0.2.3", "tslib": "^2.6.2", "url": "0.11.3", - "uuid": "9.0.1" + "uuid": "9.0.1", + "zod": "3.23.8" }, "resolutions": { "**/@jest/create-cache-key-function": "^29", diff --git a/packages/itmat-cores/src/core/fileCore.ts b/packages/itmat-cores/src/GraphQLCore/fileCore.ts similarity index 80% rename from packages/itmat-cores/src/core/fileCore.ts rename to packages/itmat-cores/src/GraphQLCore/fileCore.ts index 51d71d7d5..840d31d1c 100644 --- a/packages/itmat-cores/src/core/fileCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/fileCore.ts @@ -1,4 +1,4 @@ -import { IDataEntry, IFile, IOrganisation, IPermissionManagementOptions, IUserWithoutToken, atomicOperation, deviceTypes } from '@itmat-broker/itmat-types'; +import { IFile, IPermissionManagementOptions, IUserWithoutToken, atomicOperation, deviceTypes, enumFileCategories, enumFileTypes } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { DBType } from '../database/database'; import { FileUpload } from 'graphql-upload-minimal'; @@ -7,7 +7,6 @@ import { validate } from '@ideafast/idgen'; import { fileSizeLimit } from '../utils/definition'; import crypto from 'crypto'; import { makeGenericReponse } from '../utils/responses'; -import { MatchKeysAndValues } from 'mongodb'; import { errorCodes } from '../utils/errors'; import { PermissionCore } from './permissionCore'; import { StudyCore } from './studyCore'; @@ -49,13 +48,14 @@ export class FileCore { let targetFieldId: string; let isStudyLevel = false; - // obtain sitesIDMarker from db - const sitesIDMarkers = (await this.db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce>((acc, curr) => { - if (curr.metadata?.siteIDMarker) { - acc[curr.metadata.siteIDMarker] = curr.shortname; + const organisations = await this.db.collections.organisations_collection.find({ 'life.deletedTime': null }).toArray(); + const sitesIDMarkers: Record = organisations.reduce((acc, curr) => { + if (curr.metadata['siteIDMarker']) { + acc[String(curr.metadata['siteIDMarker'])] = curr.shortname ?? curr.name; } return acc; - }, {}); + }, {} as Record); + // if the description object is empty, then the file is study-level data // otherwise, a subjectId must be provided in the description object // we will check other properties in the decription object (deviceId, startDate, endDate) @@ -100,7 +100,7 @@ export class FileCore { const file_ = await file; const fileNameParts = file_.filename.split('.'); - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { (async () => { try { let fileName: string = file_.filename; @@ -202,42 +202,56 @@ export class FileCore { reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); return; } + const fileParts: string[] = file_.filename.split('.'); + const fileExtension = fileParts.length === 1 ? 'UNKNOWN' : fileParts[fileParts.length - 1].trim().toLowerCase(); const fileEntry: IFile = { id: uuid(), - fileName: fileName, studyId: studyId, + userId: null, + fileName: fileName, + fileSize: readBytes, description: description, - uploadTime: `${Date.now()}`, - uploadedBy: requester.id, - deleted: null, - metadata: metadata, - fileSize: readBytes.toString(), + properties: {}, uri: fileUri, - hash: hashString + hash: hashString, + fileType: fileExtension in enumFileTypes ? enumFileTypes[fileExtension] : enumFileTypes.UNKNOWN, + fileCategory: enumFileCategories.STUDY_DATA_FILE, + sharedUsers: [], + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: metadata }; - fileEntry.fileSize = readBytes.toString(); - fileEntry.uri = fileUri; - fileEntry.hash = hashString; if (!isStudyLevel) { await this.db.collections.data_collection.insertOne({ id: uuid(), - m_studyId: studyId, - m_subjectId: parsedDescription.participantId, - m_versionId: null, - m_visitId: targetVisitId, - m_fieldId: targetFieldId, - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - 'uploader:user': requester.id, - 'add': [fileEntry.id], - 'remove': [] - } + studyId: studyId, + fieldId: targetFieldId, + dataVersion: null, + value: fileEntry.id, + properties: { + m_subjectId: parsedDescription.participantId, + m_visitId: targetVisitId + }, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} }); } const insertResult = await this.db.collections.files_collection.insertOne(fileEntry); if (insertResult.acknowledged) { - resolve(fileEntry); + resolve({ + ...fileEntry, + uploadTime: fileEntry.life.createdTime, + uploadedBy: requester.id + }); } else { throw new GraphQLError(errorCodes.DATABASE_ERROR); } @@ -255,7 +269,7 @@ export class FileCore { } const file = await this.db.collections.files_collection.findOne({ deleted: null, id: fileId }); - if (!file) { + if (!file || !file.studyId || !file.description) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } const hasStudyLevelPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( @@ -278,44 +292,21 @@ export class FileCore { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } // update data record - const obj = { - m_studyId: file.studyId, - m_subjectId: parsedDescription.participantId, - m_versionId: null, - m_visitId: targetVisitId, - m_fieldId: targetFieldId - }; - const existing = await this.db.collections.data_collection.findOne(obj); - if (!existing) { - await this.db.collections.data_collection.insertOne({ - ...obj, - id: uuid(), - uploadedAt: (new Date()).valueOf(), - value: '', - metadata: { - add: [], - remove: [] - } - }); - } - const objWithData: Partial> = { - ...obj, + await this.db.collections.data_collection.insertOne({ id: uuid(), - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - 'uploader:user': requester.id, - 'add': existing?.metadata?.add ?? [], - 'remove': (existing?.metadata?.remove || []).concat(fileId) - } - }; - const updateResult = await this.db.collections.data_collection.updateOne(obj, { $set: objWithData }, { upsert: true }); - - // const updateResult = await this.db.collections.files_collection.updateOne({ deleted: null, id: args.fileId }, { $set: { deleted: new Date().valueOf() } }); - if (updateResult.modifiedCount === 1 || updateResult.upsertedCount === 1) { - return makeGenericReponse(); - } else { - throw new GraphQLError(errorCodes.DATABASE_ERROR); - } + studyId: file.studyId, + fieldId: targetFieldId, + dataVersion: null, + value: fileId, + properties: file.properties, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: Date.now(), + deletedUser: requester.id + }, + metadata: {} + }); + return makeGenericReponse(file.id); } } \ No newline at end of file diff --git a/packages/itmat-cores/src/core/jobCore.ts b/packages/itmat-cores/src/GraphQLCore/jobCore.ts similarity index 100% rename from packages/itmat-cores/src/core/jobCore.ts rename to packages/itmat-cores/src/GraphQLCore/jobCore.ts diff --git a/packages/itmat-cores/src/core/logCore.ts b/packages/itmat-cores/src/GraphQLCore/logCore.ts similarity index 89% rename from packages/itmat-cores/src/core/logCore.ts rename to packages/itmat-cores/src/GraphQLCore/logCore.ts index a7833a020..d9a0ecae2 100644 --- a/packages/itmat-cores/src/core/logCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/logCore.ts @@ -1,4 +1,4 @@ -import { ILogEntry, IUserWithoutToken, LOG_ACTION, LOG_STATUS, LOG_TYPE, userTypes } from '@itmat-broker/itmat-types'; +import { ILogEntry, IUserWithoutToken, LOG_ACTION, LOG_STATUS, LOG_TYPE, enumUserTypes } from '@itmat-broker/itmat-types'; import { DBType } from '../database/database'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../utils/errors'; @@ -15,12 +15,12 @@ export class LogCore { UPLOAD_FILE: ['file', 'description'] }; - public async getLogs(requester: IUserWithoutToken | undefined, requesterName?: string, requesterType?: userTypes, logType?: LOG_TYPE, actionType?: LOG_ACTION, status?: LOG_STATUS) { + public async getLogs(requester: IUserWithoutToken | undefined, requesterName?: string, requesterType?: enumUserTypes, logType?: LOG_TYPE, actionType?: LOG_ACTION, status?: LOG_STATUS) { if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (!(requester.type === userTypes.ADMIN) && !(requester.metadata?.logPermission === true)) { + if (!(requester.type === enumUserTypes.ADMIN) && !(requester.metadata?.['logPermission'] === true)) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } diff --git a/packages/itmat-cores/src/core/organisationCore.ts b/packages/itmat-cores/src/GraphQLCore/organisationCore.ts similarity index 78% rename from packages/itmat-cores/src/core/organisationCore.ts rename to packages/itmat-cores/src/GraphQLCore/organisationCore.ts index 6adf99385..4ec9a9cb9 100644 --- a/packages/itmat-cores/src/core/organisationCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/organisationCore.ts @@ -1,4 +1,4 @@ -import { IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IOrganisation, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import { DBType } from '../database/database'; import { GraphQLError } from 'graphql'; import { errorCodes } from '../utils/errors'; @@ -15,24 +15,28 @@ export class OrganisationCore { return await this.db.collections.organisations_collection.find(queryObj, { projection: { _id: 0 } }).toArray(); } - public async createOrganisation(requester: IUserWithoutToken | undefined, org: { name: string, shortname: string | null, containOrg: string | null, metadata }): Promise { + public async createOrganisation(requester: IUserWithoutToken | undefined, org: { name: string, shortname: string | undefined, containOrg: string | null, metadata }): Promise { if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const { name, shortname, containOrg, metadata } = org; + const { name, shortname, metadata } = org; const entry: IOrganisation = { id: uuid(), name, shortname, - containOrg, - deleted: null, metadata: metadata?.siteIDMarker ? { siteIDMarker: metadata.siteIDMarker - } : {} + } : {}, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + } }; const result = await this.db.collections.organisations_collection.findOneAndUpdate({ name: name, deleted: null }, { $set: entry @@ -51,7 +55,7 @@ export class OrganisationCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } diff --git a/packages/itmat-cores/src/core/permissionCore.ts b/packages/itmat-cores/src/GraphQLCore/permissionCore.ts similarity index 98% rename from packages/itmat-cores/src/core/permissionCore.ts rename to packages/itmat-cores/src/GraphQLCore/permissionCore.ts index 174bfbe98..dfcbe1a4b 100644 --- a/packages/itmat-cores/src/core/permissionCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/permissionCore.ts @@ -1,5 +1,5 @@ import { GraphQLError } from 'graphql'; -import { atomicOperation, IDataEntry, IDataPermission, IManagementPermission, IPermissionManagementOptions, IRole, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { atomicOperation, IDataEntry, IDataPermission, IManagementPermission, IPermissionManagementOptions, IRole, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import { BulkWriteResult, Document, Filter } from 'mongodb'; import { v4 as uuid } from 'uuid'; import { DBType } from '../database/database'; @@ -62,7 +62,7 @@ export class PermissionCore { } /* if user is an admin then return true if admin privileges includes needed permissions */ - if (user.type === userTypes.ADMIN) { + if (user.type === enumUserTypes.ADMIN) { return true; } const tag = `permissions.manage.${type}`; @@ -77,7 +77,7 @@ export class PermissionCore { } public async combineUserDataPermissions(operation: string, user: IUserWithoutToken, studyId: string, projectId?: string) { - if (user.type === userTypes.ADMIN) { + if (user.type === enumUserTypes.ADMIN) { const matchAnyString = '^.*$'; return { subjectIds: [matchAnyString], @@ -126,7 +126,7 @@ export class PermissionCore { } const matchAnyString = '^.*$'; /* if user is an admin then return true if admin privileges includes needed permissions */ - if (user.type === userTypes.ADMIN) { + if (user.type === enumUserTypes.ADMIN) { return { matchObj: [], hasVersioned: true, @@ -299,7 +299,7 @@ export class PermissionCore { const testedUser: string[] = []; for (const each of allRequestedUserChanges) { if (!testedUser.includes(each)) { - const user = await this.db.collections.users_collection.findOne({ id: each, deleted: null }); + const user = await this.db.collections.users_collection.findOne({ 'id': each, 'life.deletedTime': null }); if (user === null) { throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); } else { diff --git a/packages/itmat-cores/src/core/pubkeyCore.ts b/packages/itmat-cores/src/GraphQLCore/pubkeyCore.ts similarity index 100% rename from packages/itmat-cores/src/core/pubkeyCore.ts rename to packages/itmat-cores/src/GraphQLCore/pubkeyCore.ts diff --git a/packages/itmat-cores/src/core/queryCore.ts b/packages/itmat-cores/src/GraphQLCore/queryCore.ts similarity index 100% rename from packages/itmat-cores/src/core/queryCore.ts rename to packages/itmat-cores/src/GraphQLCore/queryCore.ts diff --git a/packages/itmat-cores/src/core/standardizationCore.ts b/packages/itmat-cores/src/GraphQLCore/standardizationCore.ts similarity index 100% rename from packages/itmat-cores/src/core/standardizationCore.ts rename to packages/itmat-cores/src/GraphQLCore/standardizationCore.ts diff --git a/packages/itmat-cores/src/core/studyCore.ts b/packages/itmat-cores/src/GraphQLCore/studyCore.ts similarity index 80% rename from packages/itmat-cores/src/core/studyCore.ts rename to packages/itmat-cores/src/GraphQLCore/studyCore.ts index 1f82134a2..d38c4e376 100644 --- a/packages/itmat-cores/src/core/studyCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/studyCore.ts @@ -1,10 +1,10 @@ import { GraphQLError } from 'graphql'; -import { IFile, IProject, IStudy, studyType, IStudyDataVersion, IDataEntry, IDataClip, IRole, IFieldEntry, deviceTypes, IOrganisation, IUserWithoutToken, IPermissionManagementOptions, atomicOperation, userTypes, IOntologyTree, ISubjectDataRecordSummary, IQueryString, IGroupedData, enumValueType, IValueDescription } from '@itmat-broker/itmat-types'; +import { IFile, IProject, IStudy, studyType, IStudyDataVersion, IDataEntry, IDataClip, IRole, IField, deviceTypes, IUserWithoutToken, IPermissionManagementOptions, atomicOperation, enumUserTypes, IOntologyTree, IQueryString, IGroupedData, enumFileTypes, enumFileCategories, enumDataTypes, ICategoricalOption } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { errorCodes } from '../utils/errors'; import { ICombinedPermissions, PermissionCore, translateCohort } from './permissionCore'; import { validate } from '@ideafast/idgen'; -import type { Filter, MatchKeysAndValues } from 'mongodb'; +import type { Filter } from 'mongodb'; import { FileUpload } from 'graphql-upload-minimal'; import crypto from 'crypto'; import { fileSizeLimit } from '../utils/definition'; @@ -16,20 +16,20 @@ import { ObjectStore } from '@itmat-broker/itmat-commons'; export interface CreateFieldInput { fieldId: string; fieldName: string - tableName: string - dataType: enumValueType - possibleValues?: IValueDescription[] + tableName?: string + dataType: string; + possibleValues?: ICategoricalOption[] unit?: string comments?: string - metadata: Record + metadata?: Record } export interface EditFieldInput { fieldId: string; fieldName: string; tableName?: string; - dataType: enumValueType; - possibleValues?: IValueDescription[] + dataType: string; + possibleValues?: ICategoricalOption[] unit?: string comments?: string } @@ -73,11 +73,15 @@ export class StudyCore { ); if (!hasPermission) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const study = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + const study = await this.db.collections.studies_collection.findOne({ 'id': studyId, 'life.deletedTime': null }); if (study === null || study === undefined) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } - return study; + return { + ...study, + createdBy: study.life.createdUser, + deleted: study.life.deletedTime + }; } public async getProject(requester: IUserWithoutToken | undefined, projectId: string) { @@ -110,6 +114,47 @@ export class StudyCore { return project; } + /** + * This function convert the new field type to the old ones for consistency with the GraphQL schema + */ + public fieldTypeConverter(fields: IField[]) { + return fields.map((field) => { + return { + ...field, + possibleValues: field.categoricalOptions ? field.categoricalOptions.map((el) => { + return { + id: el.id, + code: el.code, + description: el.description + }; + }) : [], + dataType: (() => { + if (field.dataType === enumDataTypes.INTEGER) { + return 'int'; + } else if (field.dataType === enumDataTypes.DECIMAL) { + return 'dec'; + } else if (field.dataType === enumDataTypes.STRING) { + return 'str'; + } else if (field.dataType === enumDataTypes.BOOLEAN) { + return 'bool'; + } else if (field.dataType === enumDataTypes.DATETIME) { + return 'date'; + } else if (field.dataType === enumDataTypes.FILE) { + return 'file'; + } else if (field.dataType === enumDataTypes.JSON) { + return 'json'; + } else if (field.dataType === enumDataTypes.CATEGORICAL) { + return 'cat'; + } else { + return 'str'; + } + })(), + dateAdded: field.life.createdTime.toString(), + dateDeleted: field.life.deletedTime ? field.life.deletedTime.toString() : null + }; + }); + } + public async getStudyFields(requester: IUserWithoutToken | undefined, studyId: string, projectId?: string, versionId?: string | null) { if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -134,14 +179,14 @@ export class StudyCore { // check the metadata:role:**** for versioned data directly const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); // check the regular expressions for unversioned data - if (requester.type === userTypes.ADMIN) { + if (requester.type === enumUserTypes.ADMIN) { if (versionId === null) { availableDataVersions.push(null); } - const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { - $sort: { dateAdded: -1 } + $sort: { 'life.createdTime': -1 } }, { $group: { _id: '$fieldId', @@ -154,15 +199,15 @@ export class StudyCore { }, { $sort: { fieldId: 1 } }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); + return this.fieldTypeConverter(fieldRecords.filter(el => el.life.deletedTime === null)); } // unversioned data could not be returned by metadata filters if (versionId === null && aggregatedPermissions.hasVersioned) { availableDataVersions.push(null); - const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { - $sort: { dateAdded: -1 } + $sort: { 'life.createdTime': -1 } }, { $match: { fieldId: { $in: aggregatedPermissions.raw.fieldIds.map((el: string) => new RegExp(el)) } @@ -179,7 +224,7 @@ export class StudyCore { }, { $sort: { fieldId: 1 } }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); + return this.fieldTypeConverter(fieldRecords.filter(el => el.life.deletedTime === null)); } else { // metadata filter const subqueries: Filter<{ [key: string]: string | number | boolean }>[] = []; @@ -187,10 +232,10 @@ export class StudyCore { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dataVersion: { $in: availableDataVersions } } }, { - $sort: { dateAdded: -1 } + $sort: { 'life.createdTime': -1 } }, { $match: metadataFilter }, { $group: { _id: '$fieldId', @@ -202,11 +247,10 @@ export class StudyCore { } }, { $sort: { fieldId: 1 } - }, { - $set: { metadata: null } }]).toArray(); - return fieldRecords.filter(el => el.dateDeleted === null); + return this.fieldTypeConverter(fieldRecords.filter(el => el.life.deletedTime === null)); } + return []; } public async getOntologyTree(requester: IUserWithoutToken | undefined, studyId: string, projectId?: string, treeName?: string, versionId?: string) { @@ -278,143 +322,6 @@ export class StudyCore { } } - public async checkDataComplete(requester: IUserWithoutToken | undefined, studyId: string) { - if (!requester) { - throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); - } - - /* user can get study if he has readonly permission */ - const hasPermission = await this.permissionCore.userHasTheNeccessaryDataPermission( - atomicOperation.READ, - requester, - studyId - ); - if (!hasPermission) { - throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); - } - // we only check data that hasnt been pushed to a new data version - const data: IDataEntry[] = await this.db.collections.data_collection.find({ - m_studyId: studyId, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } - }).toArray(); - const fieldMapping = (await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: studyId } - }, { - $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } - }, { - $sort: { dateAdded: -1 } - }, { - $group: { - _id: '$fieldId', - doc: { $last: '$$ROOT' } - } - } - ]).toArray()).map(el => el['doc']).filter(eh => eh.dateDeleted === null).reduce((acc, curr) => { - acc[curr.fieldId] = curr; - return acc; - }, {}); - const summary: ISubjectDataRecordSummary[] = []; - // we will not check data whose fields are not defined, because data that the associated fields are undefined will not be returned while querying data - for (const record of data) { - let error: string | null = null; - if (fieldMapping[record.m_fieldId] !== undefined && fieldMapping[record.m_fieldId] !== null) { - switch (fieldMapping[record.m_fieldId].dataType) { - case 'dec': {// decimal - if (typeof record.value === 'number') { - if (!/^\d+(.\d+)?$/.test(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as decimal.`; - break; - } - break; - } - case 'int': {// integer - if (typeof record.value === 'number') { - if (!/^-?\d+$/.test(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as integer.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as integer.`; - break; - } - break; - } - case 'bool': {// boolean - if (typeof record.value !== 'boolean') { - error = `Field ${record.m_fieldId}: Cannot parse as boolean.`; - break; - } - break; - } - case 'str': { - break; - } - // 01/02/2021 00:00:00 - case 'date': { - if (typeof record.value === 'string') { - const matcher = /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?/; - if (!record.value.match(matcher)) { - error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; - break; - } - break; - } - case 'json': { - break; - } - case 'file': { - if (typeof record.value === 'string') { - const file = await this.db.collections.files_collection.findOne({ id: record.value }); - if (!file) { - error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as file or file does not exist.`; - break; - } - break; - } - case 'cat': { - if (typeof record.value === 'string') { - if (!fieldMapping[record.m_fieldId].possibleValues.map((el) => el.code).includes(record.value.toString())) { - error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; - break; - } - } else { - error = `Field ${record.m_fieldId}: Cannot parse as categorical, value not in value list.`; - break; - } - break; - } - default: { - error = `Field ${record.m_fieldId}: Invalid data Type.`; - break; - } - } - } - error && summary.push({ - subjectId: record.m_subjectId, - visitId: record.m_visitId, - fieldId: record.m_fieldId, - error: error - }); - } - - return summary; - } - public async getDataRecords(requester: IUserWithoutToken | undefined, queryString: IQueryString, studyId: string, versionId: string | null | undefined, projectId?: string) { if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -438,12 +345,12 @@ export class StudyCore { const aggregatedPermissions = this.permissionCore.combineMultiplePermissions([hasStudyLevelPermission, hasProjectLevelPermission]); let availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - let fieldRecords: IFieldEntry[] = []; + let fieldRecords: IField[] = []; let result; let metadataFilter; // we obtain the data by different requests // admin used will not filtered by metadata filters - if (requester.type === userTypes.ADMIN) { + if (requester.type === enumUserTypes.ADMIN) { if (versionId !== undefined) { if (versionId === null) { availableDataVersions.push(null); @@ -454,7 +361,7 @@ export class StudyCore { } } - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -484,7 +391,7 @@ export class StudyCore { // unversioned data: metadatafilter for versioned data and all unversioned tags if (versionId === null && aggregatedPermissions.hasVersioned) { availableDataVersions.push(null); - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -514,7 +421,7 @@ export class StudyCore { if (versionId === '-1') { availableDataVersions = availableDataVersions.length !== 0 ? [availableDataVersions[availableDataVersions.length - 1]] : []; } - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -541,7 +448,7 @@ export class StudyCore { } } else if (versionId !== undefined) { availableDataVersions = [versionId]; - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } }, { $sort: { dateAdded: -1 } @@ -623,8 +530,8 @@ export class StudyCore { return []; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } + const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumDataTypes.FILE } }, { $match: { fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { $sort: { dateAdded: -1 } }, { @@ -642,9 +549,9 @@ export class StudyCore { let adds: string[] = []; let removes: string[] = []; // versioned data - if (requester.type === userTypes.ADMIN) { + if (requester.type === enumUserTypes.ADMIN) { const fileRecords = await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, fieldId: { $in: fileFieldIds } } }]).toArray(); adds = fileRecords.map(el => el.metadata?.add || []).flat(); removes = fileRecords.map(el => el.metadata?.remove || []).flat(); @@ -655,7 +562,7 @@ export class StudyCore { }); const metadataFilter = { $or: subqueries }; const versionedFileRecors = await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, dataVersion: { $in: availableDataVersions }, fieldId: { $in: fileFieldIds } } }, { $match: metadataFilter }]).toArray(); @@ -666,16 +573,16 @@ export class StudyCore { continue; } filters.push({ - m_subjectId: { $in: role.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: role.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: role.fieldIds.map((el: string) => new RegExp(el)) }, - m_versionId: null + 'properties.m_subjectId': { $in: role.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: role.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: role.fieldIds.map((el: string) => new RegExp(el)) }, + 'dataVersion': null }); } let unversionedFileRecords: IDataEntry[] = []; if (filters.length !== 0) { unversionedFileRecords = await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: null, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, dataVersion: null, fieldId: { $in: fileFieldIds } } }, { $match: { $or: filters } }]).toArray(); @@ -701,21 +608,21 @@ export class StudyCore { return [[], []]; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const versionedSubjects = (await this.db.collections.data_collection.distinct('m_subjectId', { - m_studyId: study.id, - m_versionId: availableDataVersions[availableDataVersions.length - 1], - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } + const versionedSubjects = (await this.db.collections.data_collection.distinct('properties.m_subjectId', { + 'studyId': study.id, + 'dataVersion': availableDataVersions[availableDataVersions.length - 1], + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + 'value': { $ne: null } })).sort() || []; - const unVersionedSubjects = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('m_subjectId', { - m_studyId: study.id, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } + const unVersionedSubjects = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('properties.m_subjectId', { + 'studyId': study.id, + 'dataVersion': null, + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + 'value': { $ne: null } })).sort() || [] : []; return [versionedSubjects, unVersionedSubjects]; } @@ -733,21 +640,21 @@ export class StudyCore { return [[], []]; } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); - const versionedVisits = (await this.db.collections.data_collection.distinct('m_visitId', { - m_studyId: study.id, - m_versionId: availableDataVersions[availableDataVersions.length - 1], - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } + const versionedVisits = (await this.db.collections.data_collection.distinct('properties.m_visitId', { + 'studyId': study.id, + 'dataVersion': availableDataVersions[availableDataVersions.length - 1], + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + 'value': { $ne: null } })).sort((a, b) => parseFloat(a) - parseFloat(b)); - const unVersionedVisits = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('m_visitId', { - m_studyId: study.id, - m_versionId: null, - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, - value: { $ne: null } + const unVersionedVisits = hasPermission.hasVersioned ? (await this.db.collections.data_collection.distinct('properties.m_visitId', { + 'studyId': study.id, + 'dataVersion': null, + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) }, + 'value': { $ne: null } })).sort((a, b) => parseFloat(a) - parseFloat(b)) : []; return [versionedVisits, unVersionedVisits]; } @@ -766,23 +673,23 @@ export class StudyCore { } const availableDataVersions: Array = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); const numberOfVersioned: number = (await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: availableDataVersions[availableDataVersions.length - 1], value: { $ne: null } } + $match: { studyId: study.id, dataVersion: availableDataVersions[availableDataVersions.length - 1], value: { $ne: null } } }, { $match: { - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { $count: 'count' }]).toArray())[0]?.['count'] || 0; const numberOfUnVersioned: number = hasPermission.hasVersioned ? (await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: null, value: { $ne: null } } + $match: { studyId: study.id, dataVersion: null, value: { $ne: null } } }, { $match: { - m_subjectId: { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, - m_visitId: { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } + 'properties.m_subjectId': { $in: hasPermission.raw.subjectIds.map((el: string) => new RegExp(el)) }, + 'properties.m_visitId': { $in: hasPermission.raw.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } } }, { $count: 'count' @@ -826,9 +733,9 @@ export class StudyCore { return []; } const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - let fieldRecords: IFieldEntry[] = []; - if (requester.type === userTypes.ADMIN) { - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + let fieldRecords: IField[] = []; + if (requester.type === enumUserTypes.ADMIN) { + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } }, { $group: { @@ -851,8 +758,8 @@ export class StudyCore { subqueries.push(translateMetadata(subMetadata)); }); const metadataFilter = { $or: subqueries }; - fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions }, fieldId: { $in: ontologyTreeFieldIds } } + fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { 'studyId': project.studyId, 'life.deletedTime': null, 'dataVersion': { $in: availableDataVersions }, 'fieldId': { $in: ontologyTreeFieldIds } } }, { $match: metadataFilter }, { $group: { _id: '$fieldId', @@ -904,8 +811,8 @@ export class StudyCore { return []; } const ontologyTreeFieldIds: string[] = (availableTrees[0].routes || []).map(el => el.field[0].replace('$', '')); - const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumValueType.FILE } + const fileFieldIds: string[] = (await this.db.collections.field_dictionary_collection.aggregate([{ + $match: { studyId: study.id, dateDeleted: null, dataVersion: { $in: availableDataVersions }, dataType: enumDataTypes.FILE } }, { $match: { $and: [{ fieldId: { $in: hasPermission.raw.fieldIds.map((el: string) => new RegExp(el)) } }, { fieldId: { $in: ontologyTreeFieldIds } }] } }, { $group: { _id: '$fieldId', @@ -922,7 +829,7 @@ export class StudyCore { let remove: string[] = []; if (Object.keys(hasPermission.matchObj).length === 0) { (await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, dataVersion: { $in: availableDataVersions }, fieldId: { $in: fileFieldIds } } }]).toArray()).forEach(element => { add = add.concat(element.metadata?.add || []); remove = remove.concat(element.metadata?.remove || []); @@ -934,7 +841,7 @@ export class StudyCore { }); const metadataFilter = { $or: subqueries }; (await this.db.collections.data_collection.aggregate([{ - $match: { m_studyId: study.id, m_versionId: { $in: availableDataVersions }, m_fieldId: { $in: fileFieldIds } } + $match: { studyId: study.id, dataVersion: { $in: availableDataVersions }, fieldId: { $in: fileFieldIds } } }, { $match: metadataFilter }]).toArray()).forEach(element => { @@ -998,9 +905,9 @@ export class StudyCore { // const ontologyTreeFieldIds = (availableTrees[0]?.routes || []).map(el => el.field[0].replace('$', '')); let fieldRecords; - if (requester.type === userTypes.ADMIN) { + if (requester.type === enumUserTypes.ADMIN) { fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + $match: { 'studyId': project.studyId, 'life.deletedTime': null, 'dataVersion': { $in: availableDataVersions } } }, { $group: { _id: '$fieldId', @@ -1018,7 +925,7 @@ export class StudyCore { }); metadataFilter = { $or: subqueries }; fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ - $match: { studyId: project.studyId, dateDeleted: null, dataVersion: { $in: availableDataVersions } } + $match: { 'studyId': project.studyId, 'life.deletedTime': null, 'dataVersion': { $in: availableDataVersions } } }, { $match: metadataFilter }, { $group: { _id: '$fieldId', @@ -1035,7 +942,7 @@ export class StudyCore { cohort: [[]], new_fields: [] }; - const pipeline = buildPipeline(emptyQueryString, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IFieldEntry[], metadataFilter, requester.type === userTypes.ADMIN, false); + const pipeline = buildPipeline(emptyQueryString, project.studyId, [availableDataVersions[availableDataVersions.length - 1]], fieldRecords as IField[], metadataFilter, requester.type === enumUserTypes.ADMIN, false); const result = await this.db.collections.data_collection.aggregate<{ m_subjectId: string, m_visitId: string, m_fieldId: string, value: unknown }>(pipeline, { allowDiskUse: true }).toArray(); summary['subjects'] = Array.from(new Set(result.map((el) => el.m_subjectId))).sort(); summary['visits'] = Array.from(new Set(result.map((el) => el.m_visitId))).sort((a, b) => parseFloat(a) - parseFloat(b)).sort(); @@ -1073,13 +980,13 @@ export class StudyCore { return await this.db.collections.roles_collection.find({ studyId: project.studyId, projectId: project.id, deleted: null }).toArray(); } - public async createNewStudy(requester: IUserWithoutToken | undefined, studyName: string, description: string, type: studyType): Promise { + public async createNewStudy(requester: IUserWithoutToken | undefined, studyName: string, description: string, type: studyType) { /* check if study already exist (lowercase because S3 minio buckets cant be mixed case) */ if (!requester) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -1105,21 +1012,28 @@ export class StudyCore { const study: IStudy = { id: uuid(), name: studyName, - createdBy: requester.id, currentDataVersion: -1, - lastModified: new Date().valueOf(), dataVersions: [], - deleted: null, description: description, - type: type, ontologyTrees: [], - metadata: {} + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: { + type: type + } }; await this.db.collections.studies_collection.insertOne(study); - return study; + return { + ...study, + type: type + }; } - public async validateAndGenerateFieldEntry(fieldEntry: Partial, requester: IUserWithoutToken) { + public async validateAndGenerateFieldEntry(fieldEntry: CreateFieldInput, requester: IUserWithoutToken) { // duplicates with existing fields are checked by caller function const error: string[] = []; const complusoryField = [ @@ -1139,11 +1053,12 @@ export class StudyCore { error.push('FieldId should contain letters, numbers and _ only.'); } // data types - if (!fieldEntry.dataType || !Object.values(enumValueType).includes(fieldEntry.dataType)) { + const dataTypes = ['int', 'dec', 'str', 'bool', 'date', 'file', 'json', 'cat']; + if (!fieldEntry.dataType || !dataTypes.includes(fieldEntry.dataType)) { error.push(`Data type shouldn't be ${fieldEntry.dataType}: use 'int' for integer, 'dec' for decimal, 'str' for string, 'bool' for boolean, 'date' for datetime, 'file' for FILE, 'json' for json.`); } // check possiblevalues to be not-empty if datatype is categorical - if (fieldEntry.dataType === enumValueType.CATEGORICAL) { + if (fieldEntry.dataType === enumDataTypes.CATEGORICAL) { if (fieldEntry.possibleValues !== undefined && fieldEntry.possibleValues !== null) { if (fieldEntry.possibleValues.length === 0) { error.push(`${fieldEntry.fieldId}-${fieldEntry.fieldName}: possible values can't be empty if data type is categorical.`); @@ -1159,9 +1074,9 @@ export class StudyCore { const newField = { fieldId: fieldEntry.fieldId, fieldName: fieldEntry.fieldName, - tableName: fieldEntry.tableName, + tableName: null, dataType: fieldEntry.dataType, - possibleValues: fieldEntry.dataType === enumValueType.CATEGORICAL ? fieldEntry.possibleValues : null, + possibleValues: fieldEntry.dataType === enumDataTypes.CATEGORICAL ? fieldEntry.possibleValues : null, unit: fieldEntry.unit, comments: fieldEntry.comments, metadata: { @@ -1209,7 +1124,7 @@ export class StudyCore { response.push({ successful: false, code: errorCodes.NO_PERMISSION_ERROR, description: 'You do not have permissions to create this field.' }); continue; } - const { fieldEntry, error: thisError } = await this.validateAndGenerateFieldEntry(oneFieldInput, requester); + const { error: thisError } = await this.validateAndGenerateFieldEntry(oneFieldInput, requester); if (thisError.length !== 0) { response.push({ successful: false, code: errorCodes.CLIENT_MALFORMED_INPUT, description: `Field ${oneFieldInput.fieldId || 'fieldId not defined'}-${oneFieldInput.fieldName || 'fieldName not defined'}: ${JSON.stringify(thisError)}` }); isError = true; @@ -1218,25 +1133,47 @@ export class StudyCore { } // // construct the rest of the fields if (!isError) { - const newFieldEntry: IFieldEntry = { - ...fieldEntry, - fieldId: oneFieldInput.fieldId, - fieldName: oneFieldInput.fieldName, - dataType: oneFieldInput.dataType, + const newFieldEntry: IField = { id: uuid(), studyId: studyId, + fieldName: oneFieldInput.fieldName, + fieldId: oneFieldInput.fieldId, + dataType: (() => { + if (oneFieldInput.dataType === 'int') { + return enumDataTypes.INTEGER; + } else if (oneFieldInput.dataType === 'dec') { + return enumDataTypes.DECIMAL; + } else if (oneFieldInput.dataType === 'str') { + return enumDataTypes.STRING; + } else if (oneFieldInput.dataType === 'bool') { + return enumDataTypes.BOOLEAN; + } else if (oneFieldInput.dataType === 'date') { + return enumDataTypes.DATETIME; + } else if (oneFieldInput.dataType === 'file') { + return enumDataTypes.FILE; + } else if (oneFieldInput.dataType === 'json') { + return enumDataTypes.JSON; + } else if (oneFieldInput.dataType === 'cat') { + return enumDataTypes.CATEGORICAL; + } else { + return enumDataTypes.STRING; + } + })(), + categoricalOptions: oneFieldInput.dataType === 'cat' ? oneFieldInput.possibleValues : undefined, + unit: oneFieldInput.unit, + comments: oneFieldInput.comments, dataVersion: null, - dateAdded: Date.now(), - dateDeleted: null, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, metadata: { - uploader: requester.id + tableName: oneFieldInput.tableName } }; - bulk.find({ - fieldId: fieldEntry.fieldId, - studyId: studyId, - dataVersion: null - }).upsert().updateOne({ $set: newFieldEntry }); + bulk.insert(newFieldEntry); } } if (bulk.batches.length > 0) { @@ -1250,39 +1187,79 @@ export class StudyCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } // check fieldId exist - const searchField = await this.db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); + const searchField = await this.db.collections.field_dictionary_collection.findOne({ studyId: studyId, fieldId: fieldInput.fieldId, dateDeleted: null }); if (!searchField) { throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } searchField.fieldId = fieldInput.fieldId; searchField.fieldName = fieldInput.fieldName; - searchField.dataType = fieldInput.dataType; + searchField.dataType = (() => { + if (fieldInput.dataType === 'int') { + return enumDataTypes.INTEGER; + } else if (fieldInput.dataType === 'dec') { + return enumDataTypes.DECIMAL; + } else if (fieldInput.dataType === 'str') { + return enumDataTypes.STRING; + } else if (fieldInput.dataType === 'bool') { + return enumDataTypes.BOOLEAN; + } else if (fieldInput.dataType === 'date') { + return enumDataTypes.DATETIME; + } else if (fieldInput.dataType === 'file') { + return enumDataTypes.FILE; + } else if (fieldInput.dataType === 'json') { + return enumDataTypes.JSON; + } else if (fieldInput.dataType === 'cat') { + return enumDataTypes.CATEGORICAL; + } else { + return enumDataTypes.STRING; + } + })(); if (fieldInput.tableName) { - searchField.tableName = fieldInput.tableName; + searchField.metadata['tableName'] = fieldInput.tableName; } if (fieldInput.unit) { searchField.unit = fieldInput.unit; } if (fieldInput.possibleValues) { - searchField.possibleValues = fieldInput.possibleValues; + searchField.categoricalOptions = fieldInput.possibleValues; } if (fieldInput.tableName) { - searchField.tableName = fieldInput.tableName; + searchField.metadata['tableName'] = fieldInput.tableName; } if (fieldInput.comments) { searchField.comments = fieldInput.comments; } - const { fieldEntry, error } = await this.validateAndGenerateFieldEntry(searchField, requester); + const { error } = await this.validateAndGenerateFieldEntry(searchField, requester); if (error.length !== 0) { throw new GraphQLError(JSON.stringify(error), { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } }); } - const newFieldEntry = { ...fieldEntry, id: searchField.id, dateAdded: searchField.dateAdded, deleted: searchField.dateDeleted, studyId: searchField.studyId }; + // const newFieldEntry = { ...fieldEntry, id: searchField.id, dateAdded: searchField.dateAdded, deleted: searchField.dateDeleted, studyId: searchField.studyId }; + const newFieldEntry: IField = { + id: searchField.id, + studyId: searchField.studyId, + fieldName: searchField.fieldName, + fieldId: searchField.fieldId, + dataType: searchField.dataType, + categoricalOptions: searchField.categoricalOptions, + unit: searchField.unit, + comments: searchField.comments, + dataVersion: null, + life: { + createdTime: searchField.life.createdTime, + createdUser: searchField.life.createdUser, + deletedTime: searchField.life.deletedTime, + deletedUser: searchField.life.deletedUser + }, + verifier: searchField.verifier, + properties: searchField.properties, + metadata: searchField.metadata + }; await this.db.collections.field_dictionary_collection.findOneAndUpdate({ studyId: studyId, fieldId: newFieldEntry.fieldId }, { $set: newFieldEntry }); return newFieldEntry; @@ -1308,26 +1285,32 @@ export class StudyCore { // check fieldId exist const searchField = await this.db.collections.field_dictionary_collection.find({ studyId: studyId, fieldId: fieldId, dateDeleted: null }).limit(1).sort({ dateAdded: -1 }).toArray(); - if (searchField.length === 0 || searchField[0].dateDeleted !== null) { + if (searchField.length === 0 || searchField[0].life.deletedTime !== null) { throw new GraphQLError('Field does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } - const fieldEntry = { + const fieldEntry: IField = { id: uuid(), studyId: studyId, - fieldId: searchField[0].fieldId, fieldName: searchField[0].fieldName, - tableName: searchField[0].tableName, + fieldId: searchField[0].fieldId, dataType: searchField[0].dataType, - possibleValues: searchField[0].possibleValues, + categoricalOptions: searchField[0].categoricalOptions, unit: searchField[0].unit, comments: searchField[0].comments, dataVersion: null, - dateAdded: (new Date()).valueOf(), - dateDeleted: (new Date()).valueOf() + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: Date.now(), + deletedUser: requester.id + }, + verifier: searchField[0].verifier, + properties: searchField[0].properties, + metadata: searchField[0].metadata }; await this.db.collections.field_dictionary_collection.insertOne(fieldEntry); - return searchField[0]; + return this.fieldTypeConverter([fieldEntry])[0]; } public async editStudy(requester: IUserWithoutToken | undefined, studyId: string, description: string): Promise { @@ -1335,7 +1318,7 @@ export class StudyCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -1369,7 +1352,7 @@ export class StudyCore { // get all dataVersions that are valid (before/equal the current version) const availableDataVersions = (study.currentDataVersion === -1 ? [] : study.dataVersions.filter((__unused__el, index) => index <= study.currentDataVersion)).map(el => el.id); const fieldRecords = await this.db.collections.field_dictionary_collection.aggregate([{ - $sort: { dateAdded: -1 } + $sort: { 'life.createdTime': -1 } }, { $match: { $or: [{ dataVersion: null }, { dataVersion: { $in: availableDataVersions } }] } }, { @@ -1382,7 +1365,7 @@ export class StudyCore { } ]).toArray(); // filter those that have been deleted - const fieldsList = fieldRecords.map(el => el['doc']).filter(eh => eh.dateDeleted === null); + const fieldsList = fieldRecords.map(el => el['doc']).filter(eh => eh.life.deletedTime === null); const response = (await this.uploadOneDataClip(studyId, hasPermission.raw, fieldsList, data, requester)); return response; @@ -1410,12 +1393,12 @@ export class StudyCore { let validFields; // filter if (subjectIds === undefined || subjectIds === null || subjectIds.length === 0) { - validSubjects = (await this.db.collections.data_collection.distinct('m_subjectId', { m_studyId: studyId })); + validSubjects = (await this.db.collections.data_collection.distinct('properties.m_subjectId', { studyId: studyId })); } else { validSubjects = subjectIds; } if (visitIds === undefined || visitIds === null || visitIds.length === 0) { - validVisits = (await this.db.collections.data_collection.distinct('m_visitId', { m_studyId: studyId })); + validVisits = (await this.db.collections.data_collection.distinct('properties.m_visitId', { studyId: studyId })); } else { validVisits = visitIds; } @@ -1432,17 +1415,22 @@ export class StudyCore { if (!(await this.permissionCore.checkDataEntryValid(hasPermission.raw, fieldId, subjectId, visitId))) { continue; } - bulk.find({ m_studyId: studyId, m_subjectId: subjectId, m_visitId: visitId, m_fieldId: fieldId, m_versionId: null }).upsert().updateOne({ - $set: { - m_studyId: studyId, + bulk.insert({ + studyId: studyId, + fieldId: fieldId, + value: null, + properties: { m_subjectId: subjectId, - m_visitId: visitId, - m_versionId: null, - m_fieldId: fieldId, - value: null, - uploadedAt: (new Date()).valueOf(), - id: uuid() - } + m_visitId: visitId + }, + dataVersion: null, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: Date.now(), + deletedUser: requester.id + }, + id: uuid() }); response.push({ successful: true, description: `SubjectId-${subjectId}:visitId-${visitId}:fieldId-${fieldId} is deleted.` }); } @@ -1463,7 +1451,7 @@ export class StudyCore { } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -1472,15 +1460,14 @@ export class StudyCore { throw new GraphQLError(errorCodes.CLIENT_MALFORMED_INPUT); } const newDataVersionId = uuid(); - const newContentId = uuid(); // update data const resData = await this.db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: null + studyId: studyId, + dataVersion: null }, { $set: { - m_versionId: newDataVersionId + dataVersion: newDataVersionId } }); // update field @@ -1516,10 +1503,15 @@ export class StudyCore { // insert a new version into study const newDataVersion: IStudyDataVersion = { id: newDataVersionId, - contentId: newContentId, // same content = same id - used in reverting data, version control version: dataVersion, tag: tag, - updateDate: (new Date().valueOf()).toString() + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await this.db.collections.studies_collection.updateOne({ id: studyId }, { $push: { dataVersions: newDataVersion }, @@ -1543,22 +1535,22 @@ export class StudyCore { validSubjects = []; const subqueries = translateCohort(role.permissions.data.filters); validSubjects = (await this.db.collections.data_collection.aggregate<{ - m_subjectId: string, m_visitId: string, m_fieldId: string, value: string | number | boolean | { [key: string]: unknown } + 'm_subjectId': string, m_visitId: string, fieldId: string, value: string | number | boolean | { [key: string]: unknown } }>([{ - $match: { m_fieldId: { $in: role.permissions.data.filters.map(el => el.field) } } + $match: { fieldId: { $in: role.permissions.data.filters.map(el => el.field) } } }, { $sort: { uploadedAt: -1 } }, { $group: { - _id: { m_subjectId: '$m_subjectId', m_visitId: '$m_visitId', m_fieldId: '$m_fieldId' }, + _id: { m_subjectId: '$properties.m_subjectId', m_visitId: '$properties.m_visitId', m_fieldId: '$fieldId' }, doc: { $first: '$$ROOT' } } }, { $project: { - m_subjectId: '$doc.m_subjectId', - m_visitId: '$doc.m_visitId', - m_fieldId: '$doc.m_fieldId', + m_subjectId: '$doc.properties.m_subjectId', + m_visitId: '$doc.properties.m_visitId', + m_fieldId: '$doc.fieldId', value: '$doc.value', _id: 0 } @@ -1572,25 +1564,25 @@ export class StudyCore { } const tag = `metadata.${'role:'.concat(role.id)}`; await this.db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: newDataVersionId, - $and: [ - { m_subjectId: { $in: filters.subjectIds.map((el: string) => new RegExp(el)) } }, - { m_subjectId: { $in: validSubjects } } + 'studyId': studyId, + 'dataVersion': newDataVersionId, + '$and': [ + { 'properties.m_subjectId': { $in: filters.subjectIds.map((el: string) => new RegExp(el)) } }, + { 'properties.m_subjectId': { $in: validSubjects } } ], - m_visitId: { $in: filters.visitIds.map((el: string) => new RegExp(el)) }, - m_fieldId: { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } + 'properties.m_visitId': { $in: filters.visitIds.map((el: string) => new RegExp(el)) }, + 'fieldId': { $in: filters.fieldIds.map((el: string) => new RegExp(el)) } }, { $set: { [tag]: true } }); await this.db.collections.data_collection.updateMany({ - m_studyId: studyId, - m_versionId: newDataVersionId, + studyId: studyId, + dataVersion: newDataVersionId, $or: [ - { m_subjectId: { $nin: filters.subjectIds.map((el: string) => new RegExp(el)) } }, - { m_subjectId: { $nin: validSubjects } }, - { m_visitId: { $nin: filters.visitIds.map((el: string) => new RegExp(el)) } }, - { m_fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } } + { 'properties.m_subjectId': { $nin: filters.subjectIds.map((el: string) => new RegExp(el)) } }, + { 'properties.m_subjectId': { $nin: validSubjects } }, + { 'properties.m_visitId': { $nin: filters.visitIds.map((el: string) => new RegExp(el)) } }, + { fieldId: { $nin: filters.fieldIds.map((el: string) => new RegExp(el)) } } ] }, { $set: { [tag]: false } @@ -1613,10 +1605,14 @@ export class StudyCore { if (newDataVersion === null) { throw new GraphQLError('No matched or modified records', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } - return newDataVersion; + return { + ...newDataVersion, + updateDate: newDataVersion.life.createdTime.toString(), + contentId: uuid() + }; } - public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUserWithoutToken): Promise { + public async uploadOneDataClip(studyId: string, permissions, fieldList: Partial[], data: IDataClip[], requester: IUserWithoutToken): Promise { const response: IGenericResponse[] = []; let bulk = this.db.collections.data_collection.initializeUnorderedBulkOp(); // remove duplicates by subjectId, visitId and fieldId @@ -1648,7 +1644,7 @@ export class StudyCore { parsedValue = '99999'; } else { switch (fieldInDb.dataType) { - case 'dec': {// decimal + case enumDataTypes.DECIMAL: {// decimal if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as decimal.`; break; @@ -1660,7 +1656,7 @@ export class StudyCore { parsedValue = parseFloat(dataClip.value); break; } - case 'int': {// integer + case enumDataTypes.INTEGER: {// integer if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as integer.`; break; @@ -1672,7 +1668,7 @@ export class StudyCore { parsedValue = parseInt(dataClip.value, 10); break; } - case 'bool': {// boolean + case enumDataTypes.BOOLEAN: {// boolean if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as boolean.`; break; @@ -1685,7 +1681,7 @@ export class StudyCore { } break; } - case 'str': { + case enumDataTypes.STRING: { if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as string.`; break; @@ -1694,7 +1690,7 @@ export class StudyCore { break; } // 01/02/2021 00:00:00 - case 'date': { + case enumDataTypes.DATETIME: { if (typeof (dataClip.value) !== 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as data. Value for date type must be in ISO format.`; break; @@ -1707,11 +1703,11 @@ export class StudyCore { parsedValue = dataClip.value.toString(); break; } - case 'json': { + case enumDataTypes.JSON: { parsedValue = dataClip.value; break; } - case 'file': { + case enumDataTypes.FILE: { if (!dataClip.file || typeof (dataClip.file) === 'string') { error = `Field ${dataClip.fieldId}: Cannot parse as file.`; break; @@ -1726,12 +1722,12 @@ export class StudyCore { } break; } - case 'cat': { - if (!fieldInDb.possibleValues) { + case enumDataTypes.CATEGORICAL: { + if (!fieldInDb.categoricalOptions) { error = `Field ${dataClip.fieldId}: Cannot parse as categorical, possible values not defined.`; break; } - if (dataClip.value && !fieldInDb.possibleValues.map((el) => el.code).includes(dataClip.value?.toString())) { + if (dataClip.value && !fieldInDb.categoricalOptions.map((el) => el.code).includes(dataClip.value?.toString())) { error = `Field ${dataClip.fieldId}: Cannot parse as categorical, value not in value list.`; break; } else { @@ -1751,58 +1747,25 @@ export class StudyCore { } else { response.push({ successful: true, description: `${dataClip.subjectId}-${dataClip.visitId}-${dataClip.fieldId}` }); } - const obj = { - m_studyId: studyId, - m_versionId: null, - m_subjectId: dataClip.subjectId, - m_visitId: dataClip.visitId, - m_fieldId: dataClip.fieldId - }; - let objWithData: Partial>; - // update the file data differently - if (fieldInDb.dataType === 'file') { - const existing = await this.db.collections.data_collection.findOne(obj); - if (!existing) { - await this.db.collections.data_collection.insertOne({ - ...obj, - id: uuid(), - uploadedAt: (new Date()).valueOf(), - value: '', - metadata: { - add: [], - remove: [] - } - }); - } + bulk.insert({ + id: uuid(), + studyId: studyId, + fieldId: dataClip.fieldId, + dataVersion: null, + value: parsedValue, + properties: { + m_subjectId: dataClip.subjectId, + m_visitId: dataClip.visitId + }, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }); - objWithData = { - ...obj, - id: uuid(), - value: '', - uploadedAt: (new Date()).valueOf(), - metadata: { - ...dataClip.metadata, - participantId: dataClip.subjectId, - add: (existing?.metadata?.add || []).concat(parsedValue), - uploader: requester.id - }, - uploadedBy: requester.id - }; - bulk.find(obj).updateOne({ $set: objWithData }); - } else { - objWithData = { - ...obj, - id: uuid(), - value: parsedValue, - uploadedAt: (new Date()).valueOf(), - metadata: { - ...dataClip.metadata, - uploader: requester.id - }, - uploadedBy: requester.id - }; - bulk.insert(objWithData); - } if (bulk.batches.length > 999) { await bulk.execute(); bulk = this.db.collections.data_collection.initializeUnorderedBulkOp(); @@ -1821,19 +1784,20 @@ export class StudyCore { if (!study) { return { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, description: 'Study does not exist.' }; } - const sitesIDMarkers = (await this.db.collections.organisations_collection.find({ deleted: null }).toArray()).reduce<{ [key: string]: string | null }>((acc, curr) => { - if (curr.metadata?.siteIDMarker) { - acc[curr.metadata.siteIDMarker] = curr.shortname; + const organisations = await this.db.collections.organisations_collection.find({ 'life.deletedTime': null }).toArray(); + const sitesIDMarkers: Record = organisations.reduce((acc, curr) => { + if (curr.metadata['siteIDMarker']) { + acc[String(curr.metadata['siteIDMarker'])] = curr.shortname ?? curr.name; } return acc; - }, {}); + }, {} as Record); // check file metadata + let parsedDescription: Record; + let startDate: number; + let endDate: number; + let deviceId: string; + let participantId: string; if (data.metadata) { - let parsedDescription: Record; - let startDate: number; - let endDate: number; - let deviceId: string; - let participantId: string; try { parsedDescription = data.metadata; if (!parsedDescription['startDate'] || !parsedDescription['endDate'] || !parsedDescription['deviceId'] || !parsedDescription['participantId']) { @@ -1864,22 +1828,11 @@ export class StudyCore { const file: FileUpload = await data.file; // check if old files exist; if so, denote it as deleted - const dataEntry = await this.db.collections.data_collection.findOne({ m_studyId: studyId, m_visitId: data.visitId, m_subjectId: data.subjectId, m_versionId: null, m_fieldId: data.fieldId }); + const dataEntry = await this.db.collections.data_collection.findOne({ 'studyId': studyId, 'properties.m_visitId': data.visitId, 'properties.m_subjectId': data.subjectId, 'dataVersion': null, 'fieldId': data.fieldId }); const oldFileId = dataEntry ? dataEntry.value : null; return new Promise((resolve, reject) => { (async () => { try { - const fileEntry: Partial = { - id: uuid(), - fileName: file.filename, - studyId: studyId, - description: JSON.stringify({}), - uploadTime: `${Date.now()}`, - uploadedBy: uploader.id, - deleted: null, - metadata: (data.metadata as Record) - }; - if (args.fileLength !== undefined && args.fileLength > fileSizeLimit) { reject(new GraphQLError('File should not be larger than 8GB', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); return; @@ -1923,10 +1876,29 @@ export class StudyCore { reject(new GraphQLError('File size mismatch', { extensions: { code: errorCodes.CLIENT_MALFORMED_INPUT } })); return; } + const fileParts: string[] = file.filename.split('.'); + const fileExtension = fileParts.length === 1 ? enumFileTypes.UNKNOWN : (fileParts[fileParts.length - 1].trim().toUpperCase() in enumFileTypes ? fileParts[fileParts.length - 1].trim().toUpperCase() : enumFileTypes.UNKNOWN); - fileEntry.fileSize = readBytes.toString(); - fileEntry.uri = fileUri; - fileEntry.hash = hashString; + const fileEntry: Partial = { + id: uuid(), + studyId: studyId, + userId: null, + fileName: file.filename, + fileSize: readBytes, + description: JSON.stringify({}), + properties: { + participantId: participantId, + deviceId: deviceId, + startDate: startDate, + endDate: endDate, + site: sitesIDMarkers[participantId.substr(0, 1).toUpperCase()] ?? 'Unknown' + }, + uri: fileUri, + hash: hashString, + fileType: fileExtension in enumFileTypes ? enumFileTypes[fileExtension] : enumFileTypes.UNKNOWN, + fileCategory: enumFileCategories.STUDY_DATA_FILE, + sharedUsers: [] + }; const insertResult = await this.db.collections.files_collection.insertOne(fileEntry as IFile); if (insertResult.acknowledged) { // delete old file if existing @@ -2079,7 +2051,7 @@ export class StudyCore { }; const getListOfPatientsResult = await this.db.collections.data_collection.aggregate([ - { $match: { m_studyId: studyId } }, + { $match: { studyId: studyId } }, { $group: { _id: null, array: { $addToSet: '$m_subjectId' } } }, { $project: { array: 1 } } ]).toArray(); @@ -2101,10 +2073,10 @@ export class StudyCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* check privileges */ - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } - const study = await this.db.collections.studies_collection.findOne({ id: studyId, deleted: null }); + const study = await this.db.collections.studies_collection.findOne({ 'id': studyId, 'life.deletedTime': null }); if (!study) { throw new GraphQLError('Study does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -2116,7 +2088,7 @@ export class StudyCore { try { /* delete the study */ - await this.db.collections.studies_collection.findOneAndUpdate({ id: studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); + await this.db.collections.studies_collection.findOneAndUpdate({ 'id': studyId, 'life.deletedTime': null }, { $set: { 'life.deletedUser': requester.id, 'life.deletedTime': timestamp } }); /* delete all projects related to the study */ await this.db.collections.projects_collection.updateMany({ studyId, deleted: null }, { $set: { lastModified: timestamp, deleted: timestamp } }); @@ -2125,7 +2097,7 @@ export class StudyCore { await this.permissionCore.removeRoleFromStudyOrProject({ studyId }); /* delete all files belong to the study*/ - await this.db.collections.files_collection.updateMany({ studyId, deleted: null }, { $set: { deleted: timestamp } }); + await this.db.collections.files_collection.updateMany({ studyId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': timestamp } }); await session.commitTransaction(); session.endSession().catch(() => { return; }); diff --git a/packages/itmat-cores/src/core/userCore.ts b/packages/itmat-cores/src/GraphQLCore/userCore.ts similarity index 89% rename from packages/itmat-cores/src/core/userCore.ts rename to packages/itmat-cores/src/GraphQLCore/userCore.ts index 41326775d..764b5db3f 100644 --- a/packages/itmat-cores/src/core/userCore.ts +++ b/packages/itmat-cores/src/GraphQLCore/userCore.ts @@ -1,6 +1,6 @@ import bcrypt from 'bcrypt'; import { GraphQLError } from 'graphql'; -import { IUser, IUserWithoutToken, userTypes, IPubkey, IProject, IStudy, IResetPasswordRequest } from '@itmat-broker/itmat-types'; +import { IUser, IUserWithoutToken, enumUserTypes, IPubkey, IProject, IStudy, IResetPasswordRequest, enumReservedUsers } from '@itmat-broker/itmat-types'; import { v4 as uuid } from 'uuid'; import { errorCodes } from '../utils/errors'; import { MarkOptional } from 'ts-essentials'; @@ -31,7 +31,7 @@ export interface CreateUserInput { export interface EditUserInput { id: string, username?: string, - type?: userTypes, + type?: enumUserTypes, firstname?: string, lastname?: string, email?: string, @@ -66,7 +66,7 @@ export class UserCore { } public async getOneUser_throwErrorIfNotExists(username: string): Promise { - const user = await this.db.collections.users_collection.findOne({ deleted: null, username }); + const user = await this.db.collections.users_collection.findOne({ 'life.deletedTime': null, username }); if (user === undefined || user === null) { throw new GraphQLError('User does not exist.', { extensions: { code: errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY } }); } @@ -75,8 +75,17 @@ export class UserCore { public async getUsers(userId?: string) { // everyone is allowed to see all the users in the app. But only admin can access certain fields, like emails, etc - see resolvers for User type. - const queryObj = userId === undefined ? { deleted: null } : { deleted: null, id: userId }; - return await this.db.collections.users_collection.find(queryObj, { projection: { _id: 0 } }).toArray(); + const queryObj = userId === undefined ? { 'life.deletedTime': null } : { 'life.deletedTime': null, 'id': userId }; + const users = await this.db.collections.users_collection.find(queryObj, { projection: { _id: 0, password: 0, otpSecret: 0 } }).toArray(); + const modifiedUsers: Record[] = []; + for (const user of users) { + modifiedUsers.push({ + ...user, + createdAt: user.life.createdTime, + deleted: user.life.deletedTime + }); + } + return modifiedUsers; } public async validateResetPassword(token: string, encryptedEmail: string) { @@ -96,14 +105,14 @@ export class UserCore { const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; const user: IUserWithoutToken | null = await this.db.collections.users_collection.findOne({ email, - resetPasswordRequests: { + 'resetPasswordRequests': { $elemMatch: { id: token, timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, used: false } }, - deleted: null + 'life.deletedTime': null }); if (!user) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -120,14 +129,14 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== enumUserTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } /* if requested user is admin, then he has access to all studies */ - if (user.type === userTypes.ADMIN) { + if (user.type === enumUserTypes.ADMIN) { const allprojects: IProject[] = await this.db.collections.projects_collection.find({ deleted: null }).toArray(); - const allstudies: IStudy[] = await this.db.collections.studies_collection.find({ deleted: null }).toArray(); + const allstudies: IStudy[] = await this.db.collections.studies_collection.find({ 'life.deletedTime': null }).toArray(); return { id: `user_access_obj_user_id_${user.id}`, projects: allprojects, studies: allstudies }; } @@ -151,7 +160,7 @@ export class UserCore { { studyId: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null } ] }).toArray(); - const studies = await this.db.collections.studies_collection.find({ id: { $in: studiesAndProjectThatUserCanSee.studies }, deleted: null }).toArray(); + const studies = await this.db.collections.studies_collection.find({ 'id': { $in: studiesAndProjectThatUserCanSee.studies }, 'life.deletedTime': null }).toArray(); return { id: `user_access_obj_user_id_${user.id}`, projects, studies }; } @@ -160,7 +169,7 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== enumUserTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -172,7 +181,7 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== enumUserTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -184,7 +193,7 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } /* only admin can access this field */ - if (requester.type !== userTypes.ADMIN && user.id !== requester.id) { + if (requester.type !== enumUserTypes.ADMIN && user.id !== requester.id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -193,7 +202,7 @@ export class UserCore { public async requestExpiryDate(username?: string, email?: string) { /* double-check user existence */ - const queryObj = email ? { deleted: null, email } : { deleted: null, username }; + const queryObj = email ? { 'life.deletedTime': null, email } : { 'life.deletedTime': null, username }; const user: IUser | null = await this.db.collections.users_collection.findOne(queryObj); if (!user) { /* even user is null. send successful response: they should know that a user doesn't exist */ @@ -217,7 +226,7 @@ export class UserCore { return makeGenericReponse(); } - public async requestUsernameOrResetPassword(forgotUsername: boolean, forgotPassword: boolean, origin: unknown, email?: string, username?: string) { + public async requestUsernameOrResetPassword(forgotUsername: boolean, forgotPassword: boolean, origin: string, email?: string, username?: string) { /* checking the args are right */ if ((forgotUsername && !email) // should provide email if no username || (forgotUsername && username) // should not provide username if it's forgotten.. @@ -230,7 +239,7 @@ export class UserCore { } /* check user existence */ - const queryObj = email ? { deleted: null, email } : { deleted: null, username }; + const queryObj = email ? { 'life.deletedTime': null, email } : { 'life.deletedTime': null, username }; const user = await this.db.collections.users_collection.findOne(queryObj); if (!user) { /* even user is null. send successful response: they should know that a user doesn't exist */ @@ -292,7 +301,7 @@ export class UserCore { public async login(request: Express.Request, username: string, password: string, totp: string, requestexpirydate?: boolean) { // const { req }: { req: Express.Request } = context; - const result = await this.db.collections.users_collection.findOne({ deleted: null, username: username }); + const result = await this.db.collections.users_collection.findOne({ 'life.deletedTime': null, 'username': username }); if (!result) { throw new GraphQLError('User does not exist.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } @@ -312,7 +321,7 @@ export class UserCore { } /* validate if account expired */ - if (result.expiredAt < Date.now() && result.type === userTypes.STANDARD) { + if (result.expiredAt < Date.now() && result.type === enumUserTypes.STANDARD) { if (requestexpirydate) { /* send email to the DMP admin mailing-list */ await this.mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ @@ -334,14 +343,19 @@ export class UserCore { const filteredResult: IUserWithoutToken = { ...result }; - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { request.login(filteredResult, (err: unknown) => { if (err) { Logger.error(err); reject(new GraphQLError('Cannot log in. Please try again later.')); return; } - resolve(filteredResult); + + resolve({ + ...filteredResult, + createdAt: filteredResult.life.createdTime, + deleted: filteredResult.life.deletedTime + }); }); }); } @@ -378,13 +392,13 @@ export class UserCore { throw new GraphQLError('Username or password cannot have spaces.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const alreadyExist = await this.db.collections.users_collection.findOne({ username: user.username, deleted: null }); // since bycrypt is CPU expensive let's check the username is not taken first + const alreadyExist = await this.db.collections.users_collection.findOne({ 'username': user.username, 'life.deletedTime': null }); // since bycrypt is CPU expensive let's check the username is not taken first if (alreadyExist !== null && alreadyExist !== undefined) { throw new GraphQLError('User already exists.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } /* check if email has been used to register */ - const emailExist = await this.db.collections.users_collection.findOne({ email: user.email, deleted: null }); + const emailExist = await this.db.collections.users_collection.findOne({ 'email': user.email, 'life.deletedTime': null }); if (emailExist !== null && emailExist !== undefined) { throw new GraphQLError('This email has been registered. Please sign-in or register with another email!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } @@ -398,7 +412,7 @@ export class UserCore { id: uuid(), username: user.username, otpSecret, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, description: user.description ?? '', organisation: user.organisation, firstname: user.firstname, @@ -407,11 +421,15 @@ export class UserCore { email: user.email, emailNotificationsActivated: user.emailNotificationsActivated ?? false, emailNotificationsStatus: { expiringNotification: false }, - createdAt, expiredAt, resetPasswordRequests: [], - metadata: user.metadata, - deleted: null + metadata: {}, + life: { + createdTime: createdAt, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + } }; const result = await this.db.collections.users_collection.insertOne(entry); @@ -470,7 +488,7 @@ export class UserCore { throw new GraphQLError('User cannot delete itself'); } - if (requester.type !== userTypes.ADMIN) { + if (requester.type !== enumUserTypes.ADMIN) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } @@ -478,7 +496,7 @@ export class UserCore { session.startTransaction(); try { /* delete the user */ - await this.db.collections.users_collection.findOneAndUpdate({ id: userId, deleted: null }, { $set: { deleted: new Date().valueOf(), password: 'DeletedUserDummyPassword' } }, { returnDocument: 'after', projection: { deleted: 1 } }); + await this.db.collections.users_collection.findOneAndUpdate({ 'id': userId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': Date.now(), 'password': 'DeletedUserDummyPassword' } }, { returnDocument: 'after', projection: { 'life.deletedTime': 1 } }); /* delete all user records in roles related to the study */ await this.db.collections.roles_collection.updateMany( @@ -533,14 +551,14 @@ export class UserCore { const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; const user: IUserWithoutToken | null = await this.db.collections.users_collection.findOne({ email, - resetPasswordRequests: { + 'resetPasswordRequests': { $elemMatch: { id: token, timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, used: false } }, - deleted: null + 'life.deletedTime': null }); if (!user) { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); @@ -613,7 +631,7 @@ export class UserCore { throw new GraphQLError(errorCodes.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY); } const { id, username, type, firstname, lastname, email, emailNotificationsActivated, emailNotificationsStatus, password, description, organisation, expiredAt, metadata }: { - id: string, username?: string, type?: userTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown + id: string, username?: string, type?: enumUserTypes, firstname?: string, lastname?: string, email?: string, emailNotificationsActivated?: boolean, emailNotificationsStatus?: unknown, password?: string, description?: string, organisation?: string, expiredAt?: number, metadata?: unknown } = user; if (password !== undefined && requester.id !== id) { // only the user themself can reset password throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); @@ -621,12 +639,12 @@ export class UserCore { if (password && !passwordIsGoodEnough(password)) { throw new GraphQLError('Password has to be at least 8 character long.'); } - if (requester.type !== userTypes.ADMIN && requester.id !== id) { + if (requester.type !== enumUserTypes.ADMIN && requester.id !== id) { throw new GraphQLError(errorCodes.NO_PERMISSION_ERROR); } let result; - if (requester.type === userTypes.ADMIN) { - result = await this.db.collections.users_collection.findOne({ id, deleted: null }); // just an extra guard before going to bcrypt cause bcrypt is CPU intensive. + if (requester.type === enumUserTypes.ADMIN) { + result = await this.db.collections.users_collection.findOne({ id, 'life.deletedTime': null }); // just an extra guard before going to bcrypt cause bcrypt is CPU intensive. if (result === null || result === undefined) { throw new GraphQLError('User not found'); } @@ -644,14 +662,14 @@ export class UserCore { description, organisation, expiredAt, - metadata + metadata: metadata ?? {} }; /* check email is valid form */ if (email && !/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { throw new GraphQLError('User not updated: Email is not the right format.', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - if (requester.type !== userTypes.ADMIN && ( + if (requester.type !== enumUserTypes.ADMIN && ( type || firstname || lastname || username || description || organisation )) { throw new GraphQLError('User not updated: Non-admin users are only authorised to change their password, email or email notification.'); @@ -668,7 +686,7 @@ export class UserCore { expiringNotification: false }; } - const updateResult = await this.db.collections.users_collection.findOneAndUpdate({ id, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + const updateResult = await this.db.collections.users_collection.findOneAndUpdate({ id, 'life.deletedTime': null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); if (updateResult) { // New expiry date has been updated successfully. if (expiredAt && result) { @@ -685,7 +703,7 @@ export class UserCore { } } - public async registerPubkey(pubkeyobj: { pubkey: string, associatedUserId: string | null, jwtPubkey: string, jwtSeckey: string }): Promise { + public async registerPubkey(pubkeyobj: { pubkey: string, associatedUserId: string, jwtPubkey: string, jwtSeckey: string }): Promise { const { pubkey, associatedUserId, jwtPubkey, jwtSeckey } = pubkeyobj; const entry: IPubkey = { id: uuid(), @@ -694,7 +712,13 @@ export class UserCore { jwtPubkey, jwtSeckey, refreshCounter: 0, - deleted: null + life: { + createdTime: Date.now(), + createdUser: associatedUserId, + deletedTime: null, + deletedUser: null + }, + metadata: {} }; const result = await this.db.collections.pubkeys_collection.insertOne(entry); diff --git a/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts b/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts index 27f7b1ce7..6e52daa74 100644 --- a/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts +++ b/packages/itmat-cores/src/authentication/pubkeyAuthentication.ts @@ -14,7 +14,7 @@ export async function userRetrieval(db: DBType, pubkey: string): Promise throw new GraphQLError('The public-key embedded in the JWT is not associated with any user!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } - const associatedUser: IUser | null = await db.collections.users_collection.findOne({ deleted: null, id: pubkeyrec.associatedUserId }, { projection: { _id: 0 } }); + const associatedUser: IUser | null = await db.collections.users_collection.findOne({ 'life.deletedTime': null, 'id': pubkeyrec.associatedUserId }, { projection: { _id: 0 } }); if (!associatedUser) { throw new GraphQLError('The user assciated with the public-key embedded in the JWT is not existed or already deleted!', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); } diff --git a/packages/itmat-cores/src/database/database.ts b/packages/itmat-cores/src/database/database.ts index 261e5179d..6c46c2192 100644 --- a/packages/itmat-cores/src/database/database.ts +++ b/packages/itmat-cores/src/database/database.ts @@ -1,4 +1,4 @@ -import type { IDataEntry, IFieldEntry, IFile, IJobEntry, ILogEntry, IOrganisation, IProject, IPubkey, IQueryEntry, IRole, IStudy, IUser, IStandardization } from '@itmat-broker/itmat-types'; +import type { IField, IFile, IJobEntry, ILogEntry, IOrganisation, IProject, IPubkey, IQueryEntry, IRole, IStudy, IUser, IStandardization, IConfig, IData } from '@itmat-broker/itmat-types'; import { Database as DatabaseBase, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; import type { Collection } from 'mongodb'; @@ -17,6 +17,7 @@ export interface IDatabaseConfig extends IDatabaseBaseConfig { pubkeys_collection: string, data_collection: string, standardizations_collection: string, + configs_collection: string }; } @@ -26,13 +27,14 @@ export interface IDatabaseCollectionConfig { studies_collection: Collection, projects_collection: Collection, queries_collection: Collection, - field_dictionary_collection: Collection, + field_dictionary_collection: Collection, roles_collection: Collection, files_collection: Collection, organisations_collection: Collection, log_collection: Collection, pubkeys_collection: Collection, - data_collection: Collection, + data_collection: Collection, standardizations_collection: Collection, + configs_collection: Collection } export type DBType = DatabaseBase; diff --git a/packages/itmat-cores/src/index.ts b/packages/itmat-cores/src/index.ts index a2e4263f3..81a15686d 100644 --- a/packages/itmat-cores/src/index.ts +++ b/packages/itmat-cores/src/index.ts @@ -1,15 +1,18 @@ -export * from './core/fileCore'; -export * from './core/jobCore'; -export * from './core/logCore'; -export * from './core/organisationCore'; -export * from './core/permissionCore'; -export * from './core/pubkeyCore'; -export * from './core/queryCore'; -export * from './core/standardizationCore'; -export * from './core/studyCore'; -export * from './core/userCore'; +// GraphQLCore +export * from './GraphQLCore/fileCore'; +export * from './GraphQLCore/jobCore'; +export * from './GraphQLCore/logCore'; +export * from './GraphQLCore/organisationCore'; +export * from './GraphQLCore/permissionCore'; +export * from './GraphQLCore/pubkeyCore'; +export * from './GraphQLCore/queryCore'; +export * from './GraphQLCore/standardizationCore'; +export * from './GraphQLCore/studyCore'; +export * from './GraphQLCore/userCore'; +// TRPCCore +export * from './trpcCore/userCore'; export * from './rest/fileDownload'; export * from './authentication/pubkeyAuthentication'; export * from './log/logPlugin'; export * from './database/database'; -export * from './utils'; \ No newline at end of file +export * from './utils'; diff --git a/packages/itmat-cores/src/log/logPlugin.ts b/packages/itmat-cores/src/log/logPlugin.ts index 2a684ea2e..a1618ebd1 100644 --- a/packages/itmat-cores/src/log/logPlugin.ts +++ b/packages/itmat-cores/src/log/logPlugin.ts @@ -1,5 +1,5 @@ import { v4 as uuid } from 'uuid'; -import { LOG_TYPE, LOG_ACTION, LOG_STATUS, USER_AGENT, userTypes } from '@itmat-broker/itmat-types'; +import { LOG_TYPE, LOG_ACTION, LOG_STATUS, USER_AGENT, enumUserTypes } from '@itmat-broker/itmat-types'; import { GraphQLRequestContextWillSendResponse } from '@apollo/server'; import { ApolloServerContext } from '../utils/ApolloServerContext'; import { DBType } from '../database/database'; @@ -19,8 +19,8 @@ export class LogPlugin { public async serverWillStartLogPlugin(): Promise { await this.db.collections.log_collection.insertOne({ id: uuid(), - requesterName: userTypes.SYSTEM, - requesterType: userTypes.SYSTEM, + requesterName: enumUserTypes.SYSTEM, + requesterType: enumUserTypes.SYSTEM, logType: LOG_TYPE.SYSTEM_LOG, actionType: LOG_ACTION.startSERVER, actionData: JSON.stringify({}), @@ -43,7 +43,7 @@ export class LogPlugin { await this.db.collections.log_collection.insertOne({ id: uuid(), requesterName: requestContext.contextValue?.req?.user?.username ?? 'NA', - requesterType: requestContext.contextValue?.req?.user?.type ?? userTypes.SYSTEM, + requesterType: requestContext.contextValue?.req?.user?.type ?? enumUserTypes.SYSTEM, userAgent: (requestContext.contextValue.req?.headers['user-agent'] as string)?.startsWith('Mozilla') ? USER_AGENT.MOZILLA : USER_AGENT.OTHER, logType: LOG_TYPE.REQUEST_LOG, actionType: LOG_ACTION[requestContext.operationName], diff --git a/packages/itmat-cores/src/rest/fileDownload.ts b/packages/itmat-cores/src/rest/fileDownload.ts index 896811582..65f64d147 100644 --- a/packages/itmat-cores/src/rest/fileDownload.ts +++ b/packages/itmat-cores/src/rest/fileDownload.ts @@ -4,7 +4,7 @@ import jwt from 'jsonwebtoken'; import { userRetrieval } from '../authentication/pubkeyAuthentication'; import { ApolloServerErrorCode } from '@apollo/server/errors'; import { GraphQLError } from 'graphql'; -import { PermissionCore } from '../core/permissionCore'; +import { PermissionCore } from '../GraphQLCore/permissionCore'; import { DBType } from '../database/database'; import { ObjectStore } from '@itmat-broker/itmat-commons'; @@ -49,7 +49,7 @@ export class FileDownloadController { try { /* download file */ const file = await this._db.collections.files_collection.findOne({ id: requestedFile, deleted: null }); - if (!file) { + if (!file || !file.studyId) { res.status(404).json({ error: 'File not found or you do not have the necessary permission.' }); return; } diff --git a/packages/itmat-cores/src/trpcCore/configCore.ts b/packages/itmat-cores/src/trpcCore/configCore.ts new file mode 100644 index 000000000..da7c6e0af --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/configCore.ts @@ -0,0 +1,57 @@ +import { CoreError, defaultSettings, enumConfigType, enumCoreErrors, enumReservedUsers } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; +import { v4 as uuid } from 'uuid'; + +export class TRPCConfigCore { + db: DBType; + constructor(db: DBType) { + this.db = db; + } + /** + * Get the config. + * + * @param configType - The type of the config.. + * @param key - The key of the config. studyid, userid, or null for system. + * @param useDefault - Whether to use the default config if not found. + * + * @return IConfig + */ + public async getConfig(configType: enumConfigType, key: string | null, useDefault: boolean) { + const config = await this.db.collections.configs_collection.findOne({ 'type': configType, 'key': key, 'life.deletedTime': null }); + if (!config) { + if (useDefault) { + return { + id: uuid(), + type: configType, + key: key, + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + properties: (() => { + if (configType === enumConfigType.CACHECONFIG) { + return defaultSettings.cacheConfig; + } else if (configType === enumConfigType.STUDYCONFIG) { + return defaultSettings.studyConfig; + } else if (configType === enumConfigType.SYSTEMCONFIG) { + return defaultSettings.systemConfig; + } else if (configType === enumConfigType.USERCONFIG) { + return defaultSettings.userConfig; + } else { + return defaultSettings.userConfig; + } + })() + }; + } else { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Config does not exist.' + ); + } + } + return config; + } +} \ No newline at end of file diff --git a/packages/itmat-cores/src/trpcCore/fileCore.ts b/packages/itmat-cores/src/trpcCore/fileCore.ts new file mode 100644 index 000000000..93c67d1f1 --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/fileCore.ts @@ -0,0 +1,251 @@ +import { enumConfigType, IFile, defaultSettings, enumFileTypes, enumFileCategories, IUserWithoutToken, IStudy, FileUpload, CoreError, enumCoreErrors, ISystemConfig, IStudyConfig, IUserConfig, IDocConfig, ICacheConfig, IDomainConfig, IGenericResponse } from '@itmat-broker/itmat-types'; +import { v4 as uuid } from 'uuid'; +import crypto, { BinaryLike } from 'crypto'; +import { DBType } from '../database/database'; +import { ObjectStore } from '@itmat-broker/itmat-commons'; +import { TRPCStudyCore } from './studyCore'; +import { makeGenericReponse } from '../utils'; + +/** + * This class provides methods to interact with files. + * Note that all core functions are should be called by other core functions or resolvers, not by the client. + * Necessary permission check should be done in the caller functions. + */ +export class TRPCFileCore { + db: DBType; + objStore: ObjectStore; + studyCore: TRPCStudyCore; + constructor(db: DBType, objStore: ObjectStore, studyCore: TRPCStudyCore) { + this.db = db; + this.objStore = objStore; + this.studyCore = studyCore; + } + /** + * Upload a file to storage. + * Note this function will upload file based on the input parameters regardless of the requester's permission and file metadata. + * + * @param requester - The requester. + * @param studyId - The id of the study. Could be null for non-study files. + * @param userId - The id of the user. + * @param fileUpload - The file to upload. + * @param description - The description of the file. + * @param fileType - The type of the file. + * @param fileCategory - The category of the file. + * @param properties - The properties of the file. Note if the data is attached to a field, the fieldproperties will be used. + * + * @return IFile - The object of IFile. + */ + public async uploadFile(requester: IUserWithoutToken, studyId: string | null, userId: string | null, fileUpload: FileUpload, fileType: enumFileTypes, fileCategory: enumFileCategories, description?: string, properties?: Record): Promise { + let study: IStudy | null = null; + if (studyId) { + study = (await this.studyCore.getStudies(studyId))[0]; + if (!study) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Study does not exist.' + ); + } + } + // fetch the config file. study file or user file or system file + let fileConfig: ISystemConfig | IStudyConfig | IUserConfig | IDocConfig | ICacheConfig | IDomainConfig | null = null; + let userRepoRemainingSpace = 0; + let fileSizeLimit: number; + let defaultFileBucketId: string; + if (fileCategory === enumFileCategories.STUDY_DATA_FILE && studyId) { + // study file config + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.STUDYCONFIG, key: studyId }); + if (config) { + fileConfig = config.properties; + } else { + fileConfig = defaultSettings.studyConfig; + } + fileSizeLimit = (fileConfig as IStudyConfig).defaultMaximumFileSize; + defaultFileBucketId = studyId; + } else if (fileCategory === enumFileCategories.USER_DRIVE_FILE) { + // user file config + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.USERCONFIG, key: requester.id }); + if (config) { + fileConfig = config.properties as IUserConfig; + } else { + fileConfig = defaultSettings.userConfig; + } + const totalSize: number = (await this.db.collections.files_collection.aggregate([{ + $match: { 'userId': requester.id, 'life.deletedTime': null } + }, { + $group: { _id: '$userId', totalSize: { $sum: '$fileSize' } } + }]))[0].totalSize; + userRepoRemainingSpace = (fileConfig as IUserConfig).defaultMaximumFileRepoSize - totalSize; + fileSizeLimit = Math.max((fileConfig as IUserConfig).defaultMaximumFileSize, userRepoRemainingSpace); + defaultFileBucketId = (fileConfig as IUserConfig).defaultFileBucketId; + } else if (fileCategory === enumFileCategories.DOC_FILE) { + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.DOCCONFIG, key: null }); + if (config) { + fileConfig = config.properties as IDocConfig; + } else { + fileConfig = defaultSettings.docConfig; + } + fileSizeLimit = (fileConfig as IDocConfig).defaultMaximumFileSize; + defaultFileBucketId = (fileConfig as IDocConfig).defaultFileBucketId; + } else if (fileCategory === enumFileCategories.CACHE) { + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.CACHECONFIG, key: null }); + if (config) { + fileConfig = config.properties as ICacheConfig; + } else { + fileConfig = defaultSettings.cacheConfig; + } + fileSizeLimit = (fileConfig as ICacheConfig).defaultMaximumFileSize; + defaultFileBucketId = (fileConfig as ICacheConfig).defaultFileBucketId; + } else if (fileCategory === enumFileCategories.PROFILE_FILE) { + const config = await this.db.collections.configs_collection.findOne({ type: enumConfigType.SYSTEMCONFIG, key: null }); + if (config) { + fileConfig = config.properties as ISystemConfig; + } else { + fileConfig = defaultSettings.systemConfig; + } + fileSizeLimit = (fileConfig as ISystemConfig).defaultMaximumFileSize; + defaultFileBucketId = (fileConfig as ISystemConfig).defaultProfileBucketId; + } else { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'File category does not exist.' + ); + } + + const fileUri = uuid(); + const hash = crypto.createHash('sha256'); + + // Create a read stream for the file + const fileStream = fileUpload.createReadStream(); + + return new Promise((resolve, reject) => { + (async () => { + try { + let fileSize = 0; + + fileStream.on('data', (chunk: BinaryLike) => { + hash.update(chunk); + fileSize += (chunk as Buffer).length; // Asserting the chunk as Buffer for length property + }); + + + try { + // Check file size limit + if (fileSize > fileSizeLimit) { + throw new Error('File size exceeds the limit.'); + } + + const hashString = hash.digest('hex'); + + // Create a new read stream for the file upload + const uploadStream = fileUpload.createReadStream(); + + // Upload the file to the storage + await this.objStore.uploadFile(uploadStream, defaultFileBucketId, fileUri); + + const fileEntry: IFile = { + id: uuid(), + studyId: studyId, + userId: userId, + fileName: fileUpload.filename, // Access filename directly from the fileUpload object. + fileSize: fileSize, // Use buffer's length for file size. + description: description, + uri: fileUri, + hash: hashString, + fileType: fileType, + fileCategory: fileCategory, + properties: properties ? properties : {}, + sharedUsers: [], + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + const insertResult = await this.db.collections.files_collection.insertOne(fileEntry as IFile); + if (insertResult.acknowledged) { + resolve(fileEntry as IFile); + } else { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + + } catch (error) { + reject(new CoreError( + enumCoreErrors.FILE_STREAM_ERROR, + 'Error during file upload.' + )); + } + + + fileStream.on('error', (err) => { + reject(new CoreError( + enumCoreErrors.FILE_STREAM_ERROR, + 'Error reading file stream.' + String(err.message) + )); + }); + } catch (error) { + reject(new CoreError( + enumCoreErrors.FILE_STREAM_ERROR, + enumCoreErrors.FILE_STREAM_ERROR + )); + } + })().catch((e) => reject(e)); + }); + } + + /** + * Delete a file. + * + * @param requester - The requester. + * @param fileId - The id of the file. + * + * @return IGenericResponse + */ + public async deleteFile(requester: string, fileId: string): Promise { + const file = await this.db.collections.files_collection.findOne({ 'id': fileId, 'life.deletedTime': null }); + if (!file) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'File does not exist.' + ); + } + try { + await this.db.collections.files_collection.findOneAndUpdate({ id: fileId }, { $set: { 'life.deletedTime': Date.now().valueOf(), 'life.deletedUser': requester } }); + return makeGenericReponse(fileId, undefined, undefined, 'File has been deleted.'); + } catch { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + } + + /** + * Get the list of files by fileIds in a simplified format or detailed format with explicit username. + * The aim is to avoid leaking user information in the frontend. + * + * @param fileIds + * @param readable + * @returns + */ + public async findFiles(fileIds: string[], readable?: boolean): Promise { + const result = await this.db.collections.files_collection.find({ id: { $in: fileIds } }).toArray(); + if (readable) { + const users = await this.db.collections.users_collection.find({ 'life.deletedTime': null }).toArray(); + result.forEach(el => { + const user = users.filter(ek => ek.id === el.life.createdUser)[0]; + if (!user) { + el.life.createdUser = 'UNKNOWN'; + } else { + el.life.createdUser = `${user.firstname} ${user.lastname}`; + } + }); + } + return result; + } +} + diff --git a/packages/itmat-cores/src/trpcCore/studyCore.ts b/packages/itmat-cores/src/trpcCore/studyCore.ts new file mode 100644 index 000000000..081c4a504 --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/studyCore.ts @@ -0,0 +1,34 @@ +import { ObjectStore } from '@itmat-broker/itmat-commons'; +import { DBType } from '../database/database'; +import { CoreError, IStudy, enumCoreErrors } from '@itmat-broker/itmat-types'; +import { Filter } from 'mongodb'; + +export class TRPCStudyCore { + db: DBType; + objStore: ObjectStore; + constructor(db: DBType, objStore: ObjectStore) { + this.db = db; + this.objStore = objStore; + } + /** + * Get the info of a study. + * + * @param studyId - The id of the study. + * + * @return IStudy - The object of IStudy. + */ + public async getStudies(studyId: string | null): Promise { + const query: Filter = { 'life.deletedTime': null }; + if (studyId) { + query.id = studyId; + } + const studies = await this.db.collections.studies_collection.find(query).toArray(); + if (studies.length === 0) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Study does not exist.' + ); + } + return studies; + } +} \ No newline at end of file diff --git a/packages/itmat-cores/src/trpcCore/userCore.ts b/packages/itmat-cores/src/trpcCore/userCore.ts new file mode 100644 index 000000000..979e729a3 --- /dev/null +++ b/packages/itmat-cores/src/trpcCore/userCore.ts @@ -0,0 +1,1301 @@ +import { CoreError, FileUpload, IFile, IPubkey, IResetPasswordRequest, IUser, IUserWithoutToken, defaultSettings, enumCoreErrors, enumFileCategories, enumFileTypes, enumUserTypes } from '@itmat-broker/itmat-types'; +import { DBType } from '../database/database'; +import { Logger, Mailer, ObjectStore } from '@itmat-broker/itmat-commons'; +import { IConfiguration, makeGenericReponse, rsakeygen, rsaverifier, tokengen } from '../utils'; +import { TRPCFileCore } from './fileCore'; +import { TRPCConfigCore } from './configCore'; +import { TRPCStudyCore } from './studyCore'; +import { v4 as uuid } from 'uuid'; +import bcrypt from 'bcrypt'; +import * as mfa from '../utils/mfa'; +import QRCode from 'qrcode'; +import tmp from 'tmp'; +import { UpdateFilter } from 'mongodb'; +import { decryptEmail, encryptEmail, makeAESIv, makeAESKeySalt } from '..'; + +export class TRPCUserCore { + db: DBType; + mailer: Mailer; + config: IConfiguration; + objStore: ObjectStore; + fileCore: TRPCFileCore; + configCore: TRPCConfigCore; + studyCore: TRPCStudyCore; + constructor(db: DBType, mailer: Mailer, config: IConfiguration, objStore: ObjectStore) { + this.db = db; + this.mailer = mailer; + this.config = config; + this.objStore = objStore; + this.studyCore = new TRPCStudyCore(db, objStore); + this.fileCore = new TRPCFileCore(db, objStore, this.studyCore); + this.configCore = new TRPCConfigCore(db); + } + /** + * Get a user. One of the parameters should not be null, we will find users by the following order: usreId, username, email. + * + * @param requester - The requester. + * @param userId - The id of the user. + * @param username - The username of the user. + * @param email - The email of the user. + * + * @return IUserWithoutToken | null - Thu user object; or null if the user does not exist. + */ + public async getUser(requester: IUserWithoutToken | undefined, userId?: string, username?: string, email?: string): Promise { + if (!userId && !username && !email) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'At least one of the parameters should not be empty.' + ); + } + if (!requester || (requester.type !== enumUserTypes.ADMIN && ((userId && requester.id !== userId) || (username && requester.username !== username) || (email && requester.email !== email)))) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + enumCoreErrors.NO_PERMISSION_ERROR + ); + } + + let user: IUserWithoutToken | null = null; + if (userId) { + user = await this.db.collections.users_collection.findOne({ 'id': userId, 'life.deletedTime': null }, { projection: { password: 0, otpSecret: 0 } }); + } else if (username) { + user = await this.db.collections.users_collection.findOne({ 'username': username, 'life.deletedTime': null }, { projection: { password: 0, otpSecret: 0 } }); + } else if (email) { + user = await this.db.collections.users_collection.findOne({ 'email': email, 'life.deletedTime': null }, { projection: { password: 0, otpSecret: 0 } }); + } else { + return null; + } + + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + return user; + } + + /** + * Get all users. + * + * @param requester - The id of the requester. + * @param includeDeleted - Whether to include users that have been deleted. + * + * @return IUserWithoutToken[] - The list of users. + */ + public async getUsers(requester: IUserWithoutToken | undefined, includeDeleted?: boolean): Promise { + if (!requester || requester.type !== enumUserTypes.ADMIN) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + enumCoreErrors.NO_PERMISSION_ERROR + ); + } + return includeDeleted ? await this.db.collections.users_collection.find({}).toArray() : await this.db.collections.users_collection.find({ 'life.deletedTime': null }).toArray(); + } + + /** + * Validate the token from the reset password request. + * + * @param encryptedEmail - The encrypted email. + * @param token - The token for resetting password. + * @returns IGenericResponse + */ + public async validateResetPassword(encryptedEmail: string, token: string) { + /* decrypt email */ + const salt = makeAESKeySalt(token); + const iv = makeAESIv(token); + let email; + try { + email = await decryptEmail(this.config.aesSecret, encryptedEmail, salt, iv); + } catch (e) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Token is not valid.' + ); + } + + /* check whether username and token is valid */ + /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ + const TIME_NOW = new Date().valueOf(); + const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; + const user: IUser | null = await this.db.collections.users_collection.findOne({ + email, + 'resetPasswordRequests': { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + }, + 'life.deletedTime': null + }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + return makeGenericReponse(user.id, true); + } + + /** + * Create a user. + * + * @param username - The username of the user, should be unique. + * @param email - The email address of the user. + * @param firstname - The first name of the user. + * @param lastname - The last name of the user. + * @param organisation - The id of the user's organisation. Should be one of the organisaiton in the database. + * @param type - The user type of the user. + * @param emailNotificationsActivated - Whether email notification service is activared. + * @param password - The password of the user, should be hashed. + * @param profile - The profile of the user. + * @param description - The description of the user. + * @param requester - The id of the requester. + * + * @return Partial - The object of IUser. Remove private information. + */ + public async createUser(requester: IUserWithoutToken | undefined, username: string, email: string, firstname: string, lastname: string, organisation: string, type: enumUserTypes, emailNotificationsActivated: boolean, password: string, profile?: FileUpload, description?: string): Promise> { + /* check email is valid form */ + if (!/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Email is not the right format.' + ); + } + + /* check password validity */ + if (password && !passwordIsGoodEnough(password)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Password has to be at least 8 character long.' + ); + } + + /* check that username and password dont have space */ + if (username.indexOf(' ') !== -1 || password.indexOf(' ') !== -1) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Username or password cannot have spaces.' + ); + } + /* randomly generate a secret for Time-based One Time Password*/ + const otpSecret = mfa.generateSecret(); + + const user = await this.db.collections.users_collection.findOne({ + $or: [ + { username: username }, + { email: email } + ] + }); + if (user) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Username or email already exists.' + ); + } + const org = await this.db.collections.organisations_collection.findOne({ 'id': organisation, 'life.deletedTime': null }); + if (!org) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'Organisation does not exist.' + ); + } + // fetch the config file + const userConfig = defaultSettings.userConfig; + + const userId: string = uuid(); + const hashedPassword: string = await bcrypt.hash(password, this.config.bcrypt.saltround); + const expiredAt = Date.now() + 86400 * 1000 /* millisec per day */ * (userConfig.defaultUserExpiredDays); + + const entry: IUser = { + id: userId, + username: username, + email: email, + firstname: firstname, + lastname: lastname, + organisation: organisation, + type: type, + emailNotificationsActivated: emailNotificationsActivated, + emailNotificationsStatus: { + expiringNotification: false + }, + resetPasswordRequests: [], + password: hashedPassword, + otpSecret: otpSecret, + profile: undefined, + description: description ?? '', + expiredAt: expiredAt, + life: { + createdTime: Date.now(), + createdUser: requester?.id ?? userId, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + let fileEntry: IFile; + if (profile) { + if (!Object.keys(enumFileTypes).includes((profile?.filename?.split('.').pop() || '').toUpperCase())) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'File type not supported.' + ); + } + fileEntry = await this.fileCore.uploadFile(entry, null, userId, profile, + enumFileTypes[(profile.filename.split('.').pop() || '').toUpperCase() as keyof typeof enumFileTypes], enumFileCategories.PROFILE_FILE); + entry.profile = fileEntry?.id; + } + await this.db.collections.users_collection.insertOne(entry); + // TODO: add drive for newly registered user + // const driveId = uuid(); + // await db.collections!.drives_collection.insertOne({ + // id: driveId, + // path: [driveId], + // restricted: true, + // name: 'My Drive', + // description: 'This is your own drive.', + // fileId: null, + // type: enumDriveNodeTypes.FOLDER, + // parent: null, + // children: [ + + // ], + // sharedUsers: [ + + // ], + // sharedGroups: [ + + // ], + // life: { + // createdTime: Date.now(), + // createdUser: userId, + // deletedTime: null, + // deletedUser: null + // }, + // metadata: { + + // }, + // managerId: userId + // }); + + /* send email to the registered user */ + // get QR Code for the otpSecret. + const oauth_uri = `otpauth://totp/${this.config.appName}:${username}?secret=${otpSecret}&issuer=Data%20Science%20Institute`; + const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'qrcodeimg-', postfix: '.png' }); + + QRCode.toFile(tmpobj.name, oauth_uri, {}, function (err) { + if (err) { + throw new CoreError( + enumCoreErrors.UNQUALIFIED_ERROR, + err.message + ); + } + }); + + const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: email, + subject: `[${this.config.appName}] Registration Successful`, + html: ` +

+ Dear ${firstname}, +

+

+ Welcome to the ${this.config.appName} data portal!
+ Your username is ${username}.
+

+

+ To login you will need to use a MFA authenticator app for one time passcode (TOTP).
+ Scan the QRCode below in your MFA application of choice to configure it:
+ QR code
+ If you need to type the token in use ${otpSecret.toLowerCase()} +

+
+

+ The ${this.config.appName} Team. +

+ `, + attachments: attachments + }); + tmpobj.removeCallback(); + + return entry; + } + + /** + * Edit an existing user. Note, this function will use all default values, so if you want to keep some fields the same, you need to first fetch the original values as the inputs. + * + * @param requester - The id of the requester. + * @param userId - The id of the user. + * @param username - The username of the user, should be unique. + * @param email - Optional. The emailAddress of the user. + * @param firstname - Optional. The first name of the user. + * @param lastname - Optional. The last name of the user. + * @param organisation - Optional. The id of the user's organisation. Should be one of the organisaiton in the database. + * @param type - Optional. The user type of the user. + * @param emailNotificationsActivated - Optional. Whether email notification service is activared. + * @param password - Optional. The password of the user, should be hashed. + * @param otpSecret - Optional. The otp secret of the user. + * @param profile - Optional. The image of the profile of the user. Could be null. + * @param description - Optional. The description of the user. + * @param expiredAt - Optional. The expired timestamps of the user. + * + * @return Partial - The object of IUser. Remove private information. + */ + public async editUser(requester: IUserWithoutToken | undefined, userId: string, username?: string, email?: string, firstname?: string, lastname?: string, organisation?: string, type?: enumUserTypes, emailNotificationsActivated?: boolean, password?: string, otpSecret?: string, profile?: FileUpload, description?: string, expiredAt?: number): Promise> { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== userId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only edit his/her own account.' + ); + } + + if (requester.type !== enumUserTypes.ADMIN && (type || expiredAt || organisation)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'Standard user can not change their type, expiration time and organisation. Please contact admins for help.' + ); + } + + if (password && !passwordIsGoodEnough(password)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Password has to be at least 8 character long.' + ); + } + + /* check that username and password dont have space */ + if ((username && username.indexOf(' ') !== -1) || (password && password.indexOf(' ') !== -1)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Username or password cannot have spaces.' + ); + } + + /* check email is valid form */ + if (email && !/^([a-zA-Z0-9_\-.]+)@([a-zA-Z0-9_\-.]+)\.([a-zA-Z]{2,5})$/.test(email)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Email is not the right format.' + ); + } + + if (expiredAt && expiredAt < Date.now()) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Cannot set to a previous time.' + ); + } + + + const user = await this.db.collections.users_collection.findOne({ 'id': userId, 'life.deletedTime': null }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + const setObj: UpdateFilter = {}; + if (username && username !== user.username) { + const existUsername = await this.db.collections.users_collection.findOne({ 'username': username, 'life.deletedTime': null }); + if (existUsername) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Username already used.' + ); + } + setObj['username'] = username; + } + + if (email && email !== user.email) { + const existEmail = await this.db.collections.users_collection.findOne({ 'email': email, 'life.deletedTime': null }); + if (existEmail) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Email already used.' + ); + } + setObj['email'] = email; + } + + if (organisation) { + const org = await this.db.collections.organisations_collection.findOne({ 'id': organisation, 'life.deletedTime': null }); + if (!org) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Organisation does not exist.' + ); + } + setObj['organisation'] = organisation; + } + + if (password) { + const hashedPassword: string = await bcrypt.hash(password, this.config.bcrypt.saltround); + if (await bcrypt.compare(password, user.password)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'You need to select a new password.' + ); + } + setObj['password'] = hashedPassword; + } + + if (otpSecret) { + setObj['otpSecret'] = otpSecret; + } + + let fileEntry; + if (profile) { + if (!Object.keys(enumFileTypes).includes((profile?.filename?.split('.').pop() || '').toUpperCase())) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'File type not supported.' + ); + } + fileEntry = await this.fileCore.uploadFile(requester, null, user.id, profile, enumFileTypes[(profile.filename.split('.').pop() || '').toUpperCase() as keyof typeof enumFileTypes], enumFileCategories.PROFILE_FILE); + setObj['profile'] = fileEntry.id; + } + + if (expiredAt) { + setObj['expiredAt'] = expiredAt; + } + + const result = await this.db.collections.users_collection.findOneAndUpdate({ id: user.id }, { + $set: setObj + }, { + returnDocument: 'after' + }); + if (!result) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } else { + if (expiredAt) { + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDateNotification({ + config: this.config, + to: result.email, + username: result.username + })); + } + return result; + } + } + + /** + * Delete an user. + * + * @param requester - The requester. + * @param userId - The id of the user. + * + * @return IGenericResponse - General response. + */ + public async deleteUser(requester: IUserWithoutToken | undefined, userId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + /* Admins can delete anyone, while general user can only delete themself */ + if (!(requester.type === enumUserTypes.ADMIN) && !(requester.id === userId)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only delete his/her own account.' + ); + } + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + /* Admins can delete anyone, while general user can only delete themself */ + if (!(requester.type === enumUserTypes.ADMIN) && !(requester.id === userId)) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + enumCoreErrors.NO_PERMISSION_ERROR + ); + } + const user = await this.db.collections.users_collection.findOne({ 'id': userId, 'life.deletedTime': null }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + + const session = this.db.client.startSession(); + session.startTransaction(); + try { + /* delete the user */ + await this.db.collections.users_collection.findOneAndUpdate({ 'id': userId, 'life.deletedTime': null }, { $set: { 'life.deletedTime': Date.now(), 'life.deletedUser': requester, 'password': 'DeletedUserDummyPassword', 'otpSecret': 'DeletedUserDummpOtpSecret' } }, { returnDocument: 'after' }); + + /* delete all user records in roles related to the study */ + await this.db.collections.roles_collection.updateMany({ + 'life.deletedTime': null, + 'users': userId + }, { + $pull: { users: userId } + }); + + await session.commitTransaction(); + await session.endSession(); + return makeGenericReponse(userId, true, undefined, `User ${user.username} has been deleted.`); + } catch (error) { + // If an error occurred, abort the whole transaction and + // undo any changes that might have happened + await session.abortTransaction(); + await session.endSession(); + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + String(error) + ); + } + } + + /** + * Get keys of a user. + * + * @param requester - The requester. + * @param userId - The id of the user. + */ + public async getUserKeys(requester: IUserWithoutToken | undefined, userId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== userId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only get his/her own keys.' + ); + } + return await this.db.collections.pubkeys_collection.find({ 'associatedUserId': userId, 'life.deletedTime': null }).toArray(); + } + /** + * Register a pubkey to a user. + * + * @param requester - The id of the requester. + * @param pubkey - The public key. + * @param signature - The signature of the key. + * @param associatedUserId - The user whom to attach the publick key to. + * + * @return IPubkey - The object of ther registered key. + */ + public async registerPubkey(requester: IUserWithoutToken | undefined, pubkey: string, signature: string, associatedUserId: string): Promise { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== associatedUserId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only register his/her own public key.' + ); + } + + // refine the public-key parameter from browser + pubkey = pubkey.replace(/\\n/g, '\n'); + const alreadyExist = await this.db.collections.pubkeys_collection.findOne({ pubkey, 'life.deletedTime': null }); + if (alreadyExist) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'This public-key has already been registered.' + ); + } + + const user = await this.db.collections.users_collection.findOne({ 'id': requester.id, 'life.deletedTime': null }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'User does not exist.' + ); + } + + /* Validate the signature with the public key */ + try { + const signature_verifier = await rsaverifier(pubkey, signature); + if (!signature_verifier) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Signature vs Public-key mismatched.' + ); + } + } catch (error) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Error: Signature or Public-key is incorrect.' + ); + } + + /* Generate a public key-pair for generating and authenticating JWT access token later */ + const keypair = rsakeygen(); + + const entry: IPubkey = { + id: uuid(), + pubkey: pubkey, + associatedUserId: associatedUserId, + jwtPubkey: keypair.publicKey, + jwtSeckey: keypair.privateKey, + refreshCounter: 0, + life: { + createdTime: Date.now(), + createdUser: requester.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + + await this.db.collections.pubkeys_collection.insertOne(entry); + + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: user.email, + subject: `[${this.config.appName}] Public-key Registration!`, + html: ` +

+ Dear ${user.firstname}, +

+

+ You have successfully registered your public-key "${pubkey}" on ${this.config.appName}!
+ You will need to keep your private key secretly.
+ You will also need to sign a message (using your public-key) to authenticate the owner of the public key.
+

+ +
+

+ The ${this.config.appName} Team. +

+ ` + }); + return entry; + } + + /** + * Delete a pubkey. + * + * @param requester - The requester. + * @param userId - The id of the user. + * @param keyId - The id of the key. + * @returns IGenericResponse + */ + public async deletePubkey(requester: IUserWithoutToken | undefined, associatedUserId: string, keyId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== associatedUserId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only delete his/her own public key.' + ); + } + const key = await this.db.collections.pubkeys_collection.findOne({ + 'id': keyId, + 'associatedUserId': associatedUserId, + 'life.deletedTime': null + }); + if (!key) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Key does not exist.' + ); + } + if (key.associatedUserId !== associatedUserId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'The key does not match the user.' + ); + } + + await this.db.collections.pubkeys_collection.findOneAndUpdate({ id: keyId }, { + $set: { + 'life.deletedTime': Date.now(), + 'life.deletedUser': requester + } + }); + + return makeGenericReponse(keyId, true, undefined, undefined); + } + + /** + * Add a reset password request to the user. + * + * @param userId - The id of the user. + * @param resetPasswordRequest - The reset password request. + * @returns IGenericResponse + */ + public async addResetPasswordRequest(userId: string, resetPasswordRequest: IResetPasswordRequest) { + const invalidateAllTokens = await this.db.collections.users_collection.findOneAndUpdate( + { id: userId }, + { + $set: { + 'resetPasswordRequests.$[].used': true + } + } + ); + if (!invalidateAllTokens) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + const updateResult = await this.db.collections.users_collection.findOneAndUpdate( + { id: userId }, + { + $push: { + resetPasswordRequests: resetPasswordRequest + } + } + ); + if (!updateResult) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + + return makeGenericReponse(resetPasswordRequest.id, true, undefined, undefined); + } + + public async processResetPasswordRequest(token: string, email: string, password: string) { + /* check whether username and token is valid */ + /* not changing password too in one step (using findOneAndUpdate) because bcrypt is costly */ + const TIME_NOW = new Date().valueOf(); + const ONE_HOUR_IN_MILLISEC = 60 * 60 * 1000; + const user = await this.db.collections.users_collection.findOne({ + email, + 'resetPasswordRequests': { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + }, + 'life.deletedTime': null + }); + if (!user) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + + /* randomly generate a secret for Time-based One Time Password*/ + const otpSecret = mfa.generateSecret(); + + /* all ok; change the user's password */ + const hashedPw = await bcrypt.hash(password, this.config.bcrypt.saltround); + const updateResult = await this.db.collections.users_collection.findOneAndUpdate( + { + id: user.id, + resetPasswordRequests: { + $elemMatch: { + id: token, + timeOfRequest: { $gt: TIME_NOW - ONE_HOUR_IN_MILLISEC }, + used: false + } + } + }, + { $set: { 'password': hashedPw, 'otpSecret': otpSecret, 'resetPasswordRequests.$.used': true } }); + if (!updateResult) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + + return updateResult; + } + + /** + * Issue an access token. + * + * @param pubkey - The public key. + * @param signature - The signature of the key. + * @param life - The life of the token. + * @returns + */ + public async issueAccessToken(pubkey: string, signature: string, life?: number) { + // refine the public-key parameter from browser + pubkey = pubkey.replace(/\\n/g, '\n'); + + /* Validate the signature with the public key */ + if (!await rsaverifier(pubkey, signature)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Signature vs Public key mismatched.' + ); + } + + const pubkeyrec = await this.db.collections.pubkeys_collection.findOne({ pubkey, deleted: null }); + if (pubkeyrec === null || pubkeyrec === undefined) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'This public-key has not been registered yet.' + ); + } + + // payload of the JWT for storing user information + const payload = { + publicKey: pubkeyrec.jwtPubkey, + associatedUserId: pubkeyrec.associatedUserId, + refreshCounter: pubkeyrec.refreshCounter, + Issuer: 'IDEA-FAST DMP' + }; + + // update the counter + const fieldsToUpdate = { + refreshCounter: (pubkeyrec.refreshCounter + 1) + }; + const updateResult = await this.db.collections.pubkeys_collection.findOneAndUpdate({ pubkey, deleted: null }, { $set: fieldsToUpdate }, { returnDocument: 'after' }); + if (!updateResult) { + throw new CoreError( + enumCoreErrors.DATABASE_ERROR, + enumCoreErrors.DATABASE_ERROR + ); + } + // return the acccess token + const accessToken = { + accessToken: tokengen(payload, pubkeyrec.jwtSeckey, undefined, undefined, life) + }; + + return accessToken; + } + + /** + * Ask for a request to extend account expiration time. Send notifications to user and admin. + * + * @param userId - The id of the user. + * + * @return IGenericResponse + */ + public async requestExpiryDate(requester: IUserWithoutToken | undefined, userId: string) { + if (!requester) { + throw new CoreError( + enumCoreErrors.NOT_LOGGED_IN, + enumCoreErrors.NOT_LOGGED_IN + ); + } + if (requester.type !== enumUserTypes.ADMIN && requester.id !== userId) { + throw new CoreError( + enumCoreErrors.NO_PERMISSION_ERROR, + 'User can only request for his/her own account.' + ); + } + const user = await this.db.collections.users_collection.findOne({ 'id': userId, 'life.deletedTime': null }); + if (!user || !user.email || !user.username) { + /* even user is null. send successful response: they should know that a user doesn't exist */ + await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); + return makeGenericReponse(userId, false, undefined, 'User information is not correct.'); + } + /* send email to the DMP admin mailing-list */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ + config: this.config, + userEmail: user.email, + username: user.username + })); + + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoClient({ + config: this.config, + to: user.email, + username: user.username + })); + + return makeGenericReponse(userId, true, undefined, 'Request successfully sent.'); + } + + /** + * Request for resetting password. + * + * @param forgotUsername - Whether user forget the username. + * @param forgotPassword - Whether user forgot the password. + * @param email - The email of the user. If using email to reset password. + * @param username - The username of the uer. If using username to reset password. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + public async requestUsernameOrResetPassword(forgotUsername: boolean, forgotPassword: boolean, origin: string, email?: string, username?: string) { + /* checking the args are right */ + if ((forgotUsername && !email) // should provide email if no username + || (forgotUsername && username) // should not provide username if it's forgotten. + || (!email && !username)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Inputs are invalid.' + ); + } else if (email && username) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Inputs are invalid.' + ); + } + + /* check user existence */ + const user = await this.db.collections.users_collection.findOne({ '$or': [{ email }, { username }], 'life.deletedTime': null }); + if (!user) { + /* even user is null. send successful response: they should know that a user doesn't exist */ + await new Promise(resolve => setTimeout(resolve, Math.random() * 6000)); + return makeGenericReponse(undefined, false, undefined, 'User does not exist.'); + } + + if (forgotPassword) { + /* make link to change password */ + const passwordResetToken = uuid(); + const resetPasswordRequest: IResetPasswordRequest = { + id: passwordResetToken, + timeOfRequest: new Date().valueOf(), + used: false + }; + await this.addResetPasswordRequest(user.id ?? '', resetPasswordRequest); + + /* send email to client */ + await this.mailer.sendMail(await formatEmailForForgottenPassword({ + config: this.config, + to: user.email ?? '', + resetPasswordToken: passwordResetToken, + username: user.username ?? '', + firstname: user.firstname ?? '', + origin: origin + })); + } else { + /* send email to client */ + await this.mailer.sendMail(formatEmailForFogettenUsername({ + config: this.config, + to: user.email ?? '', + username: user.username ?? '' + })); + } + return makeGenericReponse(user.id, true, undefined, 'Request of resetting password successfully sent.'); + } + + /** + * Login a user. + * + * @param req - The request object. + * @param username - The username of the user. + * @param password - The password of the user. + * @param totp - The one-time password of the user. + * @returns IUserWithoutToken + */ + public async login(req: Express.Request, username: string, password: string, totp: string, requestExpiryDate?: boolean) { + const user = await this.db.collections.users_collection.findOne({ username }); + if (!user || !user.password || !user.otpSecret || !user.email || !user.username) { + throw new CoreError( + enumCoreErrors.CLIENT_ACTION_ON_NON_EXISTENT_ENTRY, + 'User does not exist.' + ); + } + + const passwordMatched = await bcrypt.compare(password, user.password); + if (!passwordMatched) { + if (process.env['NODE_ENV'] === 'development') + console.warn('Incorrect password. Continuing in development ...'); + else { + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Incorrect password.' + ); + } + } + + /* validate the TOTP */ + const totpValidated = mfa.verifyTOTP(totp, user.otpSecret); + if (!totpValidated) { + if (process.env['NODE_ENV'] === 'development') + console.warn('Incorrect One-Time password. Continuing in development ...'); + else { + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Incorrect One-Time password.' + ); + } + } + + /* validate if account expired */ + if (user.expiredAt && user.expiredAt < Date.now() && user.type === enumUserTypes.STANDARD) { + if (requestExpiryDate) { + /* send email to the DMP admin mailing-list */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoAdmin({ + config: this.config, + userEmail: user.email, + username: user.username + })); + /* send email to client */ + await this.mailer.sendMail(formatEmailRequestExpiryDatetoClient({ + config: this.config, + to: user.email, + username: user.username + })); + throw new CoreError( + enumCoreErrors.UNQUALIFIED_ERROR, + 'New expiry date has been requested! Wait for ADMIN to approve.' + ); + } + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Account Expired. Please request a new expiry date!' + ); + } + + const { password: __unusedPassword, otpSecret: __unusedOtpSecret, ...filteredUser } = user; + return new Promise((resolve) => { + req.login(filteredUser, (err) => { + if (err) { + Logger.error(err); + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Cannot log in. Please try again later.' + ); + } + resolve(filteredUser); + }); + }); + } + + public async logout(requester: IUserWithoutToken | undefined, req: Express.Request) { + if (!requester) { + return makeGenericReponse(undefined, false, undefined, 'Requester not known.'); + } + return new Promise((resolve) => { + req.logout((err) => { + if (err) { + Logger.error(err); + throw new CoreError( + enumCoreErrors.AUTHENTICATION_ERROR, + 'Cannot log out. Please try again later.' + ); + } else { + resolve(makeGenericReponse(requester.id)); + } + }); + }); + } + + /** + * Reset password. + * @param encryptedEmail - The encrypted email. + * @param token - The token. + * @param newPassword - The new password. + * @returns IGnericResponse + */ + public async resetPassword(encryptedEmail: string, token: string, newPassword: string) { + if (!passwordIsGoodEnough(newPassword)) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Password has to be at least 8 character long.' + ); + } + + /* check that username and password dont have space */ + if (newPassword.indexOf(' ') !== -1) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Password cannot have spaces.' + ); + } + + /* decrypt email */ + if (token.length < 16) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Token is invalid.' + ); + } + + // TODO + const salt = makeAESKeySalt(token); + const iv = makeAESIv(token); + let email; + try { + email = await decryptEmail(this.config.aesSecret, encryptedEmail, salt, iv); + } catch (e) { + throw new CoreError( + enumCoreErrors.CLIENT_MALFORMED_INPUT, + 'Token is invalid.' + ); + } + + const user = await this.processResetPasswordRequest(token, email, newPassword); + /* need to log user out of all sessions */ + // TO_DO + + /* send email to the registered user */ + // get QR Code for the otpSecret. + const oauth_uri = `otpauth://totp/${this.config.appName}:${user.username}?secret=${user.otpSecret}&issuer=Data%20Science%20Institute`; + const tmpobj = tmp.fileSync({ mode: 0o644, prefix: 'qrcodeimg-', postfix: '.png' }); + + QRCode.toFile(tmpobj.name, oauth_uri, {}, function (err) { + if (err) { + throw new CoreError( + enumCoreErrors.UNQUALIFIED_ERROR, + err.message + ); + } + }); + + const attachments = [{ filename: 'qrcode.png', path: tmpobj.name, cid: 'qrcode_cid' }]; + await this.mailer.sendMail({ + from: `${this.config.appName} <${this.config.nodemailer.auth.user}>`, + to: email, + subject: `[${this.config.appName}] Password reset`, + html: ` +

+ Dear ${user.firstname}, +

+

+ Your password on ${this.config.appName} is now reset!
+ You will need to update your MFA application for one-time passcode.
+

+

+ To update your MFA authenticator app you can scan the QRCode below to configure it:
+ QR code
+ If you need to type the token in use ${(user.otpSecret as string).toLowerCase()} +

+
+

+ The ${this.config.appName} Team. +

+ `, + attachments: attachments + }); + tmpobj.removeCallback(); + return makeGenericReponse(); + } +} + +function passwordIsGoodEnough(pw: string): boolean { + if (pw.length < 8) { + return false; + } + return true; +} + +async function formatEmailForForgottenPassword({ config, username, firstname, to, resetPasswordToken, origin }: { config: IConfiguration, resetPasswordToken: string, to: string, username: string, firstname: string, origin: string }) { + const keySalt = makeAESKeySalt(resetPasswordToken); + const iv = makeAESIv(resetPasswordToken); + const encryptedEmail = await encryptEmail(config.aesSecret, to, keySalt, iv); + + const link = `${origin}/reset/${encryptedEmail}/${resetPasswordToken}`; + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] password reset`, + html: ` +

+ Dear ${firstname}, +

+

+ Your username is ${username}. +

+

+ You can reset you password by click the following link (active for 1 hour):
+ ${link} +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailForFogettenUsername({ config, username, to }: { config: IConfiguration, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] password reset`, + html: ` +

+ Dear user, +

+

+ Your username is ${username}. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDatetoClient({ config, username, to }: { config: IConfiguration, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] New expiry date has been requested!`, + html: ` +

+ Dear user, +

+

+ New expiry date for your ${username} account has been requested. + You will get a notification email once the request is approved. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDatetoAdmin({ config, username, userEmail }: { config: IConfiguration, username: string, userEmail: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to: `${config.adminEmail}`, + subject: `[${config.appName}] New expiry date has been requested from ${username} account!`, + html: ` +

+ Dear ADMINs, +

+

+ A expiry date request from the ${username} account (whose email address is ${userEmail}) has been submitted. + Please approve or deny the request ASAP. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} + +function formatEmailRequestExpiryDateNotification({ config, username, to }: { config: IConfiguration, username: string, to: string }) { + return ({ + from: `${config.appName} <${config.nodemailer.auth.user}>`, + to, + subject: `[${config.appName}] New expiry date has been updated!`, + html: ` +

+ Dear user, +

+

+ New expiry date for your ${username} account has been updated. + You now can log in as normal. +

+
+

+ The ${config.appName} Team. +

+ ` + }); +} diff --git a/packages/itmat-cores/src/utils/query.ts b/packages/itmat-cores/src/utils/query.ts index 583464319..edb864b7b 100644 --- a/packages/itmat-cores/src/utils/query.ts +++ b/packages/itmat-cores/src/utils/query.ts @@ -1,6 +1,6 @@ -import { IStudy, IFieldEntry, IStandardization, ICohortSelection, IQueryString, IGroupedData, StandardizationFilterOptionParameters, StandardizationFilterOptions } from '@itmat-broker/itmat-types'; +import { IStudy, IField, IStandardization, ICohortSelection, IQueryString, IGroupedData, StandardizationFilterOptionParameters, StandardizationFilterOptions } from '@itmat-broker/itmat-types'; import { Filter } from 'mongodb'; -import { QueryMatcher } from '../core/permissionCore'; +import { QueryMatcher } from '../GraphQLCore/permissionCore'; /* queryString: format: string # returned foramt: raw, standardized, grouped, summary @@ -12,7 +12,7 @@ import { QueryMatcher } from '../core/permissionCore'; // if has study-level permission, non versioned data will also be returned -export function buildPipeline(query: IQueryString, studyId: string, permittedVersions: Array, permittedFields: IFieldEntry[], metadataFilter, isAdmin: boolean, includeUnversioned: boolean) { +export function buildPipeline(query: IQueryString, studyId: string, permittedVersions: Array, permittedFields: IField[], metadataFilter, isAdmin: boolean, includeUnversioned: boolean) { let fieldIds: string[] = permittedFields.map(el => el.fieldId); const fields = { _id: 0, m_subjectId: 1, m_visitId: 1 }; // We send back the requested fields, by default send all fields @@ -25,7 +25,7 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer } }); } else if (query['table_requested'] !== undefined && query['table_requested'] !== undefined) { - fieldIds = permittedFields.filter(el => el.tableName === query['table_requested']).map(el => el.fieldId); + fieldIds = permittedFields.filter(el => el.metadata['tableName'] === query['table_requested']).map(el => el.fieldId); fieldIds.forEach((field: string) => { fields[field] = 1; }); @@ -49,19 +49,19 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer } const groupFilter = [{ - $match: { m_fieldId: { $in: fieldIds } } + $match: { fieldId: { $in: fieldIds } } }, { - $sort: { uploadedAt: -1 } + $sort: { 'life.createdTime': -1 } }, { $group: { - _id: { m_subjectId: '$m_subjectId', m_visitId: '$m_visitId', m_fieldId: '$m_fieldId' }, + _id: { m_subjectId: '$properties.m_subjectId', m_visitId: '$properties.m_visitId', m_fieldId: '$fieldId' }, doc: { $first: '$$ROOT' } } }, { $project: { - m_subjectId: '$doc.m_subjectId', - m_visitId: '$doc.m_visitId', - m_fieldId: '$doc.m_fieldId', + m_subjectId: '$_id.m_subjectId', + m_visitId: '$_id.m_visitId', + m_fieldId: '$_id.m_fieldId', value: '$doc.value', _id: 0 } @@ -69,7 +69,7 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer ]; if (isAdmin) { return [ - { $match: { m_fieldId: { $regex: /^(?!Device)\w+$/ }, m_versionId: { $in: permittedVersions }, m_studyId: studyId } }, + { $match: { fieldId: { $regex: /^(?!Device)\w+$/ }, dataVersion: { $in: permittedVersions }, studyId: studyId } }, ...groupFilter, { $match: match } // { $project: fields } @@ -77,7 +77,7 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer } else { if (includeUnversioned) { return [ - { $match: { m_fieldId: { $regex: /^(?!Device)\w+$/ }, m_versionId: { $in: permittedVersions }, m_studyId: studyId } }, + { $match: { fieldId: { $regex: /^(?!Device)\w+$/ }, dataVersion: { $in: permittedVersions }, studyId: studyId } }, { $match: { $or: [metadataFilter, { m_versionId: null }] } }, ...groupFilter, { $match: match } @@ -85,7 +85,7 @@ export function buildPipeline(query: IQueryString, studyId: string, permittedVer ]; } else { return [ - { $match: { m_fieldId: { $regex: /^(?!Device)\w+$/ }, m_versionId: { $in: permittedVersions }, m_studyId: studyId } }, + { $match: { fieldId: { $regex: /^(?!Device)\w+$/ }, dataVersion: { $in: permittedVersions }, studyId: studyId } }, { $match: metadataFilter }, ...groupFilter, { $match: match } @@ -191,7 +191,7 @@ export function translateMetadata(metadata: QueryMatcher[]) { return match; } -export function dataStandardization(study: IStudy, fields: IFieldEntry[], data: IGroupedData, queryString: IQueryString, standardizations: IStandardization[] | null) { +export function dataStandardization(study: IStudy, fields: IField[], data: IGroupedData, queryString: IQueryString, standardizations: IStandardization[] | null) { if (!queryString['format'] || queryString['format'] === 'raw') { return data; } else if (queryString['format'] === 'grouped' || queryString['format'] === 'summary') { @@ -206,9 +206,9 @@ export function dataStandardization(study: IStudy, fields: IFieldEntry[], data: -export function standardize(study: IStudy, fields: IFieldEntry[], data: IGroupedData, standardizations: IStandardization[]) { +export function standardize(study: IStudy, fields: IField[], data: IGroupedData, standardizations: IStandardization[]) { const records = {}; - const mergedFields: IFieldEntry[] = [...fields]; + const mergedFields: IField[] = [...fields]; const seqNumMap: Map = new Map(); for (const field of mergedFields) { let fieldDef = {}; diff --git a/packages/itmat-cores/src/utils/userLoginUtils.ts b/packages/itmat-cores/src/utils/userLoginUtils.ts index 1821ea850..474593aac 100644 --- a/packages/itmat-cores/src/utils/userLoginUtils.ts +++ b/packages/itmat-cores/src/utils/userLoginUtils.ts @@ -22,6 +22,6 @@ export class UserLoginUtils { } private async _getUser(username: string): Promise { - return await this.db.collections.users_collection.findOne({ deleted: null, username }, { projection: { _id: 0, deleted: 0, password: 0 } }); + return await this.db.collections.users_collection.findOne({ 'life.deletedTime': null, username }, { projection: { '_id': 0, 'life.deletedTime': 0, 'password': 0 } }); } } diff --git a/packages/itmat-interface/config/config.sample.json b/packages/itmat-interface/config/config.sample.json index 622ca4650..c08c4f464 100644 --- a/packages/itmat-interface/config/config.sample.json +++ b/packages/itmat-interface/config/config.sample.json @@ -17,7 +17,8 @@ "files_collection": "FILES_COLLECTION", "sessions_collection": "SESSIONS_COLLECTION", "pubkeys_collection": "PUBKEY_COLLECTION", - "standardizations_collection": "STANDARDIZATION_COLLECTION" + "standardizations_collection": "STANDARDIZATION_COLLECTION", + "configs_collection": "CONFIG_COLLECTION" } }, "server": { diff --git a/packages/itmat-interface/express-user.d.ts b/packages/itmat-interface/express-user.d.ts index a1740828a..6e7b3469d 100644 --- a/packages/itmat-interface/express-user.d.ts +++ b/packages/itmat-interface/express-user.d.ts @@ -9,7 +9,9 @@ declare global { interface Request { user?: User; - headers: IncomingHttpHeaders + headers: IncomingHttpHeaders; + login(user: User, done: (err: unknown) => void): void; + logout(done: (err: unknown) => void): void; } } } \ No newline at end of file diff --git a/packages/itmat-interface/src/graphql/resolvers/index.ts b/packages/itmat-interface/src/graphql/resolvers/index.ts index a48fcdacc..64100ce84 100644 --- a/packages/itmat-interface/src/graphql/resolvers/index.ts +++ b/packages/itmat-interface/src/graphql/resolvers/index.ts @@ -28,7 +28,7 @@ const modules = [ const bounceNotLoggedInDecorator = (funcName: string, reducerFunction: DMPResolver): DMPResolver => { return (parent, args, context, info) => { - const uncheckedFunctionWhitelist = ['login', 'rsaSigner', 'keyPairGenwSignature', 'issueAccessToken', 'whoAmI', 'getOrganisations', 'requestUsernameOrResetPassword', 'resetPassword', 'createUser', 'writeLog', 'validateResetPassword']; + const uncheckedFunctionWhitelist = ['login', 'rsaSigner', 'keyPairGenwSignature', 'issueAccessToken', 'getOrganisations', 'requestUsernameOrResetPassword', 'resetPassword', 'createUser', 'validateResetPassword']; const requester = context.req.user; if (!requester && !uncheckedFunctionWhitelist.includes(funcName)) { diff --git a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts index 2fbe85ea0..9c5ed02d3 100644 --- a/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/logResolvers.ts @@ -1,4 +1,4 @@ -import { LOG_ACTION, LOG_STATUS, LOG_TYPE, userTypes } from '@itmat-broker/itmat-types'; +import { LOG_ACTION, LOG_STATUS, LOG_TYPE, enumUserTypes } from '@itmat-broker/itmat-types'; import { DMPResolversMap } from './context'; import { db } from '../../database/database'; import { LogCore } from '@itmat-broker/itmat-cores'; @@ -7,7 +7,7 @@ const logCore = Object.freeze(new LogCore(db)); export const logResolvers: DMPResolversMap = { Query: { - getLogs: async (_parent, args: { requesterName: string, requesterType: userTypes, logType: LOG_TYPE, actionType: LOG_ACTION, status: LOG_STATUS }, context) => { + getLogs: async (_parent, args: { requesterName: string, requesterType: enumUserTypes, logType: LOG_TYPE, actionType: LOG_ACTION, status: LOG_STATUS }, context) => { return await logCore.getLogs(context.req.user, args.requesterName, args.requesterType, args.logType, args.actionType, args.status); } } diff --git a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts index f2369165a..c56da1593 100644 --- a/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/studyResolvers.ts @@ -26,9 +26,6 @@ export const studyResolvers: DMPResolversMap = { getOntologyTree: async (_parent, { studyId, projectId, treeName, versionId }: { studyId: string, projectId?: string, treeName?: string, versionId?: string }, context) => { return await studyCore.getOntologyTree(context.req.user, studyId, projectId, treeName, versionId); }, - checkDataComplete: async (_parent, { studyId }: { studyId: string }, context) => { - return await studyCore.checkDataComplete(context.req.user, studyId); - }, getDataRecords: async (_parent, { studyId, queryString, versionId, projectId }: { queryString, studyId: string, versionId: string | null | undefined, projectId?: string }, context) => { return await studyCore.getDataRecords(context.req.user, queryString, studyId, versionId, projectId); } diff --git a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts index 3a68de6b3..22613e68d 100644 --- a/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts +++ b/packages/itmat-interface/src/graphql/resolvers/userResolvers.ts @@ -10,7 +10,11 @@ const userCore = Object.freeze(new UserCore(db, mailer, config)); export const userResolvers: DMPResolversMap = { Query: { whoAmI: (_parent, _args, context) => { - return context.req.user; + return { + ...context.req.user, + createdAt: context.req.user?.life.createdTime, + deleted: context.req.user?.life.deletedTime + }; }, getUsers: async (_parent, args: { userId?: string }) => { return await userCore.getUsers(args.userId); diff --git a/packages/itmat-interface/src/index.ts b/packages/itmat-interface/src/index.ts index 9bc007b65..fad51c2b2 100644 --- a/packages/itmat-interface/src/index.ts +++ b/packages/itmat-interface/src/index.ts @@ -5,7 +5,7 @@ import http from 'http'; import ITMATInterfaceRunner from './interfaceRunner'; import config from './utils/configManager'; import { db } from './database/database'; -import { IUser, userTypes } from '@itmat-broker/itmat-types'; +import { IUser, enumUserTypes } from '@itmat-broker/itmat-types'; import { mailer } from './emailer/emailer'; let interfaceRunner = new ITMATInterfaceRunner(config); @@ -90,19 +90,15 @@ if (module.hot) { async function emailNotification() { const now = Date.now().valueOf(); const threshold = now + 7 * 24 * 60 * 60 * 1000; - // update info if not set before - await db.collections.users_collection.updateMany({ deleted: null, emailNotificationsStatus: null }, { - $set: { emailNotificationsStatus: { expiringNotification: false } } - }); const users = await db.collections.users_collection.find({ 'expiredAt': { $lte: threshold, $gt: now }, - 'type': { $ne: userTypes.ADMIN }, + 'type': { $ne: enumUserTypes.ADMIN }, 'emailNotificationsActivated': true, 'emailNotificationsStatus.expiringNotification': false, - 'deleted': null + 'life.deletedTime': null }).toArray(); for (const user of users) { await mailer.sendMail({ diff --git a/packages/itmat-interface/src/server/commonMiddleware.ts b/packages/itmat-interface/src/server/commonMiddleware.ts new file mode 100644 index 000000000..518226076 --- /dev/null +++ b/packages/itmat-interface/src/server/commonMiddleware.ts @@ -0,0 +1,31 @@ +import jwt from 'jsonwebtoken'; +import { GraphQLError } from 'graphql'; +import { ApolloServerErrorCode } from '@apollo/server/errors'; +import { userRetrieval } from '@itmat-broker/itmat-cores'; +import { db } from '../database/database'; + +export const tokenAuthentication = async (token: string) => { + if (token !== '') { + // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed + const decodedPayload = jwt.decode(token); + // obtain the public-key of the robot user in the JWT payload + let pubkey; + if (decodedPayload !== null && typeof decodedPayload === 'object') { + pubkey = decodedPayload['publicKey']; + } else { + throw new GraphQLError('JWT verification failed. ', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); + } + + // verify the JWT + jwt.verify(token, pubkey, function (error) { + if (error) { + throw new GraphQLError('JWT verification failed. ' + error, { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); + } + }); + // store the associated user with the JWT to context + const associatedUser = await userRetrieval(db, pubkey); + return associatedUser; + } else { + return null; + } +}; \ No newline at end of file diff --git a/packages/itmat-interface/src/server/router.ts b/packages/itmat-interface/src/server/router.ts index aa95830e1..ddfff3a41 100644 --- a/packages/itmat-interface/src/server/router.ts +++ b/packages/itmat-interface/src/server/router.ts @@ -1,8 +1,6 @@ import { ApolloServer } from '@apollo/server'; -import { ApolloServerErrorCode } from '@apollo/server/errors'; import { expressMiddleware } from '@apollo/server/express4'; import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer'; -import { GraphQLError } from 'graphql'; import { graphqlUploadExpress, GraphQLUpload } from 'graphql-upload-minimal'; import { execute, subscribe } from 'graphql'; import { WebSocketServer } from 'ws'; @@ -21,15 +19,18 @@ import { resolvers } from '../graphql/resolvers'; import { typeDefs } from '../graphql/typeDefs'; import { fileDownloadControllerInstance } from '../rest/fileDownload'; import { BigIntResolver as scalarResolvers } from 'graphql-scalars'; -import jwt from 'jsonwebtoken'; import { createProxyMiddleware, RequestHandler } from 'http-proxy-middleware'; import qs from 'qs'; import { IUser } from '@itmat-broker/itmat-types'; import { ApolloServerContext } from '../graphql/ApolloServerContext'; import { DMPContext } from '../graphql/resolvers/context'; import { logPluginInstance } from '../log/logPlugin'; -import { IConfiguration, spaceFixing, userRetrieval } from '@itmat-broker/itmat-cores'; +import { IConfiguration, spaceFixing } from '@itmat-broker/itmat-cores'; import { userLoginUtils } from '../utils/userLoginUtils'; +import * as trpcExpress from '@trpc/server/adapters/express'; +import { tokenAuthentication } from './commonMiddleware'; +import { tRPCRouter } from '../trpc/tRPCRouter'; +import { createtRPCContext } from '../trpc/trpc'; export class Router { private readonly app: Express; @@ -189,7 +190,7 @@ export class Router { const data = 'username:token'; preq.setHeader('authorization', `Basic ${Buffer.from(data).toString('base64')}`); }, - error: function (err, req, res, target) { + error: function (err, _req, _res, target) { console.error(err, target); } } @@ -216,25 +217,8 @@ export class Router { expressMiddleware(gqlServer, { context: async ({ req, res }): Promise => { const token: string = req.headers.authorization || ''; - if ((token !== '') && (req.user === undefined)) { - // get the decoded payload ignoring signature, no symmetric secret or asymmetric key needed - const decodedPayload = jwt.decode(token); - // obtain the public-key of the robot user in the JWT payload - let pubkey; - if (decodedPayload !== null && typeof decodedPayload === 'object') { - pubkey = decodedPayload['publicKey']; - } else { - throw new GraphQLError('JWT verification failed. ', { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT } }); - } - - // verify the JWT - jwt.verify(token, pubkey, function (error) { - if (error) { - throw new GraphQLError('JWT verification failed. ' + error, { extensions: { code: ApolloServerErrorCode.BAD_USER_INPUT, error } }); - } - }); - // store the associated user with the JWT to context - const associatedUser = await userRetrieval(db, pubkey); + const associatedUser = await tokenAuthentication(token); + if (associatedUser) { req.user = associatedUser; } return ({ req, res }); @@ -265,6 +249,26 @@ export class Router { // next(); // }); + // trpc + this.app.use('/trpc', (req, _res, next) => { + (async () => { + try { + // in further merge the token authentication of graphql, trpc and file together + const token: string = req.headers.authorization || ''; + const associatedUser = await tokenAuthentication(token); + if (associatedUser) { + req.user = associatedUser; + } + next(); + } catch (error) { + next(error); + } + })().catch(next); + }, trpcExpress.createExpressMiddleware({ + router: tRPCRouter, + createContext: createtRPCContext + })); + this.app.get('/file/:fileId', fileDownloadControllerInstance.fileDownloadController); } diff --git a/packages/itmat-interface/src/trpc/middleware.ts b/packages/itmat-interface/src/trpc/middleware.ts new file mode 100644 index 000000000..03770b0c9 --- /dev/null +++ b/packages/itmat-interface/src/trpc/middleware.ts @@ -0,0 +1 @@ +// This file is a placeholder for further middleware used in the tRPC server. \ No newline at end of file diff --git a/packages/itmat-interface/src/trpc/tRPCRouter.ts b/packages/itmat-interface/src/trpc/tRPCRouter.ts new file mode 100644 index 000000000..02d4f7002 --- /dev/null +++ b/packages/itmat-interface/src/trpc/tRPCRouter.ts @@ -0,0 +1,8 @@ +import { router } from './trpc'; +import { userRouter } from './userProcedure'; + +export const tRPCRouter = router({ + user: userRouter +}); + +export type APPTRPCRouter = typeof tRPCRouter; \ No newline at end of file diff --git a/packages/itmat-interface/src/trpc/trpc.ts b/packages/itmat-interface/src/trpc/trpc.ts new file mode 100644 index 000000000..5d579cc4a --- /dev/null +++ b/packages/itmat-interface/src/trpc/trpc.ts @@ -0,0 +1,21 @@ +import { inferAsyncReturnType, initTRPC } from '@trpc/server'; +import type { CreateNextContextOptions } from '@trpc/server/adapters/next'; + +export const createtRPCContext = async (opts: CreateNextContextOptions) => { + return { + user: opts.req.user, + req: opts.req, + res: opts.res + }; +}; + +type Context = inferAsyncReturnType; +const t = initTRPC.context().create(); + +export const router = t.router; +export const publicProcedure = t.procedure; + +export const baseProcedure = t.procedure.use(async (opts) => { + // Move on to the next middleware or procedure + return opts.next(opts); +}); \ No newline at end of file diff --git a/packages/itmat-interface/src/trpc/userProcedure.ts b/packages/itmat-interface/src/trpc/userProcedure.ts new file mode 100644 index 000000000..814116947 --- /dev/null +++ b/packages/itmat-interface/src/trpc/userProcedure.ts @@ -0,0 +1,291 @@ +import { TRPCUserCore } from '@itmat-broker/itmat-cores'; +import { baseProcedure, router } from './trpc'; +import { db } from '../database/database'; +import { mailer } from '../emailer/emailer'; +import config from '../utils/configManager'; +import { objStore } from '../objStore/objStore'; +import { z } from 'zod'; +import { FileUploadSchema, enumUserTypes } from '@itmat-broker/itmat-types'; + +const userCore = new TRPCUserCore(db, mailer, config, objStore); + +export const userRouter = router({ + /** + * Return the object of IUser of the current requester. + * + * @return Record - The object of IUser. + */ + whoAmI: baseProcedure.query(async (opts) => { + return opts.ctx.req.user ?? null; + }), + /** + * Get a user. + * + * @param userId - The id of the user. If null, return all users. + * @return IUserWithoutToken + */ + getUser: baseProcedure.input(z.object({ + userId: z.optional(z.string()), + username: z.optional(z.string()), + email: z.optional(z.string()) + })).query(async (opts) => { + return await userCore.getUser(opts.ctx.user, opts.input.userId, opts.input.username, opts.input.email); + }), + /** + * Get all users. + * + * @param includedDeleted - If true, return all users including deleted ones. + * @return IUserWithoutToken + */ + getUsers: baseProcedure.input(z.object({ + includedDeleted: z.optional(z.boolean()) + })).query(async (opts) => { + return await userCore.getUsers(opts.ctx.user, opts.input.includedDeleted); + }), + /** + * Refresh the existing session to avoid timeout. Express will update the session as long as there is a new query in. + * + * @return IGenericResponse - The obejct of IGenericResponse. + */ + recoverSessionExpireTime: baseProcedure.query(() => { + return; + }), + /** + * Validate the token from the reset password request. + * + * @param encryptedEmail - The encrypted email. + * @param token - The token for resetting password. + * @returns IGenericResponse + */ + validateResetPassword: baseProcedure.input(z.object({ + encryptedEmail: z.string(), + token: z.string() + })).query(async (opts) => { + return await userCore.validateResetPassword(opts.input.encryptedEmail, opts.input.token); + }), + /** + * Ask for a request to extend account expiration time. Send notifications to user and admin. + * + * @param userId - The id of the user. + * + * @return IGenericResponse - The object of IGenericResponse + */ + requestExpiryDate: baseProcedure.input(z.object({ + userId: z.string() + })).mutation(async (opts) => { + return await userCore.requestExpiryDate(opts.ctx.user, opts.input.userId); + }), + /** + * Request for resetting password. + * + * @param forgotUsername - Whether user forget the username. + * @param forgotPassword - Whether user forgot the password. + * @param email - The email of the user. If using email to reset password. + * @param username - The username of the uer. If using username to reset password. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + requestUsernameOrResetPassword: baseProcedure.input(z.object({ + forgotUsername: z.boolean(), + forgotPassword: z.boolean(), + email: z.optional(z.string()), + username: z.optional(z.string()) + })).mutation(async (opts) => { + return await userCore.requestUsernameOrResetPassword(opts.input.forgotUsername, opts.input.forgotPassword, opts.ctx.req.headers.origin, opts.input.email, opts.input.username); + }), + /** + * Log in to the system. + * + * @param username - The username of the user. + * @param password - The password of the user. + * @param totp - The totp of the user. + * @param requestexpirydate - Whether to request for extend the expiration time of the user. + * + * @return Partial - The object of Partial + */ + login: baseProcedure.input(z.object({ + username: z.string(), + password: z.string(), + totp: z.string(), + requestexpirydate: z.optional(z.boolean()) + })).mutation(async (opts) => { + return await userCore.login(opts.ctx.req, opts.input.username, opts.input.password, opts.input.totp, opts.input.requestexpirydate); + }), + /** + * Logout an account. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + logout: baseProcedure.mutation(async (opts) => { + return await userCore.logout(opts.ctx.user, opts.ctx.req); + }), + /** + * Create a user. + * + * @param username - The username of the user. + * @param firstname - The firstname of the user. + * @param lastname - The lastname of the user. + * @param email - The email of the user. + * @param password - The password of the user. + * @param description - The description of the user. + * @param organisation - The organisation of the user. + * @param profile - The profile of the user. + * + * @return IUser + */ + createUser: baseProcedure.input(z.object({ + username: z.string(), + firstname: z.string(), + lastname: z.string(), + email: z.string(), + password: z.string(), + description: z.optional(z.string()), + organisation: z.string(), + profile: z.optional(FileUploadSchema) + })).mutation(async (opts) => { + return await userCore.createUser( + opts.ctx.user, + opts.input.username, + opts.input.email, + opts.input.firstname, + opts.input.lastname, + opts.input.organisation, + enumUserTypes.STANDARD, + false, + opts.input.password, + opts.input.profile + ); + }), + /** + * Delete a user. + * + * @param userId - The id of the user. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + deleteUser: baseProcedure.input(z.object({ + userId: z.string() + })).mutation(async (opts) => { + return await userCore.deleteUser(opts.ctx.user, opts.input.userId); + }), + /** + * Reset the password of an account. + * + * @param encryptedEmail - The encrypted email of the user. + * @param token - The id of the reset password request of the user. + * @param newPassword - The new password. + * + * @return IGenericResponse - The object of IGenericResponse. + */ + resetPassword: baseProcedure.input(z.object({ + encryptedEmail: z.string(), + token: z.string(), + newPassword: z.string() + })).mutation(async (opts) => { + return await userCore.resetPassword(opts.input.encryptedEmail, opts.input.token, opts.input.newPassword); + }), + /** + * Edit a user. Besides description, other fields whose values is null will not be updated. + * + * @param userId - The id of the user. + * @param username - The username of the user. + * @param type - The type of the user. + * @param firstname - The first name of the user. + * @param lastname - The last name of the user. + * @param email - The email of the user. + * @param emailNotificationsActivated - Whether the email notification is activated. + * @param password - The password of the user. + * @param description - The description of the user. + * @param organisaiton - The organisation of the user. + * @param expiredAt - The expiration time of the user. + * @param profile - The profile of the user. + * + * @return Partial - The object of IUser. + */ + editUser: baseProcedure.input(z.object({ + userId: z.string(), + username: z.optional(z.string()), + type: z.optional(z.nativeEnum(enumUserTypes)), + firstname: z.optional(z.string()), + lastname: z.optional(z.string()), + email: z.optional(z.string()), + password: z.optional(z.string()), + description: z.optional(z.string()), + organisation: z.optional(z.string()), + emailNotificationsActivated: z.optional(z.boolean()), + otpSecret: z.optional(z.string()), + expiredAt: z.optional(z.number()), + profile: z.optional(FileUploadSchema) + })).mutation(async (opts) => { + return await userCore.editUser( + opts.ctx.user, + opts.input.userId, + opts.input.username, + opts.input.email, + opts.input.firstname, + opts.input.lastname, + opts.input.organisation, + opts.input.type, + opts.input.emailNotificationsActivated, + opts.input.password, + opts.input.otpSecret, + opts.input.profile, + opts.input.description, + opts.input.expiredAt + + ); + }), + /** + * Get keys of a user. + * + * @param userId - The id of the user. + * @return IPubkeys[] + */ + getUserKeys: baseProcedure.input(z.object({ + userId: z.string() + })).query(async (opts) => { + return await userCore.getUserKeys(opts.ctx.user, opts.input.userId); + }), + /** + * Register a public key. + * + * @param pubkey - The public key. + * @param signature - The signature of the public key. + * @param associatedUserId - The id of the user. + * @return IPubkey + */ + registerPubkey: baseProcedure.input(z.object({ + pubkey: z.string(), + signature: z.string(), + associatedUserId: z.string() + })).mutation(async (opts) => { + return await userCore.registerPubkey(opts.ctx.user, opts.input.pubkey, opts.input.signature, opts.input.associatedUserId); + }), + /** + * Issue an access token. + * + * @param pubkey - The public key. + * @param signature - The signature of the public key. + * @param life - The life of the token. + * @return IAccessToken + */ + issueAccessToken: baseProcedure.input(z.object({ + pubkey: z.string(), + signature: z.string(), + life: z.optional(z.number()) + })).mutation(async (opts) => { + return await userCore.issueAccessToken(opts.input.pubkey, opts.input.signature, opts.input.life); + }), + /** + * Delete a public key. + * + * @param keyId - The id of the public key. + * @param associatedUserId - The id of the user. + */ + deletePubkey: baseProcedure.input(z.object({ + keyId: z.string(), + associatedUserId: z.string() + })).mutation(async (opts) => { + return await userCore.deletePubkey(opts.ctx.user, opts.input.keyId, opts.input.associatedUserId); + }) +}); \ No newline at end of file diff --git a/packages/itmat-interface/test/serverTests/_loginHelper.ts b/packages/itmat-interface/test/GraphQLTests/_loginHelper.ts similarity index 100% rename from packages/itmat-interface/test/serverTests/_loginHelper.ts rename to packages/itmat-interface/test/GraphQLTests/_loginHelper.ts diff --git a/packages/itmat-interface/test/serverTests/file.test.ts b/packages/itmat-interface/test/GraphQLTests/file.test.ts similarity index 95% rename from packages/itmat-interface/test/serverTests/file.test.ts rename to packages/itmat-interface/test/GraphQLTests/file.test.ts index 9093d53c7..6b5cabbe2 100644 --- a/packages/itmat-interface/test/serverTests/file.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/file.test.ts @@ -14,7 +14,7 @@ import path from 'path'; import { v4 as uuid } from 'uuid'; import { errorCodes } from '@itmat-broker/itmat-cores'; import { Db, MongoClient } from 'mongodb'; -import { studyType, IStudy, IUser, IRole, IFile, IFieldEntry, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; +import { studyType, IStudy, IUser, IRole, IFile, IField, atomicOperation, IPermissionManagementOptions } from '@itmat-broker/itmat-types'; import { UPLOAD_FILE, CREATE_STUDY, DELETE_FILE } from '@itmat-broker/itmat-models'; import { MongoMemoryServer } from 'mongodb-memory-server'; import { setupDatabase } from '@itmat-broker/itmat-setup'; @@ -79,7 +79,7 @@ if (global.hasMinio) { let createdStudyClinical; let createdStudyAny: { id: any; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile: { id: any; otpSecret: any; username?: string; type?: string; firstname?: string; lastname?: string; password?: string; email?: string; description?: string; emailNotificationsActivated?: boolean; organisation?: string; deleted?: null; }; + let authorisedUserProfile: IUser; beforeEach(async () => { /* setup: create a study to upload file to */ const studyname = uuid(); @@ -133,7 +133,7 @@ if (global.hasMinio) { }); // create field for both studies - await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ + await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ fieldId: 'Device_McRoberts', fieldName: 'Device_McRoberts', dataType: 'file', @@ -162,7 +162,7 @@ if (global.hasMinio) { metadata: { } }]); - await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ + await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ fieldId: 'Device_McRoberts', fieldName: 'Device_McRoberts', dataType: 'file', @@ -204,8 +204,14 @@ if (global.hasMinio) { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -243,7 +249,7 @@ if (global.hasMinio) { afterEach(async () => { await mongoClient.collection(config.database.collections.studies_collection).deleteMany({}); - await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); + await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); await mongoClient.collection(config.database.collections.files_collection).deleteMany({}); }); @@ -471,7 +477,6 @@ if (global.hasMinio) { expect(res.body.errors[0].message).toBe('File size mismatch'); expect(res.body.data.uploadFile).toEqual(null); }); - }); describe('DOWNLOAD FILES', () => { @@ -479,7 +484,7 @@ if (global.hasMinio) { let createdStudy; let createdFile: { id: any; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { /* setup: create studies to upload file to */ @@ -499,7 +504,7 @@ if (global.hasMinio) { description: 'test description', type: studyType.SENSOR }); - await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ + await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ fieldId: 'Device_McRoberts', fieldName: 'Device_McRoberts', dataType: 'file', @@ -561,8 +566,14 @@ if (global.hasMinio) { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -600,7 +611,7 @@ if (global.hasMinio) { afterEach(async () => { await mongoClient.collection(config.database.collections.studies_collection).deleteMany({}); - await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); + await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); await mongoClient.collection(config.database.collections.files_collection).deleteMany({}); }); @@ -663,7 +674,7 @@ if (global.hasMinio) { let createdStudy; let createdFile: { id: any; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { /* Clear old values */ await db.collections.roles_collection.deleteMany({}); @@ -684,7 +695,7 @@ if (global.hasMinio) { description: 'test description', type: studyType.SENSOR }); - await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ + await mongoClient.collection(config.database.collections.field_dictionary_collection).insertMany([{ fieldId: 'Device_McRoberts', fieldName: 'Device_McRoberts', dataType: 'file', @@ -751,8 +762,14 @@ if (global.hasMinio) { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -790,7 +807,7 @@ if (global.hasMinio) { afterEach(async () => { await mongoClient.collection(config.database.collections.studies_collection).deleteMany({}); - await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); + await mongoClient.collection(config.database.collections.field_dictionary_collection).deleteMany({}); await mongoClient.collection(config.database.collections.files_collection).deleteMany({}); }); diff --git a/packages/itmat-interface/test/serverTests/job.test.ts b/packages/itmat-interface/test/GraphQLTests/job.test.ts similarity index 97% rename from packages/itmat-interface/test/serverTests/job.test.ts rename to packages/itmat-interface/test/GraphQLTests/job.test.ts index 116928ed6..3c609feb3 100644 --- a/packages/itmat-interface/test/serverTests/job.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/job.test.ts @@ -170,7 +170,7 @@ describe('JOB API', () => { test('Create a query curation job (user with privilege)', async () => { /* setup: creating a privileged user */ const username = uuid(); - const authorisedUserProfile = { + const authorisedUserProfile: IUser = { username, type: 'STANDARD', firstname: `${username}_firstname`, @@ -181,8 +181,13 @@ describe('JOB API', () => { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 200000000, + createdUserId: 'admin', + deletedTime: null, + deletedUserId: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); diff --git a/packages/itmat-interface/test/serverTests/log.test.ts b/packages/itmat-interface/test/GraphQLTests/log.test.ts similarity index 91% rename from packages/itmat-interface/test/serverTests/log.test.ts rename to packages/itmat-interface/test/GraphQLTests/log.test.ts index b3c1e20a5..9d851880b 100644 --- a/packages/itmat-interface/test/serverTests/log.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/log.test.ts @@ -13,7 +13,7 @@ import { setupDatabase } from '@itmat-broker/itmat-setup'; import config from '../../config/config.sample.json'; import { errorCodes, generateTOTP } from '@itmat-broker/itmat-cores'; import { GET_LOGS, LOGIN, DELETE_USER } from '@itmat-broker/itmat-models'; -import { userTypes, IUser, ILogEntry, LOG_STATUS, LOG_ACTION, LOG_TYPE, USER_AGENT } from '@itmat-broker/itmat-types'; +import { enumUserTypes, IUser, ILogEntry, LOG_STATUS, LOG_ACTION, LOG_TYPE, USER_AGENT } from '@itmat-broker/itmat-types'; import { Express } from 'express'; let app: Express; @@ -72,16 +72,20 @@ describe('LOG API', () => { firstname: 'test', lastname: 'user', organisation: 'organisation_system', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, description: 'I am an test user.', emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, - deleted: null, password: '$2b$04$ps9ownz6PqJFD/LExsmgR.ZLk11zhtRdcpUwypWVfWJ4ZW6/Zzok2', otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', resetPasswordRequests: [], - createdAt: 1591134065000, expiredAt: 2501134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -102,7 +106,7 @@ describe('LOG API', () => { if (!lastLog) return; expect(lastLog.requesterName).toEqual('test_user'); - expect(lastLog.requesterType).toEqual(userTypes.ADMIN); + expect(lastLog.requesterType).toEqual(enumUserTypes.ADMIN); expect(lastLog.logType).toEqual(LOG_TYPE.REQUEST_LOG); expect(lastLog.actionType).toEqual(LOG_ACTION.login); expect(JSON.parse(lastLog.actionData)).toEqual({ @@ -127,8 +131,8 @@ describe('LOG API', () => { // write initial data for testing const logSample = [{ id: '001', - requesterName: userTypes.SYSTEM, - requesterType: userTypes.SYSTEM, + requesterName: enumUserTypes.SYSTEM, + requesterType: enumUserTypes.SYSTEM, logType: LOG_TYPE.SYSTEM_LOG, userAgent: USER_AGENT.MOZILLA, actionType: LOG_ACTION.startSERVER, diff --git a/packages/itmat-interface/test/serverTests/permission.test.ts b/packages/itmat-interface/test/GraphQLTests/permission.test.ts similarity index 97% rename from packages/itmat-interface/test/serverTests/permission.test.ts rename to packages/itmat-interface/test/GraphQLTests/permission.test.ts index 9ee8ac180..b42587fb7 100644 --- a/packages/itmat-interface/test/serverTests/permission.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/permission.test.ts @@ -68,7 +68,7 @@ describe('ROLE API', () => { let setupStudy: { id: any; name?: string; createdBy?: any; lastModified?: number; deleted?: null; currentDataVersion?: number; dataVersions?: never[]; }; let setupProject: { id: any; studyId?: string; createdBy?: any; patientMapping?: Record; name?: string; lastModified?: number; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile: { otpSecret: any; id: any; username?: string; type?: string; firstname?: string; lastname?: string; password?: string; email?: string; description?: string; emailNotificationsActivated?: boolean; organisation?: string; deleted?: null; }; + let authorisedUserProfile: IUser; beforeEach(async () => { const studyName = uuid(); setupStudy = { @@ -107,8 +107,14 @@ describe('ROLE API', () => { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -672,7 +678,7 @@ describe('ROLE API', () => { let setupStudy: { id: any; name?: string; createdBy?: any; lastModified?: number; deleted?: null; currentDataVersion?: number; dataVersions?: never[]; }; let setupRole: { id: any; _id?: any; name: any; studyId: any; projectId?: null; permissions?: never[]; createdBy?: any; users?: never[]; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { const studyName = uuid(); setupStudy = { @@ -699,8 +705,14 @@ describe('ROLE API', () => { description: 'I am a new user.', emailNotificationsActivated: true, organisation: 'organisation_system', - deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -1169,7 +1181,7 @@ describe('ROLE API', () => { test('Add user to role (admin)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -1181,7 +1193,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1279,7 +1298,7 @@ describe('ROLE API', () => { test('Add user to role (privileged user)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -1291,7 +1310,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1389,7 +1415,7 @@ describe('ROLE API', () => { test('Add user to role (user without privilege) (should fail)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -1401,7 +1427,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1471,7 +1504,7 @@ describe('ROLE API', () => { test('Remove user from role (admin)', async () => { /* setup: create a user to be removed from role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -1483,7 +1516,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const updatedRole = await mongoClient.collection(config.database.collections.roles_collection).findOneAndUpdate({ @@ -2210,7 +2250,7 @@ describe('ROLE API', () => { test('Combination of edits (admin)', async () => { /* setup: create a user to be removed from role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -2222,7 +2262,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -2377,7 +2424,7 @@ describe('ROLE API', () => { let setupProject: { id: any; studyId?: string; createdBy?: any; patientMapping?: Record; name?: string; lastModified?: number; deleted?: null; }; let setupRole: { id: any; _id?: any; name: any; projectId?: string; studyId?: string; permissions?: never[]; createdBy?: any; users?: never[]; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { /* setup: creating a setup study */ const studyName = uuid(); @@ -2419,7 +2466,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -2782,7 +2836,7 @@ describe('ROLE API', () => { test('Add user to role (privileged user)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -2794,7 +2848,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -2892,7 +2953,7 @@ describe('ROLE API', () => { test('Add user to role (user without privilege) (should fail)', async () => { /* setup: create a user to be added to role */ const newUsername = uuid(); - const newUser = { + const newUser: IUser = { username: newUsername, type: 'STANDARD', firstname: `${newUsername}_firstname`, @@ -2904,7 +2965,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${newUsername}` + id: `new_user_id_${newUsername}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -2961,7 +3029,7 @@ describe('ROLE API', () => { let setupStudy; let setupRole: { id: any; projectId?: null; studyId?: string; name?: string; permissions?: never[]; createdBy?: any; users?: never[]; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { const studyName = uuid(); setupStudy = { @@ -2989,7 +3057,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); @@ -3118,7 +3193,7 @@ describe('ROLE API', () => { let setupProject; let setupRole: { id: any; projectId?: string; studyId?: string; name?: string; permissions?: never[]; createdBy?: any; users?: never[]; deleted?: null; }; let authorisedUser: request.SuperTest; - let authorisedUserProfile; + let authorisedUserProfile: IUser; beforeEach(async () => { /* setup: creating a setup study */ const studyName = uuid(); @@ -3160,7 +3235,14 @@ describe('ROLE API', () => { emailNotificationsActivated: true, organisation: 'organisation_system', deleted: null, - id: `new_user_id_${username}` + id: `new_user_id_${username}`, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); diff --git a/packages/itmat-interface/test/serverTests/standardization.test.ts b/packages/itmat-interface/test/GraphQLTests/standardization.test.ts similarity index 97% rename from packages/itmat-interface/test/serverTests/standardization.test.ts rename to packages/itmat-interface/test/GraphQLTests/standardization.test.ts index ea3aa8254..672b57569 100644 --- a/packages/itmat-interface/test/serverTests/standardization.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/standardization.test.ts @@ -30,7 +30,7 @@ import { DELETE_STANDARDIZATION, CREATE_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { userTypes, IUser, studyType, IStudy, IProject, IRole, IPermissionManagementOptions, atomicOperation } from '@itmat-broker/itmat-types'; +import { enumUserTypes, IUser, studyType, IStudy, IProject, IRole, IPermissionManagementOptions, atomicOperation } from '@itmat-broker/itmat-types'; import { Express } from 'express'; @@ -354,7 +354,7 @@ describe('STUDY API', () => { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -365,10 +365,15 @@ describe('STUDY API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedProjectUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorised = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); @@ -448,7 +453,7 @@ describe('STUDY API', () => { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorised.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorised.username}_firstname`, lastname: `${createdUserAuthorised.username}_lastname`, organisation: 'organisation_system', @@ -469,7 +474,7 @@ describe('STUDY API', () => { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -480,10 +485,15 @@ describe('STUDY API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorisedStudy = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); @@ -563,7 +573,7 @@ describe('STUDY API', () => { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedStudy.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedStudy.username}_firstname`, lastname: `${createdUserAuthorisedStudy.username}_lastname`, organisation: 'organisation_system', @@ -587,7 +597,7 @@ describe('STUDY API', () => { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -598,10 +608,15 @@ describe('STUDY API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUserManageProject_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: adminId, + deletedTime: null, + deletedUserId: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -682,7 +697,7 @@ describe('STUDY API', () => { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedStudyManageProjects.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedStudyManageProjects.username}_firstname`, lastname: `${createdUserAuthorisedStudyManageProjects.username}_lastname`, organisation: 'organisation_system', @@ -705,7 +720,7 @@ describe('STUDY API', () => { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toStrictEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -721,15 +736,14 @@ describe('STUDY API', () => { }], studies: [{ id: createdStudy.id, - name: createdStudy.name, - type: studyType.SENSOR + name: createdStudy.name }] }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); } /* connecting users */ @@ -790,7 +804,7 @@ describe('STUDY API', () => { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -806,13 +820,13 @@ describe('STUDY API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); // study data is NOT deleted for audit purposes - unless explicitly requested separately const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study = await db.collections.studies_collection.findOne({ 'id': createdStudy.id, 'life.deletedTime': null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); diff --git a/packages/itmat-interface/test/serverTests/study.test.ts b/packages/itmat-interface/test/GraphQLTests/study.test.ts similarity index 85% rename from packages/itmat-interface/test/serverTests/study.test.ts rename to packages/itmat-interface/test/GraphQLTests/study.test.ts index c761c003c..be06c4bca 100644 --- a/packages/itmat-interface/test/serverTests/study.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/study.test.ts @@ -16,7 +16,6 @@ import config from '../../config/config.sample.json'; import { v4 as uuid } from 'uuid'; import { GET_STUDY_FIELDS, - GET_PROJECT_PATIENT_MAPPING, GET_STUDY, GET_PROJECT, GET_USERS, @@ -33,7 +32,6 @@ import { DELETE_DATA_RECORDS, GET_DATA_RECORDS, CREATE_NEW_DATA_VERSION, - CHECK_DATA_COMPLETE, CREATE_NEW_FIELD, DELETE_FIELD, CREATE_ONTOLOGY_TREE, @@ -41,19 +39,23 @@ import { GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; import { - userTypes, + enumUserTypes, studyType, - enumValueType, + enumDataTypes, IDataEntry, IUser, IFile, - IFieldEntry, + IField, IStudyDataVersion, IStudy, IProject, IRole, IPermissionManagementOptions, - atomicOperation + atomicOperation, + enumReservedUsers, + IData, + enumFileTypes, + enumFileCategories } from '@itmat-broker/itmat-types'; import { Express } from 'express'; import path from 'path'; @@ -139,7 +141,7 @@ if (global.hasMinio) { expect(resWhoAmI.body.data.errors).toBeUndefined(); expect(resWhoAmI.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -151,19 +153,18 @@ if (global.hasMinio) { projects: [], studies: [{ id: createdStudy.id, - name: studyName, - type: studyType.SENSOR + name: studyName }] }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Edit study (admin)', async () => { @@ -190,24 +191,27 @@ if (global.hasMinio) { expect(editStudy.body.data.editStudy).toEqual({ id: createdStudy.id, name: studyName, - description: 'edited description', - type: studyType.SENSOR + description: 'edited description' }); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Create study that violate unique name constraint (admin)', async () => { const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: -1, - dataVersions: [] + dataVersions: [], + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -225,19 +229,23 @@ if (global.hasMinio) { expect(study).toEqual([newStudy]); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Create study that violate unique name constraint (case insensitive) (admin)', async () => { const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: -1, - dataVersions: [] + dataVersions: [], + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -255,7 +263,7 @@ if (global.hasMinio) { expect(study).toEqual([newStudy]); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Create study (user) (should fail)', async () => { @@ -300,21 +308,24 @@ if (global.hasMinio) { expect(editStudy.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); test('Delete study (no projects) (admin)', async () => { /* setup: create a study to be deleted */ const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: -1, dataVersions: [], - type: studyType.SENSOR + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -323,7 +334,7 @@ if (global.hasMinio) { expect(resWhoAmI.body.data.errors).toBeUndefined(); expect(resWhoAmI.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -335,15 +346,14 @@ if (global.hasMinio) { projects: [], studies: [{ id: newStudy.id, - name: studyName, - type: studyType.SENSOR + name: studyName }] }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); /* test */ @@ -359,14 +369,14 @@ if (global.hasMinio) { }); const study = await mongoClient.collection(config.database.collections.studies_collection).findOne({ id: newStudy.id }); - expect(typeof study.deleted).toBe('number'); + expect(typeof study?.life.deletedTime).toBe('number'); const resWhoAmIAfter = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(resWhoAmIAfter.status).toBe(200); expect(resWhoAmIAfter.body.data.errors).toBeUndefined(); expect(resWhoAmIAfter.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -382,21 +392,25 @@ if (global.hasMinio) { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); }); test('Delete study that has been deleted (no projects) (admin)', async () => { /* setup: create a study to be deleted */ const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: new Date().valueOf(), currentDataVersion: -1, - dataVersions: [] + dataVersions: [], + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: 10000, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -425,14 +439,18 @@ if (global.hasMinio) { test('Delete study (user) (should fail)', async () => { /* setup: create a study to be deleted */ const studyName = uuid(); - const newStudy = { + const newStudy: IStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: -1, - dataVersions: [] + dataVersions: [], + life: { + createdTime: 200000002, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(newStudy); @@ -447,16 +465,16 @@ if (global.hasMinio) { /* confirms that the created study is still alive */ const createdStudy = await mongoClient.collection(config.database.collections.studies_collection).findOne({ name: studyName }); - expect(createdStudy.deleted).toBe(null); + expect(createdStudy?.life.deletedTime).toBe(null); /* cleanup: delete study */ - await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ name: studyName, deleted: null }, { $set: { deleted: new Date().valueOf() } }); + await mongoClient.collection(config.database.collections.studies_collection).findOneAndUpdate({ 'name': studyName, 'life.deletedTime': null }, { $set: { 'life.deletedUser': 'admin', 'life.deletedTime': new Date().valueOf() } }); }); }); describe('MANIPULATING PROJECTS EXISTENCE', () => { let testCounter = 0; - let setupStudy: { id: any; name?: string; createdBy?: string; lastModified?: number; deleted?: null; currentDataVersion?: number; dataVersions?: { id: string; contentId: string; version: string; tag: string; updateDate: string; }[]; }; + let setupStudy: IStudy; let setupProject: { id: any; studyId?: string; createdBy?: string; name?: string; patientMapping?: { patient001: string; }; lastModified?: number; deleted?: null; }; beforeEach(async () => { testCounter++; @@ -465,9 +483,6 @@ if (global.hasMinio) { setupStudy = { id: `id_${studyName}`, name: studyName, - createdBy: 'admin', - lastModified: 200000002, - deleted: null, currentDataVersion: 0, dataVersions: [ { @@ -477,7 +492,14 @@ if (global.hasMinio) { tag: '1', updateDate: '1628049066475' } - ] + ], + life: { + createdTime: 20000001, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.studies_collection).insertOne(setupStudy); @@ -496,7 +518,7 @@ if (global.hasMinio) { }); afterEach(async () => { - await mongoClient.collection(config.database.collections.studies_collection).updateOne({ id: setupStudy.id }, { $set: { deleted: 10000 } }); + await mongoClient.collection(config.database.collections.studies_collection).updateOne({ id: setupStudy.id }, { $set: { 'life.deletedTime': 10000 } }); await mongoClient.collection(config.database.collections.projects_collection).updateOne({ id: setupProject.id }, { $set: { deleted: 10000 } }); }); @@ -553,7 +575,7 @@ if (global.hasMinio) { const username = uuid(); const authorisedUserProfile: IUser = { username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -564,17 +586,21 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `new_user_id_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); const roleId = uuid(); const newRole = { id: roleId, - projectId: null, studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: { @@ -670,7 +696,7 @@ if (global.hasMinio) { const username = uuid(); const authorisedUserProfile: IUser = { username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -681,17 +707,21 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `new_user_id_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(authorisedUserProfile); const roleId = uuid(); const newRole = { id: roleId, - projectId: null, studyId: setupStudy.id, name: `${roleId}_rolename`, permissions: { @@ -754,17 +784,14 @@ if (global.hasMinio) { let createdStudy: { id: any; name: any; }; let createdRole_study: { _id: any; id: any; name: any; }; let createdRole_study_manageProject: { _id: any; id: any; name: any; }; - let createdRole_study_self_access: { _id: any; id: any; name: any; }; let createdRole_project: { _id: any; id: any; name: any; }; let createdUserAuthorised: { id: any; firstname: any; lastname: any; username: string; otpSecret: string; }; // profile let createdUserAuthorisedStudy: { id: any; firstname: any; lastname: any; username: string; otpSecret: string; }; // profile let createdUserAuthorisedStudyManageProjects: { id: any; firstname: any; lastname: any; username: string; otpSecret: string; }; // profile - let createdUserAuthorisedToOneOrg: { id: any; firstname: any; lastname: any; username: string; otpSecret: string; }; // profile let authorisedUser: request.SuperTest; // client let authorisedUserStudy: request.SuperTest; // client let authorisedUserStudyManageProject: request.SuperTest; // client - let authorisedUserToOneOrg: request.SuperTest; // client - let mockFields: IFieldEntry[]; + let mockFields: IField[]; let mockFiles: IFile[]; let mockDataVersion: IStudyDataVersion; const newMockDataVersion: IStudyDataVersion = { // this is not added right away; but multiple tests uses this @@ -803,50 +830,82 @@ if (global.hasMinio) { version: '0.0.1', updateDate: '5000000' }; - const mockData: IDataEntry[] = [ + const mockData: IData[] = [ { id: 'mockData1_1', - m_subjectId: 'mock_patient1', - m_visitId: 'mockvisitId', - m_studyId: createdStudy.id, - m_versionId: mockDataVersion.id, - m_fieldId: '31', + studyId: createdStudy.id, + fieldId: '31', + dataVersion: mockDataVersion.id, value: 'male', - metadata: {}, - deleted: null + properties: { + m_subjectId: 'mock_patient1', + m_visitId: 'mockvisitId' + + }, + life: { + createdTime: 10000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockData1_2', - m_subjectId: 'mock_patient1', - m_visitId: 'mockvisitId', - m_studyId: createdStudy.id, - m_versionId: mockDataVersion.id, - m_fieldId: '49', + studyId: createdStudy.id, + fieldId: '49', + dataVersion: mockDataVersion.id, value: 'England', - metadata: {}, - deleted: null + properties: { + m_subjectId: 'mock_patient1', + m_visitId: 'mockvisitId' + + }, + life: { + createdTime: 10001, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockData2_1', - m_subjectId: 'mock_patient2', - m_visitId: 'mockvisitId', - m_studyId: createdStudy.id, - m_versionId: mockDataVersion.id, - m_fieldId: '31', + studyId: createdStudy.id, + fieldId: '31', + dataVersion: mockDataVersion.id, value: 'female', - metadata: {}, - deleted: null + properties: { + m_subjectId: 'mock_patient2', + m_visitId: 'mockvisitId' + + }, + life: { + createdTime: 10002, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockData2_2', - m_subjectId: 'mock_patient2', - m_visitId: 'mockvisitId', - m_studyId: createdStudy.id, - m_versionId: mockDataVersion.id, - m_fieldId: '49', + studyId: createdStudy.id, + fieldId: '49', + dataVersion: mockDataVersion.id, value: 'France', - metadata: {}, - deleted: null + properties: { + m_subjectId: 'mock_patient2', + m_visitId: 'mockvisitId' + + }, + life: { + createdTime: 10003, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} } ]; mockFields = [ @@ -855,53 +914,79 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '31', fieldName: 'Sex', - dataType: enumValueType.STRING, - possibleValues: [], + dataType: enumDataTypes.STRING, + categoricalOptions: [], unit: 'person', comments: 'mockComments1', - dateAdded: '10000', - dateDeleted: null, - dataVersion: 'mockDataVersionId' + dataVersion: 'mockDataVersionId', + life: { + createdTime: 10000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockfield2', studyId: createdStudy.id, fieldId: '32', fieldName: 'Race', - dataType: enumValueType.STRING, - possibleValues: [], + dataType: enumDataTypes.STRING, + categoricalOptions: [], unit: 'person', comments: 'mockComments2', - dateAdded: '20000', - dateDeleted: null, - dataVersion: 'mockDataVersionId' + dataVersion: 'mockDataVersionId', + life: { + createdTime: 20000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} } ]; mockFiles = [ { id: 'mockfile1_id', - fileName: 'I7N3G6G-MMM7N3G6G-20200704-20210429.txt', studyId: createdStudy.id, + userId: null, + fileName: 'I7N3G6G-MMM7N3G6G-20200704-20210429.txt', fileSize: '1000', description: 'Just a test file1', - uploadTime: '1599345644000', - uploadedBy: adminId, + properties: {}, uri: 'fakeuri', - deleted: null, - hash: 'b0dc2ae76cdea04dcf4be7fcfbe36e2ce8d864fe70a1895c993ce695274ba7a0' + hash: 'b0dc2ae76cdea04dcf4be7fcfbe36e2ce8d864fe70a1895c993ce695274ba7a0', + fileType: enumFileTypes.TXT, + fileCategory: enumFileCategories.STUDY_DATA_FILE, + life: { + createdTime: 1599345644000, + createdUser: adminId, + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { id: 'mockfile2_id', - fileName: 'GR6R4AR-MMMS3JSPP-20200601-20200703.json', studyId: createdStudy.id, + userId: null, + fileName: 'GR6R4AR-MMMS3JSPP-20200601-20200703.json', fileSize: '1000', description: 'Just a test file2', - uploadTime: '1599345644000', - uploadedBy: adminId, + properties: {}, uri: 'fakeuri2', - deleted: null, - hash: '4ae25be36354ee0aec8dc8deac3f279d2e9d6415361da996cf57eb6142cfb1a3' + hash: '4ae25be36354ee0aec8dc8deac3f279d2e9d6415361da996cf57eb6142cfb1a3', + fileType: enumFileTypes.JSON, + fileCategory: enumFileCategories.STUDY_DATA_FILE, + life: { + createdTime: 1599345644000, + createdUser: adminId, + deletedTime: null, + deletedUser: null + }, + metadata: {} } ]; await db.collections.studies_collection.updateOne({ id: createdStudy.id }, { @@ -944,7 +1029,6 @@ if (global.hasMinio) { await db.collections.field_dictionary_collection.insertMany(mockFields); await db.collections.files_collection.insertMany(mockFiles); } - /* 2. create projects for the study */ { const projectName = uuid(); @@ -973,8 +1057,7 @@ if (global.hasMinio) { query: print(ADD_NEW_ROLE), variables: { roleName, - studyId: createdStudy.id, - projectId: null + studyId: createdStudy.id } }); expect(res.status).toBe(200); @@ -984,8 +1067,8 @@ if (global.hasMinio) { expect(createdRole_study).toEqual({ _id: createdRole_study._id, id: createdRole_study.id, - projectId: null, studyId: createdStudy.id, + projectId: null, name: roleName, permissions: { data: { @@ -1042,8 +1125,7 @@ if (global.hasMinio) { query: print(ADD_NEW_ROLE), variables: { roleName, - studyId: createdStudy.id, - projectId: null + studyId: createdStudy.id } }); expect(res.status).toBe(200); @@ -1053,78 +1135,8 @@ if (global.hasMinio) { expect(createdRole_study_manageProject).toEqual({ _id: createdRole_study_manageProject._id, id: createdRole_study_manageProject.id, - projectId: null, - studyId: createdStudy.id, - name: roleName, - permissions: { - data: { - fieldIds: [], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [], - subjectIds: [], - visitIds: [] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - }, - description: '', - createdBy: adminId, - users: [], - deleted: null, - metadata: {} - }); - expect(res.body.data.addRole).toEqual({ - id: createdRole_study_manageProject.id, - name: roleName, - permissions: { - data: { - fieldIds: [], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [], - subjectIds: [], - visitIds: [] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - }, studyId: createdStudy.id, projectId: null, - users: [] - }); - } - - /* create another role for access data with self organisation only */ - { - const roleName = uuid(); - const res = await admin.post('/graphql').send({ - query: print(ADD_NEW_ROLE), - variables: { - roleName, - studyId: createdStudy.id, - projectId: null - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - - createdRole_study_self_access = await mongoClient.collection(config.database.collections.roles_collection).findOne({ name: roleName }); - expect(createdRole_study_self_access).toEqual({ - _id: createdRole_study_self_access._id, - id: createdRole_study_self_access.id, - projectId: null, - studyId: createdStudy.id, name: roleName, permissions: { data: { @@ -1150,7 +1162,7 @@ if (global.hasMinio) { metadata: {} }); expect(res.body.data.addRole).toEqual({ - id: createdRole_study_self_access.id, + id: createdRole_study_manageProject.id, name: roleName, permissions: { data: { @@ -1249,7 +1261,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1260,10 +1272,15 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedProjectUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorised = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); @@ -1343,7 +1360,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorised.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorised.username}_firstname`, lastname: `${createdUserAuthorised.username}_lastname`, organisation: 'organisation_system', @@ -1357,6 +1374,17 @@ if (global.hasMinio) { studies: [] } }); + const tag = `metadata.${'role:'.concat(createdRole_project.id)}`; + await db.collections.field_dictionary_collection.updateMany({}, { + $set: { + [tag]: true + } + }); + await db.collections.data_collection.updateMany({}, { + $set: { + [tag]: true + } + }); } /* 5. create an authorised study user (no role yet) */ @@ -1364,7 +1392,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1375,15 +1403,19 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorisedStudy = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); } - /* 6. add authorised user to role */ { const res = await admin.post('/graphql').send({ @@ -1458,7 +1490,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedStudy.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedStudy.username}_firstname`, lastname: `${createdUserAuthorisedStudy.username}_lastname`, organisation: 'organisation_system', @@ -1475,14 +1507,24 @@ if (global.hasMinio) { }] } }); + const tag = `metadata.${'role:'.concat(createdRole_study.id)}`; + await db.collections.field_dictionary_collection.updateMany({}, { + $set: { + [tag]: true + } + }); + await db.collections.data_collection.updateMany({}, { + $set: { + [tag]: true + } + }); } - /* 5. create an authorised study user that can manage projects (no role yet) */ { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1493,42 +1535,21 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUserManageProject_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUserId: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorisedStudyManageProjects = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); } - /* 5. create an authorised study user that can access data from self organisation only */ - { - const username = uuid(); - const newUser: IUser = { - username: username, - type: userTypes.STANDARD, - firstname: `${username}_firstname`, - lastname: `${username}_lastname`, - password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', - otpSecret: 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA', - email: `${username}'@user.io'`, - resetPasswordRequests: [], - description: 'I am an authorised study user to access self org data.', - emailNotificationsActivated: true, - emailNotificationsStatus: { expiringNotification: false }, - organisation: 'organisation_user', - deleted: null, - id: `AuthorisedStudyUserAccessSelfData_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 - }; - - await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); - createdUserAuthorisedToOneOrg = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); - } - /* 6. add authorised user to role */ { const res = await admin.post('/graphql').send({ @@ -1603,7 +1624,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedStudyManageProjects.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedStudyManageProjects.username}_firstname`, lastname: `${createdUserAuthorisedStudyManageProjects.username}_lastname`, organisation: 'organisation_system', @@ -1621,104 +1642,12 @@ if (global.hasMinio) { } }); } - /* 7. add authorised user to role */ - { - const res = await admin.post('/graphql').send({ - query: print(EDIT_ROLE), - variables: { - roleId: createdRole_study_self_access.id, - userChanges: { - add: [createdUserAuthorisedToOneOrg.id], - remove: [] - }, - permissionChanges: { - data: { - fieldIds: ['^.*$'], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [atomicOperation.READ], - subjectIds: ['^K.*$'], - visitIds: ['^.*$'] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ, atomicOperation.WRITE], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - } - } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.editRole).toEqual({ - id: createdRole_study_self_access.id, - name: createdRole_study_self_access.name, - studyId: createdStudy.id, - projectId: null, - description: '', - permissions: { - data: { - fieldIds: ['^.*$'], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [atomicOperation.READ], - subjectIds: ['^K.*$'], - visitIds: ['^.*$'] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ, atomicOperation.WRITE], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - }, - users: [{ - id: createdUserAuthorisedToOneOrg.id, - organisation: 'organisation_user', - firstname: createdUserAuthorisedToOneOrg.firstname, - lastname: createdUserAuthorisedToOneOrg.lastname - }] - }); - const resUser = await admin.post('/graphql').send({ - query: print(GET_USERS), - variables: { - fetchDetailsAdminOnly: false, - userId: createdUserAuthorisedToOneOrg.id, - fetchAccessPrivileges: true - } - }); - expect(resUser.status).toBe(200); - expect(resUser.body.errors).toBeUndefined(); - expect(resUser.body.data.getUsers).toHaveLength(1); - expect(resUser.body.data.getUsers[0]).toEqual({ - id: createdUserAuthorisedToOneOrg.id, - type: userTypes.STANDARD, - firstname: `${createdUserAuthorisedToOneOrg.username}_firstname`, - lastname: `${createdUserAuthorisedToOneOrg.username}_lastname`, - organisation: 'organisation_user', - access: { - id: `user_access_obj_user_id_${createdUserAuthorisedToOneOrg.id}`, - projects: [{ - id: createdProject.id, - name: createdProject.name, - studyId: createdStudy.id - }], - studies: [{ - id: createdStudy.id, - name: createdStudy.name - }] - } - }); - } /* fsdafs: admin who am i */ { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toStrictEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -1734,15 +1663,14 @@ if (global.hasMinio) { }], studies: [{ id: createdStudy.id, - name: createdStudy.name, - type: studyType.SENSOR + name: createdStudy.name }] }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); } /* connecting users */ @@ -1752,8 +1680,6 @@ if (global.hasMinio) { await connectAgent(authorisedUserStudy, createdUserAuthorisedStudy.username, 'admin', createdUserAuthorisedStudy.otpSecret); authorisedUserStudyManageProject = request.agent(app); await connectAgent(authorisedUserStudyManageProject, createdUserAuthorisedStudyManageProjects.username, 'admin', createdUserAuthorisedStudyManageProjects.otpSecret); - authorisedUserToOneOrg = request.agent(app); - await connectAgent(authorisedUserToOneOrg, createdUserAuthorisedToOneOrg.username, 'admin', createdUserAuthorisedToOneOrg.otpSecret); }); afterAll(async () => { @@ -1771,7 +1697,7 @@ if (global.hasMinio) { /* delete values in db */ await db.collections.field_dictionary_collection.deleteMany({ studyId: createdStudy.id }); - await db.collections.data_collection.deleteMany({ m_studyId: createdStudy.id }); + await db.collections.data_collection.deleteMany({ studyId: createdStudy.id }); await db.collections.files_collection.deleteMany({ studyId: createdStudy.id }); /* study user cannot delete study */ @@ -1805,7 +1731,7 @@ if (global.hasMinio) { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -1821,13 +1747,13 @@ if (global.hasMinio) { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); // study data is NOT deleted for audit purposes - unless explicitly requested separately const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study = await db.collections.studies_collection.findOne({ 'id': createdStudy.id, 'life.deletedTime': null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); @@ -1882,7 +1808,7 @@ if (global.hasMinio) { createdBy: adminId, jobs: [], description: 'test description', - type: studyType.SENSOR, + type: null, projects: [ { id: createdProject.id, @@ -1912,8 +1838,8 @@ if (global.hasMinio) { [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] } }, - projectId: null, studyId: createdStudy.id, + projectId: null, users: [{ id: createdUserAuthorisedStudy.id, organisation: 'organisation_system', @@ -1943,8 +1869,8 @@ if (global.hasMinio) { [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] } }, - projectId: null, studyId: createdStudy.id, + projectId: null, users: [{ id: createdUserAuthorisedStudyManageProjects.id, organisation: 'organisation_system', @@ -1952,37 +1878,6 @@ if (global.hasMinio) { lastname: createdUserAuthorisedStudyManageProjects.lastname, username: createdUserAuthorisedStudyManageProjects.username }] - }, - { - id: createdRole_study_self_access.id, - name: createdRole_study_self_access.name, - description: '', - permissions: { - data: { - fieldIds: ['^.*$'], - hasVersioned: false, - uploaders: ['^.*$'], - operations: [atomicOperation.READ], - subjectIds: ['^K.*$'], - visitIds: ['^.*$'] - }, - manage: { - [IPermissionManagementOptions.own]: [atomicOperation.READ, atomicOperation.WRITE], - [IPermissionManagementOptions.role]: [], - [IPermissionManagementOptions.job]: [], - [IPermissionManagementOptions.query]: [], - [IPermissionManagementOptions.ontologyTrees]: [atomicOperation.READ] - } - }, - projectId: null, - studyId: createdStudy.id, - users: [{ - id: createdUserAuthorisedToOneOrg.id, - organisation: 'organisation_user', - firstname: createdUserAuthorisedToOneOrg.firstname, - lastname: createdUserAuthorisedToOneOrg.lastname, - username: createdUserAuthorisedToOneOrg.username - }] } ], files: [], @@ -2069,92 +1964,6 @@ if (global.hasMinio) { } }); - test('Get study (user that can only access self org data)', async () => { - const res = await authorisedUserToOneOrg.post('/graphql').send({ - query: print(GET_STUDY), - variables: { studyId: createdStudy.id } - }); - expect(res.status).toBe(200); - // expect(res.body.errors).toBeUndefined(); - // expect(res.body.data.getStudy.files[0]).toEqual({ - // id: 'mockfile1_id', - // fileName: 'I7N3G6G-MMM7N3G6G-20200704-20210429.txt', - // studyId: createdStudy.id, - // projectId: null, - // fileSize: '1000', - // description: 'Just a test file1', - // uploadTime: '1599345644000', - // uploadedBy: adminId, - // hash: 'b0dc2ae76cdea04dcf4be7fcfbe36e2ce8d864fe70a1895c993ce695274ba7a0' - // } - // ); - }); - - test('Get patient mapping (admin)', async () => { - const res = await admin.post('/graphql').send({ - query: print(GET_PROJECT_PATIENT_MAPPING), - variables: { projectId: createdProject.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.getProject).toEqual({ - id: createdProject.id, - patientMapping: { - mock_patient1: createdProject.patientMapping.mock_patient1, - mock_patient2: createdProject.patientMapping.mock_patient2 - } - }); - const { patientMapping } = res.body.data.getProject; - expect(typeof patientMapping.mock_patient1).toBe('string'); - expect(patientMapping.mock_patient1).not.toBe('mock_patient1'); // should not be the same as before mapped - expect(typeof patientMapping.mock_patient2).toBe('string'); - expect(patientMapping.mock_patient2).not.toBe('mock_patient2'); // should not be the same as before mapped - }); - - test('Get patient mapping (user without privilege) (should fail)', async () => { - const res = await user.post('/graphql').send({ - query: print(GET_PROJECT_PATIENT_MAPPING), - variables: { projectId: createdProject.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - expect(res.body.data.getProject).toBe(null); - }); - - test('Get patient mapping (user with project data privilege) (should fail)', async () => { - // patient mapping is obscured from users that can only access project data. They should only see the mapped id - const res = await authorisedUser.post('/graphql').send({ - query: print(GET_PROJECT_PATIENT_MAPPING), - variables: { projectId: createdProject.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toHaveLength(1); - expect(res.body.errors[0].message).toBe(errorCodes.NO_PERMISSION_ERROR); - expect(res.body.data.getProject).toBe(null); - }); - - test('Get patient mapping (user with study data privilege)', async () => { - const res = await authorisedUserStudy.post('/graphql').send({ - query: print(GET_PROJECT_PATIENT_MAPPING), - variables: { projectId: createdProject.id } - }); - expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.getProject).toEqual({ - id: createdProject.id, - patientMapping: { - mock_patient1: createdProject.patientMapping.mock_patient1, - mock_patient2: createdProject.patientMapping.mock_patient2 - } - }); - const { patientMapping } = res.body.data.getProject; - expect(typeof patientMapping.mock_patient1).toBe('string'); - expect(patientMapping.mock_patient1).not.toBe('mock_patient1'); // should not be the same as before mapped - expect(typeof patientMapping.mock_patient2).toBe('string'); - expect(patientMapping.mock_patient2).not.toBe('mock_patient2'); // should not be the same as before mapped - }); - test('Get study (user without privilege)', async () => { const res = await user.post('/graphql').send({ query: print(GET_STUDY), @@ -2229,19 +2038,13 @@ if (global.hasMinio) { fieldId: '32', fieldName: 'Race', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments2', dateAdded: '20000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: { - [`role:${createdRole_study.id}`]: true, - [`role:${createdRole_project.id}`]: true, - [`role:${createdRole_study_manageProject.id}`]: false, - [`role:${createdRole_study_self_access.id}`]: true - } + dataVersion: 'mockDataVersionId' }, { id: 'mockfield1', @@ -2249,19 +2052,13 @@ if (global.hasMinio) { fieldId: '31', fieldName: 'Sex', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments1', dateAdded: '10000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: { - [`role:${createdRole_study.id}`]: true, - [`role:${createdRole_project.id}`]: true, - [`role:${createdRole_study_manageProject.id}`]: false, - [`role:${createdRole_study_self_access.id}`]: true - } + dataVersion: 'mockDataVersionId' } ].sort((a, b) => a.id.localeCompare(b.id))); }); @@ -2283,14 +2080,13 @@ if (global.hasMinio) { fieldId: '31', fieldName: 'Sex', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments1', dateAdded: '10000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: null + dataVersion: 'mockDataVersionId' }, { id: 'mockfield2', @@ -2298,14 +2094,13 @@ if (global.hasMinio) { fieldId: '32', fieldName: 'Race', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments2', dateAdded: '20000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: null + dataVersion: 'mockDataVersionId' } ].sort((a, b) => a.id.localeCompare(b.id))); }); @@ -2331,14 +2126,18 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '32', fieldName: 'Race', - tableName: null, - dataType: enumValueType.STRING, - possibleValues: [], + dataType: enumDataTypes.STRING, + categoricalOptions: [], unit: 'person', comments: 'mockComments1', - dateAdded: '30000', - dateDeleted: '30000', - dataVersion: null + dataVersion: null, + life: { + createdTime: 30000, + createdUserId: 'admin', + deletedTime: 30000, + deletedUserId: 'admin' + }, + metadata: {} }); await db.collections.field_dictionary_collection.insertOne({ @@ -2346,14 +2145,18 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '33', fieldName: 'Weight', - tableName: null, - dataType: enumValueType.DECIMAL, - possibleValues: [], + dataType: enumDataTypes.DECIMAL, + categoricalOptions: [], unit: 'kg', comments: 'mockComments3', - dateAdded: '30000', - dateDeleted: null, - dataVersion: null + dataVersion: null, + life: { + createdTime: 30000, + createdUserId: 'admin', + deletedTime: null, + deletedUserId: null + }, + metadata: {} }); // user with study privilege can access all latest field, including unversioned @@ -2385,14 +2188,13 @@ if (global.hasMinio) { fieldId: '32', fieldName: 'Race', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments2', dateAdded: '20000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: null + dataVersion: 'mockDataVersionId' }, { id: 'mockfield1', @@ -2400,14 +2202,13 @@ if (global.hasMinio) { fieldId: '31', fieldName: 'Sex', tableName: null, - dataType: enumValueType.STRING, + dataType: 'str', possibleValues: [], unit: 'person', comments: 'mockComments1', dateAdded: '10000', dateDeleted: null, - dataVersion: 'mockDataVersionId', - metadata: null + dataVersion: 'mockDataVersionId' } ].sort((a, b) => a.id.localeCompare(b.id))); // clear database @@ -2532,14 +2333,19 @@ if (global.hasMinio) { firstname: 'FDataCurator', lastname: 'LDataCurator', organisation: 'organisation_system', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, description: 'just a data curator', resetPasswordRequests: [], emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, - deleted: null, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await db.collections.users_collection.insertOne(userDataCurator); @@ -2747,7 +2553,7 @@ if (global.hasMinio) { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); expect(res.body.data.deleteField.fieldId).toBe('8'); - const fieldsInDb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, dateDeleted: { $ne: null } }).toArray(); + const fieldsInDb = await db.collections.field_dictionary_collection.find({ 'studyId': createdStudy.id, 'life.deletedTime': { $ne: null } }).toArray(); expect(fieldsInDb).toHaveLength(1); expect(fieldsInDb[0].fieldId).toBe('8'); // clear database @@ -2820,7 +2626,7 @@ if (global.hasMinio) { let authorisedUser: request.SuperTest; let authorisedProjectUser: request.SuperTest; let unauthorisedUser: request.SuperTest; - let mockFields: any[]; + let mockFields: IField[]; let mockDataVersion: IStudyDataVersion; const fieldTreeId = uuid(); const oneRecord = [{ @@ -2895,8 +2701,7 @@ if (global.hasMinio) { query: print(ADD_NEW_ROLE), variables: { roleName, - studyId: createdStudy.id, - projectId: null + studyId: createdStudy.id } }); expect(res.status).toBe(200); @@ -2906,8 +2711,8 @@ if (global.hasMinio) { expect(createdRole_study_accessData).toEqual({ _id: createdRole_study_accessData._id, id: createdRole_study_accessData.id, - projectId: null, studyId: createdStudy.id, + projectId: null, name: roleName, permissions: { data: { @@ -2963,7 +2768,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -2974,10 +2779,15 @@ if (global.hasMinio) { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: `AuthorisedStudyUserManageProject_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -2989,7 +2799,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -3003,10 +2813,14 @@ if (global.hasMinio) { metadata: { wp: 'wp5.1' }, - deleted: null, id: `AuthorisedStudyUserManageProject_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -3087,7 +2901,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedProfile.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedProfile.username}_firstname`, lastname: `${createdUserAuthorisedProfile.username}_lastname`, organisation: 'organisation_system', @@ -3115,13 +2929,17 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '31', fieldName: 'Age', - dataType: enumValueType.INTEGER, - possibleValues: [], + dataType: enumDataTypes.INTEGER, + categoricalOptions: [], unit: 'person', comments: 'mockComments1', - dateAdded: 100000000, - dateDeleted: null, dataVersion: 'mockDataVersionId', + life: { + createdTime: 100000000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, metadata: {} }, { @@ -3129,13 +2947,17 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '32', fieldName: 'Sex', - dataType: enumValueType.STRING, - possibleValues: [], + dataType: enumDataTypes.STRING, + categoricalOptions: [], unit: 'person', comments: 'mockComments2', - dateAdded: 100000000, - dateDeleted: null, dataVersion: 'mockDataVersionId', + life: { + createdTime: 100000001, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, metadata: {} }, { @@ -3143,13 +2965,17 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldId: '33', fieldName: 'DeviceTest', - dataType: enumValueType.FILE, - possibleValues: [], + dataType: enumDataTypes.FILE, + categoricalOptions: [], unit: 'person', comments: 'mockComments3', - dateAdded: 100000000, - dateDeleted: null, dataVersion: 'mockDataVersionId', + life: { + createdTime: 100000002, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, metadata: {} } ]; @@ -3217,7 +3043,7 @@ if (global.hasMinio) { const username = uuid(); const newUser: IUser = { username: username, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${username}_firstname`, lastname: `${username}_lastname`, password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -3231,10 +3057,14 @@ if (global.hasMinio) { metadata: { wp: 'wp5.2' }, - deleted: null, id: `AuthorisedProjectUser_${username}`, - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); createdUserAuthorisedProject = await mongoClient.collection(config.database.collections.users_collection).findOne({ username }); @@ -3383,7 +3213,7 @@ if (global.hasMinio) { expect(resUser.body.data.getUsers).toHaveLength(1); expect(resUser.body.data.getUsers[0]).toEqual({ id: createdUserAuthorisedProject.id, - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: `${createdUserAuthorisedProject.username}_firstname`, lastname: `${createdUserAuthorisedProject.username}_lastname`, organisation: 'organisation_system', @@ -3453,7 +3283,7 @@ if (global.hasMinio) { const res = await admin.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -3469,13 +3299,13 @@ if (global.hasMinio) { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); // study data is NOT deleted for audit purposes - unless explicitly requested separately const roles = await db.collections.roles_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); const projects = await db.collections.projects_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const study = await db.collections.studies_collection.findOne({ id: createdStudy.id, deleted: null }); + const study = await db.collections.studies_collection.findOne({ 'id': createdStudy.id, 'life.deletedTime': null }); expect(roles).toEqual([]); expect(projects).toEqual([]); expect(study).toBe(null); @@ -3620,41 +3450,10 @@ if (global.hasMinio) { expect(res.status).toBe(200); expect(res.body.errors).toBeUndefined(); // check both data collection and file collection - const fileFirst = await db.collections.files_collection.findOne({ studyId: createdStudy.id, deleted: null }); - const dataFirst = await db.collections.data_collection.findOne({ m_studyId: createdStudy.id, m_visitId: '1', m_fieldId: '33' }); - expect(dataFirst?.metadata?.add[0]).toBe(fileFirst.id); - - // upload again and check whether the old file has been deleted - const resSecond = await authorisedUser.post('/graphql') - .field('operations', JSON.stringify({ - query: print(UPLOAD_DATA_IN_ARRAY), - variables: { - studyId: createdStudy.id, - data: [ - { - fieldId: '33', - subjectId: 'I7N3G6G', - visitId: '1', - file: null, - metadata: { - deviceId: 'MMM7N3G6G', - startDate: '1590966000000', - endDate: '1593730800000', - participantId: 'I7N3G6G', - postFix: 'test' - } - } - ] - } - })) - .field('map', JSON.stringify({ 1: ['variables.data.0.file'] })) - .attach('1', path.join(__dirname, '../filesForTests/I7N3G6G-MMM7N3G6G-20200704-20200721.txt')); - expect(resSecond.status).toBe(200); - expect(resSecond.body.errors).toBeUndefined(); - const fileSecond = await db.collections.files_collection.find({ studyId: createdStudy.id, deleted: null }).toArray(); - const dataSecond = await db.collections.data_collection.findOne({ m_studyId: createdStudy.id, m_visitId: '1', m_fieldId: '33' }); - expect(fileSecond).toHaveLength(2); - expect(dataSecond?.metadata?.add).toEqual([fileSecond[0].id, fileSecond[1].id]); + const fileFirst = await db.collections.files_collection.findOne({ 'studyId': createdStudy.id, 'life.deletedTime': null }); + const dataFirst = await db.collections.data_collection.findOne({ 'studyId': createdStudy.id, 'properties.m_visitId': '1', 'fieldId': '33' }); + expect(dataFirst?.value).toBe(fileFirst.id); + expect(dataFirst?.life.deletedTime).toBe(null); }); test('Create New data version with data only (user with study privilege)', async () => { @@ -3676,7 +3475,7 @@ if (global.hasMinio) { expect(studyInDb.dataVersions).toHaveLength(2); expect(studyInDb.dataVersions[1].version).toBe('1'); expect(studyInDb.dataVersions[1].tag).toBe('testTag'); - const dataInDb = await db.collections.data_collection.find({ m_studyId: createdStudy.id, m_versionId: createRes.body.data.createNewDataVersion.id }).toArray(); + const dataInDb = await db.collections.data_collection.find({ studyId: createdStudy.id, dataVersion: createRes.body.data.createNewDataVersion.id }).toArray(); expect(dataInDb).toHaveLength(6); }); @@ -3687,7 +3486,7 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldInput: { fieldId: '34', fieldName: 'Height', - dataType: enumValueType.DECIMAL, + dataType: 'dec', unit: 'cm' } } @@ -3717,7 +3516,7 @@ if (global.hasMinio) { studyId: createdStudy.id, fieldInput: { fieldId: '34', fieldName: 'Height', - dataType: enumValueType.DECIMAL, + dataType: 'dec', unit: 'cm' } } @@ -3746,7 +3545,7 @@ if (global.hasMinio) { expect(studyInDb.dataVersions).toHaveLength(2); expect(studyInDb.dataVersions[1].version).toBe('1'); expect(studyInDb.dataVersions[1].tag).toBe('testTag'); - const dataInDb = await db.collections.data_collection.find({ m_studyId: createdStudy.id, m_versionId: createRes.body.data.createNewDataVersion.id }).toArray(); + const dataInDb = await db.collections.data_collection.find({ studyId: createdStudy.id, dataVersion: createRes.body.data.createNewDataVersion.id }).toArray(); expect(dataInDb).toHaveLength(7); const fieldsInDb = await db.collections.field_dictionary_collection.find({ studyId: createdStudy.id, dataVersion: { $in: [createRes.body.data.createNewDataVersion.id, 'mockDataVersionId'] } }).toArray(); expect(fieldsInDb).toHaveLength(4); @@ -3851,7 +3650,6 @@ if (global.hasMinio) { { code: null, description: 'GR6R4AR-2-31', id: null, successful: true }, { code: null, description: 'GR6R4AR-2-32', id: null, successful: true } ]); - const deleteRes = await admin.post('/graphql').send({ query: print(DELETE_DATA_RECORDS), variables: { studyId: createdStudy.id } @@ -3875,8 +3673,8 @@ if (global.hasMinio) { { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-32 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-33 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-34 is deleted.' }]); - const dataInDb = await db.collections.data_collection.find({ 31: null }).sort({ uploadedAt: -1 }).toArray(); - expect(dataInDb).toHaveLength(16); // 2 visits * 2 subjects * 2 fields * 2 (delete or not) = 16 records + const dataInDb = await db.collections.data_collection.find({}).sort({ 'life.createdTime': -1 }).toArray(); + expect(dataInDb).toHaveLength(22); // 2 visits * 2 subjects * 2 fields * 2 (delete or not) + 6 (original records) = 22 records }); test('Delete data records: records not exist', async () => { @@ -3894,7 +3692,6 @@ if (global.hasMinio) { { code: null, description: 'GR6R4AR-2-31', id: null, successful: true }, { code: null, description: 'GR6R4AR-2-32', id: null, successful: true } ]); - const deleteRes = await admin.post('/graphql').send({ query: print(DELETE_DATA_RECORDS), variables: { studyId: createdStudy.id, subjectIds: ['I7N3G6G'], visitIds: ['1', '2'] } @@ -3910,8 +3707,8 @@ if (global.hasMinio) { { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-32 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-33 is deleted.' }, { successful: true, id: null, code: null, description: 'SubjectId-I7N3G6G:visitId-2:fieldId-34 is deleted.' }]); - const dataInDb = await db.collections.data_collection.find({ m_subjectId: 'I7N3G6G' }).sort({ uploadedAt: -1 }).toArray(); - expect(dataInDb).toHaveLength(8); // two data records, two deleted records + const dataInDb = await db.collections.data_collection.find({}).sort({ 'life.createdTime': -1 }).toArray(); + expect(dataInDb).toHaveLength(14); // 8 deleted records and 6 original records }); test('Get data records (user with study privilege)', async () => { @@ -4357,52 +4154,6 @@ if (global.hasMinio) { } }); }); - - test('Check data complete (admin)', async () => { - await admin.post('/graphql').send({ - query: print(UPLOAD_DATA_IN_ARRAY), - variables: { studyId: createdStudy.id, data: multipleRecords } - }); - // edit a field so that the datatype mismatched with the exisiting value - // this happens when a field is deleted first and then modified and added, while some data has been uploaded before deleting, causing conflicts - await db.collections.field_dictionary_collection.findOneAndUpdate({ - studyId: createdStudy.id, - fieldId: '32' - }, { - $set: { - dataType: enumValueType.DECIMAL - } - }); - - const checkRes = await admin.post('/graphql').send({ - query: print(CHECK_DATA_COMPLETE), - variables: { studyId: createdStudy.id } - }); - expect(checkRes.status).toBe(200); - expect(checkRes.body.errors).toBeUndefined(); - expect(checkRes.body.data.checkDataComplete.sort((a, b) => { - return a.subjectId === b.subjectId ? a.visitId.localeCompare(b.visitId) : a.subjectId.localeCompare(b.subjectId); - })).toEqual([ - { - subjectId: 'GR6R4AR', - visitId: '2', - fieldId: '32', - error: 'Field 32: Cannot parse as decimal.' - }, - { - subjectId: 'I7N3G6G', - visitId: '1', - fieldId: '32', - error: 'Field 32: Cannot parse as decimal.' - }, - { - subjectId: 'I7N3G6G', - visitId: '2', - fieldId: '32', - error: 'Field 32: Cannot parse as decimal.' - } - ]); - }); }); }); } else diff --git a/packages/itmat-interface/test/serverTests/users.test.ts b/packages/itmat-interface/test/GraphQLTests/users.test.ts similarity index 93% rename from packages/itmat-interface/test/serverTests/users.test.ts rename to packages/itmat-interface/test/GraphQLTests/users.test.ts index 99ff2bc3b..da5f1a1f8 100644 --- a/packages/itmat-interface/test/serverTests/users.test.ts +++ b/packages/itmat-interface/test/GraphQLTests/users.test.ts @@ -23,7 +23,7 @@ import { RESET_PASSWORD, LOGIN } from '@itmat-broker/itmat-models'; -import { IResetPasswordRequest, IUser, userTypes } from '@itmat-broker/itmat-types'; +import { IResetPasswordRequest, IUser, enumUserTypes } from '@itmat-broker/itmat-types'; import type { Express } from 'express'; let app: Express; @@ -473,7 +473,7 @@ describe('USERS API', () => { expect(whoami.body.data.whoAmI.id).toBeDefined(); expect(whoami.body.data.whoAmI).toEqual({ username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -489,7 +489,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); /* cleanup */ @@ -541,7 +541,7 @@ describe('USERS API', () => { expect(whoami.body.data.whoAmI.id).toBeDefined(); expect(whoami.body.data.whoAmI).toEqual({ username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -557,7 +557,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); /* test */ @@ -609,8 +609,8 @@ describe('USERS API', () => { const client_not_logged_in = request.agent(app); const res = await client_not_logged_in.post('/graphql').send({ query: print(WHO_AM_I) }); expect(res.status).toBe(200); - expect(res.body.errors).toBeUndefined(); - expect(res.body.data.whoAmI).toBe(null); + expect(res.body.errors).toHaveLength(1); + expect(res.body.errors[0].message).toBe(errorCodes.NOT_LOGGED_IN); }); test('Who am I (admin)', async () => { @@ -620,7 +620,7 @@ describe('USERS API', () => { adminId = res.body.data.whoAmI.id; expect(res.body.data.whoAmI).toEqual({ username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -636,7 +636,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); }); @@ -648,7 +648,7 @@ describe('USERS API', () => { userId = res.body.data.whoAmI.id; expect(res.body.data.whoAmI).toEqual({ username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -664,7 +664,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); }); @@ -672,7 +672,7 @@ describe('USERS API', () => { const userSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; const newUser: IUser = { username: 'expired_user', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Fexpired user', lastname: 'Lexpired user', password: '$2b$04$ps9ownz6PqJFD/LExsmgR.ZLk11zhtRdcpUwypWVfWJ4ZW6/Zzok2', @@ -717,7 +717,7 @@ describe('USERS API', () => { const adminSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; const newUser: IUser = { username: 'expired_admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fexpired admin', lastname: 'Lexpired admin', password: '$2b$04$ps9ownz6PqJFD/LExsmgR.ZLk11zhtRdcpUwypWVfWJ4ZW6/Zzok2', @@ -728,10 +728,15 @@ describe('USERS API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: 'expiredId1', - createdAt: 1591134065000, - expiredAt: 1501134065000 + expiredAt: 1591134065000, + life: { + createdTime: 1501134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const newloggedoutuser = request.agent(app); @@ -761,9 +766,9 @@ describe('USERS API', () => { }, emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, - createdAt: 1591134065000, - expiredAt: 1501134065000, - metadata: null + expiredAt: 1591134065000, + createdAt: 1501134065000, + metadata: {} }); expect(res.body.errors).toBeUndefined(); await admin.post('/graphql').send( @@ -794,7 +799,7 @@ describe('USERS API', () => { expect(res.body.data.getUsers).toEqual([ { username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -805,11 +810,11 @@ describe('USERS API', () => { id: adminId, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }, { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -820,7 +825,7 @@ describe('USERS API', () => { id: userId, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -831,7 +836,7 @@ describe('USERS API', () => { expect(res.body.data.getUsers).toEqual([ { username: 'admin', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -847,11 +852,11 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }, { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -867,7 +872,7 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -881,7 +886,7 @@ describe('USERS API', () => { null, { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -892,7 +897,7 @@ describe('USERS API', () => { id: userId, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -909,7 +914,7 @@ describe('USERS API', () => { null, { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -925,7 +930,7 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -936,14 +941,14 @@ describe('USERS API', () => { expect(res.body.error).toBeUndefined(); expect(res.body.data.getUsers).toEqual([ { - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', id: adminId }, { - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -958,14 +963,14 @@ describe('USERS API', () => { expect(res.body.error).toBeUndefined(); expect(res.body.data.getUsers).toEqual([ { - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', id: adminId }, { - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -981,7 +986,7 @@ describe('USERS API', () => { expect(res.body.data.getUsers).toEqual([ { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -997,7 +1002,7 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -1021,7 +1026,7 @@ describe('USERS API', () => { expect(res.body.errors).toBeUndefined(); expect(res.body.data.getUsers).toEqual([ { - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'Fadmin', lastname: 'Ladmin', organisation: 'organisation_system', @@ -1037,7 +1042,7 @@ describe('USERS API', () => { expect(res.body.data.getUsers).toEqual([ { username: 'standardUser', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'Tai Man', lastname: 'Chan', organisation: 'organisation_system', @@ -1053,7 +1058,7 @@ describe('USERS API', () => { }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ]); }); @@ -1064,7 +1069,7 @@ describe('USERS API', () => { expect(res.body.errors).toBeUndefined(); expect(res.body.data.getUsers).toEqual([ { - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, organisation: 'organisation_system', firstname: 'Tai Man', lastname: 'Chan', @@ -1093,7 +1098,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'user0email@email.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); @@ -1127,7 +1132,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'fake@email.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); @@ -1152,7 +1157,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'fak@e@semail.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); expect(res.status).toBe(200); @@ -1173,7 +1178,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'fake@email.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); expect(res.status).toBe(200); @@ -1186,7 +1191,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Siu Man', lastname: 'LChan Siu Man', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1216,7 +1221,7 @@ describe('USERS API', () => { organisation: 'DSI-ICL', emailNotificationsActivated: false, email: 'fake@email.io', - type: userTypes.STANDARD + type: enumUserTypes.STANDARD } }); expect(res.status).toBe(200); @@ -1229,7 +1234,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_333333', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Ming Ming', lastname: 'LChan Ming Ming', password: 'fakepassword', @@ -1272,7 +1277,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_3', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Ming Man', lastname: 'LChan Ming Man', password: 'fakepassword', @@ -1297,7 +1302,7 @@ describe('USERS API', () => { variables: { id: 'fakeid2222', username: 'fakeusername', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'FMan', lastname: 'LMan', email: 'hey@uk.io', @@ -1314,7 +1319,7 @@ describe('USERS API', () => { expect(res.body.data.editUser).toEqual( { username: 'fakeusername', - type: userTypes.ADMIN, + type: enumUserTypes.ADMIN, firstname: 'FMan', lastname: 'LMan', organisation: 'DSI-ICL', @@ -1330,7 +1335,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} } ); }); @@ -1339,7 +1344,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_4444', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man San', lastname: 'LMing Man San', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1350,10 +1355,15 @@ describe('USERS API', () => { emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: 'fakeid44444', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const createdUser = request.agent(app); @@ -1380,7 +1390,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_4', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man', lastname: 'LMing Man', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1394,7 +1404,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid4', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const createdUser = request.agent(app); @@ -1415,7 +1431,7 @@ describe('USERS API', () => { expect(res.body.errors).toBeUndefined(); expect(res.body.data.editUser).toEqual({ username: 'new_user_4', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man', lastname: 'LMing Man', organisation: 'organisation_system', @@ -1431,7 +1447,7 @@ describe('USERS API', () => { emailNotificationsStatus: { expiringNotification: false }, createdAt: 1591134065000, expiredAt: 1991134065000, - metadata: null + metadata: {} }); const modifieduser = await mongoClient.collection(config.database.collections.users_collection).findOne({ username: 'new_user_4' }); expect(modifieduser.password).not.toBe(newUser.password); @@ -1442,7 +1458,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_5', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man Chon', lastname: 'LMing Man Chon', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1456,7 +1472,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid5', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const createdUser = request.agent(app); @@ -1486,7 +1508,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_6', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man', lastname: 'LMing Man', password: '$2b$04$j0aSK.Dyq7Q9N.r6d0uIaOGrOe7sI4rGUn0JNcaXcPCv.49Otjwpi', @@ -1500,7 +1522,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid6', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); const createdUser = request.agent(app); @@ -1526,7 +1554,7 @@ describe('USERS API', () => { /* setup: getting the id of the created user from mongo */ const newUser: IUser = { username: 'new_user_7', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FMing Man Tai', lastname: 'LMing Man Tai', password: 'fakepassword', @@ -1540,7 +1568,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid7', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1564,7 +1598,7 @@ describe('USERS API', () => { /* setup: create a new user to be deleted */ const newUser: IUser = { username: 'new_user_8', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Mei', lastname: 'LChan Mei', password: 'fakepassword', @@ -1578,7 +1612,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid8', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1591,7 +1631,7 @@ describe('USERS API', () => { expect(getUserRes.body.data.getUsers).toEqual([{ firstname: 'FChan Mei', lastname: 'LChan Mei', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, organisation: 'organisation_system', id: newUser.id }]); @@ -1624,7 +1664,7 @@ describe('USERS API', () => { /* setup: create a "deleted" new user to be deleted */ const newUser: IUser = { username: 'new_user_9', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Mei Fong', lastname: 'LChan Mei Fong', password: 'fakepassword', @@ -1638,7 +1678,13 @@ describe('USERS API', () => { deleted: (new Date()).valueOf(), id: 'fakeid9', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1680,7 +1726,7 @@ describe('USERS API', () => { /* setup: create a new user to be deleted */ const newUser: IUser = { username: 'new_user_10', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, firstname: 'FChan Mei Yi', lastname: 'LChan Mei Yi', password: 'fakepassword', @@ -1694,7 +1740,13 @@ describe('USERS API', () => { deleted: null, id: 'fakeid10', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + } }; await mongoClient.collection(config.database.collections.users_collection).insertOne(newUser); @@ -1707,7 +1759,7 @@ describe('USERS API', () => { expect(getUserRes.body.data.getUsers).toEqual([{ firstname: 'FChan Mei Yi', lastname: 'LChan Mei Yi', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, organisation: 'organisation_system', id: newUser.id }]); @@ -1734,7 +1786,7 @@ describe('USERS API', () => { expect(getUserResAfter.body.data.getUsers).toEqual([{ firstname: 'FChan Mei Yi', lastname: 'LChan Mei Yi', - type: userTypes.STANDARD, + type: enumUserTypes.STANDARD, organisation: 'organisation_system', id: newUser.id }]); diff --git a/packages/itmat-interface/test/trpcTests/_loginHelper.ts b/packages/itmat-interface/test/trpcTests/_loginHelper.ts new file mode 100644 index 000000000..42ce22cbf --- /dev/null +++ b/packages/itmat-interface/test/trpcTests/_loginHelper.ts @@ -0,0 +1,42 @@ +import { generateTOTP } from '@itmat-broker/itmat-cores'; +import { SuperTest, Test } from 'supertest'; + +export async function connectAdmin(agent: SuperTest) { + const adminSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; + return connectAgent(agent, 'admin', 'admin', adminSecret); +} + +export async function connectUser(agent: SuperTest) { + const userSecret = 'H6BNKKO27DPLCATGEJAZNWQV4LWOTMRA'; + return connectAgent(agent, 'standardUser', 'admin', userSecret); +} + +export async function connectAgent(agent: SuperTest, user: string, pw: string, secret: string): Promise { + const otp = generateTOTP(secret).toString(); + try { + const res = await agent.post('/trpc/user.login') + .set('Content-type', 'application/json') + .send({ + username: user, + password: pw, + totp: otp + }); + if (res.status !== 200) { + throw new Error('Login failed'); + } + } catch (err) { + throw new Error('Login request failed'); + } +} + +export async function disconnectAgent(agent: SuperTest): Promise { + try { + const res = await agent.post('/trpc/user.logout'); + if (res.status !== 200) { + throw new Error('Logout failed'); + } + } catch (err) { + throw new Error('Logout request failed'); + } +} + diff --git a/packages/itmat-interface/test/trpcTests/helper.ts b/packages/itmat-interface/test/trpcTests/helper.ts new file mode 100644 index 000000000..3e8af6297 --- /dev/null +++ b/packages/itmat-interface/test/trpcTests/helper.ts @@ -0,0 +1,3 @@ +export function encodeQueryParams(s: unknown): string { + return encodeURIComponent(JSON.stringify(s)); +} diff --git a/packages/itmat-interface/test/trpcTests/user.test.ts b/packages/itmat-interface/test/trpcTests/user.test.ts new file mode 100644 index 000000000..f81a5f8b5 --- /dev/null +++ b/packages/itmat-interface/test/trpcTests/user.test.ts @@ -0,0 +1,485 @@ +/** + * @with Minio + */ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck +import { MongoMemoryServer } from 'mongodb-memory-server'; +import { db } from '../../src/database/database'; +import { Express } from 'express'; +import { objStore } from '../../src/objStore/objStore'; +import request from 'supertest'; +import { connectAdmin, connectUser } from './_loginHelper'; +import { Router } from '../../src/server/router'; +import { Db, MongoClient } from 'mongodb'; +import { setupDatabase } from '@itmat-broker/itmat-setup'; +import config from '../../config/config.sample.json'; +import { v4 as uuid } from 'uuid'; +import { IOrganisation, enumUserTypes } from '@itmat-broker/itmat-types'; +import { encodeQueryParams } from './helper'; +import { errorCodes } from '@itmat-broker/itmat-cores'; + +jest.mock('nodemailer', () => { + const { TEST_SMTP_CRED, TEST_SMTP_USERNAME } = process.env; + if (!TEST_SMTP_CRED || !TEST_SMTP_USERNAME || !config?.nodemailer?.auth?.pass || !config?.nodemailer?.auth?.user) + return { + createTransport: jest.fn().mockImplementation(() => ({ + sendMail: jest.fn() + })) + }; + return jest.requireActual('nodemailer'); +}); + +if (global.hasMinio) { + let app: Express; + let mongodb: MongoMemoryServer; + let admin: request.SuperTest; + let user: request.SuperTest; + let mongoConnection: MongoClient; + // eslint-disable-next-line @typescript-eslint/no-unused-vars + let mongoClient: Db; + let adminProfile; + let userProfile; + let organisation: IOrganisation; + + afterAll(async () => { + await db.closeConnection(); + await mongoConnection?.close(); + await mongodb.stop(); + + /* claer all mocks */ + jest.clearAllMocks(); + }); + + beforeAll(async () => { // eslint-disable-line no-undef + /* Creating a in-memory MongoDB instance for testing */ + const dbName = uuid(); + mongodb = await MongoMemoryServer.create({ instance: { dbName } }); + const connectionString = mongodb.getUri(); + await setupDatabase(connectionString, dbName); + /* Wiring up the backend server */ + config.objectStore.port = global.minioContainerPort; + config.database.mongo_url = connectionString; + config.database.database = dbName; + await db.connect(config.database, MongoClient); + await objStore.connect(config.objectStore); + const router = new Router(config); + await router.init(); + /* Connect mongo client (for test setup later / retrieve info later) */ + mongoConnection = await MongoClient.connect(connectionString); + mongoClient = mongoConnection.db(dbName); + + /* Connecting clients for testing later */ + app = router.getApp(); + admin = request.agent(app); + user = request.agent(app); + await connectAdmin(admin); + await connectUser(user); + + // add the root node for each user + const users = await db.collections.users_collection.find({}).toArray(); + adminProfile = users.filter(el => el.type === enumUserTypes.ADMIN)[0]; + userProfile = users.filter(el => el.type === enumUserTypes.STANDARD)[0]; + + // add an organisation + organisation = { + id: uuid(), + name: 'My Org', + shortname: '', + location: [], + profile: null, + metadata: { + }, + life: { + createdTime: 0, + createdUser: 'SYSTEMAGENT', + deletedUser: null, + deletedTime: null + } + }; + await db.collections.organisations_collection.insertOne(organisation); + }); + + afterEach(async () => { + await db.collections.studies_collection.deleteMany({}); + await db.collections.files_collection.deleteMany({}); + await db.collections.roles_collection.deleteMany({}); + await db.collections.field_dictionary_collection.deleteMany({}); + await db.collections.data_collection.deleteMany({}); + await db.collections.jobs_collection.deleteMany({}); + delete userProfile._id; + await db.collections.users_collection.findOneAndUpdate({ id: userProfile.id }, { + $set: userProfile + }); + await db.collections.users_collection.deleteMany({ id: { $nin: [userProfile.id, adminProfile.id] } }); + }); + + describe('tRPC User APIs', () => { + test('Create a user', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(200); + expect(response.body.result.data.username).toBe('test'); + const user = await db.collections.users_collection.findOne({ username: 'test' }); + expect(user).toBeDefined(); + expect(user.id).toBe(response.body.result.data.id); + }); + test('Create a user (invalid email format)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test', + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Email is not the right format.'); + }); + test('Create a user (invalid password format)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Password has to be at least 8 character long.'); + }); + test('Create a user (username have spaces)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'te st', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username or password cannot have spaces.'); + }); + test('Create a user (password have spaces)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_pa ssword', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username or password cannot have spaces.'); + }); + test('Create a user (username already registered)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: userProfile.username, + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username or email already exists.'); + }); + test('Create a user (email already registered)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: userProfile.email, + password: 'test_password', + description: '', + organisation: organisation.id + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username or email already exists.'); + }); + test('Create a user (organisation does not exist)', async () => { + const response = await admin.post('/trpc/user.createUser') + .send({ + username: 'test', + firstname: 'firstname', + lastname: 'lastname', + email: 'test@test.com', + password: 'test_password', + description: '', + organisation: 'random' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Organisation does not exist.'); + }); + test('Edit a user (admin)', async () => { + const response = await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description', + type: enumUserTypes.MANAGER + }); + expect(response.status).toBe(200); + expect(response.body.result.data.username).toBe('edit_username'); + const editedUser = await db.collections.users_collection.findOne({ id: userProfile.id }); + expect(editedUser?.username).toBe('edit_username'); + }); + test('Edit a user (user)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(200); + expect(response.body.result.data.username).toBe('edit_username'); + const editedUser = await db.collections.users_collection.findOne({ id: userProfile.id }); + expect(editedUser?.username).toBe('edit_username'); + }); + test('Edit a user (user edit others accounts)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: adminProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('User can only edit his/her own account.'); + }); + test('Edit a user (user edit unpermitted fields)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description', + type: enumUserTypes.ADMIN + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Standard user can not change their type, expiration time and organisation. Please contact admins for help.'); + }); + test('Edit a user (password not long enough)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Password has to be at least 8 character long.'); + }); + test('Edit a user (email not right format)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@', + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Email is not the right format.'); + }); + test('Edit a user (username already used)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: adminProfile.username, + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Username already used.'); + }); + test('Edit a user (email already used)', async () => { + const response = await user.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: adminProfile.email, + password: 'edit_password', + description: 'edit_description' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Email already used.'); + }); + test('Edit a user (organisation does not exist)', async () => { + const response = await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description', + organisation: 'random' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Organisation does not exist.'); + }); + test('Edit a user (old password)', async () => { + await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description' + }); + const response = await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + password: 'edit_password' + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('You need to select a new password.'); + }); + test('Edit a user (expired time is outdated)', async () => { + const response = await admin.post('/trpc/user.editUser') + .send({ + userId: userProfile.id, + username: 'edit_username', + firstname: 'edit_firstname', + lastname: 'edit_lastname', + email: 'edit_email@test.com', + password: 'edit_password', + description: 'edit_description', + expiredAt: Date.now() - 1000 + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('Cannot set to a previous time.'); + }); + test('Get a user by admin (through userId)', async () => { + const paramteres = { + userId: userProfile.id + }; + const response = await admin.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(200); + expect(response.body.result.data).toBeDefined(); + expect(response.body.result.data.username).toBe(userProfile.username); + }); + test('Get a user by user (through userId)', async () => { + const paramteres = { + userId: adminProfile.id + }; + const response = await user.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe(errorCodes.NO_PERMISSION_ERROR); + }); + test('Get a user (through username)', async () => { + const paramteres = { + username: userProfile.username + }; + const response = await user.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(200); + expect(response.body.result.data).toBeDefined(); + expect(response.body.result.data.username).toBe(userProfile.username); + }); + test('Get a user (through email)', async () => { + const paramteres = { + email: userProfile.email + }; + const response = await user.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(200); + expect(response.body.result.data).toBeDefined(); + expect(response.body.result.data.username).toBe(userProfile.username); + }); + test('Get a user by user (user does not exist)', async () => { + const paramteres = { + email: 'random' + }; + const response = await user.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe(errorCodes.NO_PERMISSION_ERROR); + }); + test('Get a user by admin (user does not exist)', async () => { + const paramteres = { + email: 'random' + }; + const response = await admin.get('/trpc/user.getUser?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe('User does not exist.'); + }); + test('Get all users (admin)', async () => { + const paramteres = { + }; + const response = await admin.get('/trpc/user.getUsers?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(200); + expect(response.body.result.data).toHaveLength(2); + }); + test('Get all users (user)', async () => { + const paramteres = { + }; + const response = await user.get('/trpc/user.getUsers?input=' + encodeQueryParams(paramteres)) + .query({ + }); + expect(response.status).toBe(400); + expect(response.body.error.message).toBe(errorCodes.NO_PERMISSION_ERROR); + }); + }); +} else { + test(`${__filename.split(/[\\/]/).pop()} skipped because it requires Minio on Docker`, () => { + expect(true).toBe(true); + }); +} \ No newline at end of file diff --git a/packages/itmat-job-executor/src/database/database.ts b/packages/itmat-job-executor/src/database/database.ts index 65fbbd5f0..40df0458d 100644 --- a/packages/itmat-job-executor/src/database/database.ts +++ b/packages/itmat-job-executor/src/database/database.ts @@ -1,4 +1,4 @@ -import type { IFile, IJobEntry, IProject, IQueryEntry, IDataEntry, IFieldEntry } from '@itmat-broker/itmat-types'; +import type { IFile, IJobEntry, IProject, IQueryEntry, IDataEntry, IField } from '@itmat-broker/itmat-types'; import { Database as DatabaseBase, IDatabaseBaseConfig } from '@itmat-broker/itmat-commons'; import type { Collection } from 'mongodb'; @@ -15,7 +15,7 @@ export interface IDatabaseConfig extends IDatabaseBaseConfig { export interface IDatabaseCollectionConfig { jobs_collection: Collection, - field_dictionary_collection: Collection, + field_dictionary_collection: Collection, files_collection: Collection, data_collection: Collection, queries_collection: Collection, diff --git a/packages/itmat-models/src/graphql/fields.ts b/packages/itmat-models/src/graphql/fields.ts index 1285ca626..374a0255f 100644 --- a/packages/itmat-models/src/graphql/fields.ts +++ b/packages/itmat-models/src/graphql/fields.ts @@ -14,7 +14,6 @@ export const FIELD_FRAGMENT = gql` code description } - metadata unit comments dateAdded diff --git a/packages/itmat-models/src/graphql/study.ts b/packages/itmat-models/src/graphql/study.ts index 160b03820..c01b9760b 100644 --- a/packages/itmat-models/src/graphql/study.ts +++ b/packages/itmat-models/src/graphql/study.ts @@ -120,7 +120,6 @@ export const EDIT_STUDY = gql` id name description - type } } `; diff --git a/packages/itmat-models/src/graphql/user.ts b/packages/itmat-models/src/graphql/user.ts index 7f8c023c4..4ea89c096 100644 --- a/packages/itmat-models/src/graphql/user.ts +++ b/packages/itmat-models/src/graphql/user.ts @@ -22,7 +22,6 @@ export const USER_FRAGMENT = gql` studies { id name - type } }, metadata, diff --git a/packages/itmat-setup/src/databaseSetup/collectionsAndIndexes.ts b/packages/itmat-setup/src/databaseSetup/collectionsAndIndexes.ts index eba685d33..3cbb02e41 100644 --- a/packages/itmat-setup/src/databaseSetup/collectionsAndIndexes.ts +++ b/packages/itmat-setup/src/databaseSetup/collectionsAndIndexes.ts @@ -13,15 +13,15 @@ const collections = { name: 'USER_COLLECTION', indexes: [ { key: { id: 1 }, unique: true }, - { key: { username: 1, deleted: 1 }, unique: true }, - { key: { email: 1, deleted: 1 }, unique: true } + { key: { 'username': 1, 'life.deletedTime': 1 }, unique: true }, + { key: { 'email': 1, 'life.deletedTime': 1 }, unique: true } ] }, studies_collection: { name: 'STUDY_COLLECTION', indexes: [ { key: { id: 1 }, unique: true }, - { key: { name: 1, deleted: 1 }, unique: true } + { key: { 'name': 1, 'life.deletedTime': 1 }, unique: true } ] }, projects_collection: { @@ -47,7 +47,7 @@ const collections = { name: 'DATA_COLLECTION', indexes: [ { key: { id: 1 }, unique: true }, - { key: { m_studyId: 1, m_versionId: 1, m_subjectId: 1, m_visitId: 1, m_fieldId: 1, uploadedAt: -1 }, unique: true } + { key: { 'studyId': 1, 'fieldId': 1, 'life.createdTime': 1, 'life.deletedTime': 1, 'properties': 1 }, unique: true } ] }, roles_collection: { @@ -94,6 +94,13 @@ const collections = { indexes: [ { key: { id: 1 }, unique: true } ] + }, + configs_collection: { + name: 'CONFIG_COLLECTION', + indexes: [ + { key: { id: 1 }, unique: true }, + { key: { type: 1, key: 1 }, unique: true } + ] } }; diff --git a/packages/itmat-setup/src/databaseSetup/seed/organisations.ts b/packages/itmat-setup/src/databaseSetup/seed/organisations.ts index 71562762c..2a103a83d 100644 --- a/packages/itmat-setup/src/databaseSetup/seed/organisations.ts +++ b/packages/itmat-setup/src/databaseSetup/seed/organisations.ts @@ -2,15 +2,26 @@ export const seedOrganisations = [{ id: 'organisation_system', name: 'System', shortname: 'Sys', - containOrg: '', - deleted: null + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: { + siteIDMarker: 'I' + } }, { id: 'organisation_user', name: 'user', shortname: 'Use', - containOrg: '', - metadata: { - siteIDMarker: 'I' + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null }, - deleted: null + metadata: { + siteIDMarker: 'Z' + } }]; diff --git a/packages/itmat-setup/src/databaseSetup/seed/users.ts b/packages/itmat-setup/src/databaseSetup/seed/users.ts index 25f7d5b13..f3f1286fa 100644 --- a/packages/itmat-setup/src/databaseSetup/seed/users.ts +++ b/packages/itmat-setup/src/databaseSetup/seed/users.ts @@ -11,10 +11,15 @@ export const seedUsers = [{ description: 'I am an admin user.', emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, - deleted: null, id: 'replaced_at_runtime2', - createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }, { username: 'standardUser', @@ -29,8 +34,14 @@ export const seedUsers = [{ emailNotificationsActivated: true, emailNotificationsStatus: { expiringNotification: false }, organisation: 'organisation_system', - deleted: null, id: 'replaced_at_runtime1', createdAt: 1591134065000, - expiredAt: 1991134065000 + expiredAt: 1991134065000, + life: { + createdTime: 1591134065000, + createdUser: 'admin', + deletedTime: null, + deletedUser: null + }, + metadata: {} }]; diff --git a/packages/itmat-types/src/types/base.ts b/packages/itmat-types/src/types/base.ts new file mode 100644 index 000000000..8351692f9 --- /dev/null +++ b/packages/itmat-types/src/types/base.ts @@ -0,0 +1,12 @@ +export interface ILifeCircle { + createdTime: number; + createdUser: string; + deletedTime: number | null; + deletedUser: string | null; +} + +export interface IBase { + id: string; + life: ILifeCircle; + metadata: Record; +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/config.ts b/packages/itmat-types/src/types/config.ts new file mode 100644 index 000000000..e7919869f --- /dev/null +++ b/packages/itmat-types/src/types/config.ts @@ -0,0 +1,212 @@ +import { IBase, ILifeCircle } from './base'; +import { v4 as uuid } from 'uuid'; +import { enumReservedUsers } from './user'; + +export interface IConfig extends IBase { + type: enumConfigType; + key: string | null; // studyid for study; userid for user; null for system + properties: ISystemConfig | IStudyConfig | IUserConfig | IDocConfig | ICacheConfig | IDomainConfig; +} + +export enum enumConfigType { + SYSTEMCONFIG = 'SYSTEMCONFIG', + STUDYCONFIG = 'STUDYCONFIG', + USERCONFIG = 'USERCONFIG', + FILECONFIG = 'FILECONFIG', + ORGANISATIONCONFIG = 'ORGANISATIONCONFIG', + DOCCONFIG = 'DOCCONFIG', + CACHECONFIG = 'CACHECONFIG', + DOMAINCONFIG = 'DOMAINCONFIG' +} + +export interface ISystemConfig extends IBase { + defaultBackgroundColor: string; // hex code + defaultMaximumFileSize: number; + defaultFileBucketId: string; + defaultProfileBucketId: string; + logoLink: string | null; // TODO: fetch file from database; + logoSize: string[]; // width * height + archiveAddress: string; + defaultEventTimeConsumptionBar: number[]; + defaultUserExpireDays: number; +} + +export interface IStudyConfig extends IBase { + defaultStudyProfile: string | null; + defaultMaximumFileSize: number; + defaultRepresentationForMissingValue: string; + defaultFileColumns: Array<{ title: string, type: string }>; + defaultFileColumnsPropertyColor: string | null; + defaultFileDirectoryStructure: { + pathLabels: string[], + description: string | null + }, + defaultVersioningKeys: string[]; // data clips with same values of such keys will be considered as the same values with different versions +} + +export interface IUserConfig extends IBase { + defaultUserExpiredDays: number + defaultMaximumFileSize: number; + defaultMaximumFileRepoSize: number; + defaultMaximumRepoSize: number; + defaultFileBucketId: string; + defaultMaximumQPS: number; + + // LXD containers + defaultLXDMaximumContainers: number; + defaultLXDMaximumContainerCPUCores: number; + defaultLXDMaximumContainerDiskSize: number; + defaultLXDMaximumContainerMemory: number; + defaultLXDMaximumContainerLife: number; +} + +export interface IOrganisationConfig extends IBase { + defaultFileBucketId: string; +} + +export interface ICacheConfig extends IBase { + defaultFileBucketId: string; + defaultMaximumFileSize: number; +} + +export interface IDocConfig extends IBase { + defaultFileBucketId: string; + defaultMaximumFileSize: number; +} + +export interface IDomainConfig extends IBase { + defaultFileBucketId: string +} +export interface IDefaultSettings extends IBase { + systemConfig: ISystemConfig; + studyConfig: IStudyConfig; + userConfig: IUserConfig; + docConfig: IDocConfig; +} + +// default settings +export class DefaultSettings implements IDefaultSettings { + public readonly id: string = uuid(); + public readonly life: ILifeCircle = { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }; + public readonly metadata: Record = {}; + + public readonly systemConfig: ISystemConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultBackgroundColor: '#FFFFFF', + defaultMaximumFileSize: 1 * 1024 * 1024 * 1024, // 1 GB + defaultFileBucketId: 'system', + defaultProfileBucketId: 'profile', + logoLink: null, + logoSize: ['24px', '24px'], + archiveAddress: '', + defaultEventTimeConsumptionBar: [50, 100], + defaultUserExpireDays: 90 + }; + + public readonly studyConfig: IStudyConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultStudyProfile: null, + defaultMaximumFileSize: 8 * 1024 * 1024 * 1024, // 8 GB, + defaultRepresentationForMissingValue: '99999', + defaultFileColumns: [], + defaultFileColumnsPropertyColor: 'black', + defaultFileDirectoryStructure: { + pathLabels: [], + description: null + }, + defaultVersioningKeys: [] + }; + + public readonly userConfig: IUserConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultUserExpiredDays: 90, + defaultMaximumFileSize: 100 * 1024 * 1024, // 100 MB + defaultMaximumFileRepoSize: 500 * 1024 * 1024, // 500 MB + defaultMaximumRepoSize: 10 * 1024 * 1024 * 1024, // 10GB + defaultFileBucketId: 'user', + defaultMaximumQPS: 500, + defaultLXDMaximumContainers: 2, + defaultLXDMaximumContainerCPUCores: 2, + defaultLXDMaximumContainerDiskSize: 50 * 1024 * 1024 * 1024, + defaultLXDMaximumContainerMemory: 8 * 1024 * 1024 * 1024, + defaultLXDMaximumContainerLife: 8 * 60 * 60 + }; + + public readonly docConfig: IDocConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultFileBucketId: 'doc', + defaultMaximumFileSize: 100 * 1024 * 1024 // 100 MB + }; + + public readonly organisationConfig: IOrganisationConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultFileBucketId: 'organisation' + }; + + public readonly cacheConfig: ICacheConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultFileBucketId: 'cache', + defaultMaximumFileSize: 100 * 1024 * 1024 // 100 MB + }; + + public readonly domainConfig: IDomainConfig = { + id: uuid(), + life: { + createdTime: Date.now(), + createdUser: enumReservedUsers.SYSTEM, + deletedTime: null, + deletedUser: null + }, + metadata: {}, + defaultFileBucketId: 'domain' + }; +} + +export const defaultSettings = Object.freeze(new DefaultSettings()); diff --git a/packages/itmat-types/src/types/coreErrors.ts b/packages/itmat-types/src/types/coreErrors.ts new file mode 100644 index 000000000..b08c552ce --- /dev/null +++ b/packages/itmat-types/src/types/coreErrors.ts @@ -0,0 +1,42 @@ +import { TRPCError } from '@trpc/server'; +import { TRPC_ERROR_CODE_KEY } from '@trpc/server/dist/rpc'; +export enum enumCoreErrors { + DATABASE_ERROR = 'DATABASE_ERROR', + NOT_LOGGED_IN = 'NOT_LOGGED_IN', + CLIENT_MALFORMED_INPUT = 'CLIENT_MALFORMED_INPUT', + CLIENT_ACTION_ON_NON_EXISTENT_ENTRY = 'CLIENT_ACTION_ON_NON_EXISTENT_ENTRY', + AUTHENTICATION_ERROR = 'AUTHENTICATION_ERROR', + NO_PERMISSION_ERROR = 'NO_PERMISSION_ERROR', + FILE_STREAM_ERROR = 'FILE_STREAM_ERROR', + OBJ_STORE_ERROR = 'OBJ_STORE_ERROR', + UNQUALIFIED_ERROR = 'UNQUALIFIED_ERROR' +} + +export enum enumRequestErrorCodes { + BAD_REQUEST = 'BAD_REQUEST', + UNAUTHORIZED = 'UNAUTHORIZED', + FORBIDDEN = 'FORBIDDEN', + NOT_FOUND = 'NOT_FOUND', + TIMEOUT = 'TIMEOUT', + CONFLICT = 'CONFLICT', + PRECONDITION_FAILED = 'PRECONDITION_FAILED', + PAYLOAD_TOO_LARGE = 'PAYLOAD_TOO_LARGE', + METHOD_NOT_SUPPORTED = 'METHOD_NOT_SUPPORTED', + UNPROCESSABLE_CONTENT = 'UNPROCESSABLE_CONTENT', + TOO_MANY_REQUESTS = 'TOO_MANY_REQUESTS', + CLIENT_CLOSED_REQUEST = 'CLIENT_CLOSED_REQUEST', + INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR' +} + +/** + * This is to keep the consitency of the GraphQL error codes and tRPC error codes. + * If possible, merge it in future. + */ +export class CoreError extends TRPCError { + errorCode: enumCoreErrors; + constructor(errorCode: enumCoreErrors, message: string, httpErrorCode: TRPC_ERROR_CODE_KEY = 'BAD_REQUEST') { + super({ message: message, code: httpErrorCode }); + this.errorCode = errorCode; + Object.setPrototypeOf(this, new.target.prototype); + } +} diff --git a/packages/itmat-types/src/types/data.ts b/packages/itmat-types/src/types/data.ts index 1e0ed7127..8acbce300 100644 --- a/packages/itmat-types/src/types/data.ts +++ b/packages/itmat-types/src/types/data.ts @@ -1,3 +1,5 @@ +import { IBase } from './base'; + export interface IDataEntry { id: string; m_studyId: string; @@ -15,6 +17,14 @@ export interface IDataEntry { uploadedAt: number; } +export interface IData extends IBase { + studyId: string; + fieldId: string; + dataVersion: string | null; + value: unknown; + properties: Record; +} + export interface IGroupedData { [key: string]: { [key: string]: { diff --git a/packages/itmat-types/src/types/field.ts b/packages/itmat-types/src/types/field.ts index 5e4733816..252c5e163 100644 --- a/packages/itmat-types/src/types/field.ts +++ b/packages/itmat-types/src/types/field.ts @@ -1,37 +1,39 @@ -export interface IFieldEntry { - id: string; +import { IBase } from './base'; +import { IValueVerifier } from './utils'; + +export interface IField extends IBase { studyId: string; - fieldId: string; fieldName: string; - tableName?: string; - dataType: enumValueType; - possibleValues?: IValueDescription[] | null; + fieldId: string; + description?: string; + dataType: enumDataTypes; + categoricalOptions?: ICategoricalOption[]; unit?: string; comments?: string; - metadata?: Record; - dateAdded: number; - dateDeleted: number | null; dataVersion: string | null; + verifier?: IValueVerifier[][]; + properties?: IFieldProperty[]; // mostly used for file data } -export interface IValueDescription { - id: string; - code: string; - description: string +export interface IFieldProperty { + name: string; + verifier: IValueVerifier[][] | null; + description: string | null; + required: boolean; } -export enum enumItemType { - IMAGE = 'I', - CLINICAL = 'C' +export enum enumDataTypes { + INTEGER = 'INTEGER', + DECIMAL = 'DECIMAL', + STRING = 'STRING', + BOOLEAN = 'BOOLEAN', + DATETIME = 'DATETIME', + FILE = 'FILE', + JSON = 'JSON', + CATEGORICAL = 'CATEGORICAL' } -export enum enumValueType { - INTEGER = 'int', - DECIMAL = 'dec', - STRING = 'str', - BOOLEAN = 'bool', - DATETIME = 'date', - FILE = 'file', - JSON = 'json', - CATEGORICAL = 'cat' +export interface ICategoricalOption extends IBase { + code: string; + description: string; } diff --git a/packages/itmat-types/src/types/file.ts b/packages/itmat-types/src/types/file.ts index fad6ac3eb..cc18292c3 100644 --- a/packages/itmat-types/src/types/file.ts +++ b/packages/itmat-types/src/types/file.ts @@ -1,14 +1,53 @@ -export interface IFile { - id: string; +import { Readable } from 'stream'; +import { IBase } from './base'; + +export interface IFile extends IBase { + studyId: string | null; // null for system and user file + userId: string | null; // null for system and study file fileName: string; - studyId: string; - projectId?: string; - fileSize?: string; - description: string; - uploadTime: string; - uploadedBy: string; // userId + fileSize: number; + description?: string; + properties: Record; uri: string; - deleted: number | null; hash: string; - metadata: Record + fileType: enumFileTypes; + fileCategory: enumFileCategories; + sharedUsers?: string[]; } + + + +export enum enumFileTypes { + CSV = 'CSV', + ZIP = 'ZIP', + RAR = 'RAR', + UNKNOWN = 'UNKNOWN', + MARKDOWN = 'MARKDOWN', + TXT = 'TXT', + JSON = 'JSON', + PDF = 'PDF', + DOCX = 'DOCX', + // images + JPG = 'JPG', + JPEG = 'JPEG', + PNG = 'PNG', + WEBP = 'WEBP', + // videos + MP4 = 'MP4', + AVI = 'AVI' +} + +export enum enumFileCategories { + STUDY_DATA_FILE = 'STUDY_DATA_FILE', + USER_DRIVE_FILE = 'USER_REPO_FILE', + DOC_FILE = 'DOC_FILE', + CACHE = 'CACHE', + PROFILE_FILE = 'DOMAIN_PROFILE_FILE' +} + +export interface FileUpload { + createReadStream: () => Readable; + filename: string; + mimetype: string; + encoding: string; +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/index.ts b/packages/itmat-types/src/types/index.ts index 8319c3fd8..1c5e1dd1e 100644 --- a/packages/itmat-types/src/types/index.ts +++ b/packages/itmat-types/src/types/index.ts @@ -10,6 +10,11 @@ import * as Pubkey from './pubkey'; import * as Data from './data'; import * as Standardization from './standardization'; import * as Common from './common'; +import * as Base from './base'; +import * as CoreErrors from './coreErrors'; +import * as Config from './config'; +import * as ZodSchema from './zod'; +import * as Utils from './utils'; export * from './field'; export * from './file'; @@ -23,4 +28,10 @@ export * from './pubkey'; export * from './data'; export * from './standardization'; export * from './common'; -export const Types = { File, Job, Log, User, Organisation, Pubkey, Study, Query, Field, Data, Standardization, Common }; +export * from './base'; +export * from './coreErrors'; +export * from './config'; +export * from './zod'; +export * from './utils'; + +export const Types = { File, Job, Log, User, Organisation, Pubkey, Study, Query, Field, Data, Standardization, Common, Base, CoreErrors, Config, ZodSchema, Utils }; diff --git a/packages/itmat-types/src/types/log.ts b/packages/itmat-types/src/types/log.ts index 74e5ea3a8..04949267b 100644 --- a/packages/itmat-types/src/types/log.ts +++ b/packages/itmat-types/src/types/log.ts @@ -1,9 +1,9 @@ -import { userTypes } from './user'; +import { enumUserTypes } from './user'; export interface ILogEntry { id: string, requesterName: string, - requesterType: userTypes, + requesterType: enumUserTypes, userAgent: USER_AGENT, logType: LOG_TYPE, actionType: LOG_ACTION, diff --git a/packages/itmat-types/src/types/organisation.ts b/packages/itmat-types/src/types/organisation.ts index a89d63c11..c2f833abe 100644 --- a/packages/itmat-types/src/types/organisation.ts +++ b/packages/itmat-types/src/types/organisation.ts @@ -1,12 +1,7 @@ -export type OrganisationMetadata = { - siteIDMarker?: string; -} +import { IBase } from './base'; -export interface IOrganisation { - id: string; +export interface IOrganisation extends IBase { name: string; - shortname: string | null; - containOrg: string | null; - deleted: number | null; - metadata: OrganisationMetadata; -} + shortname?: string; + profile?: string; +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/pubkey.ts b/packages/itmat-types/src/types/pubkey.ts index 77f6bf1ad..2d44adecc 100644 --- a/packages/itmat-types/src/types/pubkey.ts +++ b/packages/itmat-types/src/types/pubkey.ts @@ -1,11 +1,11 @@ -export interface IPubkey { - id: string; +import { IBase } from './base'; + +export interface IPubkey extends IBase { pubkey: string; jwtPubkey: string; jwtSeckey: string; refreshCounter: number; associatedUserId: string | null; - deleted: number | null; } export type AccessToken = { diff --git a/packages/itmat-types/src/types/study.ts b/packages/itmat-types/src/types/study.ts index d6fda4611..b0fc0f3a2 100644 --- a/packages/itmat-types/src/types/study.ts +++ b/packages/itmat-types/src/types/study.ts @@ -1,3 +1,4 @@ +import { IBase } from './base'; import { IUser } from './user'; import { FileUpload } from 'graphql-upload-minimal'; @@ -7,26 +8,19 @@ export enum studyType { ANY = 'ANY' } -export interface IStudy { - id: string; +export interface IStudy extends IBase { name: string; - createdBy: string; - lastModified: number; - deleted: number | null; currentDataVersion: number; // index; dataVersions[currentDataVersion] gives current version; // -1 if no data dataVersions: IStudyDataVersion[]; - description: string; + description?: string; + profile?: string; ontologyTrees?: IOntologyTree[]; - type: studyType; - metadata: Record } -export interface IStudyDataVersion { - id: string; // uuid - contentId: string; // same contentId = same data +export interface IStudyDataVersion extends IBase { + id: string; version: string; tag?: string; - updateDate: string; } export enum atomicOperation { diff --git a/packages/itmat-types/src/types/user.ts b/packages/itmat-types/src/types/user.ts index 2812c71d0..7832b224e 100644 --- a/packages/itmat-types/src/types/user.ts +++ b/packages/itmat-types/src/types/user.ts @@ -1,28 +1,31 @@ -export enum userTypes { +import { IBase } from './base'; + +export enum enumUserTypes { ADMIN = 'ADMIN', STANDARD = 'STANDARD', + SYSTEM = 'SYSTEM', + OBSERVER = 'OBSERVER' +} + +export enum enumReservedUsers { SYSTEM = 'SYSTEM' } -export interface IUserWithoutToken { - id: string; +export interface IUserWithoutToken extends IBase { username: string; email: string; firstname: string; lastname: string; organisation: string; - type: userTypes; - description: string; + type: enumUserTypes; emailNotificationsActivated: boolean; - emailNotificationsStatus: { expiringNotification: boolean } | null; - deleted: number | null; - createdAt: number; - expiredAt: number; - resetPasswordRequests: IResetPasswordRequest[]; - metadata?: { - logPermission: boolean; - [key: string]: unknown + emailNotificationsStatus: { + expiringNotification: boolean }; + resetPasswordRequests: IResetPasswordRequest[]; + profile?: string; + expiredAt: number; + description?: string; } export interface IResetPasswordRequest { diff --git a/packages/itmat-types/src/types/utils.ts b/packages/itmat-types/src/types/utils.ts new file mode 100644 index 000000000..0c033ab42 --- /dev/null +++ b/packages/itmat-types/src/types/utils.ts @@ -0,0 +1,47 @@ +// Value verifier +export interface IValueVerifier { + formula: IAST; + condition: enumConditionOps; + value: string | number; + parameters: Record; +} + +export enum enumConditionOps { + NUMERICALEQUAL = 'numerical:=', + NUMERICALNOTEQUAL = 'numerical:!=', + NUMERICALLESSTHAN = 'numerical:<', + NUMERICALGREATERTHAN = 'numerical:>', + NUMERICALNOTLESSTHAN = 'numerical:>=', + NUMERICALNOTGREATERTHAN = 'numerical:<=', + STRINGREGEXMATCH = 'string:=regex=', + STRINGEQUAL = 'string:=', + GENERALISNULL = 'general:=null', + GENERALISNOTNULL = 'general:!=null' +} + +export interface IAST { + type: enumASTNodeTypes; + operator: enumMathOps | null, + value: string | number | null; + parameters: Record; + children: IAST[] | null; // null for lead node; OPERATION type should not be a lead node. +} + +export enum enumASTNodeTypes { + OPERATION = 'OPERATION', + VARIABLE = 'VARIABLE', + SELF = 'SELF', // the input value + VALUE = 'VALUE', + MAP = 'MAP' +} + +export enum enumMathOps { + NUMERICALADD = 'numerical:+', + NUMERICALMINUS = 'numerical:-', + NUMERICALMULTIPLY = 'numerical:*', + NUMERICALDIVIDE = 'numerical:/', + NUMERICALPOW = 'numerical:^', + STRINGCONCAT = 'string:+', + STRINGSUBSTR = 'string:substr', + TYPECONVERSION = 'string:=>' +} \ No newline at end of file diff --git a/packages/itmat-types/src/types/zod.ts b/packages/itmat-types/src/types/zod.ts new file mode 100644 index 000000000..315b251e1 --- /dev/null +++ b/packages/itmat-types/src/types/zod.ts @@ -0,0 +1,9 @@ +import { Readable } from 'stream'; +import { z } from 'zod'; + +export const FileUploadSchema = z.object({ + createReadStream: z.function().returns(z.instanceof(Readable)), + filename: z.string(), + mimetype: z.string(), + encoding: z.string() +}); \ No newline at end of file diff --git a/packages/itmat-ui-react/proxy.conf.js b/packages/itmat-ui-react/proxy.conf.js index c6a27f8a0..7caae434f 100644 --- a/packages/itmat-ui-react/proxy.conf.js +++ b/packages/itmat-ui-react/proxy.conf.js @@ -6,6 +6,11 @@ module.exports = { secure: false, changeOrigin: true }, + '/trpc': { + target: API_SERVER, + secure: false, + changeOrigin: true + }, '/file': { target: API_SERVER, secure: false, diff --git a/packages/itmat-ui-react/src/components/datasetDetail/index.tsx b/packages/itmat-ui-react/src/components/datasetDetail/index.tsx index c4ed9ba6f..9ac887f9d 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/index.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Route, Routes, useParams, Navigate } from 'react-router-dom'; import { GET_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IJobEntry, IProject, IStudy, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IJobEntry, IProject, IStudy, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; import css from './projectPage.module.css'; import { DashboardTabContent, DataManagementTabContentFetch, ProjectsTabContent, AdminTabContent, FieldManagementTabContentFetch } from './tabContent'; @@ -31,7 +31,7 @@ export const DatasetDetailPage: FunctionComponent = () => { if (loading) return ; if (error) return

{error.toString()}

; if (!sessionData) { return null; } - if (sessionData.whoAmI.type === userTypes.ADMIN) { + if (sessionData.whoAmI.type === enumUserTypes.ADMIN) { return ( <> isActive ? css.active : undefined}>DASHBOARD diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx index 81a62ff1d..b601cc674 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx @@ -18,7 +18,7 @@ export const DataSummaryVisual: FunctionComponent<{ studyId: string; selectedVer - +
; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx index b21beb450..71d4c3708 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { generateCascader } from '../../../../utils/tools'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; import { Query } from '@apollo/client/react/components'; import { GET_STUDY, GET_STUDY_FIELDS, GET_DATA_RECORDS, CREATE_NEW_DATA_VERSION, SET_DATAVERSION_AS_CURRENT, WHO_AM_I, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { userTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; +import { enumUserTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; import { DataSummaryVisual } from './dataSummary'; @@ -154,7 +154,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => {
- {whoAmIData.whoAmI.type === userTypes.ADMIN ? + {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ?

- query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> + query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> {({ data, loading, error }) => { if (loading) { return ; } if (error) { return

{JSON.stringify(error)}

; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx index 8c36c2f5d..19d64f777 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx @@ -7,7 +7,7 @@ import { Query } from '@apollo/client/react/components'; import { useApolloClient, useMutation, useQuery } from '@apollo/client/react/hooks'; import { useDropzone } from 'react-dropzone'; import { GET_STUDY, UPLOAD_FILE, GET_ORGANISATIONS, GET_USERS, EDIT_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IFile, userTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; +import { IFile, enumUserTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; import { FileList, formatBytes } from '../../../reusable/fileList/fileList'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -332,30 +332,30 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const studyLevelFiles: IFile[] = []; const subjectLevelFiles: IFile[] = []; for (const file of files) { - if (Object.keys(JSON.parse(file.description)).length !== 0) { + if (file.description && Object.keys(JSON.parse(file.description)).length !== 0) { if (file !== null && file !== undefined && (!searchTerm || (JSON.parse(file.description).participantId).toUpperCase().indexOf(searchTerm) > -1 || sites[JSON.parse(file.description).participantId[0]].toUpperCase().indexOf(searchTerm) > -1 || JSON.parse(file.description).deviceId.toUpperCase().indexOf(searchTerm) > -1 || deviceTypes[JSON.parse(file.description).deviceId.substr(0, 3)].toUpperCase().indexOf(searchTerm) > -1 - || (!userIdNameMapping[file.uploadedBy] || userIdNameMapping[file.uploadedBy].toUpperCase().indexOf(searchTerm) > -1))) { + || (!userIdNameMapping[file.life.createdTime] || userIdNameMapping[file.life.createdTime].toUpperCase().indexOf(searchTerm) > -1))) { subjectLevelFiles.push(file); } } else { studyLevelFiles.push(file); } } - subjectLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); - studyLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); + subjectLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); + studyLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); return [subjectLevelFiles, studyLevelFiles]; } const sortedFiles = dataSourceFilter(getStudyData.getStudy.files); const numberOfFiles = sortedFiles[0].length; - const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (parseInt(b.fileSize || '0') || 0), 0); + const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (b.fileSize || 0), 0); const participantOfFiles = sortedFiles[0].reduce(function (values, v) { - if (!values.set[JSON.parse(v['description'])['participantId']]) { + if (v.description && !values.set[JSON.parse(v['description'])['participantId']]) { values.set[JSON.parse(v['description'])['participantId']] = 1; values.count++; } @@ -365,8 +365,8 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const fileSummary: { site: string, total: number }[] = []; const categoryColumns: ColumnProps<{ site: string, total: number }>[] = []; if (sortedFiles[0].length > 0) { - const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).participantId[0]).sort())); - const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).deviceId.substr(0, 3)).sort())); + const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').participantId[0]).sort())); + const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3)).sort())); categoryColumns.push( { title: 'Site', @@ -395,10 +395,10 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = total: 0 }; for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description).participantId[0] === site - && JSON.parse(el.description).deviceId.substr(0, 3) === deviceType)).length; + tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description ?? '').participantId[0] === site + && JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType)).length; } - tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description).participantId[0] === site).length; + tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').participantId[0] === site).length; fileSummary.push(tmpData); } const tmpData = { @@ -406,7 +406,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = total: sortedFiles[0].length }; for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description).deviceId.substr(0, 3) === deviceType).length; + tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType).length; } fileSummary.push(tmpData); } @@ -445,7 +445,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> =
:
diff --git a/packages/itmat-ui-react/src/components/log/logList.tsx b/packages/itmat-ui-react/src/components/log/logList.tsx index c05bb4a6f..c2f052fa2 100644 --- a/packages/itmat-ui-react/src/components/log/logList.tsx +++ b/packages/itmat-ui-react/src/components/log/logList.tsx @@ -1,6 +1,6 @@ import { FunctionComponent, useState } from 'react'; import { GET_LOGS } from '@itmat-broker/itmat-models'; -import { userTypes, LOG_ACTION, LOG_TYPE, LOG_STATUS, USER_AGENT, ILogEntry } from '@itmat-broker/itmat-types'; +import { enumUserTypes, LOG_ACTION, LOG_TYPE, LOG_STATUS, USER_AGENT, ILogEntry } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../reusable/loadSpinner'; import { Table, Input, Button, Checkbox, Descriptions, DatePicker, Modal, Row, Col } from 'antd'; @@ -39,7 +39,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { const [searchTerm, setSearchTerm] = useState(''); const initInputs: { requesterName: string, - requesterType: userTypes[], + requesterType: enumUserTypes[], userAgent: string[], logType: LOG_TYPE[], actionType: LOG_ACTION[], @@ -247,7 +247,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { - + diff --git a/packages/itmat-ui-react/src/components/profile/profile.tsx b/packages/itmat-ui-react/src/components/profile/profile.tsx index 53551269d..248cedf51 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.tsx +++ b/packages/itmat-ui-react/src/components/profile/profile.tsx @@ -140,7 +140,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce {(submit, { loading, error }) =>
org.id === user.organisation)?.name }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> diff --git a/packages/itmat-ui-react/src/components/projectDetail/index.tsx b/packages/itmat-ui-react/src/components/projectDetail/index.tsx index 0ede8430e..e705fb23f 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/index.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Navigate, Route, Routes, useParams } from 'react-router-dom'; import { GET_PROJECT, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; import css_dataset from '../datasetDetail/projectPage.module.css'; import { AdminTabContent, DashboardTabContent, DataTabContent } from './tabContent'; @@ -19,7 +19,7 @@ export const ProjectDetailPage: FunctionComponent = () => { return ( query={GET_PROJECT} - variables={{ projectId, admin: whoamidata.whoAmI.type === userTypes.ADMIN }} + variables={{ projectId, admin: whoamidata.whoAmI.type === enumUserTypes.ADMIN }} > {({ loading, error, data }) => { if (loading) { return ; } @@ -34,7 +34,7 @@ export const ProjectDetailPage: FunctionComponent = () => { if (loading) return ; if (error) return

{error.toString()}

; if (!sessionData) { return null; } - if (sessionData.whoAmI.type === userTypes.ADMIN) { + if (sessionData.whoAmI.type === enumUserTypes.ADMIN) { return
isActive ? css_dataset.active : undefined}>
DASHBOARD
{/* isActive ? className={({ isActive }) => isActive ? css.active : undefined}>
SAMPLE
*/} diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx index cc4377368..7504cdf9f 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx @@ -3,7 +3,7 @@ import { statisticsTypes, analysisTemplate, options, dataTypeMapping } from '../ import { get_t_test, get_z_test, mannwhitneyu, findDmField, generateCascader } from '../../../../utils/tools'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; +import { IField, IProject, enumDataTypes, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { SubsectionWithComment } from '../../../reusable/subsection/subsection'; import css from './tabContent.module.css'; @@ -97,7 +97,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu
); }; -const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IFieldEntry[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { +const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IField[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { const [isModalOn, setIsModalOn] = useState(false); const [isTemplateModalOn, setIsTemplateModalOn] = useState(false); const [templateType, setTemplateType] = useState('NA'); @@ -315,8 +315,8 @@ const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispa
); }; -const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFieldEntry[], data }> = ({ project, fields, data }) => { +const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IField[], data }> = ({ project, fields, data }) => { const [statisticsType, setStatisticsType] = useState('ttest'); const [signifianceLevel, setSignigicanceLevel] = useState(undefined); if (data.length === 0) { @@ -505,7 +505,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel }, { key: 'Table Name', - value: thisField.tableName || 'NA' + value: thisField.metadata['tableName'] || 'NA' }, { key: 'Data Type', value: dataTypeMapping[thisField.dataType] || 'NA' @@ -544,7 +544,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel key: 'graph', render: (__unused__value, record) => { const fieldDef = fields.filter(el => el.fieldId === record.field)[0]; - if ([enumValueType.DECIMAL, enumValueType.INTEGER].includes(fieldDef.dataType)) { + if ([enumDataTypes.DECIMAL, enumDataTypes.INTEGER].includes(fieldDef.dataType)) { return (
); - } else if ([enumValueType.BOOLEAN, enumValueType.CATEGORICAL].includes(fieldDef.dataType)) { + } else if ([enumDataTypes.BOOLEAN, enumDataTypes.CATEGORICAL].includes(fieldDef.dataType)) { return (
); }; -function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPathOptions) { +function variableFilterColumns(guideTool, fields: IField[], remove, fieldPathOptions) { return [ { title: 'Field', @@ -807,7 +807,7 @@ function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPa ]; } -function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { +function filterTableColumns(guideTool, fields: IField[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { if (filtersTool[0].groups.length === 0) { return []; } @@ -839,7 +839,7 @@ function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersT render: (__unused__value, record) => { return
{ - record.race.map(el => {raceField?.possibleValues?.filter(ed => ed.code === el.toString())[0].description}) + record.race.map(el => {raceField?.categoricalOptions?.filter(ed => ed.code === el.toString())[0].description}) }
; } @@ -855,7 +855,7 @@ function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersT render: (__unused__value, record) => { return
{ - record.genderID.map(el => {genderField?.possibleValues?.filter(ed => ed.code === el.toString())[0].description}) + record.genderID.map(el => {genderField?.categoricalOptions?.filter(ed => ed.code === el.toString())[0].description}) }
; } @@ -1009,7 +1009,7 @@ function formInitialValues(form, filters, index: number) { } // // we sent the union of the filters as the filters in the request body -function combineFilters(fields: IFieldEntry[], filters: Filter, dmFields) { +function combineFilters(fields: IField[], filters: Filter, dmFields) { const queryString: Partial & { format?: string, subjects_requested?: string[] | null, cohort?: ICohortSelection[][] } = {}; queryString.data_requested = Array.from(new Set((filters.groups.map(el => el.filters).flat().map(es => es.field).concat(filters.comparedFields) .concat(dmFields.filter(el => (el !== undefined && el !== null)).map(el => el.fieldId))))); @@ -1063,11 +1063,11 @@ function divideResults(filters, results, fields, dmFields) { siteID: dmFields[3] }; filters.comparedFields.forEach(el => { - const fieldDef: IFieldEntry = fields.filter(ek => ek.fieldId === el)[0]; - if (![enumValueType.DECIMAL, enumValueType.INTEGER, enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { + const fieldDef: IField = fields.filter(ek => ek.fieldId === el)[0]; + if (![enumDataTypes.DECIMAL, enumDataTypes.INTEGER, enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fieldDef.dataType)) { return; } - if (fieldDef.tableName === 'Participants') { + if (fieldDef['tableName'] === 'Participants') { return; } const dataClip: { @@ -1171,7 +1171,7 @@ function divideResults(filters, results, fields, dmFields) { } }); // construct data for visualization - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fieldDef.dataType)) { + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { dataClip.data[curr].forEach(el => { typeof el === 'number' && acc.push({ @@ -1182,10 +1182,10 @@ function divideResults(filters, results, fields, dmFields) { return acc; }, [] as { x: string, y: number }[]); dataClip.dataForGraph = dataForGraph; - } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { + } else if ([enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { - if (fieldDef.possibleValues) { - fieldDef.possibleValues.forEach(ek => { + if (fieldDef.categoricalOptions) { + fieldDef.categoricalOptions.forEach(ek => { acc.push({ x: curr, y: dataClip.data[curr].filter(es => String(es) === ek.code.toString()).length, diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx index f2ef10d54..a66d57cba 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { filterFields, generateCascader, findDmField } from '../../../../utils/t import { dataTypeMapping } from '../utils/defaultParameters'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; +import { IField, IProject, enumDataTypes, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -123,7 +123,7 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology
-
{project.dataVersion?.updateDate === undefined ? 'NA' : (new Date(parseFloat(project.dataVersion?.updateDate))).toUTCString()}
+
{project.dataVersion?.life.createdTime === undefined ? 'NA' : (new Date(project.dataVersion?.life.createdTime)).toUTCString()}

: @@ -178,7 +178,7 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology
-
{project.dataVersion?.updateDate === undefined ? 'NA' : (new Date(parseFloat(project.dataVersion?.updateDate))).toDateString()}
+
{project.dataVersion?.life.createdTime === undefined ? 'NA' : (new Date(project.dataVersion?.life.createdTime)).toDateString()}
@@ -191,7 +191,7 @@ interface IDemographicsReport { value: number; } -export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IFieldEntry[] }> = ({ ontologyTree, studyId, projectId, fields }) => { +export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IField[] }> = ({ ontologyTree, studyId, projectId, fields }) => { const [width, __unused__height__] = useWindowSize(); // process the data const genderField = findDmField(ontologyTree, fields, 'SEX'); @@ -240,7 +240,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, obj.AGE = []; } else { obj.SEX = (data[genderField.fieldId][genderField.visitRange[0]]?.data || []).reduce((acc, curr) => { - const thisGender = genderField?.possibleValues?.filter(el => el.code === curr)[0].description || ''; + const thisGender = genderField?.categoricalOptions?.filter(el => el.code === curr)[0].description || ''; if (acc.filter(es => es.type === thisGender).length === 0) { acc.push({ type: thisGender, value: 0 }); } @@ -274,7 +274,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, obj.RACE = []; } else { obj.RACE = (data[raceField.fieldId][raceField.visitRange[0]]?.data || []).reduce((acc, curr) => { - const thisRace = raceField?.possibleValues?.filter(el => el.code === curr)[0].description || ''; + const thisRace = raceField?.categoricalOptions?.filter(el => el.code === curr)[0].description || ''; if (acc.filter(es => es.type === thisRace).length === 0) { acc.push({ type: thisRace, value: 0 }); } @@ -429,13 +429,13 @@ interface GroupedData { } } -export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IFieldEntry[], project: IProject }> = ({ ontologyTree, fields, project }) => { +export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IField[], project: IProject }> = ({ ontologyTree, fields, project }) => { const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const [selectedGraphType, setSelectedGraphType] = useState(undefined); const routes: IOntologyRoute[] = ontologyTree.routes?.filter(es => { return JSON.stringify([...es.path, es.name]) === JSON.stringify(selectedPath); }) || []; - const field: IFieldEntry | undefined = fields.filter(el => { + const field: IField | undefined = fields.filter(el => { return el.fieldId.toString() === routes[0]?.field[0]?.replace('$', ''); })[0]; //construct the cascader @@ -502,7 +502,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }} > { - [enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === field?.fieldId)[0]?.dataType) ? + [enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === field?.fieldId)[0]?.dataType) ? <> @@ -588,7 +588,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT return ; } let processedData: Array<{ x: string, y: number } | { visit: string, value: string, count: number }> = []; - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { if (el === '99999') { @@ -598,7 +598,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }); return acc; }, [] as { x: string, y: number }[]); - } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { + } else if ([enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { let count = 0; data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { @@ -640,7 +640,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT high: sortedY[sortedY.length - 1] }; }); - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) return selectedGraphType === 'violin' ? ); }; -export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IFieldEntry[] }> = ({ studyId, projectId, ontologyTree, fields }) => { +export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IField[] }> = ({ studyId, projectId, ontologyTree, fields }) => { const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const requestedFields = ontologyTree.routes?.filter(el => { if (JSON.stringify(el.path) === JSON.stringify(selectedPath)) { @@ -756,7 +756,7 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project showTitle: false, fields: ['visit', 'field', 'percentage'], formatter: (datum) => { - const field: IFieldEntry | undefined = fields.filter(el => el.fieldId === datum.field)[0]; + const field: IField | undefined = fields.filter(el => el.fieldId === datum.field)[0]; let name; if (field) { name = field.fieldId.concat('-').concat(field.fieldName); diff --git a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx index e3364959b..591f53339 100644 --- a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx @@ -1,8 +1,8 @@ import { FunctionComponent } from 'react'; -import { enumValueType, IFieldEntry } from '@itmat-broker/itmat-types'; +import { enumDataTypes, IField } from '@itmat-broker/itmat-types'; import { Table, Tooltip } from 'antd'; -export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IFieldEntry[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { +export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IField[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { const possibleValuesColumns = [ { title: 'Code', @@ -54,10 +54,10 @@ export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedL dataIndex: 'dataType', key: 'dataType', render: (__unused__value, record) => { - if (record.dataType === enumValueType.CATEGORICAL) { + if (record.dataType === enumDataTypes.CATEGORICAL) { return }> {record.dataType} diff --git a/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx b/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx index fcda13f85..dbabbe4d6 100644 --- a/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx @@ -2,7 +2,7 @@ import { FunctionComponent, useState } from 'react'; import { useMutation, useQuery } from '@apollo/client/react/hooks'; import { Table, Button, notification, Tooltip } from 'antd'; import { DELETE_FILE, WHO_AM_I, GET_ORGANISATIONS, GET_USERS } from '@itmat-broker/itmat-models'; -import { IFile, userTypes } from '@itmat-broker/itmat-types'; +import { IFile, enumUserTypes } from '@itmat-broker/itmat-types'; import { DeleteOutlined, CloudDownloadOutlined, SwapRightOutlined, NumberOutlined } from '@ant-design/icons'; import { ApolloError } from '@apollo/client/errors'; import dayjs from 'dayjs'; @@ -186,7 +186,7 @@ export const FileList: FunctionComponent<{ files: IFile[], searchTerm: string | width: '10rem', key: 'download' }] - .concat(!loadingWhoAmI && dataWhoAmI?.whoAmI?.type === userTypes.ADMIN ? [ + .concat(!loadingWhoAmI && dataWhoAmI?.whoAmI?.type === enumUserTypes.ADMIN ? [ { render: (__unused__value, record) => (
- {whoAmIData.whoAmI.type === userTypes.ADMIN ? + {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ?
isActive ? css.clickedButton : undefined}>
Users
: null } - {(whoAmIData.whoAmI.type === userTypes.ADMIN || whoAmIData.whoAmI.metadata?.logPermission) ? + {(whoAmIData.whoAmI.type === enumUserTypes.ADMIN || whoAmIData.whoAmI.metadata?.logPermission) ?
isActive ? css.clickedButton : undefined}>
Logs
@@ -69,14 +69,14 @@ export const MainMenuBar: FunctionComponent = ({ projects }) = isActive ? css.clickedButton : undefined}>
{ - (whoAmIData.whoAmI.type !== userTypes.ADMIN && dayjs().add(2, 'week').valueOf() - dayjs(whoAmIData.whoAmI.expiredAt).valueOf() > 0) ? + (whoAmIData.whoAmI.type !== enumUserTypes.ADMIN && dayjs().add(2, 'week').valueOf() - dayjs(whoAmIData.whoAmI.expiredAt).valueOf() > 0) ? <> My Account : <> My Account }
- {(whoAmIData.whoAmI.type === userTypes.ADMIN || whoAmIData.whoAmI.metadata?.aePermission === true) + {(whoAmIData.whoAmI.type === enumUserTypes.ADMIN || whoAmIData.whoAmI.metadata?.aePermission === true) ?
isActive ? css.clickedButton : undefined}>
Analytical Environment
diff --git a/packages/itmat-ui-react/src/components/users/userDetails.tsx b/packages/itmat-ui-react/src/components/users/userDetails.tsx index c9fe463e4..43af1fde3 100644 --- a/packages/itmat-ui-react/src/components/users/userDetails.tsx +++ b/packages/itmat-ui-react/src/components/users/userDetails.tsx @@ -1,7 +1,7 @@ import { FunctionComponent, useState } from 'react'; import { Mutation } from '@apollo/client/react/components'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; -import { IGenericResponse, IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IGenericResponse, IOrganisation, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import { WHO_AM_I, DELETE_USER, EDIT_USER, GET_USERS, REQUEST_USERNAME_OR_RESET_PASSWORD, GET_ORGANISATIONS, GET_STUDY } from '@itmat-broker/itmat-models'; import { Subsection } from '../reusable'; import LoadSpinner from '../reusable/loadSpinner'; @@ -98,7 +98,7 @@ export const UserDetailsSection: FunctionComponent = () => { type EditUser = IUserWithoutToken & { organisation: string, - type: userTypes, + type: enumUserTypes, metadata: { [key: string]: unknown, aePermission: boolean, @@ -152,7 +152,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce org.id === user.organisation)?.id }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> @@ -218,7 +218,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce - {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === userTypes.ADMIN + {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === enumUserTypes.ADMIN ? <>    
; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx index b21beb450..71d4c3708 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { generateCascader } from '../../../../utils/tools'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; import { Query } from '@apollo/client/react/components'; import { GET_STUDY, GET_STUDY_FIELDS, GET_DATA_RECORDS, CREATE_NEW_DATA_VERSION, SET_DATAVERSION_AS_CURRENT, WHO_AM_I, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { userTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; +import { enumUserTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; import { DataSummaryVisual } from './dataSummary'; @@ -154,7 +154,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => {
- {whoAmIData.whoAmI.type === userTypes.ADMIN ? + {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ?

- query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> + query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> {({ data, loading, error }) => { if (loading) { return ; } if (error) { return

{JSON.stringify(error)}

; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx index 8c36c2f5d..19d64f777 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx @@ -7,7 +7,7 @@ import { Query } from '@apollo/client/react/components'; import { useApolloClient, useMutation, useQuery } from '@apollo/client/react/hooks'; import { useDropzone } from 'react-dropzone'; import { GET_STUDY, UPLOAD_FILE, GET_ORGANISATIONS, GET_USERS, EDIT_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IFile, userTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; +import { IFile, enumUserTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; import { FileList, formatBytes } from '../../../reusable/fileList/fileList'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -332,30 +332,30 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const studyLevelFiles: IFile[] = []; const subjectLevelFiles: IFile[] = []; for (const file of files) { - if (Object.keys(JSON.parse(file.description)).length !== 0) { + if (file.description && Object.keys(JSON.parse(file.description)).length !== 0) { if (file !== null && file !== undefined && (!searchTerm || (JSON.parse(file.description).participantId).toUpperCase().indexOf(searchTerm) > -1 || sites[JSON.parse(file.description).participantId[0]].toUpperCase().indexOf(searchTerm) > -1 || JSON.parse(file.description).deviceId.toUpperCase().indexOf(searchTerm) > -1 || deviceTypes[JSON.parse(file.description).deviceId.substr(0, 3)].toUpperCase().indexOf(searchTerm) > -1 - || (!userIdNameMapping[file.uploadedBy] || userIdNameMapping[file.uploadedBy].toUpperCase().indexOf(searchTerm) > -1))) { + || (!userIdNameMapping[file.life.createdTime] || userIdNameMapping[file.life.createdTime].toUpperCase().indexOf(searchTerm) > -1))) { subjectLevelFiles.push(file); } } else { studyLevelFiles.push(file); } } - subjectLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); - studyLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); + subjectLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); + studyLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); return [subjectLevelFiles, studyLevelFiles]; } const sortedFiles = dataSourceFilter(getStudyData.getStudy.files); const numberOfFiles = sortedFiles[0].length; - const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (parseInt(b.fileSize || '0') || 0), 0); + const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (b.fileSize || 0), 0); const participantOfFiles = sortedFiles[0].reduce(function (values, v) { - if (!values.set[JSON.parse(v['description'])['participantId']]) { + if (v.description && !values.set[JSON.parse(v['description'])['participantId']]) { values.set[JSON.parse(v['description'])['participantId']] = 1; values.count++; } @@ -365,8 +365,8 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const fileSummary: { site: string, total: number }[] = []; const categoryColumns: ColumnProps<{ site: string, total: number }>[] = []; if (sortedFiles[0].length > 0) { - const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).participantId[0]).sort())); - const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).deviceId.substr(0, 3)).sort())); + const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').participantId[0]).sort())); + const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3)).sort())); categoryColumns.push( { title: 'Site', @@ -395,10 +395,10 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = total: 0 }; for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description).participantId[0] === site - && JSON.parse(el.description).deviceId.substr(0, 3) === deviceType)).length; + tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description ?? '').participantId[0] === site + && JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType)).length; } - tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description).participantId[0] === site).length; + tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').participantId[0] === site).length; fileSummary.push(tmpData); } const tmpData = { @@ -406,7 +406,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = total: sortedFiles[0].length }; for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description).deviceId.substr(0, 3) === deviceType).length; + tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType).length; } fileSummary.push(tmpData); } @@ -445,7 +445,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> =
:
diff --git a/packages/itmat-ui-react/src/components/log/logList.tsx b/packages/itmat-ui-react/src/components/log/logList.tsx index c05bb4a6f..c2f052fa2 100644 --- a/packages/itmat-ui-react/src/components/log/logList.tsx +++ b/packages/itmat-ui-react/src/components/log/logList.tsx @@ -1,6 +1,6 @@ import { FunctionComponent, useState } from 'react'; import { GET_LOGS } from '@itmat-broker/itmat-models'; -import { userTypes, LOG_ACTION, LOG_TYPE, LOG_STATUS, USER_AGENT, ILogEntry } from '@itmat-broker/itmat-types'; +import { enumUserTypes, LOG_ACTION, LOG_TYPE, LOG_STATUS, USER_AGENT, ILogEntry } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../reusable/loadSpinner'; import { Table, Input, Button, Checkbox, Descriptions, DatePicker, Modal, Row, Col } from 'antd'; @@ -39,7 +39,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { const [searchTerm, setSearchTerm] = useState(''); const initInputs: { requesterName: string, - requesterType: userTypes[], + requesterType: enumUserTypes[], userAgent: string[], logType: LOG_TYPE[], actionType: LOG_ACTION[], @@ -247,7 +247,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { - + diff --git a/packages/itmat-ui-react/src/components/profile/profile.tsx b/packages/itmat-ui-react/src/components/profile/profile.tsx index 53551269d..248cedf51 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.tsx +++ b/packages/itmat-ui-react/src/components/profile/profile.tsx @@ -140,7 +140,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce {(submit, { loading, error }) => org.id === user.organisation)?.name }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> diff --git a/packages/itmat-ui-react/src/components/projectDetail/index.tsx b/packages/itmat-ui-react/src/components/projectDetail/index.tsx index 0ede8430e..e705fb23f 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/index.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Navigate, Route, Routes, useParams } from 'react-router-dom'; import { GET_PROJECT, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; import css_dataset from '../datasetDetail/projectPage.module.css'; import { AdminTabContent, DashboardTabContent, DataTabContent } from './tabContent'; @@ -19,7 +19,7 @@ export const ProjectDetailPage: FunctionComponent = () => { return ( query={GET_PROJECT} - variables={{ projectId, admin: whoamidata.whoAmI.type === userTypes.ADMIN }} + variables={{ projectId, admin: whoamidata.whoAmI.type === enumUserTypes.ADMIN }} > {({ loading, error, data }) => { if (loading) { return ; } @@ -34,7 +34,7 @@ export const ProjectDetailPage: FunctionComponent = () => { if (loading) return ; if (error) return

{error.toString()}

; if (!sessionData) { return null; } - if (sessionData.whoAmI.type === userTypes.ADMIN) { + if (sessionData.whoAmI.type === enumUserTypes.ADMIN) { return
isActive ? css_dataset.active : undefined}>
DASHBOARD
{/* isActive ? className={({ isActive }) => isActive ? css.active : undefined}>
SAMPLE
*/} diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx index cc4377368..7504cdf9f 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx @@ -3,7 +3,7 @@ import { statisticsTypes, analysisTemplate, options, dataTypeMapping } from '../ import { get_t_test, get_z_test, mannwhitneyu, findDmField, generateCascader } from '../../../../utils/tools'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; +import { IField, IProject, enumDataTypes, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { SubsectionWithComment } from '../../../reusable/subsection/subsection'; import css from './tabContent.module.css'; @@ -97,7 +97,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu
); }; -const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IFieldEntry[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { +const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IField[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { const [isModalOn, setIsModalOn] = useState(false); const [isTemplateModalOn, setIsTemplateModalOn] = useState(false); const [templateType, setTemplateType] = useState('NA'); @@ -315,8 +315,8 @@ const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispa
); }; -const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFieldEntry[], data }> = ({ project, fields, data }) => { +const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IField[], data }> = ({ project, fields, data }) => { const [statisticsType, setStatisticsType] = useState('ttest'); const [signifianceLevel, setSignigicanceLevel] = useState(undefined); if (data.length === 0) { @@ -505,7 +505,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel }, { key: 'Table Name', - value: thisField.tableName || 'NA' + value: thisField.metadata['tableName'] || 'NA' }, { key: 'Data Type', value: dataTypeMapping[thisField.dataType] || 'NA' @@ -544,7 +544,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel key: 'graph', render: (__unused__value, record) => { const fieldDef = fields.filter(el => el.fieldId === record.field)[0]; - if ([enumValueType.DECIMAL, enumValueType.INTEGER].includes(fieldDef.dataType)) { + if ([enumDataTypes.DECIMAL, enumDataTypes.INTEGER].includes(fieldDef.dataType)) { return (
); - } else if ([enumValueType.BOOLEAN, enumValueType.CATEGORICAL].includes(fieldDef.dataType)) { + } else if ([enumDataTypes.BOOLEAN, enumDataTypes.CATEGORICAL].includes(fieldDef.dataType)) { return (
); }; -function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPathOptions) { +function variableFilterColumns(guideTool, fields: IField[], remove, fieldPathOptions) { return [ { title: 'Field', @@ -807,7 +807,7 @@ function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPa ]; } -function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { +function filterTableColumns(guideTool, fields: IField[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { if (filtersTool[0].groups.length === 0) { return []; } @@ -839,7 +839,7 @@ function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersT render: (__unused__value, record) => { return
{ - record.race.map(el => {raceField?.possibleValues?.filter(ed => ed.code === el.toString())[0].description}) + record.race.map(el => {raceField?.categoricalOptions?.filter(ed => ed.code === el.toString())[0].description}) }
; } @@ -855,7 +855,7 @@ function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersT render: (__unused__value, record) => { return
{ - record.genderID.map(el => {genderField?.possibleValues?.filter(ed => ed.code === el.toString())[0].description}) + record.genderID.map(el => {genderField?.categoricalOptions?.filter(ed => ed.code === el.toString())[0].description}) }
; } @@ -1009,7 +1009,7 @@ function formInitialValues(form, filters, index: number) { } // // we sent the union of the filters as the filters in the request body -function combineFilters(fields: IFieldEntry[], filters: Filter, dmFields) { +function combineFilters(fields: IField[], filters: Filter, dmFields) { const queryString: Partial & { format?: string, subjects_requested?: string[] | null, cohort?: ICohortSelection[][] } = {}; queryString.data_requested = Array.from(new Set((filters.groups.map(el => el.filters).flat().map(es => es.field).concat(filters.comparedFields) .concat(dmFields.filter(el => (el !== undefined && el !== null)).map(el => el.fieldId))))); @@ -1063,11 +1063,11 @@ function divideResults(filters, results, fields, dmFields) { siteID: dmFields[3] }; filters.comparedFields.forEach(el => { - const fieldDef: IFieldEntry = fields.filter(ek => ek.fieldId === el)[0]; - if (![enumValueType.DECIMAL, enumValueType.INTEGER, enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { + const fieldDef: IField = fields.filter(ek => ek.fieldId === el)[0]; + if (![enumDataTypes.DECIMAL, enumDataTypes.INTEGER, enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fieldDef.dataType)) { return; } - if (fieldDef.tableName === 'Participants') { + if (fieldDef['tableName'] === 'Participants') { return; } const dataClip: { @@ -1171,7 +1171,7 @@ function divideResults(filters, results, fields, dmFields) { } }); // construct data for visualization - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fieldDef.dataType)) { + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { dataClip.data[curr].forEach(el => { typeof el === 'number' && acc.push({ @@ -1182,10 +1182,10 @@ function divideResults(filters, results, fields, dmFields) { return acc; }, [] as { x: string, y: number }[]); dataClip.dataForGraph = dataForGraph; - } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { + } else if ([enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { - if (fieldDef.possibleValues) { - fieldDef.possibleValues.forEach(ek => { + if (fieldDef.categoricalOptions) { + fieldDef.categoricalOptions.forEach(ek => { acc.push({ x: curr, y: dataClip.data[curr].filter(es => String(es) === ek.code.toString()).length, diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx index f2ef10d54..a66d57cba 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { filterFields, generateCascader, findDmField } from '../../../../utils/t import { dataTypeMapping } from '../utils/defaultParameters'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; +import { IField, IProject, enumDataTypes, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -123,7 +123,7 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology
-
{project.dataVersion?.updateDate === undefined ? 'NA' : (new Date(parseFloat(project.dataVersion?.updateDate))).toUTCString()}
+
{project.dataVersion?.life.createdTime === undefined ? 'NA' : (new Date(project.dataVersion?.life.createdTime)).toUTCString()}

: @@ -178,7 +178,7 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology
-
{project.dataVersion?.updateDate === undefined ? 'NA' : (new Date(parseFloat(project.dataVersion?.updateDate))).toDateString()}
+
{project.dataVersion?.life.createdTime === undefined ? 'NA' : (new Date(project.dataVersion?.life.createdTime)).toDateString()}
@@ -191,7 +191,7 @@ interface IDemographicsReport { value: number; } -export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IFieldEntry[] }> = ({ ontologyTree, studyId, projectId, fields }) => { +export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IField[] }> = ({ ontologyTree, studyId, projectId, fields }) => { const [width, __unused__height__] = useWindowSize(); // process the data const genderField = findDmField(ontologyTree, fields, 'SEX'); @@ -240,7 +240,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, obj.AGE = []; } else { obj.SEX = (data[genderField.fieldId][genderField.visitRange[0]]?.data || []).reduce((acc, curr) => { - const thisGender = genderField?.possibleValues?.filter(el => el.code === curr)[0].description || ''; + const thisGender = genderField?.categoricalOptions?.filter(el => el.code === curr)[0].description || ''; if (acc.filter(es => es.type === thisGender).length === 0) { acc.push({ type: thisGender, value: 0 }); } @@ -274,7 +274,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, obj.RACE = []; } else { obj.RACE = (data[raceField.fieldId][raceField.visitRange[0]]?.data || []).reduce((acc, curr) => { - const thisRace = raceField?.possibleValues?.filter(el => el.code === curr)[0].description || ''; + const thisRace = raceField?.categoricalOptions?.filter(el => el.code === curr)[0].description || ''; if (acc.filter(es => es.type === thisRace).length === 0) { acc.push({ type: thisRace, value: 0 }); } @@ -429,13 +429,13 @@ interface GroupedData { } } -export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IFieldEntry[], project: IProject }> = ({ ontologyTree, fields, project }) => { +export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IField[], project: IProject }> = ({ ontologyTree, fields, project }) => { const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const [selectedGraphType, setSelectedGraphType] = useState(undefined); const routes: IOntologyRoute[] = ontologyTree.routes?.filter(es => { return JSON.stringify([...es.path, es.name]) === JSON.stringify(selectedPath); }) || []; - const field: IFieldEntry | undefined = fields.filter(el => { + const field: IField | undefined = fields.filter(el => { return el.fieldId.toString() === routes[0]?.field[0]?.replace('$', ''); })[0]; //construct the cascader @@ -502,7 +502,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }} > { - [enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === field?.fieldId)[0]?.dataType) ? + [enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === field?.fieldId)[0]?.dataType) ? <> @@ -588,7 +588,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT return ; } let processedData: Array<{ x: string, y: number } | { visit: string, value: string, count: number }> = []; - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { if (el === '99999') { @@ -598,7 +598,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }); return acc; }, [] as { x: string, y: number }[]); - } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { + } else if ([enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { let count = 0; data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { @@ -640,7 +640,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT high: sortedY[sortedY.length - 1] }; }); - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) return selectedGraphType === 'violin' ? ); }; -export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IFieldEntry[] }> = ({ studyId, projectId, ontologyTree, fields }) => { +export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IField[] }> = ({ studyId, projectId, ontologyTree, fields }) => { const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const requestedFields = ontologyTree.routes?.filter(el => { if (JSON.stringify(el.path) === JSON.stringify(selectedPath)) { @@ -756,7 +756,7 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project showTitle: false, fields: ['visit', 'field', 'percentage'], formatter: (datum) => { - const field: IFieldEntry | undefined = fields.filter(el => el.fieldId === datum.field)[0]; + const field: IField | undefined = fields.filter(el => el.fieldId === datum.field)[0]; let name; if (field) { name = field.fieldId.concat('-').concat(field.fieldName); diff --git a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx index e3364959b..591f53339 100644 --- a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx @@ -1,8 +1,8 @@ import { FunctionComponent } from 'react'; -import { enumValueType, IFieldEntry } from '@itmat-broker/itmat-types'; +import { enumDataTypes, IField } from '@itmat-broker/itmat-types'; import { Table, Tooltip } from 'antd'; -export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IFieldEntry[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { +export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IField[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { const possibleValuesColumns = [ { title: 'Code', @@ -54,10 +54,10 @@ export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedL dataIndex: 'dataType', key: 'dataType', render: (__unused__value, record) => { - if (record.dataType === enumValueType.CATEGORICAL) { + if (record.dataType === enumDataTypes.CATEGORICAL) { return }> {record.dataType} diff --git a/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx b/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx index fcda13f85..dbabbe4d6 100644 --- a/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx @@ -2,7 +2,7 @@ import { FunctionComponent, useState } from 'react'; import { useMutation, useQuery } from '@apollo/client/react/hooks'; import { Table, Button, notification, Tooltip } from 'antd'; import { DELETE_FILE, WHO_AM_I, GET_ORGANISATIONS, GET_USERS } from '@itmat-broker/itmat-models'; -import { IFile, userTypes } from '@itmat-broker/itmat-types'; +import { IFile, enumUserTypes } from '@itmat-broker/itmat-types'; import { DeleteOutlined, CloudDownloadOutlined, SwapRightOutlined, NumberOutlined } from '@ant-design/icons'; import { ApolloError } from '@apollo/client/errors'; import dayjs from 'dayjs'; @@ -186,7 +186,7 @@ export const FileList: FunctionComponent<{ files: IFile[], searchTerm: string | width: '10rem', key: 'download' }] - .concat(!loadingWhoAmI && dataWhoAmI?.whoAmI?.type === userTypes.ADMIN ? [ + .concat(!loadingWhoAmI && dataWhoAmI?.whoAmI?.type === enumUserTypes.ADMIN ? [ { render: (__unused__value, record) => (
- {whoAmIData.whoAmI.type === userTypes.ADMIN ? + {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ?
isActive ? css.clickedButton : undefined}>
Users
: null } - {(whoAmIData.whoAmI.type === userTypes.ADMIN || whoAmIData.whoAmI.metadata?.logPermission) ? + {(whoAmIData.whoAmI.type === enumUserTypes.ADMIN || whoAmIData.whoAmI.metadata?.logPermission) ?
isActive ? css.clickedButton : undefined}>
Logs
@@ -69,14 +69,14 @@ export const MainMenuBar: FunctionComponent = ({ projects }) = isActive ? css.clickedButton : undefined}>
{ - (whoAmIData.whoAmI.type !== userTypes.ADMIN && dayjs().add(2, 'week').valueOf() - dayjs(whoAmIData.whoAmI.expiredAt).valueOf() > 0) ? + (whoAmIData.whoAmI.type !== enumUserTypes.ADMIN && dayjs().add(2, 'week').valueOf() - dayjs(whoAmIData.whoAmI.expiredAt).valueOf() > 0) ? <> My Account : <> My Account }
- {(whoAmIData.whoAmI.type === userTypes.ADMIN || whoAmIData.whoAmI.metadata?.aePermission === true) + {(whoAmIData.whoAmI.type === enumUserTypes.ADMIN || whoAmIData.whoAmI.metadata?.aePermission === true) ?
isActive ? css.clickedButton : undefined}>
Analytical Environment
diff --git a/packages/itmat-ui-react/src/components/users/userDetails.tsx b/packages/itmat-ui-react/src/components/users/userDetails.tsx index c9fe463e4..43af1fde3 100644 --- a/packages/itmat-ui-react/src/components/users/userDetails.tsx +++ b/packages/itmat-ui-react/src/components/users/userDetails.tsx @@ -1,7 +1,7 @@ import { FunctionComponent, useState } from 'react'; import { Mutation } from '@apollo/client/react/components'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; -import { IGenericResponse, IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IGenericResponse, IOrganisation, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import { WHO_AM_I, DELETE_USER, EDIT_USER, GET_USERS, REQUEST_USERNAME_OR_RESET_PASSWORD, GET_ORGANISATIONS, GET_STUDY } from '@itmat-broker/itmat-models'; import { Subsection } from '../reusable'; import LoadSpinner from '../reusable/loadSpinner'; @@ -98,7 +98,7 @@ export const UserDetailsSection: FunctionComponent = () => { type EditUser = IUserWithoutToken & { organisation: string, - type: userTypes, + type: enumUserTypes, metadata: { [key: string]: unknown, aePermission: boolean, @@ -152,7 +152,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce org.id === user.organisation)?.id }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> @@ -218,7 +218,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce - {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === userTypes.ADMIN + {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === enumUserTypes.ADMIN ? <>    
; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx index b21beb450..71d4c3708 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { generateCascader } from '../../../../utils/tools'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; import { Query } from '@apollo/client/react/components'; import { GET_STUDY, GET_STUDY_FIELDS, GET_DATA_RECORDS, CREATE_NEW_DATA_VERSION, SET_DATAVERSION_AS_CURRENT, WHO_AM_I, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { userTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; +import { enumUserTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; import { DataSummaryVisual } from './dataSummary'; @@ -154,7 +154,7 @@ export const DataManagementTabContentFetch: FunctionComponent = () => {
- {whoAmIData.whoAmI.type === userTypes.ADMIN ? + {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ?

- query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> + query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> {({ data, loading, error }) => { if (loading) { return ; } if (error) { return

{JSON.stringify(error)}

; } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx index 8c36c2f5d..19d64f777 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx @@ -7,7 +7,7 @@ import { Query } from '@apollo/client/react/components'; import { useApolloClient, useMutation, useQuery } from '@apollo/client/react/hooks'; import { useDropzone } from 'react-dropzone'; import { GET_STUDY, UPLOAD_FILE, GET_ORGANISATIONS, GET_USERS, EDIT_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IFile, userTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; +import { IFile, enumUserTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; import { FileList, formatBytes } from '../../../reusable/fileList/fileList'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -332,30 +332,30 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const studyLevelFiles: IFile[] = []; const subjectLevelFiles: IFile[] = []; for (const file of files) { - if (Object.keys(JSON.parse(file.description)).length !== 0) { + if (file.description && Object.keys(JSON.parse(file.description)).length !== 0) { if (file !== null && file !== undefined && (!searchTerm || (JSON.parse(file.description).participantId).toUpperCase().indexOf(searchTerm) > -1 || sites[JSON.parse(file.description).participantId[0]].toUpperCase().indexOf(searchTerm) > -1 || JSON.parse(file.description).deviceId.toUpperCase().indexOf(searchTerm) > -1 || deviceTypes[JSON.parse(file.description).deviceId.substr(0, 3)].toUpperCase().indexOf(searchTerm) > -1 - || (!userIdNameMapping[file.uploadedBy] || userIdNameMapping[file.uploadedBy].toUpperCase().indexOf(searchTerm) > -1))) { + || (!userIdNameMapping[file.life.createdTime] || userIdNameMapping[file.life.createdTime].toUpperCase().indexOf(searchTerm) > -1))) { subjectLevelFiles.push(file); } } else { studyLevelFiles.push(file); } } - subjectLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); - studyLevelFiles.sort((a, b) => parseInt(a.uploadTime) - parseInt(b.uploadTime)); + subjectLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); + studyLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); return [subjectLevelFiles, studyLevelFiles]; } const sortedFiles = dataSourceFilter(getStudyData.getStudy.files); const numberOfFiles = sortedFiles[0].length; - const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (parseInt(b.fileSize || '0') || 0), 0); + const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (b.fileSize || 0), 0); const participantOfFiles = sortedFiles[0].reduce(function (values, v) { - if (!values.set[JSON.parse(v['description'])['participantId']]) { + if (v.description && !values.set[JSON.parse(v['description'])['participantId']]) { values.set[JSON.parse(v['description'])['participantId']] = 1; values.count++; } @@ -365,8 +365,8 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = const fileSummary: { site: string, total: number }[] = []; const categoryColumns: ColumnProps<{ site: string, total: number }>[] = []; if (sortedFiles[0].length > 0) { - const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).participantId[0]).sort())); - const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description).deviceId.substr(0, 3)).sort())); + const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').participantId[0]).sort())); + const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3)).sort())); categoryColumns.push( { title: 'Site', @@ -395,10 +395,10 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = total: 0 }; for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description).participantId[0] === site - && JSON.parse(el.description).deviceId.substr(0, 3) === deviceType)).length; + tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description ?? '').participantId[0] === site + && JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType)).length; } - tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description).participantId[0] === site).length; + tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').participantId[0] === site).length; fileSummary.push(tmpData); } const tmpData = { @@ -406,7 +406,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = total: sortedFiles[0].length }; for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description).deviceId.substr(0, 3) === deviceType).length; + tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType).length; } fileSummary.push(tmpData); } @@ -445,7 +445,7 @@ export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> =
:
diff --git a/packages/itmat-ui-react/src/components/log/logList.tsx b/packages/itmat-ui-react/src/components/log/logList.tsx index c05bb4a6f..c2f052fa2 100644 --- a/packages/itmat-ui-react/src/components/log/logList.tsx +++ b/packages/itmat-ui-react/src/components/log/logList.tsx @@ -1,6 +1,6 @@ import { FunctionComponent, useState } from 'react'; import { GET_LOGS } from '@itmat-broker/itmat-models'; -import { userTypes, LOG_ACTION, LOG_TYPE, LOG_STATUS, USER_AGENT, ILogEntry } from '@itmat-broker/itmat-types'; +import { enumUserTypes, LOG_ACTION, LOG_TYPE, LOG_STATUS, USER_AGENT, ILogEntry } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../reusable/loadSpinner'; import { Table, Input, Button, Checkbox, Descriptions, DatePicker, Modal, Row, Col } from 'antd'; @@ -39,7 +39,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { const [searchTerm, setSearchTerm] = useState(''); const initInputs: { requesterName: string, - requesterType: userTypes[], + requesterType: enumUserTypes[], userAgent: string[], logType: LOG_TYPE[], actionType: LOG_ACTION[], @@ -247,7 +247,7 @@ const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { - + diff --git a/packages/itmat-ui-react/src/components/profile/profile.tsx b/packages/itmat-ui-react/src/components/profile/profile.tsx index 53551269d..248cedf51 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.tsx +++ b/packages/itmat-ui-react/src/components/profile/profile.tsx @@ -140,7 +140,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce {(submit, { loading, error }) => org.id === user.organisation)?.name }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> diff --git a/packages/itmat-ui-react/src/components/projectDetail/index.tsx b/packages/itmat-ui-react/src/components/projectDetail/index.tsx index 0ede8430e..e705fb23f 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/index.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/index.tsx @@ -2,7 +2,7 @@ import { FunctionComponent } from 'react'; import { Query } from '@apollo/client/react/components'; import { NavLink, Navigate, Route, Routes, useParams } from 'react-router-dom'; import { GET_PROJECT, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IJobEntry, IProject, IRoleQL, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; import css_dataset from '../datasetDetail/projectPage.module.css'; import { AdminTabContent, DashboardTabContent, DataTabContent } from './tabContent'; @@ -19,7 +19,7 @@ export const ProjectDetailPage: FunctionComponent = () => { return ( query={GET_PROJECT} - variables={{ projectId, admin: whoamidata.whoAmI.type === userTypes.ADMIN }} + variables={{ projectId, admin: whoamidata.whoAmI.type === enumUserTypes.ADMIN }} > {({ loading, error, data }) => { if (loading) { return ; } @@ -34,7 +34,7 @@ export const ProjectDetailPage: FunctionComponent = () => { if (loading) return ; if (error) return

{error.toString()}

; if (!sessionData) { return null; } - if (sessionData.whoAmI.type === userTypes.ADMIN) { + if (sessionData.whoAmI.type === enumUserTypes.ADMIN) { return
isActive ? css_dataset.active : undefined}>
DASHBOARD
{/* isActive ? className={({ isActive }) => isActive ? css.active : undefined}>
SAMPLE
*/} diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx index cc4377368..7504cdf9f 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/analysis/analysisTab.tsx @@ -3,7 +3,7 @@ import { statisticsTypes, analysisTemplate, options, dataTypeMapping } from '../ import { get_t_test, get_z_test, mannwhitneyu, findDmField, generateCascader } from '../../../../utils/tools'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; +import { IField, IProject, enumDataTypes, IOntologyTree, IOntologyRoute, IQueryString, ICohortSelection, enumCohortSelectionOp } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; import { SubsectionWithComment } from '../../../reusable/subsection/subsection'; import css from './tabContent.module.css'; @@ -97,7 +97,7 @@ export const AnalysisTabContent: FunctionComponent<{ studyId: string }> = ({ stu
); }; -const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IFieldEntry[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { +const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispatch>], fields: IField[], project: IProject, query, ontologyTree: IOntologyTree, fieldPathOptions, dmFields }> = ({ guideTool, filtersTool, fields, project, query, ontologyTree, fieldPathOptions, dmFields }) => { const [isModalOn, setIsModalOn] = useState(false); const [isTemplateModalOn, setIsTemplateModalOn] = useState(false); const [templateType, setTemplateType] = useState('NA'); @@ -315,8 +315,8 @@ const FilterSelector: FunctionComponent<{ guideTool, filtersTool: [Filter, Dispa
); }; -const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFieldEntry[], data }> = ({ project, fields, data }) => { +const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IField[], data }> = ({ project, fields, data }) => { const [statisticsType, setStatisticsType] = useState('ttest'); const [signifianceLevel, setSignigicanceLevel] = useState(undefined); if (data.length === 0) { @@ -505,7 +505,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel }, { key: 'Table Name', - value: thisField.tableName || 'NA' + value: thisField.metadata['tableName'] || 'NA' }, { key: 'Data Type', value: dataTypeMapping[thisField.dataType] || 'NA' @@ -544,7 +544,7 @@ const ResultsVisualization: FunctionComponent<{ project: IProject, fields: IFiel key: 'graph', render: (__unused__value, record) => { const fieldDef = fields.filter(el => el.fieldId === record.field)[0]; - if ([enumValueType.DECIMAL, enumValueType.INTEGER].includes(fieldDef.dataType)) { + if ([enumDataTypes.DECIMAL, enumDataTypes.INTEGER].includes(fieldDef.dataType)) { return (
); - } else if ([enumValueType.BOOLEAN, enumValueType.CATEGORICAL].includes(fieldDef.dataType)) { + } else if ([enumDataTypes.BOOLEAN, enumDataTypes.CATEGORICAL].includes(fieldDef.dataType)) { return (
); }; -function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPathOptions) { +function variableFilterColumns(guideTool, fields: IField[], remove, fieldPathOptions) { return [ { title: 'Field', @@ -807,7 +807,7 @@ function variableFilterColumns(guideTool, fields: IFieldEntry[], remove, fieldPa ]; } -function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { +function filterTableColumns(guideTool, fields: IField[], dmFields, filtersTool, setIsModalOn, setCurrentGroupIndex) { if (filtersTool[0].groups.length === 0) { return []; } @@ -839,7 +839,7 @@ function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersT render: (__unused__value, record) => { return
{ - record.race.map(el => {raceField?.possibleValues?.filter(ed => ed.code === el.toString())[0].description}) + record.race.map(el => {raceField?.categoricalOptions?.filter(ed => ed.code === el.toString())[0].description}) }
; } @@ -855,7 +855,7 @@ function filterTableColumns(guideTool, fields: IFieldEntry[], dmFields, filtersT render: (__unused__value, record) => { return
{ - record.genderID.map(el => {genderField?.possibleValues?.filter(ed => ed.code === el.toString())[0].description}) + record.genderID.map(el => {genderField?.categoricalOptions?.filter(ed => ed.code === el.toString())[0].description}) }
; } @@ -1009,7 +1009,7 @@ function formInitialValues(form, filters, index: number) { } // // we sent the union of the filters as the filters in the request body -function combineFilters(fields: IFieldEntry[], filters: Filter, dmFields) { +function combineFilters(fields: IField[], filters: Filter, dmFields) { const queryString: Partial & { format?: string, subjects_requested?: string[] | null, cohort?: ICohortSelection[][] } = {}; queryString.data_requested = Array.from(new Set((filters.groups.map(el => el.filters).flat().map(es => es.field).concat(filters.comparedFields) .concat(dmFields.filter(el => (el !== undefined && el !== null)).map(el => el.fieldId))))); @@ -1063,11 +1063,11 @@ function divideResults(filters, results, fields, dmFields) { siteID: dmFields[3] }; filters.comparedFields.forEach(el => { - const fieldDef: IFieldEntry = fields.filter(ek => ek.fieldId === el)[0]; - if (![enumValueType.DECIMAL, enumValueType.INTEGER, enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { + const fieldDef: IField = fields.filter(ek => ek.fieldId === el)[0]; + if (![enumDataTypes.DECIMAL, enumDataTypes.INTEGER, enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fieldDef.dataType)) { return; } - if (fieldDef.tableName === 'Participants') { + if (fieldDef['tableName'] === 'Participants') { return; } const dataClip: { @@ -1171,7 +1171,7 @@ function divideResults(filters, results, fields, dmFields) { } }); // construct data for visualization - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fieldDef.dataType)) { + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { dataClip.data[curr].forEach(el => { typeof el === 'number' && acc.push({ @@ -1182,10 +1182,10 @@ function divideResults(filters, results, fields, dmFields) { return acc; }, [] as { x: string, y: number }[]); dataClip.dataForGraph = dataForGraph; - } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fieldDef.dataType)) { + } else if ([enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fieldDef.dataType)) { const dataForGraph = Object.keys(dataClip.data).reduce((acc, curr) => { - if (fieldDef.possibleValues) { - fieldDef.possibleValues.forEach(ek => { + if (fieldDef.categoricalOptions) { + fieldDef.categoricalOptions.forEach(ek => { acc.push({ x: curr, y: dataClip.data[curr].filter(es => String(es) === ek.code.toString()).length, diff --git a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx index f2ef10d54..a66d57cba 100644 --- a/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx +++ b/packages/itmat-ui-react/src/components/projectDetail/tabContent/data/dataTab.tsx @@ -3,7 +3,7 @@ import { filterFields, generateCascader, findDmField } from '../../../../utils/t import { dataTypeMapping } from '../utils/defaultParameters'; import { useQuery, useLazyQuery } from '@apollo/client/react/hooks'; import { GET_STUDY_FIELDS, GET_PROJECT, GET_DATA_RECORDS, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IFieldEntry, IProject, enumValueType, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; +import { IField, IProject, enumDataTypes, IOntologyTree, IOntologyRoute, ICohortSelection } from '@itmat-broker/itmat-types'; import { Query } from '@apollo/client/react/components'; import LoadSpinner from '../../../reusable/loadSpinner'; import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; @@ -123,7 +123,7 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology
-
{project.dataVersion?.updateDate === undefined ? 'NA' : (new Date(parseFloat(project.dataVersion?.updateDate))).toUTCString()}
+
{project.dataVersion?.life.createdTime === undefined ? 'NA' : (new Date(project.dataVersion?.life.createdTime)).toUTCString()}

: @@ -178,7 +178,7 @@ export const MetaDataBlock: FunctionComponent<{ project: IProject, numOfOntology
-
{project.dataVersion?.updateDate === undefined ? 'NA' : (new Date(parseFloat(project.dataVersion?.updateDate))).toDateString()}
+
{project.dataVersion?.life.createdTime === undefined ? 'NA' : (new Date(project.dataVersion?.life.createdTime)).toDateString()}
@@ -191,7 +191,7 @@ interface IDemographicsReport { value: number; } -export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IFieldEntry[] }> = ({ ontologyTree, studyId, projectId, fields }) => { +export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, studyId: string, projectId: string, fields: IField[] }> = ({ ontologyTree, studyId, projectId, fields }) => { const [width, __unused__height__] = useWindowSize(); // process the data const genderField = findDmField(ontologyTree, fields, 'SEX'); @@ -240,7 +240,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, obj.AGE = []; } else { obj.SEX = (data[genderField.fieldId][genderField.visitRange[0]]?.data || []).reduce((acc, curr) => { - const thisGender = genderField?.possibleValues?.filter(el => el.code === curr)[0].description || ''; + const thisGender = genderField?.categoricalOptions?.filter(el => el.code === curr)[0].description || ''; if (acc.filter(es => es.type === thisGender).length === 0) { acc.push({ type: thisGender, value: 0 }); } @@ -274,7 +274,7 @@ export const DemographicsBlock: FunctionComponent<{ ontologyTree: IOntologyTree, obj.RACE = []; } else { obj.RACE = (data[raceField.fieldId][raceField.visitRange[0]]?.data || []).reduce((acc, curr) => { - const thisRace = raceField?.possibleValues?.filter(el => el.code === curr)[0].description || ''; + const thisRace = raceField?.categoricalOptions?.filter(el => el.code === curr)[0].description || ''; if (acc.filter(es => es.type === thisRace).length === 0) { acc.push({ type: thisRace, value: 0 }); } @@ -429,13 +429,13 @@ interface GroupedData { } } -export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IFieldEntry[], project: IProject }> = ({ ontologyTree, fields, project }) => { +export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyTree, fields: IField[], project: IProject }> = ({ ontologyTree, fields, project }) => { const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const [selectedGraphType, setSelectedGraphType] = useState(undefined); const routes: IOntologyRoute[] = ontologyTree.routes?.filter(es => { return JSON.stringify([...es.path, es.name]) === JSON.stringify(selectedPath); }) || []; - const field: IFieldEntry | undefined = fields.filter(el => { + const field: IField | undefined = fields.filter(el => { return el.fieldId.toString() === routes[0]?.field[0]?.replace('$', ''); })[0]; //construct the cascader @@ -502,7 +502,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }} > { - [enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === field?.fieldId)[0]?.dataType) ? + [enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === field?.fieldId)[0]?.dataType) ? <> @@ -588,7 +588,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT return ; } let processedData: Array<{ x: string, y: number } | { visit: string, value: string, count: number }> = []; - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { if (el === '99999') { @@ -598,7 +598,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT }); return acc; }, [] as { x: string, y: number }[]); - } else if ([enumValueType.CATEGORICAL, enumValueType.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { + } else if ([enumDataTypes.CATEGORICAL, enumDataTypes.BOOLEAN].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) { processedData = Object.keys(data.getDataRecords.data[fieldIdFromData]).reduce((acc, curr) => { let count = 0; data.getDataRecords.data[fieldIdFromData][curr].data.forEach(el => { @@ -640,7 +640,7 @@ export const DataDistributionBlock: FunctionComponent<{ ontologyTree: IOntologyT high: sortedY[sortedY.length - 1] }; }); - if ([enumValueType.INTEGER, enumValueType.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) + if ([enumDataTypes.INTEGER, enumDataTypes.DECIMAL].includes(fields.filter(el => el.fieldId === fieldIdFromData)[0].dataType)) return selectedGraphType === 'violin' ? ); }; -export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IFieldEntry[] }> = ({ studyId, projectId, ontologyTree, fields }) => { +export const DataCompletenessBlock: FunctionComponent<{ studyId: string, projectId: string, ontologyTree: IOntologyTree, fields: IField[] }> = ({ studyId, projectId, ontologyTree, fields }) => { const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); const requestedFields = ontologyTree.routes?.filter(el => { if (JSON.stringify(el.path) === JSON.stringify(selectedPath)) { @@ -756,7 +756,7 @@ export const DataCompletenessBlock: FunctionComponent<{ studyId: string, project showTitle: false, fields: ['visit', 'field', 'percentage'], formatter: (datum) => { - const field: IFieldEntry | undefined = fields.filter(el => el.fieldId === datum.field)[0]; + const field: IField | undefined = fields.filter(el => el.fieldId === datum.field)[0]; let name; if (field) { name = field.fieldId.concat('-').concat(field.fieldName); diff --git a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx index e3364959b..591f53339 100644 --- a/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fieldList/fieldList.tsx @@ -1,8 +1,8 @@ import { FunctionComponent } from 'react'; -import { enumValueType, IFieldEntry } from '@itmat-broker/itmat-types'; +import { enumDataTypes, IField } from '@itmat-broker/itmat-types'; import { Table, Tooltip } from 'antd'; -export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IFieldEntry[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { +export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedList?: string[]; checkable: boolean; fieldList: IField[]; verbal?: boolean }> = ({ onCheck, checkedList, checkable, fieldList, verbal }) => { const possibleValuesColumns = [ { title: 'Code', @@ -54,10 +54,10 @@ export const FieldListSection: FunctionComponent<{ studyData, onCheck?; checkedL dataIndex: 'dataType', key: 'dataType', render: (__unused__value, record) => { - if (record.dataType === enumValueType.CATEGORICAL) { + if (record.dataType === enumDataTypes.CATEGORICAL) { return }> {record.dataType} diff --git a/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx b/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx index fcda13f85..dbabbe4d6 100644 --- a/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx +++ b/packages/itmat-ui-react/src/components/reusable/fileList/fileList.tsx @@ -2,7 +2,7 @@ import { FunctionComponent, useState } from 'react'; import { useMutation, useQuery } from '@apollo/client/react/hooks'; import { Table, Button, notification, Tooltip } from 'antd'; import { DELETE_FILE, WHO_AM_I, GET_ORGANISATIONS, GET_USERS } from '@itmat-broker/itmat-models'; -import { IFile, userTypes } from '@itmat-broker/itmat-types'; +import { IFile, enumUserTypes } from '@itmat-broker/itmat-types'; import { DeleteOutlined, CloudDownloadOutlined, SwapRightOutlined, NumberOutlined } from '@ant-design/icons'; import { ApolloError } from '@apollo/client/errors'; import dayjs from 'dayjs'; @@ -186,7 +186,7 @@ export const FileList: FunctionComponent<{ files: IFile[], searchTerm: string | width: '10rem', key: 'download' }] - .concat(!loadingWhoAmI && dataWhoAmI?.whoAmI?.type === userTypes.ADMIN ? [ + .concat(!loadingWhoAmI && dataWhoAmI?.whoAmI?.type === enumUserTypes.ADMIN ? [ { render: (__unused__value, record) => (
- {whoAmIData.whoAmI.type === userTypes.ADMIN ? + {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ?
isActive ? css.clickedButton : undefined}>
Users
: null } - {(whoAmIData.whoAmI.type === userTypes.ADMIN || whoAmIData.whoAmI.metadata?.logPermission) ? + {(whoAmIData.whoAmI.type === enumUserTypes.ADMIN || whoAmIData.whoAmI.metadata?.logPermission) ?
isActive ? css.clickedButton : undefined}>
Logs
@@ -69,14 +69,14 @@ export const MainMenuBar: FunctionComponent = ({ projects }) = isActive ? css.clickedButton : undefined}>
{ - (whoAmIData.whoAmI.type !== userTypes.ADMIN && dayjs().add(2, 'week').valueOf() - dayjs(whoAmIData.whoAmI.expiredAt).valueOf() > 0) ? + (whoAmIData.whoAmI.type !== enumUserTypes.ADMIN && dayjs().add(2, 'week').valueOf() - dayjs(whoAmIData.whoAmI.expiredAt).valueOf() > 0) ? <> My Account : <> My Account }
- {(whoAmIData.whoAmI.type === userTypes.ADMIN || whoAmIData.whoAmI.metadata?.aePermission === true) + {(whoAmIData.whoAmI.type === enumUserTypes.ADMIN || whoAmIData.whoAmI.metadata?.aePermission === true) ?
isActive ? css.clickedButton : undefined}>
Analytical Environment
diff --git a/packages/itmat-ui-react/src/components/users/userDetails.tsx b/packages/itmat-ui-react/src/components/users/userDetails.tsx index c9fe463e4..43af1fde3 100644 --- a/packages/itmat-ui-react/src/components/users/userDetails.tsx +++ b/packages/itmat-ui-react/src/components/users/userDetails.tsx @@ -1,7 +1,7 @@ import { FunctionComponent, useState } from 'react'; import { Mutation } from '@apollo/client/react/components'; import { useQuery, useMutation } from '@apollo/client/react/hooks'; -import { IGenericResponse, IOrganisation, IUserWithoutToken, userTypes } from '@itmat-broker/itmat-types'; +import { IGenericResponse, IOrganisation, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import { WHO_AM_I, DELETE_USER, EDIT_USER, GET_USERS, REQUEST_USERNAME_OR_RESET_PASSWORD, GET_ORGANISATIONS, GET_STUDY } from '@itmat-broker/itmat-models'; import { Subsection } from '../reusable'; import LoadSpinner from '../reusable/loadSpinner'; @@ -98,7 +98,7 @@ export const UserDetailsSection: FunctionComponent = () => { type EditUser = IUserWithoutToken & { organisation: string, - type: userTypes, + type: enumUserTypes, metadata: { [key: string]: unknown, aePermission: boolean, @@ -152,7 +152,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce org.id === user.organisation)?.id }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> @@ -218,7 +218,7 @@ export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { acce - {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === userTypes.ADMIN + {whoamidata.whoAmI.id !== user.id && whoamidata.whoAmI.type === enumUserTypes.ADMIN ? <>     : - <> - - - ; - }} - ; - }} - - + {(() => { + if (!deleteStudy.isLoading && !deleteStudy.isError && deleteStudy.data) { + return ; + } + return !deleteButtonShown ? : + <> + + + ; + })()}
diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/config/configContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/config/configContent.module.css new file mode 100644 index 000000000..3fc1eb85d --- /dev/null +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/config/configContent.module.css @@ -0,0 +1,46 @@ +.tab_page_wrapper { + padding: 2rem; + height: 100%; + overflow: auto; +} + +.page_container { + grid-template-columns: 100% 0%; + grid-template-rows: 100%; + display: grid; + height: 100%; +} + +.overview-header { + display: flex; + align-items: center; + /* This will vertically center align the icon and the title */ + /* If there is still a misalignment, you may adjust by adding 'align-self' to the children */ + font-size: 20px; + font-weight: 500; + overflow: auto; +} + +.overview-icon { + background-color: #000; + /* Or any color you prefer */ + width: 4px; + /* Thickness of the line */ + height: 24px; + /* Height of the line, adjust as needed */ + margin-right: 16px; + /* Space between the line and the text */ + /* Adjust 'margin-top' if the line is not aligned with the text */ +} + +.overview-title { + /* Style for your title */ + font-size: 24px; + font-weight: bold; +} + +.overview-content { + /* Style for your content */ + text-indent: 30px; + /* Adjust the indent as needed */ +} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/config/configTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/config/configTab.tsx new file mode 100644 index 000000000..73080f17a --- /dev/null +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/config/configTab.tsx @@ -0,0 +1,228 @@ +import { enumConfigType, enumStudyBlockColumnValueType, IStudy } from '@itmat-broker/itmat-types'; +import { FunctionComponent } from 'react'; +import css from './configContent.module.css'; +import { Button, Form, Input, List, message, Select, Table } from 'antd'; +import { trpc } from '../../../../utils/trpc'; +import LoadSpinner from '../../../reusable/loadSpinner'; +import { MinusOutlined, PlusOutlined } from '@ant-design/icons'; +import Column from 'antd/es/table/Column'; + +export const ConfigTabContent: FunctionComponent<{ study: IStudy }> = ({ study }) => { + const whoAmI = trpc.user.whoAmI.useQuery(); + const getStudyConfig = trpc.config.getConfig.useQuery({ + configType: enumConfigType.STUDYCONFIG, + key: study.id, + useDefault: true + }); + const getStudyFields = trpc.data.getStudyFields.useQuery({ studyId: study.id }); + const editConfig = trpc.config.editConfig.useMutation({ + onSuccess: () => { + void message.success('Config updated successfully.'); + }, + onError: (error) => { + void message.error('An error occured: ' + error); + } + }); + + const [form] = Form.useForm(); + + if (whoAmI.isLoading || getStudyConfig.isLoading || getStudyFields.isLoading) { + return ; + } + + if (whoAmI.isError || getStudyConfig.isError || getStudyFields.isError) { + return

An error occured.

; + } + + const secondLevelColumns = [{ + title: 'Title', + dataIndex: 'title', + key: 'title', + render: (_, record, index) => ( + + + + ) + }, { + title: 'Property', + dataIndex: 'property', + key: 'property', + render: (_, record, index) => ( + + + + ) + }, { + title: 'Type', + dataIndex: 'type', + key: 'type', + render: (_, record, index) => ( + + + + ) + }]; + + const firstLevelColumns = [{ + title: 'Title', + dataIndex: 'title', + key: 'title', + width: '10%', + render: (_, record, index) => ( + + + + ) + }, { + title: 'Field IDs', + dataIndex: 'fieldIds', + key: 'fieldIds', + width: '40%', + render: (_, record, index) => ( + + + + ) + }, { + title: 'Default File Columns', + dataIndex: 'defaultFileColumns', + key: 'defaultFileColumns', + width: '50%', + render: (_, record, index) => ( + + {(fields, { add, remove }) => ( + ( + + )} + > + {secondLevelColumns.map((col) => ( + ( + + {col.render(value, row, secondIndex)} + + )} + /> + ))} + ( +
+ )} +
+ ) + }]; + + return
+
+ +
+
+
+
Config
+
+
+
+ +
+
+ } + > + + + + + + + {(fileBlocks, { add, remove }) => ( + ( + + )} + > + {firstLevelColumns.map((col) => ( + ( + + {col.render(value, row, index)} + + )} + width={col.width} // Set width here + /> + ))} + ( +
+ )} +
+ +
+
+
; +
; +}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/dashBoardTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/dashBoardTab.tsx index afefa537f..10b13d665 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/dashBoardTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/dashBoardTab.tsx @@ -1,13 +1,345 @@ import { FunctionComponent } from 'react'; -import { IJobEntry } from '@itmat-broker/itmat-types'; -import { Subsection } from '../../../reusable/subsection/subsection'; -import { JobSection } from './jobs'; import css from './tabContent.module.css'; +import { trpc } from '../../../../utils/trpc'; +import { Button, Card, Col, Divider, Form, Input, List, Row, Statistic, Tooltip, message } from 'antd'; +import dayjs from 'dayjs'; +import { IDataSetSummary, IStudy } from '@itmat-broker/itmat-types'; +import { ResponsivePieCanvas } from '@nivo/pie'; +import { ResponsiveCalendar } from '@nivo/calendar'; + +export const DashboardTabContent: FunctionComponent<{ study: IStudy }> = ({ study }) => { + const getStudyDataSummary = trpc.data.getStudyDataSummary.useQuery({ studyId: study.id, useCache: false }); + + if (getStudyDataSummary.isLoading) { + return
+ Loading... +
; + } + if (getStudyDataSummary.isError) { + return
+ An error occured. +
; + } -export const DashboardTabContent: FunctionComponent<{ studyId: string; jobs: Array }> = ({ studyId, jobs }) => { return
- - - +
+ +
+
+
+
Meta
+
+
+
+
+
+ } + > + + + +
+ +
+
+
+
Data Versioning
+
+
+
+
+
+ } + > + + + + +
;
; }; + +export const MetaBlock: FunctionComponent<{ study: IStudy, dataSummary: IDataSetSummary }> = ({ study, dataSummary }) => { + const getStudyRoles = trpc.role.getStudyRoles.useQuery({ studyId: study.id }); + const getUsers = trpc.user.getUsers.useQuery({}); + + if (getStudyRoles.isLoading || getUsers.isLoading) { + return
+ Loading... +
; + } + + if (getStudyRoles.isError || getUsers.isError) { + return
+ An error occured. +
; + } + + const totalUploaders = dataSummary.dataByUploaders.reduce((a, c) => a + c.count, 0); + + const dataByUploaders: { id: string, label: string, value: number }[] = [{ + id: 'Others', + label: 'Others', + value: 0 + }]; + dataSummary.dataByUploaders.sort((a, b) => b.count - a.count).forEach((el, index) => { + if (index < 10) { + const user = getUsers.data.find(user => user.id === el.userId); + dataByUploaders.push({ + id: user ? `${user.firstname} ${user.lastname}` : 'Unknown', + label: user ? `${user.firstname} ${user.lastname}` : 'Unknown', + value: el.count / totalUploaders + }); + } else { + dataByUploaders[0].value += el.count / totalUploaders; + } + }); + dataByUploaders.forEach(el => el.value = parseFloat((el.value * 100).toFixed(2))); + + const dataByUsers: { id: string, label: string, value: number }[] = [{ + id: 'Others', + label: 'Others', + value: 0 + }]; + + const totalUsers = dataSummary.dataByUsers.reduce((a, c) => a + c.count, 0); + dataSummary.dataByUsers.sort((a, b) => b.count - a.count).forEach((el, index) => { + if (index < 10) { + const user = getUsers.data.find(user => user.id === el.userId); + dataByUsers.push({ + id: user ? `${user.firstname} ${user.lastname}` : 'Unknown', + label: user ? `${user.firstname} ${user.lastname}` : 'Unknown', + value: el.count / totalUsers + }); + } else { + dataByUsers[0].value += el.count / totalUsers; + } + }); + dataByUsers.forEach(el => el.value = parseFloat((el.value * 100).toFixed(2))); + + + return
+
+ + +

{study.description}

+

{`Created On ${(new Date(study.life.createdTime)).toLocaleDateString()}`}

+
+ + + + el.users).reduce((a, c) => { + a = a.concat(c); + return a; + }, []))).length} /> + + + + + + + +

+
+ +
+ +
Sources
+
+ + +
+ +
Usage
+
+ +

+
; +}; + + +export const DataVersionBlock: FunctionComponent<{ study: IStudy, dataSummary: IDataSetSummary }> = ({ study, dataSummary }) => { + const [form] = Form.useForm(); + const createStudyDataVersion = trpc.study.createDataVersion.useMutation({ + onSuccess: () => { + void message.success('Data version created successfully'); + }, + onError: () => { + void message.error('Failed to create data version: '); + } + }); + + const calendarDate = study.dataVersions.map(el => { + return { + day: dayjs.unix(el.life.createdTime / 1000).format('YYYY-MM-DD'), + value: 1, + info: el.version + }; + }); + return
+
+ { + const version = calendarDate.find(el => el.day === day); + return {version ? version.info : 'No data version'}; + }} + /> +
+
+ Data Summaries +
+ + Versioned Data
} value={dataSummary.numberOfVersionedRecords} /> + + + Versioned Fields
} value={dataSummary.numberOfVersionedFields} /> + +
+
+ + Unversioned Data} value={dataSummary.numberOfUnversionedRecords} /> + + + Unversioned Fields} value={dataSummary.numberOfUnversionedFields} /> + +
+ Create New Data Version +
+ + + + + + + + + +
+ + ; +}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx index c4fc3f2a5..d11f1e7dc 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/jobs.tsx @@ -1,122 +1,6 @@ import { FunctionComponent } from 'react'; -import { InfoCircleOutlined } from '@ant-design/icons'; -import css from './tabContent.module.css'; -import { useSubscription } from '@apollo/client/react/hooks'; -import type { IJobEntry, IStudy } from '@itmat-broker/itmat-types'; -import { GET_STUDY, SUBSCRIBE_TO_JOB_STATUS } from '@itmat-broker/itmat-models'; -import { Table, Button } from 'antd'; -const STATUSES = { - FINISHED: () => Finished, - ERRROR: (errors: string[]) => - Errored - -
-
-
    - {errors.map((el, ind) =>
  • {el}
  • )} -
-
-
- , - QUEUED: () => Queued, - PROCESSING: () => Processing, - CANCELLED: () => Cancelled -}; - -// const JOBTYPES: { [type: string] } = { -// DATA_UPLOAD_CSV: Data upload, -// DATA_UPLOAD_JSON: Data upload json, -// FIELD_INFO_UPLOAD: Field annotation upload -// }; - -export const JobSection: FunctionComponent<{ studyId: string; jobs: Array }> = ({ studyId, jobs }) => { - useSubscription( - SUBSCRIBE_TO_JOB_STATUS, - { - variables: { studyId }, onSubscriptionData: ({ client: store, subscriptionData }) => { - if (subscriptionData.data.subscribeToJobStatusChange !== null) { - const olddata = store.readQuery<{ getStudy: IStudy & { jobs: IJobEntry[] } }, { studyId: string }>({ query: GET_STUDY, variables: { studyId } }); - const oldjobs = olddata?.getStudy.jobs; - const newjobs = (oldjobs ?? []).map((el) => { - if (el.id === subscriptionData.data.subscribeToJobStatusChange.jobId) { - el.status = subscriptionData.data.subscribeToJobStatusChange.newStatus; - if (el.status === 'ERROR') { - el.error = subscriptionData.data.subscribeToJobStatusChange.errors; - } - } - return el; - }); - const tmp = { ...olddata?.getStudy, jobs: newjobs }; - store.writeQuery({ query: GET_STUDY, variables: { studyId }, data: { getStudy: tmp } }); - } - } - } - ); - const columns = [ - { - title: 'Created At', - dataIndex: 'requestTime', - key: 'requestTime', - render: (__unused__value, record) => { - return new Date(record.requestTime).toUTCString(); - } - }, - { - title: 'Job Type', - dataIndex: 'jobType', - key: 'jobType', - render: (__unused__value, record) => { - return record.jobType; - } - }, - { - title: 'Parameters', - dataIndex: 'parameters', - key: 'parameters', - render: (__unused__value, record) => { - return record.receivedFiles; - } - }, - { - title: 'Status', - dataIndex: 'status', - key: 'status', - render: (__unused__value, record) => { - return record.cancelled ? STATUSES.CANCELLED() : (STATUSES[record.status] || (() => null))(record.error); - } - }, - { - title: 'Cancel', - dataIndex: 'cancel', - key: 'cancel', - render: () => { - return (); - } - } - ]; - - return (
- rec.id} - columns={columns} - dataSource={jobs} - size='small' - pagination={ - { - defaultPageSize: 50, - showSizeChanger: true, - pageSizeOptions: ['20', '50', '100', '200'], - defaultCurrent: 1, - showQuickJumper: true - } - } - > -
-
); +export const JobSection: FunctionComponent = () => { + return null; }; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/tabContent.module.css index 25deb7bd0..621be9194 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/dashboard/tabContent.module.css @@ -4,70 +4,63 @@ overflow: auto; } -.finishedStatus_td { - background: var(--color-status-finish); - color: black; -} - -.errorStatus_td { - background: var(--color-status-error); -} - -.processingStatus_td { - background: var(--color-status-processing); - color: black; -} - -.queuedStatus_td { - background: var(--color-status-queued); +.page_container { + grid-template-columns: 100% 0%; + grid-template-rows: 100%; + display: grid; + height: 100%; } -.cancelledStatus_td { - background: var(--color-status-cancelled); +.overview-header { + display: flex; + align-items: center; + /* This will vertically center align the icon and the title */ + /* If there is still a misalignment, you may adjust by adding 'align-self' to the children */ + font-size: 20px; + font-weight: 500; + overflow: auto; } -.job_table td:nth-child(3) { - text-align: center; +.overview-icon { + background-color: #000; + /* Or any color you prefer */ + width: 4px; + /* Thickness of the line */ + height: 24px; + /* Height of the line, adjust as needed */ + margin-right: 16px; + /* Space between the line and the text */ + /* Adjust 'margin-top' if the line is not aligned with the text */ } -.cancelButton { +.overview-title { + /* Style for your title */ + font-size: 24px; font-weight: bold; - cursor: pointer; - color: #5a5a5a; } -.cancelButton:hover { - color: white; +.overview-content { + /* Style for your content */ + text-indent: 30px; + /* Adjust the indent as needed */ } -.error_wrapper { +.pie-chart-container { + height: 400px; + /* or any other appropriate height */ + width: 100%; position: relative; + /* Ensure the canvas doesn't overflow its container */ } -.errorStatus_td > svg { - height: 1rem; - width: 1rem; - cursor: context-menu; -} - -.error_wrapper > div { - display: none; - width: 35rem; - max-height: 20rem; - top: -1rem; - overflow: auto; - padding: 1rem 0 0 1.7rem; - background: var(--color-popup); - box-shadow: 6px 6px 3px rgba(0, 0, 0, 0.4); - border: 1px solid var(--color-popup-border); - left: 5rem; +.pie-chart-title { position: absolute; -} - -.errorStatus_td > svg:hover + .error_wrapper > div { - display: unset; -} - -.error_wrapper > div:hover { - display: unset; + top: 50%; + left: 40%; + transform: translate(-50%, -50%); + font-size: 24px; + font-weight: bold; + color: #333; + pointer-events: none; + /* Ensure the title doesn't interfere with mouse events */ } diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx deleted file mode 100644 index b601cc674..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataSummary.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import { FunctionComponent } from 'react'; -// import { Query } from '@apollo/client/react/components'; -import { GET_STUDY } from '@itmat-broker/itmat-models'; -import { IStudyDataVersion } from '@itmat-broker/itmat-types'; -import css from './tabContent.module.css'; -import { useQuery } from '@apollo/client/react/hooks'; -import LoadSpinner from '../../../reusable/loadSpinner'; -import { Tooltip } from 'antd'; - -export const DataSummaryVisual: FunctionComponent<{ studyId: string; selectedVersion: number; currentVersion: number; versions: IStudyDataVersion[] }> = ({ studyId, currentVersion, selectedVersion, versions }) => { - const { data: getStudyData, loading: getStudyLoading } = useQuery(GET_STUDY, { variables: { studyId } }); - if (getStudyLoading) { return ; } - - return <> - {selectedVersion === currentVersion ? null : <>Warning: You are not looking at the current version of the data.


} -
- - - - - -
- - ; -}; - -////////////////////////// COMPONENTS WITHIN THE PAGE////////////////////////////////////// -const NumberOfPatients: FunctionComponent<{ data }> = ({ data }) => { - return
-
-

Number of subjects

- - - {`${data.getStudy.subjects[0].length}/${data.getStudy.subjects[1].length}`} - - -
-
; -}; - -const NumberOfRecords: FunctionComponent<{ data }> = ({ data }) => { - return
-
-

Number of records

- - - {`${data.getStudy.numOfRecords[0]}/${data.getStudy.numOfRecords[1]}`} - - -
-
; -}; - -const NewestVersionOfData: FunctionComponent<{ version: string, tag: string }> = ({ version, tag }) => { - return
-

Current Data version

- {`${version} : ${tag}`} -
-
; -}; - -const NumberOfVisits: FunctionComponent<{ data }> = ({ data }) => { - return
-
-

Number of visits

- - - {`${data.getStudy.visits[0].length}/${data.getStudy.visits[1].length}`} - - -
-
; -}; - -const DateOfUpload: FunctionComponent<{ date: string | number /* UNIX timestamp */ }> = ({ date }) => { - return
-

Data were uploaded on

- {date ? (new Date(parseInt(`${date}`))).toLocaleString() : 'n/a'} -
; -}; - -/////////////////////////////////////////////////////////////////////////////////// - diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx deleted file mode 100644 index 71d4c3708..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/dataTab.tsx +++ /dev/null @@ -1,236 +0,0 @@ -import { Fragment, FunctionComponent, useState } from 'react'; -import { generateCascader } from '../../../../utils/tools'; -import { useQuery, useMutation } from '@apollo/client/react/hooks'; -import { Query } from '@apollo/client/react/components'; -import { GET_STUDY, GET_STUDY_FIELDS, GET_DATA_RECORDS, CREATE_NEW_DATA_VERSION, SET_DATAVERSION_AS_CURRENT, WHO_AM_I, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { enumUserTypes, IOntologyRoute, ICohortSelection, INewFieldSelection } from '@itmat-broker/itmat-types'; -import LoadSpinner from '../../../reusable/loadSpinner'; -import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; -import { DataSummaryVisual } from './dataSummary'; -import { FieldListSection } from '../../../reusable/fieldList/fieldList'; -import css from './tabContent.module.css'; -import { Button, Form, Input, Modal, Table, Tooltip, Select, Cascader } from 'antd'; -import { useParams } from 'react-router-dom'; -const { Option } = Select; - -export const DataManagementTabContentFetch: FunctionComponent = () => { - const { studyId } = useParams(); - const { loading: getStudyLoading, error: getStudyError, data: getStudyData } = useQuery(GET_STUDY, { variables: { studyId: studyId } }); - const { loading: getStudyFieldsLoading, error: getStudyFieldsError, data: getStudyFieldsData } = useQuery(GET_STUDY_FIELDS, { variables: { studyId: studyId } }); - const { loading: getDataRecordsLoading, error: getDataRecordsError, data: getDataRecordsData } = useQuery(GET_DATA_RECORDS, { - variables: { - studyId: studyId, versionId: null, queryString: { - data_requested: null, - new_fields: null, - cohort: null, - format: 'raw' - } - } - }); - const { loading: getOntologyTreeLoading, error: getOntologyTreeError, data: getOntologyTreeData } = useQuery(GET_ONTOLOGY_TREE, { - variables: { - studyId: studyId, - treeId: null - } - }); - const { loading: whoAmILoading, error: whoAmIError, data: whoAmIData } = useQuery(WHO_AM_I); - const [createNewDataVersion] = useMutation(CREATE_NEW_DATA_VERSION); - const [setDataVersion, { loading }] = useMutation(SET_DATAVERSION_AS_CURRENT); - const [selectedPath, setSelectedPath] = useState<(string | number)[]>([]); - const [selectedVersion, setSelectedVersion] = useState(getStudyData.getStudy.currentDataVersion); - const [isModalOn, setIsModalOn] = useState(false); - const [treeId, setTreeId] = useState(''); - if (getStudyLoading || getStudyFieldsLoading || getDataRecordsLoading || whoAmILoading || getOntologyTreeLoading) { - return ; - } - if (!studyId || getStudyError || getStudyFieldsError || getDataRecordsError || whoAmIError || getOntologyTreeError) { - return

- An error occured, please contact your administrator -

; - } - const showSaveVersionButton = true; - // build the table columns for unversioned data - const columns = [ - { - title: 'Subject ID', - dataIndex: 'subjectId', - key: 'subjectId', - render: (__unused__value, record) => { - return record.subjectId; - } - }, - { - title: 'Visit ID', - dataIndex: 'visitId', - key: 'visitId', - render: (__unused__value, record) => { - return record.visitId.join('\t'); - } - } - ]; - - const versions: string[] = []; - for (const item of getStudyData.getStudy.dataVersions) { - versions[item['version']] = item['id']; - } - - //construct the cascader - const fieldPathOptions = []; - getOntologyTreeData.getOntologyTree.filter(el => el.id === treeId)[0]?.routes.forEach(el => { - generateCascader(el, fieldPathOptions, false); - }); - const routes: IOntologyRoute[] = getOntologyTreeData.getOntologyTree.filter(es => es.id === treeId)[0]?.routes?.filter(es => { - return JSON.stringify(es.path) === JSON.stringify(selectedPath); - }) || []; - const fields: string[] = routes.length !== 0 ? routes.map(es => JSON.stringify(es.field)) : []; - - return
- {getStudyData.getStudy.currentDataVersion !== -1 ? -
- {getStudyData.getStudy.dataVersions.length >= 1 ? <> - { - getStudyData.getStudy.dataVersions.map((el, ind) => - -
{ setSelectedVersion(ind); }} - className={css.data_version_cube + (ind === selectedVersion ? (ind === getStudyData.getStudy.currentDataVersion ? ` ${css.data_version_cube_current}` : ` ${css.data_version_cube_selected_not_current}`) : '')}> - { - {el.version} - } -
- {ind === getStudyData.getStudy.dataVersions.length - 1 ? null : ⟶} -
- ) - } - - {showSaveVersionButton && (selectedVersion !== getStudyData.getStudy.currentDataVersion) ? - - : null - }
- : null} -
: null} -
- - - setSelectedPath(value)} - placeholder={'Please select'} - /> - }> - { - if (!routes) { - return false; - } - if (fields.includes(JSON.stringify(['$' + el.fieldId.toString()]))) { - return true; - } - return false; - })]} - verbal={true} - > - {/* */} -

- -
-
- -
- {whoAmIData.whoAmI.type === enumUserTypes.ADMIN ? - - setIsModalOn(false)} - onCancel={() => setIsModalOn(false)} - > - query={GET_DATA_RECORDS} variables={{ - studyId: studyId, versionId: null, queryString: { - data_requested: null, - new_fields: null, - cohort: null - } - }}> - {({ data, loading, error }) => { - if (loading) { return ; } - if (error) { return

{JSON.stringify(error)}

; } - if (!data) { return

Not executed.

; } - const parsedData = getDataRecordsData.getDataRecords.data; - const groupedData = {}; - for (const key in parsedData) { - if (!(key in groupedData)) { - groupedData[key] = []; - } - groupedData[key].push(Object.keys(parsedData[key])); - } - return ( rec.id} - pagination={false} - columns={columns} - dataSource={Object.keys(groupedData).map((el) => { - return { - id: el, - subjectId: el, - visitId: groupedData[el] - }; - })} - size='middle' - >
); - }} - -
- -
{ - createNewDataVersion({ - variables: { - ...variables, - withUnversionedData: variables.withUnversionedData === 'true' ? true : false, - studyId: studyId - } - }).catch(() => { return; }); - }}> - - - - - - - - - -
-
: null} - < Subsection title='Data Summary'> - - -
-
; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx deleted file mode 100644 index 1073b53be..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldListSelection.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { FunctionComponent, useState } from 'react'; -import { Query } from '@apollo/client/react/components'; -import { useQuery } from '@apollo/client/react/hooks'; -import { GET_STUDY_FIELDS, GET_STUDY } from '@itmat-broker/itmat-models'; -import { IField, IStudyDataVersion } from '@itmat-broker/itmat-types'; -import { FieldListSection } from '../../../reusable/fieldList/fieldList'; -import LoadSpinner from '../../../reusable/loadSpinner'; -// number of patients -// newest version of data - date / tag -// download data -// data curation pipeline -// upload new sets of data - -export const FieldListSelectionSection: FunctionComponent<{ studyId: string; selectedVersion: number; currentVersion: number; versions: IStudyDataVersion[] }> = ({ studyId, currentVersion, selectedVersion }) => { - const { loading: getStudyLoading, error: getStudyError, data: getStudyData } = useQuery(GET_STUDY, { variables: { studyId: studyId } }); - const { loading: getStudyFieldsLoading, error: getStudyFieldsError, data: getStudyFieldsData } = useQuery(GET_STUDY_FIELDS, { variables: { studyId: studyId } }); - if (getStudyLoading || getStudyFieldsLoading) { - return ; - } - if (getStudyError || getStudyFieldsError) { - return

- An error occured, please contact your administrator -

; - } - // leave as placeholder; - // const { fieldTrees } = versions[selectedVersion]; - const fieldTrees = getStudyFieldsData.getStudyFields; - - return <> - {selectedVersion === currentVersion ? null : <>Warning: You are not looking at the current version of the data.


} - - { - fieldTrees.length === 0 ? -

There is no field annotations uploaded for this data version yet.

- : - - } - ; -}; - -const FieldListSelectionState: FunctionComponent<{ studyId: string; fieldTreeIds: string[], studyData }> = ({ studyId, fieldTreeIds, studyData }) => { - const [selectedTree, setSelectedTree] = useState(fieldTreeIds[0]); - - return <> -

- query={GET_STUDY_FIELDS} variables={{ studyId, fieldTreeId: selectedTree }}> - {({ data, loading, error }) => { - if (loading) { return ; } - if (error) { return

{JSON.stringify(error)}

; } - if (!data || !data.getStudyFields || data.getStudyFields.length === 0) { return

There is no field annotations uploaded for this tag.

; } - return ; - }} - - ; - -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx deleted file mode 100644 index d3736d6a4..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/fieldTab.tsx +++ /dev/null @@ -1,238 +0,0 @@ -import { FunctionComponent, useEffect, useState } from 'react'; -import { useQuery, useMutation } from '@apollo/client/react/hooks'; -import { CREATE_STANDARDIZATION, GET_STANDARDIZATION, GET_ONTOLOGY_TREE } from '@itmat-broker/itmat-models'; -import { IStandardization } from '@itmat-broker/itmat-types'; -import { DeleteOutlined, FrownTwoTone, SmileTwoTone, PlusOutlined } from '@ant-design/icons'; -import LoadSpinner from '../../../reusable/loadSpinner'; -import { generateCascader } from '../../../../utils/tools'; -import css from './tabContent.module.css'; -import { Button, Input, Select, notification, Space, Form, Cascader } from 'antd'; -const { Option } = Select; - -export const FieldManagementTabContentFetch: FunctionComponent<{ studyId: string }> = ({ studyId }) => { - const { loading: getStandardizationLoading, error: getStandardizationError, data: getStandardizationData } = useQuery(GET_STANDARDIZATION, { variables: { studyId: studyId } }); - const { loading: getOntologyTreeLoading, error: getOntologyTreeError, data: getOntologyTreeData } = useQuery(GET_ONTOLOGY_TREE, { - variables: { - studyId: studyId, - treeId: null - } - }); - const [createStandardization, { - loading: editFieldLoading - }] = useMutation(CREATE_STANDARDIZATION, { - onCompleted: () => { - notification.open({ - message: 'Success', - description: - `Std for ${selectedStd.field} has been updated.`, - icon: - }); - }, - onError: () => { - notification.open({ - message: 'Failed', - description: - `Field ${selectedStd?.field?.toString()} failed to update.`, - icon: - }); - } - }); - - const [editMode, setEditMode] = useState(false); - const [format, setFormat] = useState(undefined); - const [selectedStd, setSelectedStd] = useState>({ - id: '', - studyId: studyId, - type: format || '', - field: [], - path: [], - stdRules: [], - joinByKeys: [] - }); - const [form] = Form.useForm(); - useEffect(() => { - form.setFieldsValue(selectedStd); - }, [form, selectedStd]); - if (getStandardizationLoading || getOntologyTreeLoading || editFieldLoading) { - return ; - } - if (getStandardizationError || getOntologyTreeError) { - return

- An error occured, please contact your administrator -

; - } - const availableFormats: string[] = Array.from(new Set(getStandardizationData.getStandardization.map(el => el.type))); - const fieldPathOptions = []; - getOntologyTreeData.getOntologyTree.filter(el => el.name === format)[0]?.routes.forEach(el => { - generateCascader(el, fieldPathOptions, true); - }); - return
- - - { - const searchedRoute = getOntologyTreeData.getOntologyTree - .filter(el => el.name === format)[0].routes?.filter(el => JSON.stringify(el.path.concat(el.name)) === JSON.stringify(value))[0]; - if (searchedRoute === undefined) { - return; - } - const searchedStd: IStandardization | undefined = getStandardizationData.getStandardization.filter(el => { - return JSON.stringify(el.field) === JSON.stringify(searchedRoute.field); - })[0]; - if (searchedStd === undefined) { - return; - } - setSelectedStd({ - ...searchedStd, - field: searchedStd.field, - path: searchedStd.path - }); - }} - /> - -

- -
{ - const stdRules: unknown[] = []; - [...value.stdRules].forEach(el => { - delete el.__typename; - delete el.id; - stdRules.push(el); - }); - createStandardization({ - variables: { - studyId: studyId, - standardization: { - type: selectedStd.type, - field: value.field, - path: value.path, - joinByKeys: value.joinByKeys, - stdRules: stdRules - } - } - }).catch(() => { return; }); - }} - > - - - - - - - - - - - - - - remove(name)} /> - - ))} - - - - - )} - -
- { - editMode ? - - - : null - } - - ; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/tabContent.module.css deleted file mode 100644 index 90b6be295..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/data/tabContent.module.css +++ /dev/null @@ -1,148 +0,0 @@ -.tab_page_wrapper { - padding: 2rem; -} - -.scaffold_wrapper { - height: 100%; -} - -.scaffold_wrapper > div { - height: 100%; - overflow: auto; -} - -.field_management_section { - display: grid; - grid-template-columns: 100%; - grid-template-rows: auto; - grid-template-areas: - "a a" - "left right" - "c d"; -} - -.left_panel { - grid-area: leftPanel; -} - -.top_panel { - grid-area: versions; - background: var(--color-dataversions-background); - padding: 1rem 1.5rem 0rem 1.5rem; -} - -.right_panel { - grid-area: rightPanel; - background: var(--color-data-background); -} - -.add_new_fields_section { - background: var(--color-pop-up); - border-radius: 0.2rem; - padding: 1rem; - margin-bottom: 1rem; -} - -.add_new_fields_section h5 { - display: inline-block; - cursor: pointer; - font-size: 1rem; - padding: 0.5rem; - border-bottom: 1px solid var(--color-primary-color); -} - -.add_new_fields_section .selected_tab { - background-color: var(--color-primary-color); -} - -.data_summary_section { - display: grid; - grid-template-columns: 30% 5% 30% 5% 30%; - /* grid-template-rows: 150px 150px; */ - grid-template-areas: - "patients empty1 records empty2 unversioned" - "version empty1 visits empty2 empty3" - "date date date empty5 dummy" - "filename filename filename filename filename"; - height: 100%; -} - -.data_summary_section > div { - background-color: var(--color-ariane-tab-active-background); - padding: 1rem; - margin-bottom: 2rem; - overflow: hidden; -} - -.data_summary_section > div > div { - height: 100%; - width: 100%; - overflow: hidden; -} - -.top_panel h5 { - font-size: 1rem; - margin-right: 25rem; - display: inline-block; -} - -.number_highlight { - font-size: 1.7rem; - color: var(--color-primary-color); - font-weight: bold; -} - -.data_version_cube { - display: inline-block; - margin-bottom: 1rem; - padding: 0.7rem; - background-color: rgba(228, 228, 228, 0.1); - cursor: pointer; - /* box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.3); */ -} - -.data_version_cube:hover { - -webkit-box-shadow: inset 0px -2px 0px 0px var(--color-primary-color); - -moz-box-shadow: inset 0px -2px 0px 0px var(--color-primary-color); - box-shadow: inset 0px -2px 0px 0px var(--color-primary-color); -} - -.data_version_cube_current { - background-color: var(--color-status-finish); - /* color: white; */ -} - -.data_version_cube_selected_not_current { - background-color: #c1c1c1; - color: black; -} - -.arrow { - font-weight: bold; - color: #d2d2d2; -} - -.versioning_section_button { - margin-left: 3rem; - width: unset; - display: inline-block; - font-weight: normal; -} - -.switchButton { - display: inline-block; - width: 3rem; - transform: scale(0.7); -} - -.switchButton:hover { - background: rgb(90, 90, 90); -} - -.infocircle { - height: 1rem; -} - -.ant-table table { - font-size: 16px; -} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileRepo.module.css similarity index 61% rename from packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/tabContent.module.css rename to packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileRepo.module.css index 10689dc00..66797881f 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/tabContent.module.css +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileRepo.module.css @@ -73,3 +73,42 @@ .editable_row [class*="ant-form-item-explain"] { display: none; } + +.custom-text-hover { + cursor: pointer; + transition: all 0.3s ease; +} + +.overview-header { + display: flex; + align-items: center; + /* This will vertically center align the icon and the title */ + /* If there is still a misalignment, you may adjust by adding 'align-self' to the children */ + font-size: 20px; + font-weight: 500; + overflow: auto; +} + +.overview-icon { + background-color: #000; + /* Or any color you prefer */ + width: 4px; + /* Thickness of the line */ + height: 24px; + /* Height of the line, adjust as needed */ + margin-right: 16px; + /* Space between the line and the text */ + /* Adjust 'margin-top' if the line is not aligned with the text */ +} + +.overview-title { + /* Style for your title */ + font-size: 24px; + font-weight: bold; +} + +.overview-content { + /* Style for your content */ + text-indent: 30px; + /* Adjust the indent as needed */ +} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx index 87ca2f610..08c477e76 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/files/fileTab.tsx @@ -1,686 +1,743 @@ -import { FunctionComponent, useState, useEffect, useRef, useContext, Fragment, HTMLAttributes, createContext, ReactNode } from 'react'; -import { Button, Upload, notification, Tag, Table, Form, Input, InputRef, DatePicker, Space, Modal, FormInstance } from 'antd'; -import type { PickerRef } from 'rc-picker'; -import { RcFile } from 'antd/es/upload'; -import { UploadOutlined, DeleteOutlined } from '@ant-design/icons'; -import { Query } from '@apollo/client/react/components'; -import { useApolloClient, useMutation, useQuery } from '@apollo/client/react/hooks'; -import { useDropzone } from 'react-dropzone'; -import { GET_STUDY, UPLOAD_FILE, GET_ORGANISATIONS, GET_USERS, EDIT_STUDY, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { IFile, enumUserTypes, deviceTypes, IStudy } from '@itmat-broker/itmat-types'; -import { FileList, formatBytes } from '../../../reusable/fileList/fileList'; +import React, { FunctionComponent, useState } from 'react'; +import { Button, Table, List, Modal, Upload, Form, Select, Input, notification, message, Typography } from 'antd'; +import { CloudDownloadOutlined, InboxOutlined } from '@ant-design/icons'; +import { enumConfigType, IStudyConfig, IStudy, IField, enumDataTypes, IStudyFileBlock, enumUserTypes, IUserWithoutToken, deviceTypes, enumStudyBlockColumnValueType } from '@itmat-broker/itmat-types'; import LoadSpinner from '../../../reusable/loadSpinner'; -import { Subsection, SubsectionWithComment } from '../../../reusable/subsection/subsection'; -import css from './tabContent.module.css'; -import { ApolloError } from '@apollo/client/errors'; +import css from './fileRepo.module.css'; +import { trpc } from '../../../../utils/trpc'; +import { convertFileListToApiFormat, formatBytes, stringCompareFunc, tableColumnRender } from '../../../../utils/tools'; +import { UploadChangeParam } from 'antd/lib/upload'; +import { RcFile, UploadFile } from 'antd/lib/upload/interface'; +import axios from 'axios'; import { validate } from '@ideafast/idgen'; -import dayjs, { Dayjs } from 'dayjs'; -import { v4 as uuid } from 'uuid'; -import { ColumnProps } from 'antd/es/table'; - -type StudyFile = RcFile & { - uuid: string; - participantId?: string; - deviceId?: string; - startDate?: Dayjs; - endDate?: Dayjs; - tup?: string; -} - -const { RangePicker } = DatePicker; -let progressReports = []; +import dayjs from 'dayjs'; +import Highlighter from 'react-highlight-words'; +import ClipLoader from 'react-spinners/ClipLoader'; +import { ResponsiveLine } from '@nivo/line'; +import { ResponsiveBar } from '@nivo/bar'; + +const { Option } = Select; + +export const FileRepositoryTabContent: FunctionComponent<{ study: IStudy }> = ({ study }) => { + const whoAmI = trpc.user.whoAmI.useQuery(); + const getStudyConfig = trpc.config.getConfig.useQuery({ configType: enumConfigType.STUDYCONFIG, key: study.id, useDefault: true }); + const getStudyFields = trpc.data.getStudyFields.useQuery({ studyId: study.id }); + + if (whoAmI.isLoading || getStudyConfig.isLoading || getStudyFields.isLoading) { + return <> +
Loading...
+
+ +
+ ; + } -export const FileRepositoryTabContent: FunctionComponent<{ studyId: string }> = ({ studyId }) => { + if (whoAmI.isError || getStudyConfig.isError || getStudyFields.isError) { + const errorMessage = ( +
+

An error occurred:

+ {whoAmI.isError &&

{`whoAmI error: ${whoAmI.error.message}`}

} + {getStudyConfig.isError &&

{`getStudyConfig error: ${getStudyConfig.error.message}`}

} + {getStudyFields.isError &&

{`getStudyFields error: ${getStudyFields.error.message}`}

} +
+ ); - const [uploadMovement, setUploadMovement] = useState(0); - const [isDropOverlayShowing, setisDropOverlayShowing] = useState(false); - const [fileList, setFileList] = useState([]); - const [isUploading, setIsUploading] = useState(false); - const store = useApolloClient(); - const { loading: getOrgsLoading, error: getOrgsError, data: getOrgsData } = useQuery(GET_ORGANISATIONS); - const { loading: getStudyLoading, error: getStudyError, data: getStudyData } = useQuery<{ getStudy: IStudy & { files: IFile[] } }>(GET_STUDY, { variables: { studyId: studyId } }); - const { loading: getUsersLoading, error: getUsersError, data: getUsersData } = useQuery(GET_USERS, { variables: { fetchDetailsAdminOnly: false, fetchAccessPrivileges: false } }); - const { loading: whoAmILoading, error: whoAmIError, data: whoAmIData } = useQuery(WHO_AM_I); - const [searchTerm, setSearchTerm] = useState(''); - const [isEditingDescription, setIsEditingDescription] = useState(false); - const [datasetDescription, setDatasetDescription] = useState(''); - const [isFileSummaryShown, setIsFileSummaryShown] = useState(false); - const [editStudy] = useMutation(EDIT_STUDY, { - onCompleted: () => { window.location.reload(); }, - onError: () => { return; } - }); - const [uploadFile] = useMutation(UPLOAD_FILE, { - onCompleted: ({ uploadFile }) => { - const cachedata = store.readQuery<{ getStudy: IStudy & { files: IFile[] } }, { studyId: string }>({ - query: GET_STUDY, - variables: { studyId } - }); - if (!cachedata) - return; - const newcachedata = { - ...cachedata.getStudy, - files: [...cachedata.getStudy.files, uploadFile] - }; - store.writeQuery({ - query: GET_STUDY, - variables: { studyId }, - data: { getStudy: newcachedata } - }); - }, - onError: (error: ApolloError) => { - notification.error({ - message: 'Upload error!', - description: error.message ?? 'Unknown Error Occurred!', - placement: 'topRight', - duration: 0 - }); + return
{errorMessage}
; + } + return
+ +
+
+
Description
+
+
+ } + > + + + {study.description} + + + + { + ((getStudyConfig.data.properties as IStudyConfig).defaultFileBlocks ?? []).map((block, index) => ( + + )) } + ; +}; + +export const UploadFileComponent: FunctionComponent<{ study: IStudy, fields: IField[] }> = ({ study, fields }) => { + const [__unused__api, contextHolder] = notification.useNotification(); + const [isShowPanel, setIsShowPanel] = React.useState(false); + const [fileList, setFileList] = useState([]); + const [fileProperties, setFileProperties] = useState({ + fieldId: '' }); + const [isUploading, setIsUploading] = useState(false); + const getCurrentDomain = trpc.domain.getCurrentDomain.useQuery(); + const [form] = Form.useForm(); + let selectedField = fields.filter(el => el.fieldId === fileProperties.fieldId)[0]; - const onDropLocal = (acceptedFiles: Blob[]) => { - fileFilter(acceptedFiles.map(file => { - return file as StudyFile; - })); - }; + if (getCurrentDomain.isLoading) { + return ; + } - const onDragEnter = () => setisDropOverlayShowing(true); - const onDragOver = () => setisDropOverlayShowing(true); - const onDragLeave = () => setisDropOverlayShowing(false); - const onDropAccepted = () => setisDropOverlayShowing(false); - const onDropRejected = () => setisDropOverlayShowing(false); - - const { getRootProps, getInputProps } = useDropzone({ - noClick: true, - preventDropOnDocument: true, - noKeyboard: true, - onDrop: onDropLocal, - onDragEnter, - onDragOver, - onDragLeave, - onDropAccepted, - onDropRejected - }); + if (getCurrentDomain.isError) { + return
An error occured.
; + } - const removeFile = (record: StudyFile): void => { - setFileList(fileList => { - const index = fileList.findIndex(file => file.uuid === record.uuid); - const newFileList = [...fileList]; - newFileList.splice(index, 1); - return newFileList; - }); - }; + const handleUploadFile = async (variables: Record) => { + try { + setIsShowPanel(false); + setIsUploading(true); + const files = await convertFileListToApiFormat(fileList, 'file'); + const formData = new FormData(); + if (files.length > 0) { + files.forEach(file => { + formData.append('file', file.stream, file.originalname); + }); + } - const fileFilter = (files: StudyFile[]) => { - files.forEach((file) => { - const matcher = /(.{1})(.{6})-(.{3})(.{6})-(\d{8})-(\d{8})\.(.*)/; - const particules = file.name.match(matcher); - if (particules?.length === 8) { - if (Object.keys(sites).includes(particules[1].toUpperCase()) - && validate(particules[2].toUpperCase())) - file.participantId = `${particules[1].toUpperCase()}${particules[2].toUpperCase()}`; - if (Object.keys(deviceTypes).includes(particules[3].toUpperCase()) - && validate(particules[4].toUpperCase())) - file.deviceId = `${particules[3].toUpperCase()}${particules[4].toUpperCase()}`; - const startDate = dayjs(particules[5], 'YYYYMMDD'); - const endDate = dayjs(particules[6], 'YYYYMMDD'); - if (startDate.isSame(endDate) || startDate.isBefore(endDate)) { - if (startDate.isValid()) - file.startDate = startDate; - if (endDate.isValid() && (endDate.isSame(dayjs()) || endDate.isBefore(dayjs()))) - file.endDate = endDate; + formData.append('fieldId', String(variables.fieldId)); + formData.append('studyId', String(variables.studyId)); + formData.append('properties', JSON.stringify({ + ...variables, + FileName: fileList[0].name + })); + const response = await axios.post('/trpc/data.uploadStudyFileData', formData, { + headers: { + 'Content-Type': 'multipart/form-data' } + }); + + if (response?.data?.result?.data?.id) { + setIsUploading(false); + setIsShowPanel(false); + void message.success('File has been uploaded.'); } - progressReports[`UP_${file.participantId}_${file.deviceId}_${file.startDate?.valueOf()}_${file.endDate?.valueOf()}`] = undefined; - file.uuid = uuid(); - fileList.push(file); - }); - setFileList([...fileList]); - }; - const validFile = fileList.filter((file) => file.deviceId && file.participantId && file.startDate && file.endDate); - const uploadHandler = () => { - - const uploads: Promise[] = []; - setIsUploading(true); - validFile.forEach(file => { - const description = { - participantId: file.participantId?.trim().toUpperCase(), - deviceId: file.deviceId?.trim().toUpperCase(), - startDate: file.startDate?.valueOf(), - endDate: file.endDate?.valueOf(), - tup: file.tup?.trim().toUpperCase() - }; - const uploadMapHackName = `UP_${description.participantId}_${description.deviceId}_${description.startDate}_${description.endDate}`; - if (!window.onUploadProgressHackMap) - window.onUploadProgressHackMap = {}; - window.onUploadProgressHackMap[uploadMapHackName] = (progressEvent) => { - setUploadMovement(Math.random); - progressReports = { - ...progressReports, - [uploadMapHackName]: progressEvent - }; - }; - uploads.push(uploadFile({ - variables: { - file, - studyId, - description: JSON.stringify(description), - fileLength: file.size - } - }).then(result => { - if (!result.data) { - // Any accompanying error should already be displayed by `uploadFile` - console.error(result.errors, result.extensions?.code); - return; - } - delete window.onUploadProgressHackMap[uploadMapHackName]; - delete progressReports[uploadMapHackName]; - removeFile(file); - notification.success({ - message: 'Upload succeeded!', - description: `File ${result.data.uploadFile.fileName} was successfully uploaded!`, - placement: 'topRight' - }); - }).catch(error => { - delete window.onUploadProgressHackMap[uploadMapHackName]; - delete progressReports[uploadMapHackName]; - notification.error({ - message: 'Upload error!', - description: error?.message ?? error ?? 'Unknown Error Occurred!', - placement: 'topRight', - duration: 0 - }); - })); - }); - Promise.all(uploads).then(() => { - setIsUploading(false); - }).catch(() => { + } catch (error) { + // Check if the error is an AxiosError and handle it accordingly + if (axios.isAxiosError(error)) { + void message.error(String(JSON.parse(error.request?.response).error.message)); + } else { + // Handle non-Axios errors + void message.error('An unexpected error occurred.'); + } + } finally { setIsUploading(false); - }); - }; - - const uploaderProps = { - onRemove: (file) => { - const target = fileList.indexOf(file); - setFileList(fileList.splice(0, target).concat(fileList.splice(target + 1))); - }, - beforeUpload: (file) => { - fileFilter([file]); - return true; - }, - fileList: fileList.map(file => ({ - ...file, - originFileObj: file - })), - multiple: true, - showUploadList: false - }; + } - const handleSave = record => { - setFileList(fileList => { - const index = fileList.findIndex(file => file.uuid === record.uuid); - const newFileList = [...fileList]; - const newFile = fileList[index]; - newFile.participantId = record.participantId; - newFile.deviceId = record.deviceId; - newFile.startDate = record.startDate; - newFile.endDate = record.endDate; - newFile.tup = record.tup; - newFileList.splice(index, 1, newFile); - return newFileList; - }); }; - const fileDetailsColumns = [ - { - title: 'File name', - dataIndex: 'name', - key: 'fileName', - sorter: (a, b) => a.fileName.localeCompare(b.fileName), - render: (value, record) => { - const progress = progressReports[`UP_${record.participantId}_${record.deviceId}_${record.startDate?.valueOf()}_${record.endDate?.valueOf()}`]; - if (progress) - return {Math.round(1000 * (progress.loaded - 1) / progress.total) / 10}%; - return value; - } - }, - { - title: 'Participant ID', - dataIndex: 'participantId', - key: 'pid', - editable: true, - width: '10rem' - }, - { - title: 'Site', - dataIndex: 'siteId', - key: 'site', - render: (__unused__value, record) => record.participantId ? sites[record.participantId.substr(0, 1)] : null - }, - { - title: 'Device ID', - dataIndex: 'deviceId', - key: 'did', - editable: true, - width: '12rem' - }, - { - title: 'Device type', - dataIndex: 'deviceType', - key: 'stype', - render: (__unused__value, record) => record.deviceId ? deviceTypes[record.deviceId.substr(0, 3)] : null - }, - { - title: 'Period', - dataIndex: 'period', - key: 'period', - editable: true, - width: '24rem' - }, - { - title: 'TUP', - dataIndex: 'tup', - key: 'tup', - editable: true, - width: '24rem' - }, + return (
+ {contextHolder} + + setIsShowPanel(false)} + onOk={() => void handleUploadFile({ + ...form.getFieldsValue(), + studyId: study.id + })} + > + { + return false; + }} + onChange={(info: UploadChangeParam) => { + // Filter out any items that do not have originFileObj + const validFiles: RcFile[] = info.fileList + .map(item => item.originFileObj) + .filter((file): file is RcFile => !!file); + // We set a special case for IDEA-FAST project because the validator could not be merged into the new rules + if (getCurrentDomain.data?.name === 'IDEA-FAST' && study.description?.startsWith('IDEA-FAST')) { + try { + if (validFiles.length !== 1) { + return; + } + const fileName = validFiles[0].name; + const matcher = /(.{1})(.{6})-(.{3})(.{6})-(\d{8})-(\d{8})\.(.*)/; + const particules = fileName.match(matcher); + const properties: Record = {}; + if (!particules) { + return; + } + if (particules?.length === 8) { + if (validate(particules[2].toUpperCase())) + properties.subjectId = `${particules[1].toUpperCase()}${particules[2].toUpperCase()}`; + if (validate(particules[4].toUpperCase())) + properties.deviceId = `${particules[3].toUpperCase()}${particules[4].toUpperCase()}`; + const startDate = dayjs(particules[5], 'YYYYMMDD'); + const endDate = dayjs(particules[6], 'YYYYMMDD'); + if (startDate.isSame(endDate) || startDate.isBefore(endDate)) { + if (startDate.isValid()) + properties.startDate = startDate.valueOf(); + if (endDate.isValid() && (endDate.isSame(dayjs()) || endDate.isBefore(dayjs()))) + properties.endDate = endDate.valueOf(); + } + } + const fieldId = `Device_${deviceTypes[particules[3]].replace(/ /g, '_')}`; + form.setFieldsValue({ + fieldId: fieldId, + subjectId: properties.subjectId, + deviceId: properties.deviceId, + startDate: properties.startDate, + endDate: properties.endDate + }); + setFileProperties({ + fieldId: fieldId + }); + selectedField = fields.filter(el => el.fieldId === fieldId)[0]; + } catch { + void message.error('Failed to upload file.'); + } + } + setFileList(validFiles); + }} + onRemove={() => setFileList([])} + > +

+ +

+

+ Drag files here or click to select files +

+
+
+ + + + { + (selectedField && selectedField.properties) ? selectedField.properties.filter(el => el.name !== 'FileName').map(el => + + + + ) + : null + } +
+
{ - key: 'delete', - render: (__unused__value, record) => - }] - .map(col => { - if (!col.editable) { - return col; - } - return { - ...col, - onCell: record => ({ - record: { - ...record, - period: [record.startDate, record.endDate] - }, - editable: col.editable, - dataIndex: col.dataIndex, - title: col.title, - handleSave - }) - }; - }); + isUploading ? ( +
+ + Uploading...Please wait +
+ ) : null + } +
); +}; - if (getOrgsLoading || getStudyLoading || getUsersLoading || whoAmILoading) +export const FileBlock: FunctionComponent<{ user: IUserWithoutToken, fields: IField[], study: IStudy, block: IStudyFileBlock }> = ({ user, fields, study, block }) => { + const [searchedKeyword, setSearchedKeyword] = useState(undefined); + const [isModalOn, setIsModalOn] = useState(false); + const getFiles = trpc.data.getFiles.useQuery({ studyId: study.id, fieldIds: block.fieldIds, readable: true, useCache: false }); + const deleteFile = trpc.data.deleteFile.useMutation({ + onSuccess: () => { + void message.success('File has been deleted.'); + }, + onError: () => { + void message.error('Failed to delete file.'); + } + }); + if (getFiles.isLoading) { return ; - - if (getOrgsError || getStudyError || getUsersError || whoAmIError) - return
- An error occured, please contact your administrator -
; - - if (!getStudyData) { - return null; } - - const userIdNameMapping = getUsersData.getUsers.reduce((a, b) => { a[b['id']] = b['firstname'].concat(' ').concat(b['lastname']); return a; }, {}); - - const sites = getOrgsData.getOrganisations.filter(org => org.metadata?.siteIDMarker).reduce((prev, current) => ({ - ...prev, - [current.metadata.siteIDMarker]: current.shortname ?? current.name - }), {}); - - function dataSourceFilter(files: IFile[]) { - const studyLevelFiles: IFile[] = []; - const subjectLevelFiles: IFile[] = []; - for (const file of files) { - if (file.description && Object.keys(JSON.parse(file.description)).length !== 0) { - if (file !== null && file !== undefined && - (!searchTerm - || (JSON.parse(file.description).participantId).toUpperCase().indexOf(searchTerm) > -1 - || sites[JSON.parse(file.description).participantId[0]].toUpperCase().indexOf(searchTerm) > -1 - || JSON.parse(file.description).deviceId.toUpperCase().indexOf(searchTerm) > -1 - || deviceTypes[JSON.parse(file.description).deviceId.substr(0, 3)].toUpperCase().indexOf(searchTerm) > -1 - || (!userIdNameMapping[file.life.createdTime] || userIdNameMapping[file.life.createdTime].toUpperCase().indexOf(searchTerm) > -1))) { - subjectLevelFiles.push(file); - } - } else { - studyLevelFiles.push(file); - } - } - subjectLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); - studyLevelFiles.sort((a, b) => a.life.createdTime - b.life.createdTime); - return [subjectLevelFiles, studyLevelFiles]; + if (getFiles.isError) { + return
An error occured.
; } - const sortedFiles = dataSourceFilter(getStudyData.getStudy.files); - const numberOfFiles = sortedFiles[0].length; - const sizeOfFiles = sortedFiles[0].reduce((a, b) => a + (b.fileSize || 0), 0); - const participantOfFiles = sortedFiles[0].reduce(function (values, v) { - if (v.description && !values.set[JSON.parse(v['description'])['participantId']]) { - values.set[JSON.parse(v['description'])['participantId']] = 1; - values.count++; - } - return values; - }, { set: {}, count: 0 }).count; - // format the file structure - const fileSummary: { site: string, total: number }[] = []; - const categoryColumns: ColumnProps<{ site: string, total: number }>[] = []; - if (sortedFiles[0].length > 0) { - const availableSites: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').participantId[0]).sort())); - const availableDeviceTypes: string[] = Array.from(new Set(sortedFiles[0].map(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3)).sort())); - categoryColumns.push( - { - title: 'Site', - dataIndex: 'site', - key: 'site', - render: (__unused__value, record) => sites[record.site] ? sites[record.site].concat(' (').concat(record.site).concat(')') : record.site + const columns = generateTableColumns(block, searchedKeyword); + if (user.type === enumUserTypes.ADMIN) { + columns.push({ + title: '', + dataIndex: 'delete', + key: 'delete', + render: (__unused__value, record) => { + return ; } - ); - for (const deviceType of availableDeviceTypes) { - categoryColumns.push({ - title: deviceType, - dataIndex: deviceType, - key: deviceType, - render: (__unused__value, record) => record[deviceType] ? record[deviceType].toString() : deviceTypes[record[deviceType]] - }); - } - categoryColumns.push({ - title: 'Total', - dataIndex: 'Total', - key: 'total', - render: (__unused__value, record) => record.total }); - for (const site of availableSites) { - const tmpData = { - site: site, - total: 0 - }; - for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => (JSON.parse(el.description ?? '').participantId[0] === site - && JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType)).length; - } - tmpData.total = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').participantId[0] === site).length; - fileSummary.push(tmpData); - } - const tmpData = { - site: 'Total', - total: sortedFiles[0].length - }; - for (const deviceType of availableDeviceTypes) { - tmpData[deviceType] = sortedFiles[0].filter(el => JSON.parse(el.description ?? '').deviceId.substr(0, 3) === deviceType).length; - } - fileSummary.push(tmpData); } - return
} className={`${css.scaffold_wrapper} ${isDropOverlayShowing ? css.drop_overlay : ''}`}> - - {fileList.length > 0 - ? -
- - - - -
-
- rec.uuid} - rowClassName={() => css.editable_row} - pagination={false} - columns={fileDetailsColumns} - dataSource={fileList} - size='small' - components={{ body: { row: EditableRow, cell: EditableCell } }} /> - -     - - - - :
- - - - : - - : null - }> - { - (isEditingDescription && whoAmIData.whoAmI.type === enumUserTypes.ADMIN) ? { setDatasetDescription(e.target.value); }}> - : - (getStudyData.getStudy.description === null || getStudyData.getStudy.description === '') ? 'No descriptions.' : getStudyData.getStudy.description - } -
-
-
- - query={GET_STUDY} variables={{ studyId }}> - {({ loading, data, error }) => { - if (loading || error) - return <>To upload files you can click on the button below or drag and drop files directly from your hard drive.; - return <>To upload files to {data?.getStudy.name} you can click on the button below or drag and drop files directly from your hard drive.; - }} - -
- If the file name is of the form XAAAAAA-DDDBBBBBB-00000000-00000000.EXTwe will extract metadata automatically. If not, you will be prompted to enter the relevant information.

- - - -
-
-
-
- - Total Files: {numberOfFiles} - Total Size: {formatBytes(sizeOfFiles)} - Total Participants: {participantOfFiles} - - } - > - setIsFileSummaryShown(false)} onOk={() => setIsFileSummaryShown(false)} width={'60%'}> -
Number of files associated to sites and device types.

-

- - {Object.keys(deviceTypes).sort().map((el, index) => {`${el}: ${deviceTypes[el]}`})} - - - setSearchTerm(value?.toUpperCase())} /> - - -
-
- - + const filteredFiles = getFiles.data.filter(el => { + if (!searchedKeyword) { + return true; + } else { + const keyword = searchedKeyword.toLowerCase(); + if ( + el.fileName?.toLowerCase().includes(keyword) || + el.life?.createdUser?.toLowerCase().includes(keyword) || + Object.keys(el.properties ?? {}).some(key => String(el.properties?.[key]).toLowerCase().includes(keyword)) + ) { + return true; + } + return false; } - ; -}; + }); -const EditableContext = createContext(null); + const summaryByMonth = (filteredFiles) => { + // Create a map to hold the counts per month + const fileCounts: { [key: string]: number } = {}; -type EditableRowProps = { - index: number; -} + // Iterate over each file and extract the createdTime + filteredFiles.forEach(file => { + if (file.life?.createdTime) { + // Convert createdTime (Unix timestamp) to a JavaScript Date object + const createdDate = new Date(file.life.createdTime); -const EditableRow: FunctionComponent = ({ index, ...props }) => { - const [form] = Form.useForm(); + // Format the date as 'YYYY-MM' for the month + const month = `${createdDate.getFullYear()}-${String(createdDate.getMonth() + 1).padStart(2, '0')}`; - useEffect(() => { - form.validateFields().catch(() => { return; }); - }); + // Increment the count for the corresponding month + if (fileCounts[month]) { + fileCounts[month]++; + } else { + fileCounts[month] = 1; + } + } + }); - return ( -
- -
- - - ); -}; + // Convert the map into an array of {x: month, y: count} objects + const result = Object.keys(fileCounts).map(month => ({ + x: month, + y: fileCounts[month] + })); -interface EditableCellProps { - editable: boolean; - children: ReactNode; - dataIndex: string; - record: StudyFile; - handleSave: (__unused__record: StudyFile) => void; -} + // Sort the result array by the 'x' (month) value + result.sort((a, b) => { + const dateA = new Date(a.x + '-01'); // Adding '-01' to treat it as a full date (YYYY-MM-DD) + const dateB = new Date(b.x + '-01'); + return dateA.getTime() - dateB.getTime(); + }); + // Return in the expected format + return [{ + id: 'Month', + color: 'hsl(127, 70%, 50%)', + data: result + }]; + }; -const EditableCell: FunctionComponent = ({ - editable, - children, - dataIndex, - record, - handleSave, - ...restProps -}) => { - const [editing, setEditing] = useState(false); - const inputRef = useRef(null); - const rangeRef = useRef(null); - const form = useContext(EditableContext); - const { loading: getOrgsLoading, error: getOrgsError, data: getOrgsData } = useQuery(GET_ORGANISATIONS); - - useEffect(() => { - if (editable && !editing) { - form !== null && form.setFieldsValue(record); - setEditing(true); - } - }, [editable, editing, form, record]); - if (form === null) { - return null; - } + const summaryByUser = (filteredFiles) => { + // Create a map to hold the counts per user + const userCounts: { [key: string]: number } = {}; + // Iterate over each file and extract the createdUser + filteredFiles.forEach(file => { + const createdUser = file.life?.createdUser || 'Unknown User'; // Fallback to 'Unknown User' if createdUser is null/undefined - const save = () => { - (async () => { - try { - const values = await form.validateFields(); - handleSave({ ...record, ...values }); - } catch (__unused__exception) { - // console.error(errInfo); + // Increment the count for the corresponding user + if (userCounts[createdUser]) { + userCounts[createdUser]++; + } else { + userCounts[createdUser] = 1; } - })().catch(() => { return; }); - }; - - if (getOrgsLoading) - return ; + }); - if (getOrgsError) - return
- An error occured, please contact your administrator: {getOrgsError.message} -
; + // Convert the map into an array of {x: user, y: count} objects + const result = Object.keys(userCounts).map(user => ({ + user: user.split(' ').map(el => (el[0] ?? '').toUpperCase()).join(''), + userFullName: user, + files: userCounts[user] + })); - const sites = getOrgsData.getOrganisations.filter(org => org.metadata?.siteIDMarker).reduce((prev, current) => ({ - ...prev, - [current.metadata.siteIDMarker]: current.name - }), {}); + // Sort the result array by the 'y' (count) value in descending order + result.sort((a, b) => a.user.localeCompare(b.user)); - let childNode = children; + // Return in the expected format + return result; + }; - if (editing) { - if (dataIndex === 'period') { - childNode = <> - - - - - - - ({ - async validator() { - if (getFieldValue('startDate') && getFieldValue('endDate')) - return Promise.resolve(); - return Promise.reject('Missing dates'); + return +
+
+
{block.title}
+
+
+ el.dataType === enumDataTypes.FILE)} /> +
+ + } + > + +
+
+ setSearchedKeyword(e.target.value)} + /> +
+
+ + {`Files: ${filteredFiles.length}`} + + + {`Size: ${formatBytes(filteredFiles.reduce((acc, curr) => acc + (Number(curr?.fileSize) || 0), 0))}`} + + +
+
+ setIsModalOn(false)} + footer={null} + width='80%' + > +

Progress by Month

+
+ - { - return dayjs().isBefore(currentDate); - }} onCalendarChange={(dates) => { - if (dates === null) - return; - form.setFieldsValue({ startDate: dates[0] }); - form.setFieldsValue({ endDate: dates[1] }); - }} onBlur={save} /> - - ; - } else { - childNode = { - if (dataIndex === 'participantId') { - if (!Object.keys(sites).includes(value?.[0])) - throw new Error('Invalid site marker'); - if (value.length === 7) { - if (!validate(value?.substr(1).toUpperCase())) - throw new Error('Invalid participant ID'); - return Promise.resolve(); + ]} + /> +
+

Progress by Uploaders

+
+ { + return { + tickSize: 10, + tickPadding: 0, + tickRotation: -90, + legend: 'User', + legendPosition: 'middle', + legendOffset: 32, + truncateTickAt: 0 + }; + })()} + axisLeft={{ + tickSize: 5, + tickPadding: 5, + tickRotation: 0, + legend: 'Files', + legendPosition: 'middle', + legendOffset: -40, + truncateTickAt: 0 + }} + labelSkipWidth={12} + labelSkipHeight={12} + labelTextColor={{ + from: 'color', + modifiers: [ + [ + 'darker', + 1.6 + ] + ] + }} + legends={[ + { + dataFrom: 'keys', + anchor: 'bottom-right', + direction: 'column', + justify: false, + translateX: 120, + translateY: 0, + itemsSpacing: 2, + itemWidth: 100, + itemHeight: 20, + itemDirection: 'left-to-right', + itemOpacity: 0.85, + symbolSize: 20, + effects: [ + { + on: 'hover', + style: { + itemOpacity: 1 + } + } + ] + } + ]} + tooltip={(d) => `${d.data.userFullName}: ${d.data.files} files`} + role="application" + ariaLabel="Nivo bar chart demo" + barAriaLabel={e => e.id + ': ' + e.formattedValue + ' in country: ' + e.indexValue} + /> +

+

Statistics by Group

+
+ - ; + +
+
+
+ +
+
+ + + ; +}; + +type CustomColumnType = { + title: React.ReactNode; + dataIndex: string; + key: string; + sorter?: (a, b) => number; + render?: (value, record) => React.ReactNode; +}; + +function generateTableColumns(block: IStudyFileBlock, searchedKeyword: string | undefined) { + const columns: CustomColumnType[] = [{ + title: 'File Name', + dataIndex: 'fileName', + key: 'fileName', + sorter: (a, b) => { return stringCompareFunc(a.fileName, b.fileName); }, + render: (__unused__value, record) => { + if (searchedKeyword) + return ; + else + return record.fileName; } + }, { + title: 'File Size', + dataIndex: 'fileSize', + key: 'fileSize', + sorter: (a, b) => { return a.fileSize - b.fileSize; }, + render: (__unused__value, record) => { + return formatBytes(record.fileSize); + } + }, { + title: 'Uploaded Time', + dataIndex: 'uploadedTime', + key: 'uploadedTime', + sorter: (a, b) => { return (new Date(a.life.createdTime)).valueOf() - (new Date(b.life.createdTime)).valueOf(); }, + render: (__unused__value, record) => { + return (new Date(record.life.createdTime)).toLocaleDateString(); + } + }, { + title: 'Uploaded By', + dataIndex: 'uploadedBy', + key: 'uploadedBy', + render: (__unused__value, record) => { + if (searchedKeyword) + return ; + else + return record.life.createdUser; + } + }]; + for (const bcolumn of block.defaultFileColumns) { + columns.push({ + title: {bcolumn.title}, + dataIndex: bcolumn.property, + key: bcolumn.property, + sorter: (a, b) => { + if (bcolumn.type === enumStudyBlockColumnValueType.TIME) { + return (new Date(tableColumnRender(a, bcolumn))).valueOf() - (new Date(tableColumnRender(b, bcolumn))).valueOf(); + } + return stringCompareFunc(tableColumnRender(a, bcolumn), tableColumnRender(b, bcolumn)); + }, + render: (__unused__value, record) => { + const formattedText = tableColumnRender(record, bcolumn); + if (searchedKeyword) + return ; + else + return formattedText; + } + }); } + columns.push({ + title: '', + dataIndex: 'download', + key: 'download', + render: (__unused__value, record) => { + return ; + } + }); + + return columns; +} - return ; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/index.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/index.tsx index c65001421..e9caa694e 100644 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/index.tsx +++ b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/index.tsx @@ -1,5 +1,2 @@ export { AdminTabContent } from './admin/adminTab'; -export { DataManagementTabContentFetch } from './data/dataTab'; -export { FieldManagementTabContentFetch } from './data/fieldTab'; export { DashboardTabContent } from './dashboard/dashBoardTab'; -export { ProjectsTabContent } from './projects/projectTab'; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx deleted file mode 100644 index eca2e417d..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/deleteProjectSection.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { FunctionComponent, useState } from 'react'; -import { Mutation } from '@apollo/client/react/components'; -import { Navigate } from 'react-router'; -import { WHO_AM_I, DELETE_PROJECT, GET_STUDY } from '@itmat-broker/itmat-models'; -import { IProject, IStudy, IUserWithoutToken } from '@itmat-broker/itmat-types'; - -export const DeleteProjectSection: FunctionComponent<{ studyId: string; projectId: string; projectName: string }> = ({ studyId, projectId, projectName }) => { - const [isExpanded, setIsExpanded] = useState(false); - const [inputText, setInput] = useState(''); - const [error, setError] = useState(''); - const [deleted, setDeleted] = useState(false); - - if (!isExpanded) { - return { setIsExpanded(true); setInput(''); }}>Click to delete; - } - - if (deleted) { - return ; - } - - return <> -

Warning! This is irreversible! If you really want to delete this project, please type the name of the project ({projectName}) below to confirm.

- { setInput(e.target.value); setError(''); }} />

- - mutation={DELETE_PROJECT} - update={(store) => { - // Read the data from our cache for this query. - const data = store.readQuery<{ getStudy: IStudy & { projects: IProject[] } }, { studyId: string, admin: boolean }>({ query: GET_STUDY, variables: { studyId, admin: true } }); - if (data === null) { - return; - } - // Add our comment from the mutation to the end. - const newProjects = data.getStudy.projects.filter((el: IProject) => el.id !== projectId); - data.getStudy.projects = newProjects; - // Write our data back to the cache. - store.writeQuery({ query: GET_STUDY, variables: { studyId, admin: true }, data }); - - // Read the data from our cache for this query. - const whoAmI = store.readQuery<{ whoAmI: IUserWithoutToken & { access: { id: string, studies: IStudy[], projects: IProject[] } } }>({ query: WHO_AM_I }); - if (whoAmI === null) { - return; - } - // Add our comment from the mutation to the end. - // const newWhoAmIProjects = whoAmI.whoAmI.access.projects.filter((el: IProject) => el.id !== projectId); - whoAmI.whoAmI.access.projects = newProjects; - // Write our data back to the cache. - store.writeQuery({ query: WHO_AM_I, data: whoAmI }); - }} - onCompleted={() => setDeleted(true)} - > - {(deleteProject, { loading }) => - loading ? - : - - } - -
- {error ?
{error}
: null} - ; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/fieldList.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/fieldList.tsx deleted file mode 100644 index 8208511f0..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/fieldList.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { FunctionComponent } from 'react'; -import { useQuery } from '@apollo/client/react/hooks'; -import { GET_STUDY } from '@itmat-broker/itmat-models'; -import LoadSpinner from '../../../../reusable/loadSpinner'; - -export const GrantedFieldListSection: FunctionComponent<{ originalCheckedList: string[]; studyId: string; projectId: string }> = ({ studyId }) => { - const { loading, data, error } = useQuery(GET_STUDY, { variables: { studyId } }); - if (loading) { return ; } - if (error) { return

{error.toString()}

; } - const { getStudy } = data; - - if (!getStudy || !getStudy.dataVersions || getStudy.dataVersions.length === 0) { - return

No data has been uploaded.

; - } - return null; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/fileList.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/fileList.tsx deleted file mode 100644 index 9e72533b9..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/fileList.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import { FunctionComponent } from 'react'; - -export const GrantedFileListSelection: FunctionComponent = () => { - return null; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx deleted file mode 100644 index 6002f6fba..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/patientIdMapping.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { FunctionComponent, useState } from 'react'; -import { Query } from '@apollo/client/react/components'; -import { GET_PROJECT_PATIENT_MAPPING } from '@itmat-broker/itmat-models'; -import LoadSpinner from '../../../../reusable/loadSpinner'; -import { Button } from 'antd'; -import { IProject } from '@itmat-broker/itmat-types'; - -export const PatientIdMappingSection: FunctionComponent<{ projectId: string }> = ({ projectId }) => { - const [clickedFetch, setClickedFetch] = useState(false); - const [currentProjectId, setCurrentProjectId] = useState(projectId); - - if (projectId !== currentProjectId) { - setClickedFetch(false); - setCurrentProjectId(projectId); - } - - if (!clickedFetch) { return ; } - return query={GET_PROJECT_PATIENT_MAPPING} variables={{ projectId }}> - {({ data, loading, error }) => { - if (loading) { return ; } - if (error) { return

{error.toString()}

; } - if (!data || !data.getProject || !data.getProject.patientMapping) { return

'Cannot fetch data'

; } - return ; - }} - ; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.module.css deleted file mode 100644 index 870f59010..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.module.css +++ /dev/null @@ -1,49 +0,0 @@ -.project_detail_scaffold { - display: grid; - height: 100%; - width: 100%; - grid-template-columns: 80% 20%; - grid-template-rows: 50px calc(100% - 50px); - grid-template-areas: - "ariane ariane" - "leftpanel rightpanel"; -} - -.project_detail_left { - height: 100%; - overflow: auto; - padding: 1.2rem; - grid-area: leftpanel; -} - -.project_detail_right { - height: 100%; - overflow: auto; - background: var(--color-data-background); - padding: 1.2rem; - grid-area: rightpanel; -} - -.project_detail_title { - height: 100%; - overflow: hidden; - grid-area: ariane; - line-height: 50px; - font-size: 1.5rem; - background: var(--color-dataversions-background); -} - -/* backbutton to project list */ -.project_detail_title > a > div { - display: inline-block; - background: var(--color-ariane-tab-active-background); - width: 50px; - height: 50px; - text-align: center; - margin-right: 1rem; -} - -/* backbutton to project list */ -.project_detail_title > a > div:hover { - background: var(--color-scroll-bar-active); -} diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx deleted file mode 100644 index d3908e5d5..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/detailSections/projectDetail.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { FunctionComponent } from 'react'; -import { Query } from '@apollo/client/react/components'; -import { GET_PROJECT, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { Subsection } from '../../../../reusable'; -import LoadSpinner from '../../../../reusable/loadSpinner'; -import { RoleControlSection } from '../../../../reusable/roleControlSection/roleControlSection'; -import { DeleteProjectSection } from './deleteProjectSection'; -import { PatientIdMappingSection } from './patientIdMapping'; -import css from './projectDetail.module.css'; -import { NavLink, useParams } from 'react-router-dom'; -import { useQuery } from '@apollo/client/react/hooks'; -import { IProject, IRole, enumUserTypes } from '@itmat-broker/itmat-types'; - -export const ProjectDetail: FunctionComponent = () => { - const { projectId, studyId } = useParams(); - const { loading: whoamiloading, error: whoamierror, data: whoamidata } = useQuery(WHO_AM_I); - if (whoamiloading) { return

Loading..

; } - if (whoamierror) { return

ERROR: please try again.

; } - - if (!projectId || !studyId) - return null; - return - query={GET_PROJECT} - variables={{ projectId, admin: whoamidata.whoAmI.type === enumUserTypes.ADMIN }} - > - {({ data, loading, error }) => { - if (loading) { return ; } - if (error) { return

{error.toString()}

; } - if (!data || !data.getProject) { return

Cannot find this project! Please contact admin.

; } - - return
-
-
⬅
{data.getProject.name} -
-
- - - - - - - - - -
-
-
-
; - }} - ; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx deleted file mode 100644 index df6f93cea..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectListSection.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { FunctionComponent, useState } from 'react'; -import { Mutation } from '@apollo/client/react/components'; -import { NavLink, Navigate } from 'react-router-dom'; -import { CREATE_PROJECT } from '@itmat-broker/itmat-models'; -import css from './tabContent.module.css'; -import { Button, Input } from 'antd'; -import { IProject } from '@itmat-broker/itmat-types'; - -export const ProjectListSection: FunctionComponent<{ studyId: string; projectList: Array<{ id: string; name: string }> }> = ({ studyId, projectList }) => { - return
- {projectList.map((el) => )} -
; -}; - -const OneProject: FunctionComponent<{ studyId: string; id: string; name: string }> = ({ id, name, studyId }) => { - return (<> -
- ); -}; - - - -export const AddNewProject: FunctionComponent<{ studyId: string }> = ({ studyId }) => { - const [projectName, setProjectName] = useState(''); - const [error, setError] = useState(''); - - return
- Project Name: - { setError(''); setProjectName(e.target.value); }} type='text' placeholder='Enter name' />

- mutation={CREATE_PROJECT} - > - {(addNewProject, { loading, data }) => - <> - {data ? : null} - { - loading ? - : - - } - - } - - { - error ?
{error}
: null - } -
; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectTab.tsx b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectTab.tsx deleted file mode 100644 index 7efb1843d..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/projectTab.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { FunctionComponent } from 'react'; -import { useQuery } from '@apollo/client/react/hooks'; -import { Route, Routes, useParams, Navigate } from 'react-router-dom'; -import { Subsection } from '../../../reusable/subsection/subsection'; -import { ProjectDetail } from './detailSections/projectDetail'; -import { ProjectListSection, AddNewProject } from './projectListSection'; -import LoadSpinner from '../../../reusable/loadSpinner'; -import { WHO_AM_I } from '@itmat-broker/itmat-models'; -import { enumUserTypes } from '@itmat-broker/itmat-types'; -import css from './tabContent.module.css'; - -export const ProjectsTabContent: FunctionComponent<{ projectList: { id: string; name: string }[] }> = ({ projectList }) => { - const { studyId } = useParams(); - const { loading: whoAmILoading, error: whoAmIError, data: whoAmIData } = useQuery(WHO_AM_I); - if (whoAmILoading) { - return ; - } - if (!studyId || whoAmIError) - return ; - if (whoAmIData.whoAmI.type === enumUserTypes.ADMIN) { - return - } /> - -
- - - -
-
- - - -
- } /> - } /> -
; - } else - return ; -}; diff --git a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/tabContent.module.css b/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/tabContent.module.css deleted file mode 100644 index fb1610a38..000000000 --- a/packages/itmat-ui-react/src/components/datasetDetail/tabContent/projects/tabContent.module.css +++ /dev/null @@ -1,31 +0,0 @@ -.tab_page_wrapper { - display: grid; - grid-template-columns: 50% 50%; - grid-template-rows: 100%; - height: 100%; - overflow: auto; -} - -.tab_page_wrapper > div { - padding: 2rem; - height: 100%; -} -/* right panel*/ -.tab_page_wrapper > div:nth-child(2) { - background: var(--color-additional-panel-background); -} - -.add_new_project_tr input { - background-color: #484848; - border: none; - margin: 0px; -} - -.project_badge { - height: 3.5rem; - background: var(--color-pop-up); - color: unset; - font-size: 1.2rem; - margin: 0 0 1rem 0; - overflow: hidden; -} diff --git a/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx b/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx index 70f3904cd..becb71d39 100644 --- a/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx +++ b/packages/itmat-ui-react/src/components/datasetList/addNewDataSet.tsx @@ -1,84 +1,70 @@ import { FunctionComponent, useState } from 'react'; -import { Query } from '@apollo/client/react/components'; -import { useMutation } from '@apollo/client/react/hooks'; -import { WHO_AM_I, CREATE_STUDY } from '@itmat-broker/itmat-models'; -import { enumUserTypes, studyType, IUserWithoutToken } from '@itmat-broker/itmat-types'; -import { Button, Form, Input, Alert, Select } from 'antd'; +import { Button, Form, Input, Alert, message } from 'antd'; import { PlusOutlined } from '@ant-design/icons'; import { Subsection } from '../reusable'; -const { Option } = Select; +import { trpc } from '../../utils/trpc'; +import LoadSpinner from '../reusable/loadSpinner'; export const AddNewDataSet: FunctionComponent = () => { - - const [showMore, setShowMore] = useState(false); - const [createStudy, { - data: createStudyData, - loading: createStudyLoading, - error: createStudyError - }] = useMutation(CREATE_STUDY, { - onCompleted: () => { setShowMore(false); }, - refetchQueries: [{ query: WHO_AM_I }], - onError: () => { return; } + const whoAmI = trpc.user.whoAmI.useQuery(); + const createStudy = trpc.study.createStudy.useMutation({ + onSuccess: () => { + void message.success('Study created successfully'); + }, + onError: () => { + void message.error('Failed to create study'); + }, + onSettled() { + setShowMore(false); + } }); + const [showMore, setShowMore] = useState(false); + + if (whoAmI.isLoading) { + return ; + } + + if (whoAmI.isError) { + return

An error occured.

; + } return ( - query={WHO_AM_I}> - {({ loading, error, data }) => { - if (loading) { return

Loading...

; } - if (error) { return

Error {error.name}: {error.message}

; } - if (data && data.whoAmI && data.whoAmI.type && data.whoAmI.type === enumUserTypes.ADMIN) { - return ( - !showMore ? - - : -
- -
{ createStudy({ variables }).catch(() => { return; }); }}> - - - - - - - - - - {createStudyError ? ( - <> - error.message).join()} /> -
- - ) : null} - {createStudyData?.successful ? ( - <> - -
- - ) : null} - - -     - - - -
-
- ); - } else { - return null; - } - }} - + !showMore ? + + : +
+ +
{ createStudy.mutate({ ...variables }); }}> + + + + + + + {createStudy.isError ? ( + <> + +
+ + ) : null} + {createStudy.data?.id ? ( + <> + +
+ + ) : null} + + +     + + + +
+
); + }; diff --git a/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx b/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx index 26c32ccb1..3de03497c 100644 --- a/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx +++ b/packages/itmat-ui-react/src/components/datasetList/datasetList.tsx @@ -1,30 +1,28 @@ import { FunctionComponent } from 'react'; -import { Query } from '@apollo/client/react/components'; import { useNavigate } from 'react-router-dom'; -import { IProject, IStudy, IUserWithoutToken } from '@itmat-broker/itmat-types'; -import { WHO_AM_I } from '@itmat-broker/itmat-models'; +import { IStudy } from '@itmat-broker/itmat-types'; import { Button, Table } from 'antd'; import { ContainerOutlined } from '@ant-design/icons'; import LoadSpinner from '../reusable/loadSpinner'; +import { trpc } from '../../utils/trpc'; export const DatasetList: FunctionComponent = () => { - return ( - - query={WHO_AM_I}> - {({ loading, error, data }) => { - if (loading) { return ; } - if (error) { return

Error {error.name}: {error.message}

; } - if (data && data.whoAmI && data.whoAmI.access && data.whoAmI.access.studies) { - const datasets = data.whoAmI.access.studies; - if (datasets.length > 0) { - return ; - } - } - return

There is no dataset or you have not been granted access to any. Please contact your data custodian.

; - } - } - - ); + const getStudies = trpc.study.getStudies.useQuery({}); + + if (getStudies.isLoading) { + return ; + } + if (getStudies.isError) { + return <> + An error occured. + ; + } + + if (getStudies.data.length > 0) { + return ; + } else { + return

There is no dataset or you have not been granted access to any. Please contact your data custodian.

; + } }; const PickDatasetSection: FunctionComponent<{ datasets: IStudy[] }> = ({ datasets }) => { @@ -60,7 +58,7 @@ const PickDatasetSection: FunctionComponent<{ datasets: IStudy[] }> = ({ dataset rowKey={(rec) => rec.id} pagination={false} columns={columns} - dataSource={datasets} + dataSource={datasets.sort((a, b) => a.name.localeCompare(b.name))} size='small' />

diff --git a/packages/itmat-ui-react/src/components/domain/domains.module.css b/packages/itmat-ui-react/src/components/domain/domains.module.css new file mode 100644 index 000000000..b4e78057c --- /dev/null +++ b/packages/itmat-ui-react/src/components/domain/domains.module.css @@ -0,0 +1,91 @@ +.page_container { + grid-template-columns: 100% 0%; + grid-template-rows: 100%; + display: grid; + height: 100%; + grid-template-areas: "userList"; +} + +.col-item { + margin-bottom: 16px; +} + +.card-container { + position: relative; + display: flex; + max-width: 100%; + flex-direction: column; + height: 100%; + width: 100%; + box-sizing: border-box; + padding: 8px; +} + +.card-image { + object-fit: contain; + width: 100%; + height: 70%; +} + +.card-meta { + position: absolute; + bottom: 20px; + width: 100%; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.card-meta:hover { + cursor: pointer; +} + +.row-container { + width: 100%; + /* Add this line */ + box-sizing: border-box; + /* Add this line */ +} + +.col-item { + padding: 0 8px; + /* Half of gutter width */ + margin-bottom: 16px; + box-sizing: border-box; + /* Add this line */ +} + +.overview-header { + display: flex; + align-items: center; + /* This will vertically center align the icon and the title */ + /* If there is still a misalignment, you may adjust by adding 'align-self' to the children */ + font-size: 20px; + font-weight: 500; + overflow: auto; +} + +.overview-icon { + background-color: #000; + /* Or any color you prefer */ + width: 4px; + /* Thickness of the line */ + height: 24px; + /* Height of the line, adjust as needed */ + margin-right: 16px; + /* Space between the line and the text */ + /* Adjust 'margin-top' if the line is not aligned with the text */ +} + +.overview-title { + /* Style for your title */ + font-size: 24px; + font-weight: bold; +} + +.overview-content { + /* Style for your content */ + text-indent: 30px; + /* Adjust the indent as needed */ +} diff --git a/packages/itmat-ui-react/src/components/domain/domains.tsx b/packages/itmat-ui-react/src/components/domain/domains.tsx new file mode 100644 index 000000000..569c5fbb8 --- /dev/null +++ b/packages/itmat-ui-react/src/components/domain/domains.tsx @@ -0,0 +1,207 @@ +import { FunctionComponent, useState } from 'react'; +import css from './domains.module.css'; +import { trpc } from '../../utils/trpc'; +import { List, Table, Image, ColorPicker, Button, Modal, Form, Input, Upload, notification, message } from 'antd'; +import LoadSpinner from '../reusable/loadSpinner'; +import { RcFile, UploadFile } from 'antd/es/upload'; +import { DeleteOutlined, PlusOutlined, SmileOutlined } from '@ant-design/icons'; +import { convertFileListToApiFormat, getBase64 } from '../../utils/tools'; +import ImgCrop from 'antd-img-crop'; +import axios from 'axios'; + + +export const DomainSection: FunctionComponent = () => { + const getDomains = trpc.domain.getDomains.useQuery({}); + const [api, contextHolder] = notification.useNotification(); + const deleteDomain = trpc.domain.deleteDomain.useMutation({ + onSuccess: (() => { + api.open({ + message: 'Domain has been deleted', + description: '', + duration: 10, + icon: + }); + }) + }); + if (getDomains.isLoading) { + return ; + } + if (getDomains.isError) { + return

+ An error occured, please contact your administrator +

; + } + + const columns = [{ + title: 'Name', + dataIndex: 'name', + key: 'name', + ellipsis: true, + render: (__unused__value, record) => { + return
{record.name}
; + } + }, { + title: 'Path', + dataIndex: 'path', + key: 'path', + ellipsis: true, + render: (__unused__value, record) => { + return
{record.domainPath}
; + } + }, { + title: 'Logo', + dataIndex: 'logo', + key: 'logo', + render: (__unused__value, record) => { + return
; + } + }, { + title: 'Color', + dataIndex: 'color', + key: 'color', + ellipsis: true, + render: (__unused__value, record) => { + return
; + } + }, { + render: (__unused__value, record) => { + return deleteDomain.mutate({ domainId: record.id })} />; + } + }]; + + return (
+ {contextHolder} + +
+
+
+
List of Domains
+
+
+
+ +
+
+ } + > +
{childNode}
+ +
+ +
); +}; + +export const DomainCreation: FunctionComponent = () => { + const [isModalOn, setIsModalOn] = useState(false); + const [domainColor, setDomainColor] = useState('#FFFFFF'); + const [form] = Form.useForm(); + const [fileList, setFileList] = useState([]); + + const handleCreateDomain = async (variables: Record) => { + try { + const files = await convertFileListToApiFormat(fileList, 'logo'); + const formData = new FormData(); + if (files.length > 0) { + files.forEach(file => { + formData.append('logo', file.stream, file.originalname); + }); + } + + Object.entries(variables).forEach(([key, value]) => { + variables[key] && formData.append(key, String(value)); + }); + + const response = await axios.post('/trpc/domain.createDomain', formData, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }); + + if (response?.data?.result?.data?.id) { + void message.success('Domain created successfully'); + } + + } catch { + void message.error('Error creating domain'); + } + }; + + const beforeUpload = (file: RcFile): boolean => { + const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'; + if (!isJpgOrPng) { + void message.error('You can only upload JPG/PNG file!'); + } + setFileList([file]); + return isJpgOrPng; + }; + + const handlePreview = async (file: UploadFile) => { + if (!file.url && !file.preview) { + file.preview = await getBase64(file.originFileObj as RcFile); + } + }; + + return (
+ + void handleCreateDomain(form.getFieldsValue())} + onCancel={() => setIsModalOn(false)} + > +
+ + + + + + + + + void handlePreview} + fileList={fileList} + > + {fileList.length >= 1 ? null : ( +
+ +
Upload
+
+ )} +
+
+
+ + setDomainColor(hex)} /> + +
+
+
); +}; diff --git a/packages/itmat-ui-react/src/components/domain/index.tsx b/packages/itmat-ui-react/src/components/domain/index.tsx new file mode 100644 index 000000000..bb33fabd4 --- /dev/null +++ b/packages/itmat-ui-react/src/components/domain/index.tsx @@ -0,0 +1,18 @@ +import { FunctionComponent } from 'react'; +import { DomainSection } from './domains'; +import css from './domains.module.css'; + +export const DomainPage: FunctionComponent = () => { + return ( +
+
+
+ Domains +
+
+ +
+
+
+ ); +}; diff --git a/packages/itmat-ui-react/src/components/drive/drive.module.css b/packages/itmat-ui-react/src/components/drive/drive.module.css new file mode 100644 index 000000000..a9ce54b44 --- /dev/null +++ b/packages/itmat-ui-react/src/components/drive/drive.module.css @@ -0,0 +1,172 @@ +.page_container { + height: 100%; + position: relative; + overflow-y: scroll; + display: grid; + justify-content: space-between; + grid-template-areas: + "FILE FILE" + "SHARED SHARED"; + grid-template-columns: 40% 60%; + grid-template-rows: 750px 1fr; + overflow: auto; + padding: 2rem; +} + +.file_wrapper { + grid-area: FILE; + padding: 20px; + background-color: white; +} + +/* Assuming this is named FileManager.module.css */ + +/* Styles for the table cell with the ellipsis */ +.ellipsisStyle { + display: flex; + align-items: center; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + position: relative; +} + +/* This will be for the text and icon */ +.textAndIcon { + flex-grow: 1; + display: flex; + align-items: center; + overflow: hidden; +} + +/* Styles for the action elements in the table cell */ +.cellIcons { + display: flex; + align-items: center; + justify-content: flex-end; + flex-shrink: 0; + /* Prevent icons from shrinking */ +} + +.cellIcon { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 16px; + /* Space between icons */ +} + +.ellipsisStyle:hover .cellIcon { + opacity: 1; +} + +/* Styles for the action element in the table cell */ +.cellAction { + position: absolute; + right: 16px; + /* Adjust the spacing as needed */ + top: 50%; + transform: translateY(-50%); + display: none; +} + +/* Hover state for the ellipsis action to be visible */ +.ellipsisStyle:hover .cellAction { + display: block; +} + +/* Styles for the folder and file names */ +.customTextHover { + cursor: pointer; + transition: all 0.3s ease; +} + +/* Hover effects for the folder and file names */ +.customTextHover:hover { + font-weight: bold; + text-decoration: underline; +} + +/* Styles for the dropdown enu */ +.dropdownMenu { + cursor: pointer; + font-size: 24px; + /* Adjust the font size as desired */ + display: inline-block; + line-height: 1; + /* Ensure the icon is vertically centered */ +} + +.shared_container { + width: 100%; + grid-area: SHARED; +} + +.ellipsis-style { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + max-width: 150px; + /* Adjust this width based on your requirement */ + display: block; +} + +.group_wrapper { + grid-area: GROUP; + padding: 20px; + background-color: white; +} + +.overview-header { + display: flex; + align-items: center; + /* This will vertically center align the icon and the title */ + /* If there is still a misalignment, you may adjust by adding 'align-self' to the children */ + font-size: 20px; + font-weight: 500; + overflow: auto; +} + +.overview-icon { + background-color: #000; + /* Or any color you prefer */ + width: 4px; + /* Thickness of the line */ + height: 24px; + /* Height of the line, adjust as needed */ + margin-right: 16px; + /* Space between the line and the text */ + /* Adjust 'margin-top' if the line is not aligned with the text */ +} + +.overview-title { + /* Style for your title */ + font-size: 24px; + font-weight: bold; +} + +.overview-content { + /* Style for your content */ + text-indent: 30px; + /* Adjust the indent as needed */ +} + +.key_wrapper { + grid-area: KEY; + padding: 20px; + background-color: white; +} + +.ant-table table { + font-size: 10px; +} + +.breadcrumbContainer { + display: flex; + /* This will align the breadcrumb items inline */ + align-items: center; + /* This will vertically align them in the middle */ + flex-wrap: wrap; + /* This allows the breadcrumb items to wrap */ + text-align: left; + /* Align text to the left */ +} diff --git a/packages/itmat-ui-react/src/components/drive/file.tsx b/packages/itmat-ui-react/src/components/drive/file.tsx new file mode 100644 index 000000000..adb31339e --- /dev/null +++ b/packages/itmat-ui-react/src/components/drive/file.tsx @@ -0,0 +1,964 @@ +import React, { FunctionComponent, useEffect } from 'react'; +import css from './drive.module.css'; +import { Input, Button, Row, Col, Table, Menu, notification, Modal, Tag, Upload, Tooltip, Form, Checkbox, List, Dropdown, Spin, Select, UploadFile } from 'antd'; +import { IDrive, IDrivePermission, IUserWithoutToken, enumDriveNodeTypes } from '@itmat-broker/itmat-types'; +import { FileTwoTone, FolderTwoTone, MailOutlined, MinusOutlined, MoreOutlined, PlusOutlined, ShareAltOutlined, UploadOutlined, UsergroupAddOutlined } from '@ant-design/icons'; +import { trpc } from '../../utils/trpc'; +import { useQueryClient } from '@tanstack/react-query'; +import { convertFileListToApiFormat, formatBytes } from '../../utils/tools'; +import axios, { AxiosError } from 'axios'; +import { RcFile } from 'antd/es/upload'; +import ClipLoader from 'react-spinners/ClipLoader'; + +const { Column } = Table; +const { Option } = Select; + +export const MyFile: FunctionComponent = () => { + const whoAmI = trpc.user.whoAmI.useQuery(); + const getUsers = trpc.user.getUsers.useQuery({}); + const getDrives = trpc.drive.getDrives.useQuery({}); + + const [isInitialize, setIsInitialize] = React.useState(true); + const queryClient = useQueryClient(); + const [currentLocationPath, setCurrentLocationPath] = React.useState([]); + const [isCreatingFolder, setIsCreatingFolder] = React.useState(false); + const [isSharingDrive, setIsSharingDrive] = React.useState(false); + const [currentNodeId, setCurrentNodeId] = React.useState(null); + const [isRecursiveUploading, setIsRecursiveUploading] = React.useState(false); + const [uploadingFolderFileList, setUploadingFolderFileList] = React.useState([]); + const [isUploading, setIsUploading] = React.useState(false); + + useEffect(() => { + if (isInitialize && getDrives?.data) { + setCurrentLocationPath([getDrives.data?.[whoAmI.data.id].filter(el => el.parent === null)[0].id]); + setIsInitialize(false); + } + }, [getDrives.data, isInitialize, whoAmI.data.id]); + + useEffect(() => { + if (isRecursiveUploading && uploadingFolderFileList.length > 0) { + const uploadAllFiles = async () => { + const tPaths: string[][] = []; + const files = await convertFileListToApiFormat(uploadingFolderFileList, 'files'); + const formData = new FormData(); + if (files.length > 0) { + for (let i = 0; i < files.length; i++) { + const pathFromCurrent: string[] = uploadingFolderFileList[i].webkitRelativePath.split('/'); + if (pathFromCurrent[pathFromCurrent.length - 1].startsWith('.')) { + continue; + } + formData.append('files', files[i].stream, files[i].originalname); + tPaths.push(pathFromCurrent); + } + } + + formData.append('parentId', currentLocationPath[currentLocationPath.length - 1]); + formData.append('paths', JSON.stringify(tPaths)); + setIsUploading(true); + const response = await axios.post('/trpc/drive.createRecursiveDrives', formData, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }); + if (response?.data?.result?.data?.length) { + const queryKey = [['drive', 'getDrives'], { input: {}, type: 'query' }]; + // log each query's key and data + const cache = queryClient.getQueryData(queryKey) ?? []; + const newCache = Array.from(new Map([...cache[whoAmI.data.id], ...response.data.result.data].map(item => [item.id, item])).values()); + const newQueryCache = { + ...cache, + [whoAmI.data.id]: newCache + }; + queryClient.setQueryData(queryKey, newQueryCache); + void queryClient.invalidateQueries(['drive', 'getDrives', { input: {} }]); + notification.success({ + message: 'Directory has been uploaded.', + description: '', + placement: 'topRight', + duration: 0 + }); + setIsCreatingFolder(false); + } else { + notification.error({ + message: 'Direcroty upload error!', + description: 'Unknown Error Occurred!', + placement: 'topRight', + duration: 0 + }); + } + setIsUploading(false); + setIsRecursiveUploading(false); + }; + try { + void uploadAllFiles(); + } catch (error) { + if (error instanceof AxiosError) { + notification.error({ + message: 'Upload error!', + description: `${error.response?.data?.error?.message ?? 'An unknown error occurred.'}`, + placement: 'topRight', + duration: 0 + }); + } else { + notification.error({ + message: 'Upload error!', + description: 'An unknown error occurred.', + placement: 'topRight', + duration: 0 + }); + } + } + } + }, [currentLocationPath, isRecursiveUploading, queryClient, setUploadingFolderFileList, uploadingFolderFileList, whoAmI.data.id]); + + const createDriveFolder = trpc.drive.createDriveFolder.useMutation({ + onSuccess: (data) => { + const queryKey = [['drive', 'getDrives'], { input: {}, type: 'query' }]; + // log each query's key and data + const cache = queryClient.getQueryData(queryKey) ?? []; + const newCache = [...cache[whoAmI.data.id], data]; + const newQueryCache = { + ...cache, + [whoAmI.data.id]: newCache + }; + queryClient.setQueryData(queryKey, newQueryCache); + void queryClient.invalidateQueries(['drive', 'getDrives', { input: {} }]); + + notification.success({ + message: `Folder ${data.name} has been created.`, + description: '', + placement: 'topRight', + duration: 0 + }); + setIsCreatingFolder(false); + }, + onError(error) { + if (error instanceof AxiosError) { + notification.error({ + message: 'Upload error!', + description: `${error.response?.data?.error?.message ?? 'An unknown error occurred.'}`, + placement: 'topRight', + duration: 0 + }); + } else { + notification.error({ + message: 'Upload error!', + description: 'An unknown error occurred.', + placement: 'topRight', + duration: 0 + }); + } + } + }); + + const deleteDrive = trpc.drive.deleteDrive.useMutation({ + onSuccess: (data) => { + const queryKey = [['drive', 'getDrives'], { input: {}, type: 'query' }]; + // log each query's key and data + const cache = queryClient.getQueryData(queryKey) ?? []; + const newCache = cache[whoAmI.data.id].filter(el => el.id !== data.id); + const newQueryCache = { + ...cache, + [whoAmI.data.id]: newCache + }; + queryClient.setQueryData(queryKey, newQueryCache); + }, + onError(error) { + notification.error({ + message: 'Delete error!', + description: error.message || 'Unknown Error Occurred!', + placement: 'topRight', + duration: 0 + }); + } + }); + + const shareDriveViaEmail = trpc.drive.shareDriveToUserViaEmail.useMutation({ + onSuccess: () => { + setIsSharingDrive(false); + notification.success({ + message: 'Drive shared successfully!', + description: '', + placement: 'topRight', + duration: 0 + }); + }, + onError(error) { + setIsSharingDrive(false); + notification.error({ + message: 'Upload error!', + description: error.message || 'Unknown Error Occurred!', + placement: 'topRight', + duration: 0 + }); + } + }); + const fileTableColumns = [ + { + title: 'Name', + dataIndex: 'value', + key: 'value', + width: '40%', + render: (value, record) => { + const icon = record.type === enumDriveNodeTypes.FILE ? : ; + const content = ( + { + if (record.type === enumDriveNodeTypes.FOLDER) { + setCurrentLocationPath([...currentLocationPath, record.id]); + } + }}> + {icon} + +  {record.name} + + + ); + + return ( +
+
+ {content} +
+
+ {/* Share Icon with Tooltip */} + + { + setIsSharingDrive(true); + setCurrentNodeId(record.id); + e.stopPropagation(); // Prevent triggering Dropdown + }} + /> + + + {/* More Icon (Ellipsis) with Dropdown and Tooltip */} + { + if (e.key === 'download') { + const a = document.createElement('a'); + a.href = `/file/${record.fileId}`; + a.setAttribute('download', record.name || 'download'); // Optional: provide a default file name + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + } else if (e.key === 'delete') { + // Handle delete logic here + } + }}> + { + record.type === enumDriveNodeTypes.FILE && + + Download + + } + { + deleteDrive.mutate({ driveId: record.id }); + }}> + Delete + + {/* Add more Menu.Item components as needed */} + + } trigger={['click']}> + + e.stopPropagation()}> + + + + +
+
+ ); + } + } + , + { + title: 'Modified', + dataIndex: 'modified', + key: 'modified', + width: '10%', + sorter: (a, b) => a.life.createdTime - b.life.createdTime, + render: (__unused__value, record) => {new Date(record.life.createdTime).toLocaleDateString()} + }, + { + title: 'File Size', + dataIndex: 'fileSize', + key: 'fileSize', + width: '10%', + render: (__unused__value, record) => {formatBytes(record.metadata.fileSize)} + }, + { + title: 'Sharing', + dataIndex: 'sharedUsers', + key: 'sharedUsers', + width: '10%', + render: (__unused__value, record) => { + if (record.sharedUsers.length >= 1) { + return ( +
{ + setIsSharingDrive(true); + setCurrentNodeId(record.id); + }} // Attach the click event handler + > + Shared +
+ ); + } else { + return ( +
{ + setIsSharingDrive(true); + setCurrentNodeId(record.id); + }} // Attach the click event handler even if it's private + > + Private +
+ ); + } + } + } + ]; + + const handleUploadFile = async (fileList: UploadFile[], variables: Record) => { + try { + const files = await convertFileListToApiFormat(fileList, 'file'); + setIsUploading(true); + const formData = new FormData(); + + if (files.length > 0) { + files.forEach(file => { + formData.append('file', file.stream, file.originalname); + }); + } + + // Append other variables to formData + Object.entries(variables).forEach(([key, value]) => { + variables[key] && formData.append(key, String(value)); + }); + + // Perform the request via axios + const response = await axios.post('/trpc/drive.createDriveFile', formData, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }); + + if (response?.data?.result?.data?.id) { + const queryKey = [['drive', 'getDrives'], { input: { userId: whoAmI?.data?.id }, type: 'query' }]; + // log each query's key and data + const cache = queryClient.getQueryData(queryKey) ?? []; + const newCache = [...cache[whoAmI.data.id], response.data.result.data]; + const newQueryCache = { + ...cache, + [whoAmI.data.id]: newCache + }; + queryClient.setQueryData(queryKey, newQueryCache); + notification.success({ + message: `File ${response.data.result.data.name} has been uploaded.`, + description: '', + placement: 'topRight', + duration: 0 + }); + setIsUploading(false); + } + } catch (error) { + if (error instanceof AxiosError) { + notification.error({ + message: 'Upload error!', + description: `${error.response?.data?.error?.message ?? 'An unknown error occurred.'}`, + placement: 'topRight', + duration: 0 + }); + } else { + notification.error({ + message: 'Upload error!', + description: 'An unknown error occurred.', + placement: 'topRight', + duration: 0 + }); + } + setIsUploading(false); + } finally { + setIsUploading(false); + } + }; + + return ( + <> +
+ { + isUploading && + } + +
+
My files
+
+ } + > + + + + + + { + if (e.key === 'newFolder') { + setIsCreatingFolder(true); + } + // Add more conditions for other menu items here + }}> + New Folder + } trigger={['click']}> + + + + + { + // if (e.key === 'files') { + // setIsUploadingFile(true); + // } + }}> + + { + return void handleUploadFile([file], { + parentId: currentLocationPath[currentLocationPath.length - 1] + + }); + }} + > + {'Files'} + + + + { + setUploadingFolderFileList(fileList); + setIsRecursiveUploading(true); + }} + > + {' Directory'} + + + {/* Other Option 2 */} + {/* Add more Menu.Item components as needed */} + } trigger={['click']}> + + + + + + + + + + { + isUploading ? ( +
+ + Uploading...Please wait +
+ ) : null + } + + +
+
+ + +
+ { + + currentLocationPath.map((el, index) => { + const isLast = index === currentLocationPath.length - 1; + const folderName = getDrives?.data?.[whoAmI.data.id]?.find(es => es.id === el)?.name || 'Unknown'; + return ( + + setCurrentLocationPath(currentLocationPath.slice(0, index + 1))} + > + {folderName} + + {!isLast && /} + + ); + }) + + } +
+
+ + el.parent === currentLocationPath[currentLocationPath.length - 1])} + /> + el.id === currentNodeId)[0]} users={getUsers.data ?? []} /> + + + +
+ +
+ + ); +}; + +export const CreateFolder: FunctionComponent<{ isModalShown, setIsModalShown, uploadFunc, uploadVariables }> = ({ isModalShown, setIsModalShown, uploadFunc, uploadVariables }) => { + const [folderName, setFolderName] = React.useState(null); + const [description, setDescription] = React.useState(undefined); + return ( + { + uploadFunc.mutate({ + folderName: folderName, + parentId: uploadVariables.parentNodeId, + description: description ?? undefined + }); + }} + onCancel={() => setIsModalShown(false)} + > + setFolderName(event.target.value)} placeholder='Folder Name' required={true}> +

+ setDescription(event.target.value)} placeholder='Description'> +
+ ); +}; + +export const ShareFileModal: FunctionComponent<{ isModalShown: boolean, setIsModalShown, shareFunc, shareVariables: Record, currentDrive?: IDrive, users: IUserWithoutToken[] }> = ({ isModalShown, setIsModalShown, shareFunc, currentDrive, users }) => { + const [form] = Form.useForm(); + if (!currentDrive) { + return null; + } + const tmp = currentDrive.sharedUsers.map(el => { + const user = users.filter(ek => ek.id === el.iid)[0]; + const tmp: Partial & { user?: string, email?: string } = { ...el }; + if (!user) { + tmp.user = 'NA'; + tmp.email = 'NA'; + } else { + tmp.user = `${user.firstname} ${user.lastname}`; + tmp.email = user.email; + } + return tmp; + }); + const reformattedSharedUsers = { + ...currentDrive, + sharedUsers: tmp + }; + return ( + setIsModalShown(false)} + footer={null} + > +
+ + {(sharedUsers, { add, remove }) => { + return ; + }} + + + + + +
+ ); +}; + +export const EditPermissionTable: FunctionComponent<{ sharedUsers, add, remove, users: IUserWithoutToken[] }> = ({ sharedUsers, add, remove }) => { + const columns = [{ + title: 'User', + dataIndex: 'user', + key: 'user', + minWidth: 100 // Example minimum width + // ... other properties + }, { + title: 'Email', + dataIndex: 'email', + key: 'email', + minWidth: 200 // Example minimum width + // ... other properties + // ... other columns remain unchanged + }, { + title: 'Read', + dataIndex: 'read', + key: 'read', + render: (__unused__value, record) => { + return ; + } + }, { + title: 'Write', + dataIndex: 'write', + key: 'write', + render: (__unused__value, record) => { + return ; + } + }, { + title: 'Delete', + dataIndex: 'delete', + key: 'delete', + render: (__unused__value, record) => { + return ; + } + }]; + return ( +
{ + return ( + + + + ); + }} + > + { + columns.slice(0, 2).map(el => + { + return ( + + + + ); + }} + /> + ) + } + { + columns.slice(2, 5).map(el => + { + return ( + + + + ); + }} + /> + ) + } + { + return ( +
+ ); +}; + +export const SharedFiles: FunctionComponent<{ users: IUserWithoutToken[], sharedUserFiles: Record, self: IUserWithoutToken, deleteDriveFunc }> = ({ users, sharedUserFiles, self, deleteDriveFunc }) => { + const [currentSharedUser, setCurrentSharedUser] = React.useState(null); + const [currentLocationPath, setCurrentLocationPath] = React.useState(['shared']); + const sharedUsers: string[] = Object.keys(sharedUserFiles).filter(el => el !== self.id); + const rootDrive: IDrive = { + id: 'shared', + managerId: self.id, + path: ['shared'], + restricted: true, + name: 'Shared', + fileId: null, + type: enumDriveNodeTypes.FOLDER, + parent: null, + children: [], + sharedUsers: [], // ids of shared users + life: { + createdTime: Date.now(), + createdUser: self.id, + deletedTime: null, + deletedUser: null + }, + metadata: {} + }; + + const reformattedFiles: IDrive[] = []; + for (const key of Object.keys(sharedUserFiles)) { + if (key === self.id) { + continue; + } + const files = sharedUserFiles[key]; + const root = sharedUserFiles[key].filter(el => el.parent === null)[0]; + // if (root) { + // root.parent = rootDrive.id; + // rootDrive.children.push(root.id); + // } + for (const file of files) { + const newFile = { + ...file, + path: [rootDrive.id].concat(file.path) + }; + if (newFile.parent === root?.id) { + newFile.parent = rootDrive.id; + rootDrive.children.push(newFile.id); + } + reformattedFiles.push(newFile); + } + } + reformattedFiles.push(rootDrive); + + const fileTableColumns = [ + { + title: 'Name', + dataIndex: 'value', + key: 'value', + render: (__unused__value, record) => { + const icon = record.type === enumDriveNodeTypes.FILE ? : ; + const content = ( + { + if (record.type === enumDriveNodeTypes.FOLDER) { + setCurrentLocationPath([...currentLocationPath, record.id]); + } + }}> + {icon} + +  {record.name} + + + ); + + return ( +
+
+ {content} +
+
+ {/* Share Icon with Tooltip */} + { + if (e.key === 'download') { + const a = document.createElement('a'); + a.href = `/file/${record.fileId}`; + a.setAttribute('download', record.name || 'download'); // Optional: provide a default file name + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + } else if (e.key === 'delete') { + // Handle delete logic here + } + }}> + { + record.type === enumDriveNodeTypes.FILE && + + Download + + } + { + record.sharedUsers.some(el => el.delete) ? + { + deleteDriveFunc.mutate({ driveId: record.id }); + }}> + Delete + + : null + } + + } trigger={['click']}> + + e.stopPropagation()}> + + + + +
+
+ ); + } + }, + { + title: 'Modified', + dataIndex: 'modified', + key: 'modified', + render: (__unused__value, record) => {new Date(record.life.createdTime).toUTCString()} + }, + { + title: 'File Size', + dataIndex: 'fileSize', + key: 'fileSize', + render: (__unused__value, record) => {formatBytes(record.metadata.fileSize)} + }, + { + title: 'Sharing', + dataIndex: 'sharedBy', + key: 'sharedBy', + render: (__unused__value, record) => { + const user = users.filter(el => el.id === record.managerId)[0]; + + // Define styles + const sharedByStyle = { + fontWeight: 'bold', + color: '#555' // Example: dark gray color + }; + + const userNameStyle = { + color: '#007bff', // Example: blue color + fontWeight: 'normal' + }; + + return ( + + Shared By + {' '} + {user ? `${user.firstname} ${user.lastname}` : 'NA'} + + ); + } + } + ]; + const items = sharedUsers.map((el, index) => { + const user = users.filter(es => es.id === el)[0]; + return { + id: el, + key: el, + icon: , + // children: [], + label: user ? `${user.firstname} ${user.lastname}` : `Firstname_${index} Lastname_${index}` + }; + }); + return ( + +
+
+
+
Shared Files
+
+
+
+ +
+
+ } + > + +
+
+ { + currentLocationPath.map((el, index) => { + const tag = { + setCurrentLocationPath(currentLocationPath.slice(0, index + 1)); + }}>{reformattedFiles.filter(es => es.id === el)[0].name}; + if (index < currentLocationPath.length - 1) { + return [tag, /]; + } else { + return tag; + } + }) + } + { + return el.managerId === currentSharedUser; + }).filter(el => el.parent === currentLocationPath[currentLocationPath.length - 1]) : []} + // dataSource={reformattedFiles.filter(el => el.parent === currentLocationPath[currentLocationPath.length - 1])} + /> + + + + + ); +}; + +const LoadingIcon = () => { + return ( +
+ +
+ ); +}; diff --git a/packages/itmat-ui-react/src/components/drive/index.tsx b/packages/itmat-ui-react/src/components/drive/index.tsx new file mode 100644 index 000000000..29849a5d7 --- /dev/null +++ b/packages/itmat-ui-react/src/components/drive/index.tsx @@ -0,0 +1,11 @@ +import { FunctionComponent } from 'react'; +import { MyFile } from '../drive/file'; +import css from './drive.module.css'; + +export const DrivePage: FunctionComponent = () => { + return ( +
+ +
+ ); +}; diff --git a/packages/itmat-ui-react/src/components/log/index.tsx b/packages/itmat-ui-react/src/components/log/index.tsx index 1d3c20bad..099774271 100644 --- a/packages/itmat-ui-react/src/components/log/index.tsx +++ b/packages/itmat-ui-react/src/components/log/index.tsx @@ -1,5 +1,5 @@ import { FunctionComponent } from 'react'; -import { LogListSection } from './logList'; +import { LogSection } from './logList'; import css from './logList.module.css'; export const LogPage: FunctionComponent = () => { @@ -10,7 +10,7 @@ export const LogPage: FunctionComponent = () => { Log History
- +
diff --git a/packages/itmat-ui-react/src/components/log/logList.module.css b/packages/itmat-ui-react/src/components/log/logList.module.css index 6b9769450..120ae1dc0 100644 --- a/packages/itmat-ui-react/src/components/log/logList.module.css +++ b/packages/itmat-ui-react/src/components/log/logList.module.css @@ -3,85 +3,51 @@ grid-template-rows: 100%; display: grid; height: 100%; - grid-template-areas: "userList"; } -.log_list_section { - grid-area: logList; +.timeBar { + height: 10px; + border-radius: 5px; + transition: width 0.3s; } -.log_list > table:first-of-type thead:first-of-type tr:first-of-type { - background: var(--color-background); -} - -.button_clicked button { - background-color: red; -} - -.submit_cancel_button_wrapper { - display: flex; +.chartWrapper { width: 100%; -} - -/* The switch - the box around the slider */ -.switch { + height: 100px; position: relative; - display: inline-block; - width: 40px; - height: 20px; -} - -/* Hide default HTML checkbox */ -.switch input { - opacity: 0; - width: 0; - height: 0; -} - -/* The slider */ -.slider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #ccc; - -webkit-transition: 0.4s; - transition: 0.4s; + overflow: hidden; } -.slider:before { - position: absolute; - content: ""; - height: 20px; - width: 20px; - left: 0px; - bottom: 0px; - background-color: white; - -webkit-transition: 0.4s; - transition: 0.4s; -} - -input:checked + .slider { - background-color: #2196f3; -} - -input:focus + .slider { - box-shadow: 0 0 1px #2196f3; -} - -input:checked + .slider:before { - -webkit-transform: translateX(20px); - -ms-transform: translateX(20px); - transform: translateX(20px); -} - -/* Rounded sliders */ -.slider.round { - border-radius: 34px; -} - -.slider.round:before { - border-radius: 50%; +.overview-header { + display: flex; + align-items: center; + /* This will vertically center align the icon and the title */ + /* If there is still a misalignment, you may adjust by adding 'align-self' to the children */ + font-size: 20px; + font-weight: 500; + overflow: auto; +} + +.overview-icon { + background-color: #000; + /* Or any color you prefer */ + width: 4px; + /* Thickness of the line */ + height: 24px; + /* Height of the line, adjust as needed */ + margin-right: 16px; + /* Space between the line and the text */ + /* Adjust 'margin-top' if the line is not aligned with the text */ +} + +.overview-title { + /* Style for your title */ + font-size: 24px; + font-weight: bold; +} + +.overview-content { + /* Style for your content */ + text-indent: 30px; + /* Adjust the indent as needed */ } diff --git a/packages/itmat-ui-react/src/components/log/logList.tsx b/packages/itmat-ui-react/src/components/log/logList.tsx index 15c034b12..964d6ad8e 100644 --- a/packages/itmat-ui-react/src/components/log/logList.tsx +++ b/packages/itmat-ui-react/src/components/log/logList.tsx @@ -1,408 +1,331 @@ -import { FunctionComponent, useState } from 'react'; -import { GET_LOGS } from '@itmat-broker/itmat-models'; -import { enumUserTypes } from '@itmat-broker/itmat-types'; -import { Query } from '@apollo/client/react/components'; +import { FunctionComponent } from 'react'; +import { List, Progress, Table, Tooltip } from 'antd'; +import 'react-quill/dist/quill.snow.css'; +import { trpc } from '../../utils/trpc'; import LoadSpinner from '../reusable/loadSpinner'; -import { Table, Input, Button, Checkbox, Descriptions, DatePicker, Modal, Row, Col } from 'antd'; -import Highlighter from 'react-highlight-words'; +import { ISystemConfig, IUserWithoutToken, enumConfigType } from '@itmat-broker/itmat-types'; +import css from './logList.module.css'; +import { ResponsiveTimeRange } from '@nivo/calendar'; import dayjs from 'dayjs'; -export enum USER_AGENT { - MOZILLA = 'MOZILLA', - OTHER = 'OTHER' -} - -export enum LOG_TYPE { - SYSTEM_LOG = 'SYSTEM_LOG', - REQUEST_LOG = 'REQUEST_LOG' -} - -export enum LOG_ACTION { - // SYSTEM - startSERVER = 'START_SERVER', - stopSERVER = 'STOP_SERVER', - - // USER - getUsers = 'GET_USERS', - EditUser = 'EDIT_USER', - DeleteUser = 'DELETE_USER', - CreateUser = 'CREATE_USER', - login = 'LOGIN_USER', - whoAmI = 'WHO_AM_I', - logout = 'LOGOUT', - requestUsernameOrResetPassword = 'REQUEST_USERNAME_OR_RESET_PASSWORD', - resetPassword = 'RESET_PASSWORD', - - // KEY - registerPubkey = 'REGISTER_PUBKEY', - issueAccessToken = 'ISSUE_ACCESS_TOKEN', - keyPairGenwSignature = 'KEYPAIRGEN_SIGNATURE', - rsaSigner = 'RSA_SIGNER', - linkUserPubkey = 'LINK_USER_PUBKEY', - - // ORGANISATION - createOrganisation = 'CREATE_ORGANISATION', - deleteOrganisation = 'DELETE_ORGANISATION', - - // PROJECT - getProject = 'GET_PROJECT', - // GET_PROJECT_PATIENT_MAPPING = 'GET_PROJECT_PATIENT_MAPPING', - createProject = 'CREATE_PROJECT', - deleteProject = 'DELETE_PROJECT', - setDataversionAsCurrent = 'SET_DATAVERSION_AS_CURRENT', - subscribeToJobStatusChange = 'SUBSCRIBE_TO_JOB_STATUS', - - // STUDY | DATASET - deleteStudy = 'DELETE_STUDY', - getStudy = 'GET_STUDY', - getStudyFields = 'GET_STUDY_FIELDS', - createStudy = 'CREATE_STUDY', - editStudy = 'EDIT_STUDY', - getDataRecords = 'GET_DATA_RECORDS', - getOntologyTree = 'GET_ONTOLOGY_TREE', - checkDataComplete = 'CHECK_DATA_COMPLETE', - createNewDataVersion = 'CREATE_NEW_DATA_VERSION', - uploadDataInArray = 'UPLOAD_DATA_IN_ARRAY', - deleteDataRecords = 'DELETE_DATA_RECORDS', - createNewField = 'CREATE_NEW_FIELD', - editField = 'EDIT_FIELD', - deleteField = 'DELETE_FIELD', - addOntologyField = 'ADD_ONTOLOGY_FIELD', - deleteOntologyField = 'DELETE_ONTOLOGY_FIELD', - - // STUDY & PROJECT - editRole = 'EDIT_ROLE', - addRole = 'ADD_NEW_ROLE', - removeRole = 'REMOVE_ROLE', - - // FILE - uploadFile = 'UPLOAD_FILE', - DOWNLOAD_FILE = 'DOWNLOAD_FILE', - deleteFile = 'DELETE_FILE', +type DailyCount = { + dayIndex: number; + count: number; +}; - //QUERY - getQueries = 'GET_QUERY', - createQuery = 'CREATE_QUERY', - getQueryById = 'GET_QUERY_BY_ID', - createQueryCurationJob = 'CREATE_QUERY_CURATION_JOB' +type EventStatistics = { + event: string; + count: number; + dailyCounts: DailyCount[]; + avgTimeConsumed: number; + stdDevTimeConsumed: number; +}; -} +type RequesterStatistics = { + requester: string; + count: number; + dailyCounts: DailyCount[]; + avgTimeConsumed: number; + stdDevTimeConsumed: number; +}; -export enum LOG_STATUS { - SUCCESS = 'SUCCESS', - FAIL = 'FAIL' -} +type LogsSummary = { + eventStatistics: EventStatistics[]; + requesterStatistics: RequesterStatistics[]; +}; -interface ILogEntry { - id: string, - requesterName: string, - requesterType: string, - userAgent: USER_AGENT, - logType: LOG_TYPE, - actionType: LOG_ACTION, - actionData: string, - time: number, - status: LOG_STATUS, - errors: string | null -} +export const LogSection: FunctionComponent = () => { + const getLogs = trpc.log.getLogs.useQuery({ indexRange: [0, 100] }); + const getUsers = trpc.user.getUsers.useQuery({}); + const getSystemConfig = trpc.config.getConfig.useQuery({ configType: enumConfigType.SYSTEMCONFIG, key: null, useDefault: true }); + const getLogsSummary = trpc.log.getLogsSummary.useQuery(); + if (getLogs.isLoading || getUsers.isLoading || getSystemConfig.isLoading || getLogsSummary.isLoading) { + return <> +
Loading...
+
+ +
+ ; + } -export const LogListSection: FunctionComponent = () => { + if (getLogs.isError || getUsers.isError || getSystemConfig.isError || getLogsSummary.isError) { + return <>An error occurred.; + } - return ( - - query={GET_LOGS} - variables={{}} + return
+ +
+
+
+
Logs
+
+
+
+
+
+ } + > + +
+ +
+ +
+
+
+
Statistics
+
+
+
+
+ + } > - {({ loading, error, data }) => { - if (loading) { return ; } - if (error) { - return ( -

- Error {error.message} -

- ); - } - if (!data) { - return null; - } - const logList: ILogEntry[] = data.getLogs; - return ( - - ); - }} - - ); + +
+ + +
+ + + ; }; -const LogList: FunctionComponent<{ list: ILogEntry[] }> = ({ list }) => { - const [searchTerm, setSearchTerm] = useState(''); - const initInputs: { - requesterName: string, - requesterType: enumUserTypes[], - userAgent: string[], - logType: LOG_TYPE[], - actionType: LOG_ACTION[], - time: string, - status: LOG_STATUS[], - dateRange: dayjs.Dayjs[] - } = { - requesterName: '', - requesterType: [], - userAgent: [], - logType: [], - actionType: [], - time: '', - status: [], - dateRange: [dayjs().subtract(7, 'days'), dayjs()] - }; - const [inputs, setInputs] = useState(initInputs); - const [verbose, setVerbose] = useState(false); - const [verboseInfo, setVerboseInfo] = useState(({ actionData: JSON.stringify({}) })); - const [advancedSearch, setAdvancedSearch] = useState(false); - const dateFormat = 'YYYY-MM-DD'; - function formatActionData(data) { - const obj = JSON.parse(data.actionData); - const keys = Object.keys(obj); - const keysMap = keys.map((el) => <>{el}
); - const valuesMap = keys.map((el) => <>{JSON.stringify((obj[el] || 'NA'))}
); - return { keyList: keysMap, valueList: valuesMap }; - } - /* time offset, when filter by time, adjust all date to utc time */ - const timeOffset = dayjs().utcOffset() /* minutes */ * 60 /* seconds */ * 1000 /* to UNIX millisec */; - - const inputControl = (property: string) => ({ - value: inputs[property], - onChange: (e) => { - setInputs({ ...inputs, [property]: property === 'requesterName' ? e.target.value : e }); +const generateEventStatisticsColumns = (barThreshold: number[]) => { + return [{ + title: 'Event', + dataIndex: 'event', + key: 'event', + width: '20%', + render: (__unused__value, record) => { + return record.event; } - }); - - const checkboxControl = (property: string) => ({ - value: inputs[property], - onChange: (e) => { - setInputs({ ...inputs, [property]: e }); + }, { + title: 'Number Calls', + dataIndex: 'count', + key: 'count', + width: '20%', + sorter: (a, b) => a.count - b.count, + render: (__unused__value, record) => { + return record.count; } - }); - function dataSourceFilter(logList: ILogEntry[]) { - return logList.filter((log) => { - // convert the contest of log to be string (except for value), as null could not be parsed - const logCopy: ILogEntry = { ...log }; - Object.keys(logCopy).forEach(item => { - logCopy[item] = (logCopy[item] || '').toString(); - }); - return (searchTerm === '' || (logCopy.requesterName.toUpperCase().search(searchTerm) > -1 || logCopy.requesterType.toUpperCase().search(searchTerm) > -1 - || logCopy.logType.toUpperCase().search(searchTerm) > -1 || logCopy.actionType.toUpperCase().search(searchTerm) > -1 - || logCopy.status.toUpperCase().search(searchTerm) > -1 || logCopy.userAgent.toUpperCase().search(searchTerm) > -1 - || new Date(logCopy.time).toUTCString().toUpperCase().search(searchTerm) > -1 || logCopy.status.toUpperCase().search(searchTerm) > -1)) - && (inputs.requesterName === '' || logCopy.requesterName.toLowerCase().indexOf(inputs.requesterName.toLowerCase()) !== -1) - && (inputs.userAgent.length === 0 || inputs.userAgent.includes(logCopy.userAgent)) - && (inputs.logType.length === 0 || inputs.logType.includes(logCopy.logType)) - && (inputs.actionType.length === 0 || inputs.actionType.includes(logCopy.actionType)) - && (inputs.status.length === 0 || inputs.status.includes(logCopy.status)) - && ((dayjs(inputs.dateRange[0].startOf('day')).valueOf() - timeOffset) < logCopy.time) - && ((dayjs(inputs.dateRange[1].startOf('day')).valueOf() + 24 * 60 * 60 * 1000 /* ONE DAY IN MILLSEC */ - timeOffset) > logCopy.time); - }); - } + }, { + title: 'Avg Time Consuming/ms', + dataIndex: 'avgTimeConsumed', + key: 'avgTimeConsumed', + width: '20%', + sorter: (a, b) => a.avgTimeConsumed - b.avgTimeConsumed, + render: (__unused__value, record) => { + const value = Math.round(record.avgTimeConsumed * 100) / 100; + return + + ; + } + }, { + title: 'Activity', + dataIndex: 'activity', + key: 'activity', + width: '40%', + render: (__unused__value, record) => { + return
+ { + return { + day: dayjs().add(rel.dayIndex, 'day').format('YYYY-MM-DD'), + value: rel.count + }; + })} + from={dayjs().subtract(40, 'day').format('YYYY-MM-DD')} + to={dayjs().format('YYYY-MM-DD')} + emptyColor="#eeeeee" + colors={['#61cdbb', '#97e3d5', '#e8c1a0', '#f47560']} + margin={{ top: 40, right: 40, bottom: 100, left: 40 }} + dayBorderWidth={2} + dayBorderColor="#ffffff" + /> +
; + } + }]; +}; - const columns = [ - { - title: 'Requester Name', - dataIndex: 'requesterName', - key: 'requesterName', - render: (__unused__value, record) => { - if (searchTerm) - return ; - else - return record.requesterName; - } - }, - { - title: 'Requester Type', - dataIndex: 'requesterType', - key: 'requesterType', - render: (__unused__value, record) => { - if (searchTerm) - return ; - else - return record.requesterType; - } - }, - { - title: 'Request Type', - dataIndex: 'logType', - key: 'logType', - render: (__unused__value, record) => { - if (searchTerm) - return ; - else - return record.logType; - } - }, - { - title: 'Request From', - dataIndex: 'userAgent', - key: 'userAgent', - render: (__unused__value, record) => { - if (searchTerm) - return ; - else - return record.userAgent; - } - }, - { - title: 'API Type', - dataIndex: 'actionType', - key: 'actionType', - render: (__unused__value, record) => { - if (searchTerm) - return ; - else - return record.actionType; - } - }, - { - title: 'Time', - dataIndex: 'time', - key: 'time', - render: (__unused__value, record) => { - return new Date(record.time).toUTCString(); - } - }, - { - title: 'Status', - dataIndex: 'status', - key: 'status', - render: (__unused__value, record) => { - if (searchTerm) - return ; - else - return record.status; +const generateRequesterStatisticsColumns = (barThreshold: number[], users: IUserWithoutToken[]) => { + return [{ + title: 'Requester', + dataIndex: 'requester', + key: 'requester', + width: '20%', + render: (__unused__value, record) => { + const user = users.filter(el => el.id === record.requester)[0]; + if (user) { + return `${user.firstname} ${user.lastname}`; + } else { + return 'NA'; } } - ]; + }, { + title: 'Number Calls', + dataIndex: 'count', + key: 'count', + width: '20%', + sorter: (a, b) => a.count - b.count, + render: (__unused__value, record) => { + return record.count; + } + }, { + title: 'Avg Time Consuming/ms', + dataIndex: 'avgTimeConsumed', + key: 'avgTimeConsumed', + width: '20%', + sorter: (a, b) => a.avgTimeConsumed - b.avgTimeConsumed, + render: (__unused__value, record) => { + const value = Math.round(record.avgTimeConsumed * 100) / 100; + return + + ; + } + }, { + title: 'Activity', + dataIndex: 'activity', + key: 'activity', + width: '40%', + render: (__unused__value, record) => { + return
+ { + return { + day: dayjs().add(rel.dayIndex, 'day').format('YYYY-MM-DD'), + value: rel.count + }; + })} + from={dayjs().subtract(40, 'day').format('YYYY-MM-DD')} + to={dayjs().format('YYYY-MM-DD')} + emptyColor="#eeeeee" + colors={['#61cdbb', '#97e3d5', '#e8c1a0', '#f47560']} + margin={{ top: 40, right: 40, bottom: 100, left: 40 }} + dayBorderWidth={2} + dayBorderColor="#ffffff" + /> +
; + } + }]; +}; - const detailColumns = [ - { - title: 'Field', - dataIndex: 'keyList', - key: 'keyList', - render: (__unused__value, record) => { - return record.keyList; - } - }, - { - title: 'Value', - dataIndex: 'valueList', - key: 'valueList', - render: (__unused__value, record) => { - return record.valueList; - } +const generateLogColumns = (users: IUserWithoutToken[], barThreshold: number[]) => { + return [{ + title: 'Caller', + dataIndex: 'caller', + key: 'caller', + render: (__unused__value, record) => { + const user = users.filter(el => el.id === record.requester)[0]; + return user ? `${user.firstname} ${user.lastname}` : 'NA'; + } + }, { + title: 'type', + dataIndex: 'type', + key: 'type', + render: (__unused__value, record) => { + return record.type; + } + }, { + title: 'Resolver', + dataIndex: 'apiResolver', + key: 'apiResolver', + render: (__unused__value, record) => { + return record.apiResolver; + } + }, { + title: 'Event', + dataIndex: 'event', + key: 'event', + render: (__unused__value, record) => { + return record.event; + } + }, { + title: 'Status', + dataIndex: 'status', + key: 'status', + render: (__unused__value, record) => { + return record.status; + } + }, { + title: 'Time Elapsed/ms', + dataIndex: 'timeConsumed', + key: 'timeConsumed', + sorter: (a, b) => a.timeConsumed - b.timeConsumed, + render: (__unused__value, record) => { + // return ; + const percent = Math.min(100, (record.timeConsumed / barThreshold[1]) * 100); + return ( + + + + ); } - ]; + }, { + title: 'Execution Time', + dataIndex: 'time', + key: 'time', + sorter: (a, b) => a.life.createdTime ?? 0 - b.life.createdTime ?? 0, + render: (__unused__value, record) => { + return new Date(record.life.createdTime).toUTCString(); + } + }]; +}; - return <> - setSearchTerm(value.toUpperCase())} />    -     - - { setAdvancedSearch(false); }} - onCancel={() => { setAdvancedSearch(false); }} - okText='OK' - cancelText='Reset' - width={'50%'} - > - - - - - - - - - - - - {Object.keys(LOG_ACTION).map(el =>
{el})} - - - - - - - -
rec.id} - onRow={(record: ILogEntry) => ({ - onClick: () => { - setVerbose(true); - setVerboseInfo(record); - }, - style: { - cursor: 'pointer' - } - })} - pagination={ - { - defaultPageSize: 10, - showSizeChanger: true, - pageSizeOptions: ['10', '20', '50', '100'], - defaultCurrent: 1, - showQuickJumper: true - } - } - columns={columns} - dataSource={dataSourceFilter(list)} - size='small' - > -
- { setVerbose(false); }} - onCancel={() => { setVerbose(false); }} - > - -
-
- ; +const greenRGB = [0, 255, 0]; // RGB for green +const blueRGB = [0, 0, 255]; // RGB for blue +const redRGB = [255, 0, 0]; // RGB for red + +const lerp = (start, end, t) => { + return start + t * (end - start); +}; + +const getColor = (value, threshold) => { + let startColor, endColor, t; + + if (value < threshold[0]) { + startColor = greenRGB; + endColor = blueRGB; + t = value / threshold[0]; // Normalize between 0 and 1 + } else if (value <= threshold[1]) { + startColor = blueRGB; + endColor = redRGB; + t = (value - threshold[0]) / (threshold[1] - threshold[0]); // Normalize between 0 and 1 + } else { + return `rgb(${redRGB.join(',')})`; // If it's over b, just return red + } + + const r = Math.round(lerp(startColor[0], endColor[0], t)); + const g = Math.round(lerp(startColor[1], endColor[1], t)); + const b = Math.round(lerp(startColor[2], endColor[2], t)); + + return `rgb(${r},${g},${b})`; }; diff --git a/packages/itmat-ui-react/src/components/login/login.tsx b/packages/itmat-ui-react/src/components/login/login.tsx index 17962ff62..ca365fcc0 100644 --- a/packages/itmat-ui-react/src/components/login/login.tsx +++ b/packages/itmat-ui-react/src/components/login/login.tsx @@ -1,77 +1,124 @@ import { FunctionComponent } from 'react'; -import { Mutation } from '@apollo/client/react/components'; -import { LOGIN, WHO_AM_I } from '@itmat-broker/itmat-models'; -import { NavLink } from 'react-router-dom'; +import { NavLink, useNavigate} from 'react-router-dom'; import css from './login.module.css'; -import { Input, Form, Button, Alert, Checkbox } from 'antd'; -import { IUserWithoutToken } from '@itmat-broker/itmat-types'; +import { Input, Form, Button, Alert, Checkbox, message, Image, Divider} from 'antd'; +import { trpc } from '../../utils/trpc'; +import LoadSpinner from '../reusable/loadSpinner'; +import { useAuth } from '../../utils/dmpWebauthn/webauthn.context'; +import { UserOutlined, KeyOutlined} from '@ant-design/icons'; export const LoginBox: FunctionComponent = () => { + const login = trpc.user.login.useMutation({ + onSuccess: () => { + window.location.reload(); + }, + onError: () => { + void message.error('Failed to log in.'); + } + }); - return - mutation={LOGIN} - update={(cache, { data }) => { - data && data.login && cache.writeQuery({ - query: WHO_AM_I, - data: { whoAmI: data.login } - }); - }} - onError={() => { return; }} - > - {(login, { loading, error }) => { - return ( -
-
- IDEA-FAST Logo -

Welcome

-
-
-
{ login({ variables }).catch(() => { return; }); }}> - - - - - + const getCurrentSubPath = trpc.domain.getCurrentSubPath.useQuery(); + const getCurrentDomain = trpc.domain.getCurrentDomain.useQuery(); + + const navigate = useNavigate(); + const { isWebauthAvailable, credentials } = useAuth(); // Accessing webauthn availability and credentials + + if (getCurrentSubPath.isLoading || getCurrentDomain.isLoading) { + return <> +
Loading...
+
+ +
+ ; + } + if (getCurrentSubPath.isError || getCurrentDomain.isError) { + return <> + An error occured. + ; + } + + const handleAuthLogin = () => { + navigate('/authenticate_webauthn'); + }; + + return ( +
+
+ +

Welcome

+
+
+ { login.mutate({ ...variables, requestexpirydate: false }); }}> + + + + + + + + + + {login.isError ? ( + <> + +
+ + ) : null} + {(login.error?.message === 'Account Expired. Please request a new expiry date!') ? ( + <> + + Tick the box to request a new expiry date! - - + + - {error ? ( - <> - error.message).join()} /> -
- - ) : null} - {(error?.message === 'Account Expired. Please request a new expiry date!') ? ( - <> - - Tick the box to request a new expiry date! - - - - - - ) : - - - - } + + ) : + + + + } - -
-
-
-
- Forgot username or password
- Do not have an account? Please register
- v{process.env.NX_REACT_APP_VERSION} - {process.env.NX_REACT_APP_COMMIT} ({process.env.NX_REACT_APP_BRANCH}) -
+
- ); - }} - ; + + {/* Conditionally render the "Login with Authenticator" button */} + {(isWebauthAvailable && credentials && credentials.length > 0) && ( + <> + Or + + + )} +
+
+
+ Forgot username or password
+ Do not have an account? Please register
+ v{process.env.NX_REACT_APP_VERSION} - {process.env.NX_REACT_APP_COMMIT} ({process.env.NX_REACT_APP_BRANCH}) +
+
+ ); }; diff --git a/packages/itmat-ui-react/src/components/login/register.tsx b/packages/itmat-ui-react/src/components/login/register.tsx index 573208346..a770f3973 100644 --- a/packages/itmat-ui-react/src/components/login/register.tsx +++ b/packages/itmat-ui-react/src/components/login/register.tsx @@ -1,29 +1,50 @@ import { FunctionComponent, useState } from 'react'; -import { useQuery, useMutation } from '@apollo/client/react/hooks'; import { NavLink, useNavigate } from 'react-router-dom'; -import { GET_ORGANISATIONS, CREATE_USER } from '@itmat-broker/itmat-models'; import { IOrganisation } from '@itmat-broker/itmat-types'; -import { Input, Form, Button, Alert, Checkbox, Select } from 'antd'; +import { Input, Form, Button, Alert, Checkbox, Select, Image } from 'antd'; import css from './login.module.css'; +import { trpc } from '../../utils/trpc'; +import LoadSpinner from '../reusable/loadSpinner'; export const RegisterNewUser: FunctionComponent = () => { const navigate = useNavigate(); const [completedCreation, setCompletedCreation] = useState(false); - const [createUser, { loading, error }] = useMutation(CREATE_USER, - { onCompleted: () => setCompletedCreation(true) } - ); + const createUser = trpc.user.createUser.useMutation({ + onSuccess: () => { + setCompletedCreation(true); + }, + onError: () => { + return; + } + }); + + const getCurrentSubPath = trpc.domain.getCurrentSubPath.useQuery(); + const getCurrentDomain = trpc.domain.getCurrentDomain.useQuery(); // Get list of organisations from server - const { loading: getorgsloading, error: getorgserror, data: getorgsdata } = useQuery(GET_ORGANISATIONS); - if (getorgsloading) { return

Loading..

; } - if (getorgserror) { return

ERROR: please try again.

; } - const orgList: IOrganisation[] = getorgsdata.getOrganisations; + const getOrganisations = trpc.organisation.getOrganisations.useQuery({}); + + if (getCurrentSubPath.isLoading || getCurrentDomain.isLoading || getOrganisations.isLoading) { + return <> +
Loading...
+
+ +
+ ; + } + if (getCurrentSubPath.isError || getCurrentDomain.isError || getOrganisations.isError) { + return <> + An error occured. + ; + } + + const orgList: IOrganisation[] = getOrganisations.data; if (completedCreation) { return (
- IDEA-FAST Logo +

Registration Successful!


@@ -43,11 +64,11 @@ export const RegisterNewUser: FunctionComponent = () => { return (
- IDEA-FAST Logo +

Register an Account


-
{ createUser({ variables }).catch(() => { return; }); }}> + { createUser.mutate(variables); }}> @@ -86,10 +107,9 @@ export const RegisterNewUser: FunctionComponent = () => { Subscribe to email notifications - {error ? ( + {createUser.isError ? ( <> - error.message).join()} /> - +
) : null} @@ -100,7 +120,7 @@ export const RegisterNewUser: FunctionComponent = () => { Cancel     - diff --git a/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx b/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx index 1239ed131..b21f150e8 100644 --- a/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx +++ b/packages/itmat-ui-react/src/components/login/requestResetPasswordPage.tsx @@ -1,9 +1,9 @@ import { FunctionComponent, useState } from 'react'; -import { Mutation } from '@apollo/client/react/components'; import { NavLink, useNavigate } from 'react-router-dom'; -import { REQUEST_USERNAME_OR_RESET_PASSWORD } from '@itmat-broker/itmat-models'; import css from './login.module.css'; import { Input, Form, Button, Alert } from 'antd'; +import LoadSpinner from '../reusable/loadSpinner'; +import { trpc } from '../../utils/trpc'; export const RequestResetPassword: FunctionComponent = () => { @@ -11,11 +11,36 @@ export const RequestResetPassword: FunctionComponent = () => { const [forgotUsername, setForgotUsername] = useState(false); const [requestCompleted, setRequestCompleted] = useState(false); + const getCurrentSubPath = trpc.domain.getCurrentSubPath.useQuery(); + const getCurrentDomain = trpc.domain.getCurrentDomain.useQuery(); + const requestPasswordReset = trpc.user.requestUsernameOrResetPassword.useMutation({ + onSuccess: () => { + setRequestCompleted(true); + }, + onError: () => { + return; + } + }); + + if (getCurrentSubPath.isLoading || getCurrentDomain.isLoading) { + return <> +
Loading...
+
+ +
+ ; + } + if (getCurrentSubPath.isError || getCurrentDomain.isError) { + return <> + An error occured. + ; + } + if (requestCompleted) { return (
- IDEA-FAST Logo +

Done!


{`A link for password reset ${forgotUsername ? 'together with your username ' : ''}has been sent to your email.`}

@@ -32,79 +57,68 @@ export const RequestResetPassword: FunctionComponent = () => { } + return ( - - mutation={REQUEST_USERNAME_OR_RESET_PASSWORD} - onError={() => { return; }} - onCompleted={() => setRequestCompleted(true)} - > - {(requestPasswordReset, { loading, error }) => { - return ( -
-
- IDEA-FAST Logo -

Forgot your {forgotUsername ? 'username' : 'password'}?

-
-
- { - requestPasswordReset({ - variables: { - ...variables, - forgotUsername, - forgotPassword: true - } - }).catch(() => { return; }); - }}> - {forgotUsername ? - - - - : - - - - } - {error ? ( - <> - error.message).join()} /> -
- - ) : null} - - - {forgotUsername - ? <> -     - - - : <> -     - - } -     - - - -
-
-
-
- Do not have an account? Please register
- v{process.env.NX_REACT_APP_VERSION} - {process.env.NX_REACT_APP_COMMIT} ({process.env.NX_REACT_APP_BRANCH}) -
-
- ); - }} - +
+
+ +

Forgot your {forgotUsername ? 'username' : 'password'}?

+
+
+
{ + requestPasswordReset.mutate({ + ...variables, + forgotUsername, + forgotPassword: true + }); + }}> + {forgotUsername ? + + + + : + + + + } + {requestPasswordReset.isError ? ( + <> + +
+ + ) : null} + + + {forgotUsername + ? <> +     + + + : <> +     + + } +     + + + +
+
+
+
+ Do not have an account? Please register
+ v{process.env.NX_REACT_APP_VERSION} - {process.env.NX_REACT_APP_COMMIT} ({process.env.NX_REACT_APP_BRANCH}) +
+
); }; diff --git a/packages/itmat-ui-react/src/components/organisation/index.tsx b/packages/itmat-ui-react/src/components/organisation/index.tsx new file mode 100644 index 000000000..40eb9f024 --- /dev/null +++ b/packages/itmat-ui-react/src/components/organisation/index.tsx @@ -0,0 +1,18 @@ +import { FunctionComponent } from 'react'; +import css from './organisations.module.css'; +import { OrganisationListSection } from './organisationList'; + +export const OrganisationPage: FunctionComponent = () => { + return ( +
+
+
+ Organisations +
+
+ +
+
+
+ ); +}; diff --git a/packages/itmat-ui-react/src/components/organisation/organisationList.tsx b/packages/itmat-ui-react/src/components/organisation/organisationList.tsx new file mode 100644 index 000000000..6169de3d0 --- /dev/null +++ b/packages/itmat-ui-react/src/components/organisation/organisationList.tsx @@ -0,0 +1,205 @@ +import { FunctionComponent, useState } from 'react'; +import { notification, Image, List, Table, Form, message, Button, Modal, Input } from 'antd'; +import 'react-quill/dist/quill.snow.css'; +import { trpc } from '../../utils/trpc'; +import LoadSpinner from '../reusable/loadSpinner'; +import dayjs from 'dayjs'; +import weekday from 'dayjs/plugin/weekday'; +import { DeleteOutlined, PlusOutlined, SmileOutlined } from '@ant-design/icons'; +import css from './organisations.module.css'; +import Upload, { RcFile, UploadFile } from 'antd/es/upload'; +import { convertFileListToApiFormat, getBase64 } from '../../utils/tools'; +import axios from 'axios'; +import ImgCrop from 'antd-img-crop'; + +dayjs.extend(weekday); + +export const OrganisationListSection: FunctionComponent = () => { + const getOrganisations = trpc.organisation.getOrganisations.useQuery({}); + const [api, contextHolder] = notification.useNotification(); + const deleteOrganisation = trpc.organisation.deleteOrganisation.useMutation({ + onSuccess: (() => { + api.open({ + message: 'Organisation has been deleted', + description: '', + duration: 10, + icon: + }); + }), + onError: ((error) => { + api.open({ + message: 'Error deleting organisation', + description: error.message, + duration: 10, + icon: + }); + }) + }); + + if (getOrganisations.isLoading) { + return ; + } + + if (getOrganisations.isError) { + return

+ An error occured, please contact your administrator +

; + } + + const columns = [{ + title: 'Name', + dataIndex: 'name', + key: 'name', + ellipsis: true, + render: (__unused__value, record) => { + return
{record.name}
; + } + }, { + title: 'Shortname', + dataIndex: 'shortname', + key: 'shortname', + ellipsis: true, + render: (__unused__value, record) => { + return
{record.shortname}
; + } + }, { + title: 'Logo', + dataIndex: 'logo', + key: 'logo', + render: (__unused__value, record) => { + return
; + } + }, { + render: (__unused__value, record) => { + return deleteOrganisation.mutate({ organisationId: record.id })} />; + } + }]; + + return (
+ {contextHolder} + +
+
+
+
List of Organisations
+
+
+
+ +
+
+ } + > + + +
+ +
); +}; + +export const OrganisationCreation: FunctionComponent = () => { + const [isModalOn, setIsModalOn] = useState(false); + const [form] = Form.useForm(); + const [fileList, setFileList] = useState([]); + + const handleCreateDomain = async (variables: Record) => { + try { + const files = await convertFileListToApiFormat(fileList, 'profile'); + const formData = new FormData(); + if (files.length > 0) { + files.forEach(file => { + formData.append('profile', file.stream, file.originalname); + }); + } + + Object.entries(variables).forEach(([key, value]) => { + variables[key] && formData.append(key, String(value)); + }); + + const response = await axios.post('/trpc/organisation.createOrganisation', formData, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }); + + if (response?.data?.result?.data?.id) { + void message.success('Domain created successfully'); + } + + } catch { + void message.error('Error creating domain'); + } + }; + + const beforeUpload = (file: RcFile): boolean => { + const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'; + if (!isJpgOrPng) { + void message.error('You can only upload JPG/PNG file!'); + } + setFileList([file]); + return isJpgOrPng; + }; + + const handlePreview = async (file: UploadFile) => { + if (!file.url && !file.preview) { + file.preview = await getBase64(file.originFileObj as RcFile); + } + }; + + return (
+ + void handleCreateDomain(form.getFieldsValue())} + onCancel={() => setIsModalOn(false)} + > +
+ + + + + + + + + void handlePreview} + fileList={fileList} + > + {fileList.length >= 1 ? null : ( +
+ +
Upload
+
+ )} +
+
+
+
+
+
); +}; diff --git a/packages/itmat-ui-react/src/components/organisation/organisations.module.css b/packages/itmat-ui-react/src/components/organisation/organisations.module.css new file mode 100644 index 000000000..b4e78057c --- /dev/null +++ b/packages/itmat-ui-react/src/components/organisation/organisations.module.css @@ -0,0 +1,91 @@ +.page_container { + grid-template-columns: 100% 0%; + grid-template-rows: 100%; + display: grid; + height: 100%; + grid-template-areas: "userList"; +} + +.col-item { + margin-bottom: 16px; +} + +.card-container { + position: relative; + display: flex; + max-width: 100%; + flex-direction: column; + height: 100%; + width: 100%; + box-sizing: border-box; + padding: 8px; +} + +.card-image { + object-fit: contain; + width: 100%; + height: 70%; +} + +.card-meta { + position: absolute; + bottom: 20px; + width: 100%; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.card-meta:hover { + cursor: pointer; +} + +.row-container { + width: 100%; + /* Add this line */ + box-sizing: border-box; + /* Add this line */ +} + +.col-item { + padding: 0 8px; + /* Half of gutter width */ + margin-bottom: 16px; + box-sizing: border-box; + /* Add this line */ +} + +.overview-header { + display: flex; + align-items: center; + /* This will vertically center align the icon and the title */ + /* If there is still a misalignment, you may adjust by adding 'align-self' to the children */ + font-size: 20px; + font-weight: 500; + overflow: auto; +} + +.overview-icon { + background-color: #000; + /* Or any color you prefer */ + width: 4px; + /* Thickness of the line */ + height: 24px; + /* Height of the line, adjust as needed */ + margin-right: 16px; + /* Space between the line and the text */ + /* Adjust 'margin-top' if the line is not aligned with the text */ +} + +.overview-title { + /* Style for your title */ + font-size: 24px; + font-weight: bold; +} + +.overview-content { + /* Style for your content */ + text-indent: 30px; + /* Adjust the indent as needed */ +} diff --git a/packages/itmat-ui-react/src/components/profile/index.tsx b/packages/itmat-ui-react/src/components/profile/index.tsx index 5b0c5dcf1..7c9e3d403 100644 --- a/packages/itmat-ui-react/src/components/profile/index.tsx +++ b/packages/itmat-ui-react/src/components/profile/index.tsx @@ -1,18 +1,15 @@ import { FunctionComponent } from 'react'; import { ProfileManagementSection } from './profile'; import css from './profile.module.css'; +import { MyKeys } from './keys'; +import { MyWebauthn } from './webauthn'; export const ProfilePage: FunctionComponent = () => { return (
-
-
- My account -
-
- -
-
+ + +
); }; diff --git a/packages/itmat-ui-react/src/components/profile/keys.tsx b/packages/itmat-ui-react/src/components/profile/keys.tsx new file mode 100644 index 000000000..db6567e0f --- /dev/null +++ b/packages/itmat-ui-react/src/components/profile/keys.tsx @@ -0,0 +1,223 @@ +import React, { FunctionComponent, useState } from 'react'; +import LoadSpinner from '../reusable/loadSpinner'; +// import { ProjectSection } from '../users/projectSection'; +import { Button, List, Table, message, Modal, Popconfirm } from 'antd'; +import { CopyOutlined } from '@ant-design/icons'; +import css from './profile.module.css'; +import { trpc } from '../../utils/trpc'; +import copy from 'copy-to-clipboard'; +import { Key } from '../../utils/dmpCrypto/dmp.key'; +import { useQueryClient } from '@tanstack/react-query'; +import { IPubkey } from '@itmat-broker/itmat-types'; + +export const MyKeys: FunctionComponent = () => { + const whoAmI = trpc.user.whoAmI.useQuery(); + const getUserKeys = trpc.user.getUserKeys.useQuery({ userId: whoAmI.data.id }); + const queryClient = useQueryClient(); + const deletePubkey = trpc.user.deletePubkey.useMutation({ + onSuccess: (data) => { + void message.success('Key deleted.'); + const queryKey = [['user', 'getUserKeys'], { input: { userId: whoAmI.data.id }, type: 'query' }]; + const cache: IPubkey[] = queryClient.getQueryData(queryKey) ?? []; + const newCache = cache.filter((el) => el.id !== data.id); + queryClient.setQueryData(queryKey, newCache); + }, + onError: () => { + void message.error('Failed to delete this key.'); + } + }); + if (whoAmI.isLoading || getUserKeys.isLoading) { + return <> +
Loading...
+
+ +
+ ; + } + if (whoAmI.isError || getUserKeys.isError) { + return <> + An error occured. + ; + } + + const columns = [{ + title: 'Pubkey', + dataIndex: 'pubkey', + key: 'value', + render: (__unused__value, record) => { + const pubkey = record.pubkey ?? ''; + // Remove headers and footers from the public key + const keyBody = pubkey.replace('-----BEGIN PUBLIC KEY-----', '') + .replace('-----END PUBLIC KEY-----', '') + .trim(); // Remove extra whitespace + + // Extract the first few characters of the key body + const displayKey = keyBody.substring(0, 26) + '...'; // Adjust number of characters as needed + return ( +
+ {displayKey} +
+ ); + } + }, { + title: 'Created At', + dataIndex: 'createdAt', + key: 'value', + render: (__unused__value, record) => { + return (new Date(record.life.createdTime)).toDateString(); + } + }, { + title: '', + dataIndex: 'delete', + key: 'delete', + render: (_, record) => { + return deletePubkey.mutate({ + associatedUserId: whoAmI.data.id, + keyId: record.id + })} + > + + ; + } + }]; + return (
+ +
+
+
+
My Keys
+
+
+
+ +
+
+ } + > + + + + + + ); +}; + +const KeyGeneration: React.FunctionComponent<{ userId: string }> = ({ userId }) => { + const [isKeyGenOpen, setIsKeyGenOpen] = useState(false); + const [completedKeypairGen, setcompletedKeypairGen] = useState(false); + const [exportedKeyPair, setExportedKeyPair] = useState({ privateKey: '', publicKey: '' }); + const queryClient = useQueryClient(); + const registerPubkey = trpc.user.registerPubkey.useMutation({ + onSuccess: (data) => { + void message.success('Key registered.'); + const queryKey = [['user', 'getUserKeys'], { input: { userId: userId }, type: 'query' }]; + const cache: IPubkey[] = queryClient.getQueryData(queryKey) ?? []; + const newCache = [...cache, data]; + queryClient.setQueryData(queryKey, newCache); + }, + onError: () => { + void message.error('Failed to register this key.'); + } + }); + + const [downloadLink, setDownloadLink] = useState(''); + // function for generating file and set download link + const makeTextFile = (filecontent: string) => { + const data = new Blob([filecontent], { type: 'text/plain' }); + // Avoid memory leaks + if (downloadLink !== '') window.URL.revokeObjectURL(downloadLink); + // Update the download link state + setDownloadLink(window.URL.createObjectURL(data)); + }; + + const hashedPrivateKey = async (privateKey) => { + const encoder = new TextEncoder(); + const privateKeyBuffer = encoder.encode(privateKey); + + // Compute the SHA-256 hash + const hashBuffer = await crypto.subtle.digest('SHA-256', privateKeyBuffer); + + // Convert the hash to a hex string + const hashArray = Array.from(new Uint8Array(hashBuffer)); + const hashHex = hashArray.map(byte => byte.toString(16).padStart(2, '0')).join(''); + return hashHex; + }; + + return ( +
+ + { + void (async () => { + await registerPubkey.mutate({ + pubkey: exportedKeyPair.publicKey, + hashedPrivateKey: await hashedPrivateKey(exportedKeyPair.privateKey), + associatedUserId: userId + }); + })(); + setIsKeyGenOpen(false); + }} + okText={completedKeypairGen ? 'Register this key pair' : 'Ok'} + onCancel={() => { + setIsKeyGenOpen(false); + }} + > +

+ { + completedKeypairGen ? + : null + } +
+
+ ); +}; + +export const cryptoInBrowser = { + keyGen: async function () { + return Key.createRSAKey(); + }, + signGen: async function (message: string, signKey: CryptoKey) { + return Key.signwtRSAKey(message, signKey); + } +}; diff --git a/packages/itmat-ui-react/src/components/profile/profile.module.css b/packages/itmat-ui-react/src/components/profile/profile.module.css index a185a6c61..e855f5563 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.module.css +++ b/packages/itmat-ui-react/src/components/profile/profile.module.css @@ -1,62 +1,160 @@ .page_container { - grid-template-columns: 100% 0%; - grid-template-rows: 100%; - display: grid; height: 100%; - grid-template-areas: "userList"; + position: relative; + overflow-y: scroll; + display: grid; + justify-content: space-between; + grid-template-areas: + "LEFT RIGHT" + "FILE FILE" + "SHARED SHARED" + "GROUP GROUP" + "KEY KEY"; + grid-template-columns: 40% 60%; + grid-template-rows: 600px 1fr; + padding: 2rem; +} + +.profile_left { + grid-area: LEFT; + padding: 20px; + background-color: white; +} + +.profile_summary_wrapper { + text-align: center; + border: 3px solid white; +} + +.profile_summary_profile { + text-align: center; +} + +.profile_summary_statistics { + text-align: center; +} + +.profile_summary_statistics_value { + font-weight: bold; + font-size: 32px; +} + +.profile_summary_statistics_tag { + font-size: 16px; + font-family: monospace; +} + +.profile_summary_description { + font-size: 16px; + font-family: "Brush Script MT"; } -.user_list_section { - grid-area: userList; +.profile_right { + grid-area: RIGHT; + padding: 20px; + background-color: white; } -.user_detail { - grid-area: userDetail; - background: var(--color-additional-panel-background); +.profile_edit_submit { + float: right; } -.user_list > table:first-of-type thead:first-of-type tr:first-of-type { - background: var(--color-background); +.profile_edit_normal_title { + font-size: 15px; } -.create_new_user button { - display: inline-block; - width: 40%; +.profile_edit_special_title { + font-size: 25px; + font-weight: bold; } -.button_clicked button { - background-color: red; +.file_wrapper { + grid-area: FILE; + padding: 20px; + background-color: white; } -.submit_cancel_button_wrapper { +.custom-text-hover { + cursor: pointer; + transition: all 0.3s ease; +} + +.custom-text-hover:hover { + font-weight: bold; + text-decoration: underline; +} + +.shared_container { display: flex; + /* Enable flexbox */ + flex-direction: row; + /* Align children in a row */ width: 100%; + /* Full width of the container */ + grid-area: SHARED; } -.submit_cancel_button_wrapper a { - width: 50%; - margin-right: 0.5rem; +.shared_container > div:first-child { + width: 20%; + /* Width of the first div */ } -.submit_cancel_button_wrapper button { - width: 100%; - margin: 0px; +.shared_container > div:last-child { + width: 80%; + /* Width of the second div */ } -.really_delete_button { - background-color: red; - cursor: pointer; - margin-right: 1rem; +.ellipsis-style { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + max-width: 150px; + /* Adjust this width based on your requirement */ + display: block; +} + +.group_wrapper { + grid-area: GROUP; + padding: 20px; + background-color: white; +} + +.overview-header { + display: flex; + align-items: center; + /* This will vertically center align the icon and the title */ + /* If there is still a misalignment, you may adjust by adding 'align-self' to the children */ + font-size: 20px; + font-weight: 500; + overflow: auto; +} + +.overview-icon { + background-color: #000; + /* Or any color you prefer */ + width: 4px; + /* Thickness of the line */ + height: 24px; + /* Height of the line, adjust as needed */ + margin-right: 16px; + /* Space between the line and the text */ + /* Adjust 'margin-top' if the line is not aligned with the text */ +} + +.overview-title { + /* Style for your title */ + font-size: 24px; + font-weight: bold; } -.request_sent_button { - cursor: unset; - background: var(--color-status-finish); - color: var(--color-font-color); +.overview-content { + /* Style for your content */ + text-indent: 30px; + /* Adjust the indent as needed */ } -.request_sent_button:hover { - cursor: unset; - background: var(--color-status-finish); - color: var(--color-font-color); +.key_wrapper { + grid-area: KEY; + padding: 20px; + background-color: white; } diff --git a/packages/itmat-ui-react/src/components/profile/profile.tsx b/packages/itmat-ui-react/src/components/profile/profile.tsx index 248cedf51..468a17f65 100644 --- a/packages/itmat-ui-react/src/components/profile/profile.tsx +++ b/packages/itmat-ui-react/src/components/profile/profile.tsx @@ -1,22 +1,30 @@ -import { ChangeEvent, FunctionComponent, useState } from 'react'; -import { Mutation } from '@apollo/client/react/components'; -import { useQuery, useMutation } from '@apollo/client/react/hooks'; -import { IUserWithoutToken, IPubkey, IOrganisation } from '@itmat-broker/itmat-types'; -import { WHO_AM_I, EDIT_USER, REQUEST_USERNAME_OR_RESET_PASSWORD, REGISTER_PUBKEY, GET_PUBKEYS, ISSUE_ACCESS_TOKEN, GET_ORGANISATIONS, REQUEST_EXPIRY_DATE } from '@itmat-broker/itmat-models'; -import { Subsection } from '../reusable'; +import { ChangeEvent, FunctionComponent, useEffect, useState } from 'react'; +import { IOrganisation, IUserWithoutToken, enumUserTypes } from '@itmat-broker/itmat-types'; import LoadSpinner from '../reusable/loadSpinner'; -import { ProjectSection } from '../users/projectSection'; -import { Form, Input, Select, DatePicker, Button, Alert, Checkbox } from 'antd'; -import dayjs from 'dayjs'; -import { WarningOutlined, PauseCircleOutlined } from '@ant-design/icons'; +import { Form, Input, Button, Image as AntdImage, Typography, Row, Col, Divider, message, Select } from 'antd'; import { Key } from '../../utils/dmpCrypto/dmp.key'; +import css from './profile.module.css'; +import { trpc } from '../../utils/trpc'; +import { createUserIcon } from '../../utils/image'; +const { Title } = Typography; +const { TextArea } = Input; -export const ProfileManagementSection: FunctionComponent = () => { - const { loading: whoamiloading, error: whoamierror, data: whoamidata } = useQuery(WHO_AM_I); - const [requestExpiryDate] = useMutation(REQUEST_EXPIRY_DATE, { onCompleted: () => { setRequestExpiryDateSent(true); } }); - const [requestExpiryDateSent, setRequestExpiryDateSent] = useState(false); - if (whoamiloading) { +export const ProfileManagementSection: FunctionComponent = () => { + const whoAmI = trpc.user.whoAmI.useQuery(); + const getOrganisations = trpc.organisation.getOrganisations.useQuery({}); + const getUserRoles = trpc.role.getUserRoles.useQuery({ userId: whoAmI?.data.id }); + const getStudies = trpc.study.getStudies.useQuery({}); + const getUserKeys = trpc.user.getUserKeys.useQuery({ userId: whoAmI?.data.id }); + const requestExpiryDate = trpc.user.requestExpiryDate.useMutation({ + onSuccess: () => { + void message.success('Request sent'); + }, + onError: () => { + void message.error('Error sending request'); + } + }); + if (whoAmI.isLoading || getOrganisations.isLoading || getUserRoles.isLoading || getStudies.isLoading || getUserKeys.isLoading) { return <>
Loading...
@@ -24,231 +32,165 @@ export const ProfileManagementSection: FunctionComponent = () => {
; } - if (whoamierror) { + if (whoAmI.isError || getOrganisations.isError || getUserRoles.isError || getStudies.isError || getUserKeys.isError) { return <> -
Loading...
-
- -
+ An error occured. ; } - - const user: IUserWithoutToken = whoamidata.whoAmI; - return ( - <> -
{whoamidata.whoAmI.username}
-
- { - dayjs().add(2, 'week').valueOf() - dayjs(user.expiredAt).valueOf() > 0 - ? dayjs().valueOf() - dayjs(user.expiredAt).valueOf() > 0 - ? <> - Your account has expired. -
-
-
- : <> - Your account is close to expiring! -
-
- -
-
- : null - } - {requestExpiryDateSent ? ( - <> - -
- - ) : null} - - - -
-
- - -
-
- - -
-
- - -
-
-
- - -
-
-
- - -
+ return (<> +
+
+
+ { + whoAmI.data ? + : + } +
+
+ +
{getStudies.data.length ?? 'NA'} + + {(() => { + const remaining: number = whoAmI.data.expiredAt - Date.now(); + if (whoAmI.data.type === enumUserTypes.ADMIN) { + return 'Infinite'; + } + return Math.floor(Math.max(0, remaining) / 1000 / 60 / 60 / 24) + ' days'; + })()} + + {getUserKeys.data.length ?? 'NA'} +
- - + + Datasets + + Expired In + + Public keys + + +
+
+ {getOrganisations.data.filter(el => el.id === whoAmI.data.organisation)?.[0]?.name ?? 'NA'} +
+
+
+ {whoAmI.data.description} +

+
+ +
- - ); + + +
+ +
+ ); }; -export const EditUserForm: FunctionComponent<{ user: (IUserWithoutToken & { access?: { id: string, projects: { id: string, name: string, studyId: string }[], studies: { id: string, name: string }[] } }) }> = ({ user }) => { - const [savedSuccessfully, setSavedSuccessfully] = useState(false); - const [requestResetPassword] = useMutation(REQUEST_USERNAME_OR_RESET_PASSWORD, { onCompleted: () => { setRequestResetPasswordSent(true); } }); - const [requestResetPasswordSent, setRequestResetPasswordSent] = useState(false); - const { loading: getorgsloading, error: getorgserror, data: getorgsdata } = useQuery(GET_ORGANISATIONS); - - function formatSubmitObj(variables) { - const final = { - id: user.id, - emailNotificationsActivated: variables.emailNotificationsActivated - }; - return final; +export const ProfileEditForm: FunctionComponent<{ user: IUserWithoutToken, organisations: IOrganisation[] }> = ({ user, organisations }) => { + const editUser = trpc.user.editUser.useMutation({ + onSuccess: () => { + void message.success('Profile updated successfully'); + }, + onError: () => { + void message.error('Error updating profile'); + } + }); + const [form] = Form.useForm(); + useEffect(() => { + if (user) { + form.resetFields(); // Reset the form fields when user data changes + } + }, [user, form]); + if (!user) { + return null; } - const disabledDate = (current) => { - return current && (current < dayjs().endOf('day') || current > dayjs().add(3, 'month')); + const handleSubmit = async (variables: Record, user: { id: string }) => { + await editUser.mutateAsync({ userId: user.id, ...variables }); }; - if (getorgsloading) { return

Loading..

; } - if (getorgserror) { return

ERROR: please try again.

; } - const orgList: IOrganisation[] = getorgsdata.getOrganisations; - - return ( - - mutation={EDIT_USER} - onCompleted={() => setSavedSuccessfully(true)} - > - {(submit, { loading, error }) => -
org.id === user.organisation)?.name - }} layout='vertical' onFinish={(variables) => { submit({ variables: formatSubmitObj(variables) }).catch(() => { return; }); }}> - - - - - - - - - - - - - - - - - - - - - - - - - - Email Notification - - {error ? ( - <> - error.message).join()} /> -
- - ) : null} - {savedSuccessfully ? ( - <> - -
- - ) : null} - {requestResetPasswordSent ? ( - <> - -
- - ) : null} - - - - - - } - - - ); -}; - -/* show date and time separately */ -export const showTimeFunc = { - showDate: function (timestamps: number) { - return new Date(timestamps).toISOString().substring(0, 10); - }, - showTime: function (timestamps: number) { - return new Date(timestamps).toISOString().substring(11, 19); - } -}; + const onFinish = (variables) => { + void handleSubmit(variables, user); + }; -/* More time control due to different behaviors in chrome and firefox, also correct errors of summer/winter time offset */ -export const changeTimeFunc = { - changeDate: function (inputs, value) { - /* When in summer time, there is non-zero timezoneoffset which should be considered */ - const offsetTime = new Date(inputs.expiredAt - new Date(inputs.expiredAt).getTimezoneOffset() * 60 * 1000); - let newDate; - const recordTime = offsetTime.toISOString().substring(11, 19); - /* If the input date is invalid, the shown date will keep the original one */ - if (isNaN(new Date(value + 'T' + recordTime).valueOf()) || (new Date(value + 'T' + recordTime).valueOf() < 0)) { - newDate = new Date(inputs.expiredAt); - } else { - newDate = new Date(value + 'T' + recordTime); - } - return { ...inputs, expiredAt: newDate.valueOf() }; - }, - changeTime: function (inputs, value) { - const recordedDate = new Date(inputs.expiredAt).toISOString().substring(0, 10); - /* When in summer time, there is non-zero timezoneoffset which should be considered */ - return { ...inputs, expiredAt: new Date(recordedDate + 'T' + value).valueOf() - new Date(inputs.expiredAt).getTimezoneOffset() * 60 * 1000 }; - } + return (
void onFinish(variables)} + > + +
BASIC INFO
+
+ + +
+
FIRST NAME

+ + + + + +
LAST NAME

+ + + + + + + +
USER NAME

+ + + + + +
PASSWORD

+ + + + + + + +
Email

+ + + + + +
Organisation

+ + + + + + + +
Description
+ + +
- @@ -542,81 +279,3 @@ export const RsaSigner: FunctionComponent = () => { }; -export const TokenManagement: FunctionComponent<{ userId: string }> = ({ userId }) => { - const [completedTokenGen, setcompletedTokenGen] = useState(false); - //const [accessTokenGen, setaccessTokenGen] = useState(''); - const [tokenGen, { data: tokendata, loading, error }] = useMutation(ISSUE_ACCESS_TOKEN, { - onCompleted: () => { - setcompletedTokenGen(true); - } - }); - - const { loading: getPubkeysloading, error: getPubkeyserror, data: getPubkeysdata } = useQuery(GET_PUBKEYS, { - variables: { - associatedUserId: userId - } - }); - if (getPubkeysloading) { - return <> -
Loading...
-
- -
- ; - } - if (getPubkeyserror) { - return <> -
Loading...
-
- -
- ; - } - - const ipubkey: IPubkey = getPubkeysdata?.getPubkeys?.[0]; - if ((ipubkey === null) || (ipubkey === undefined)) { - return

You need to register a public-key for generating access token.

; - } - - if (completedTokenGen) { - return ( -
-

The access token is successfully generated!

-
-

Securely keep this token as an authentication key when interacting with APIs

-